/* ============================
   RESET
============================ */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#05060d;color:#f7f7fb;font-family:Inter,Arial,sans-serif}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}

/* ============================
   TOPBAR
============================ */
.topbar{
    height:68px;
    background:rgba(3,4,10,.92);
    backdrop-filter:blur(14px);
    display:flex;
    align-items:center;
    gap:30px;
    padding:0 4%;
    position:fixed;
    top:0;left:0;right:0;
    z-index:20;
    border-bottom:1px solid #24243a;
}

.logo{line-height:.82;min-width:145px}
.logo span{
    display:block;
    font-size:21px;
    font-weight:900;
    font-style:italic;
    color:#b951ff;
}
.logo small{
    font-weight:800;
    font-size:12px;
    margin-left:20px;
}

.topbar nav{
    display:flex;
    gap:28px;
    align-items:center;
    margin:auto;
}
.topbar nav a{
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.4px;
}
.topbar nav a:hover{color:#e14dff}

.nav-book{
    border:1px solid #d34cff;
    padding:9px 15px;
    border-radius:8px;
}

.social-mini{
    display:flex;
    gap:10px;
}
.social-mini a{
    width:29px;
    height:29px;
    border:1px solid #777;
    border-radius:50%;
    display:grid;
    place-items:center;
    font-size:12px;
}



.menu{
    margin-left:auto;   /* 🔥 pousse le bouton à droite */
    display:none;
    background:none;
    color:white;
    border:0;
    font-size:25px;
}


/* ============================
   HERO
============================ */
.hero{
    min-height:620px;
    padding-top:68px;
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
}
.hero-bg{
    position:absolute;
    inset:0;
    background:
        url("../images/Copilot_20260902_011407.png") center/cover no-repeat,
        radial-gradient(circle at 72% 50%,#552073 0,#16102a 25%,#060711 65%),
        linear-gradient(120deg,#0b0613,#070914);
    opacity:.95;
}
.hero-bg:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(4,5,12,.95),rgba(4,5,12,.35),rgba(4,5,12,.2));
}

.hero-content{
    position:relative;
    z-index:1;
    width:min(1200px,92%);
    margin:auto;
}

.eyebrow{
    color:#d85cff;
    letter-spacing:2px;
    font-weight:700;
}

.hero h1{
    font-family:Orbitron;
    font-size:clamp(58px,9vw,125px);
    line-height:.82;
    margin:15px 0 24px;
    letter-spacing:-5px;
}
.hero h1 span{
    background:linear-gradient(90deg,#fff,#bceaff,#d642ff);
    color:transparent;
    background-clip:text;
}

.tagline{
    font-size:23px;
    line-height:1.35;
}
.tagline em{
    font-size:36px;
    color:#e04dff;
    font-family:cursive;
}

.hero-buttons{
    display:flex;
    gap:14px;
    margin-top:30px;
}

.btn{
    border:0;
    border-radius:8px;
    padding:14px 21px;
    display:inline-flex;
    align-items:center;
    gap:12px;
    text-transform:uppercase;
    font-weight:900;
    font-size:12px;
    cursor:pointer;
}

.primary{
    background:linear-gradient(100deg,#dc28e8,#526eff);
    box-shadow:0 0 30px rgba(211,42,255,.2);
}
.ghost{
    border:1px solid #ca49ff;
    background:#0c0c16;
}

/* ============================
   PLAYER
============================ */
.player-section{
    width:min(1180px,92%);
    margin:-42px auto 50px;
    position:relative;
    z-index:5;
}

.player{
    min-height:112px;
    border:1px solid #4a3b62;
    border-radius:16px;
    background:rgba(10,12,24,.94);
    display:flex;
    align-items:center;
    gap:20px;
    padding:18px 22px;
    box-shadow:0 20px 50px #0008;
}

.player-cover{
    width:72px;
    height:72px;
    border-radius:8px;
    overflow:hidden;
    background:url("../images/Copilot_20260502_042345.png") center/cover no-repeat;
    position:relative;
}

.player-cover.has-image .cover-art{
    display:none;
}

.cover-art,
.thumb{
    aspect-ratio:1;
    background:linear-gradient(135deg,#e329ff,#243dff);
    border-radius:8px;
    display:grid;
    place-items:center;
    font-weight:900;
    font-size:18px;
    text-align:center;
}

.cover-art small{
    font-size:9px;
}

.player-info{min-width:150px}
.player-info small{
    display:block;
    color:#bc48ee;
    font-size:10px;
    margin-bottom:8px;
}
.player-info strong{display:block}
.player-info span{
    font-size:11px;
    color:#c54dff;
}

.play{
    border:1px solid #d452ff;
    color:#fff;
    background:transparent;
    width:43px;
    height:43px;
    border-radius:50%;
    cursor:pointer;
}

.wave{
    flex:1;
    height:55px;
    overflow:hidden;
}
.wave-bars{
    height:100%;
    background:repeating-linear-gradient(90deg,#ce3aff 0 2px,transparent 2px 7px);
    mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
    opacity:.75;
}

.player input{max-width:90px}

/* ============================
   GRID
============================ */
.grid-section{
    width:min(1180px,92%);
    margin:auto;
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:22px;
}

.panel{
    background:linear-gradient(145deg,#0b0e1b,#080a13);
    border:1px solid #293047;
    border-radius:14px;
    padding:20px;
}

.section-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:14px;
}
.section-head h2{
    font-size:16px;
    margin:0;
    text-transform:uppercase;
}
.section-head a{
    font-size:10px;
    color:#df4cff;
    text-transform:uppercase;
    font-weight:800;
}

/* ============================
   MIX ROW
============================ */
.mix-row{
    width:100%;
    display:grid;
    grid-template-columns:58px 1fr 30px;
    gap:12px;
    align-items:center;
    background:none;
    border:0;
    border-bottom:1px solid #24283a;
    color:white;
    text-align:left;
    padding:10px 0;
    cursor:pointer;
}
.mix-row:last-child{border:0}

.thumb{font-size:10px}

.mix-row strong,.event-row strong{
    display:block;
    font-size:12px;
}
.mix-row small,.event-row small{
    display:block;
    color:#9a9dae;
    font-size:10px;
    line-height:1.5;
    margin-top:4px;
}

.mix-row>span{
    width:28px;
    height:28px;
    border:1px solid #707588;
    border-radius:50%;
    display:grid;
    place-items:center;
    font-size:10px;
}







.mix-scroll {
    max-height: 260px;      /* 🔥 hauteur visible de la liste */
    overflow-y: auto;       /* 🔥 scroll vertical */
    padding-right: 6px;     /* évite que le contenu touche la scrollbar */
}

/* Scrollbar stylée */
.mix-scroll::-webkit-scrollbar {
    width: 6px;
}

.mix-scroll::-webkit-scrollbar-track {
    background: rgba(255,255,255,0.05);
    border-radius: 10px;
}

.mix-scroll::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg,#ff00cc,#6600ff);
    border-radius: 10px;
}

.mix-scroll::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg,#ff33dd,#7733ff);
}





/* ============================
   EVENTS
============================ */
.event-row{
    display:grid;
    grid-template-columns:52px 1fr auto;
    gap:12px;
    padding:13px 0;
    border-bottom:1px solid #24283a;
}

.date{
    border-right:1px solid #31364a;
}
.date b{
    font-size:21px;
    display:block;
}
.date small{
    color:#d44dff;
    font-weight:800;
}

.live{
    font-size:9px;
    background:#7028a2;
    padding:5px 7px;
    border-radius:5px;
    height:max-content;
}

/* ============================
   GALLERY
============================ */
.gallery{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
}
.gallery-item{
    aspect-ratio:1.2;
    overflow:hidden;
    border-radius:7px;
    background:#171a28;
}
.gallery img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

/* ============================
   ABOUT + BOOKING
============================ */
.about-booking{
    width:min(1180px,92%);
    margin:24px auto;
    display:grid;
    grid-template-columns:1fr 1.35fr;
    gap:22px;
}

.about-body{
    display:grid;
    grid-template-columns:150px 1fr;
    gap:20px;
}

.portrait{
    min-height:220px;
    border-radius:10px;
    background:linear-gradient(150deg,#6e1a89,#13172c);
    display:grid;
    place-items:center;
    text-align:center;
    font-size:25px;
    font-weight:900;
}
.portrait small{font-size:13px}

.about p{
    font-size:12px;
    color:#bbb;
    line-height:1.7;
}
.about em{
    color:#e454ff;
    font-size:20px;
    font-family:cursive;
}

.booking form{
    display:grid;
    gap:10px;
}
.booking input,
.booking select,
.booking textarea{
    background:#111522;
    border:1px solid #2d3549;
    color:#fff;
    padding:13px;
    border-radius:7px;
    outline:none;
}
.booking textarea{
    height:105px;
    resize:vertical;
}

.two{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}

/* ============================
   AVAILABILITY
============================ */
.availability{
    width:min(1180px,92%);
    margin:24px auto 60px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}
.status-dot{
    display:inline-block;
    width:9px;
    height:9px;
    border-radius:50%;
    background:#36f58b;
    box-shadow:0 0 14px #36f58b;
    margin-right:10px;
}
.availability p{
    font-size:11px;
    color:#9ca1b1;
    margin-left:19px;
}

/* ============================
   FOOTER
============================ */
footer{
    border-top:1px solid #232638;
    padding:30px 4%;
    display:flex;
    justify-content:space-between;
    color:#9a9dac;
    font-size:11px;
}
.footer-social{
    display:flex;
    gap:18px;
}
footer strong{color:#e14cff}

/* ============================
   RESPONSIVE
============================ */
@media(max-width:900px){
    .topbar nav{display:none}
    .topbar nav.open{
        display:flex;
        position:absolute;
        top:68px;
        left:0;
        right:0;
        background:#080912;
        padding:20px;
        flex-direction:column;
    }
    .menu{display:block}
    .social-mini{margin-left:auto}
    .grid-section{grid-template-columns:1fr 1fr}
    .grid-section .panel:last-child{grid-column:1/-1}
    .about-booking{grid-template-columns:1fr}
    .hero{min-height:570px}
    .player{flex-wrap:wrap}
    .wave{order:10;flex-basis:100%}
}

@media(max-width:600px){
    .social-mini{display:none}
    .hero h1{
        font-size:55px;
        letter-spacing:-3px;
    }
    .tagline{font-size:18px}
    .tagline em{font-size:28px}
    .grid-section{grid-template-columns:1fr}
    .grid-section .panel:last-child{grid-column:auto}
    .about-body{grid-template-columns:1fr}
    .portrait{min-height:180px}
    .two{grid-template-columns:1fr}
    .availability{
        flex-direction:column;
        gap:18px;
        align-items:flex-start;
    }
    footer{
        flex-direction:column;
        gap:20px;
    }
}



.custom-modal {
    display: none;
    position: fixed;
    z-index: 999999;
    padding-top: 60px;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.85);
}

.modal-content-img {
    margin: auto;
    display: block;
    max-width: 90%;
    max-height: 85vh;
    border-radius: 10px;
}

.close {
    position: absolute;
    top: 20px;
    right: 35px;
    color: #fff;
    font-size: 40px;
    font-weight: bold;
    cursor: pointer;
}


#aboutRotator .autotxt {
    opacity: 0;
    transform: translateY(-6px);
    transition: opacity .25s ease, transform .25s ease;

    /* Neutralise le CSS du thème */
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    width: 100% !important;
}

#aboutRotator .autotxt.active {
    opacity: 1;
    transform: translateY(0);
}

