@import url(https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=DM+Serif+Display:ital@0;1&display=swap);:root{--bg:#ffffff;--text:#000000;--muted:#666666;--border:#e6e6e6;--accent:#1C1C1C;--hero-color:#DEDEDE;--container-max:1100px}*,:where(*::before,*::after){box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:"DM Sans",system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);font-size:16px;line-height:1.4}.site,.container,.wrap,#page{max-width:var(--container-max);margin:0 auto;padding:1rem}.site-header{background:#111;background:rgb(17 17 17 / .98);color:#fff}.site-header .container{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem}.site-title{color:#fff;font-weight:700}.header-actions{display:flex;gap:.5rem;align-items:center}.site-header{background:linear-gradient(180deg,#0f0f0f,#0b0b0b);color:#fff;border-bottom:1px solid rgb(255 255 255 / .03)}.site-header .header-inner{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;gap:1rem}.site-branding .site-title{color:#fff;font-weight:700;text-decoration:none;font-size:18px}.site-logo img{height:42px;width:auto;display:block}h1,h2,h3,h4,h5,h6,.concert-name-container,.site-title{font-family:'DM Serif Display',Georgia,serif}h1{color:#fff;font-size:96px;line-height:1;margin:0 0 .6rem}@media(max-width:700px){h1{font-size:clamp(28px,6vw,48px)}}.menu-toggle{background:#fff0;border:1px solid rgb(255 255 255 / .06);color:#fff;padding:.45rem .6rem;border-radius:8px;display:inline-flex;align-items:center;gap:.5rem;cursor:pointer}.menu-toggle svg{display:block}.menu-toggle:focus{outline:3px solid rgb(255 255 255 / .12);outline-offset:2px}.main-navigation{position:relative}.main-navigation .nav-menu{display:flex;flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none}.main-navigation .nav-menu li{margin:0}.main-navigation .nav-menu a{display:inline-block;padding:.5rem .75rem;color:#fff;text-decoration:none;border-radius:8px}.main-navigation .nav-menu a:hover,.main-navigation .nav-menu a:focus{background:rgb(255 255 255 / .04)}.main-navigation{display:none}.main-navigation.is-open{display:block}.header-actions{display:flex;gap:.5rem;align-items:center}@media(min-width:700px){.menu-toggle{display:none}.main-navigation{display:block}.main-navigation .nav-menu{flex-direction:row;gap:1rem;align-items:center}.site-header .header-inner{padding:1rem 2rem}}.banner-simple{position:relative;display:flex;align-items:center;justify-content:center;height:220px;background-position:center;background-size:cover;margin-bottom:1rem;border-radius:6px;overflow:hidden}.banner-simple::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgb(0 0 0 / .25),transparent)}.banner-simple .hero-title{position:relative;z-index:2;color:var(--hero-color);text-align:center;font-family:'DM Serif Display',Georgia,serif;font-style:normal;font-weight:400;line-height:1}.banner-simple .hero-title{font-size:clamp(28px,6vw,96px)}.banner-simple .hero-sub{position:relative;z-index:2;color:var(--text);font-family:'DM Sans';font-size:20px;text-align:center;margin-top:.5rem}.banner-simple{margin-bottom:0}.page-programmation .filters{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0;justify-content:center}.chip{display:inline-flex;align-items:center;padding:.45rem .8rem;border-radius:10px;border:1px solid var(--border);background:#fff;cursor:pointer}.chip .icon{width:14px;height:14px;margin-right:.5rem}.concerts-container{display:flex;flex-direction:column;gap:1rem;margin:1rem 0}.cardConcert{display:grid;grid-template-columns:72px 1fr;grid-template-areas:"image content";gap:1rem;align-items:start;padding:1rem;border:1px solid var(--border);border-radius:10px;background:#fff}.cardConcert .image-container{grid-area:image;width:72px;height:72px;border-radius:8px;overflow:hidden}.cardConcert .image-container img{width:100%;height:100%;object-fit:cover;display:block}.cardConcert .cardConcertInfo{grid-area:content}.cardConcert .cardConcertInfo .intro{display:flex;flex-direction:column;gap:.15rem}.cardConcert .cardConcertInfo .concert-name-container{font-family:'DM Serif Display';font-size:20px;margin:0}.cardConcert .cardConcertInfo .artist-name{color:var(--muted);margin:0}.cardConcert .cardConcertInfo .soundtrack{margin-top:.5rem;margin-bottom:.5rem}.cardConcert audio{width:100%;height:36px;border-radius:6px}.cardConcert .cardConcertInfo .infos{color:var(--muted);font-size:16px;margin-top:.25rem}.cardConcert .cardConcertInfo .concert-actions{margin-top:.6rem}.cardConcert .btnSeeMore{background:#fff0;border:none;color:var(--accent);cursor:pointer}@media(max-width:700px){.cardConcert{grid-template-columns:1fr;grid-template-areas:"image" "content";padding:.8rem}.cardConcert .image-container{width:100%;height:auto}.cardConcert .image-container img{height:auto}.banner-simple{height:180px}}@media(min-width:1000px){.banner-simple{height:320px}.banner-simple .hero-title{font-size:96px}.cardConcert{padding:1.2rem}.cardConcert{grid-template-columns:96px 1fr;align-items:center}.cardConcert .cardConcertInfo{display:flex;flex-direction:row;gap:1rem;align-items:center}.cardConcert .cardConcertInfo .intro{flex:1;min-width:0}.cardConcert .cardConcertInfo .infos{white-space:nowrap;margin-left:auto;color:var(--muted)}.cardConcert .cardConcertInfo .concert-actions{margin-left:1rem;display:flex;gap:.5rem}}@media(min-width:1000px){.cardConcert .cardConcertInfo .soundtrack{flex:0 0 260px;display:flex;align-items:center;justify-content:flex-start;gap:.5rem}.cardConcert .cardConcertInfo .soundtrack audio{max-width:100%;width:100%;height:36px}}.text-center{text-align:center}.muted{color:var(--muted)}a:focus{outline:2px dashed var(--accent);outline-offset:3px}#reservationForm{display:none}#reservationForm{max-width:720px;margin:1rem auto;padding:1.6rem;background:#161616;border:1px solid rgb(255 255 255 / .03);border-radius:8px;box-shadow:0 2px 0 rgb(255 255 255 / .01) inset}#reservationForm .step{display:none}#reservationForm .step.active{display:block}#reservationForm .ticket-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:.6rem 0}#reservationForm .ticket-row label{font-weight:500}#reservationForm .controls{display:flex;align-items:center;gap:.4rem}#reservationForm .controls button{background:#f0f0f0;border:1px solid var(--border);padding:.35rem .6rem;border-radius:6px;cursor:pointer}#reservationForm .controls input[type="number"]{width:64px;text-align:center;padding:.35rem;border:1px solid var(--border);border-radius:6px}#reservationForm .buttons{display:flex;gap:.6rem;justify-content:flex-end;margin-top:1rem}#reservationForm .submit-btn{background:var(--accent);color:#fff;border:none;padding:.6rem .9rem;border-radius:8px;cursor:pointer}#reservationForm .back{background:#fff0;border:1px solid var(--border);padding:.55rem .8rem;border-radius:8px;color:var(--text);cursor:pointer}#reservationForm .total{display:flex;justify-content:space-between;align-items:center;margin-top:.6rem}@media(max-width:700px){#reservationForm{padding:.8rem}#reservationForm .ticket-row{flex-direction:row;gap:.6rem}#reservationForm .buttons{flex-direction:column;align-items:stretch}}#reservationForm .ticket-row,.ticket-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid rgb(255 255 255 / .04)}#reservationForm .ticket-row label,.ticket-row label{color:#efefef;margin:0;font-weight:500}.ticket-row .controls{display:flex;align-items:center;gap:.6rem}.ticket-row .controls button{background:#fff0;color:#efefef;border:1px solid rgb(255 255 255 / .06);padding:.25rem .6rem;border-radius:6px;cursor:pointer}.ticket-row .controls input[type="number"]{width:54px;text-align:center;background:#111;border:1px solid rgb(255 255 255 / .03);color:#efefef}#reservationForm .buttons .btn-next,#reservationForm .buttons button,.btn-next{background:#fff0;color:#efefef;border:1px solid rgb(255 255 255 / .16);padding:.45rem .8rem;border-radius:6px;cursor:pointer}#reservationForm .buttons .btn-next:hover,#reservationForm .buttons button:hover{background:rgb(255 255 255 / .02)}.ticket-row .controls button{color:#0b0b0b;background:#fff}.single-concert .banner-simple{height:420px;background-position:center;background-size:cover;border-radius:0}.single-concert .meta-bar{background:#0f0f0f;color:#fff;padding:.8rem 0;border-top:4px dashed rgb(255 255 255 / .06);display:flex;align-items:center;justify-content:space-between}.single-concert .meta-bar .date{font-family:'DM Serif Display';font-size:20px;padding-left:1rem}.single-concert .meta-bar .artist{font-family:'DM Serif Display';font-size:20px;padding-right:1rem}.single-concert .content-area{display:grid;grid-template-columns:1fr 320px;gap:2rem;padding:2rem 0}.single-concert .content-area .main{background:#fff0}.single-concert .content-area .aside{background:#fff0}.single-concert .aside .audio-player{background:#e9e9e9;padding:1rem;border-radius:6px}@media(max-width:900px){.single-concert .content-area{grid-template-columns:1fr}.single-concert .banner-simple{height:260px}}.page-template-page-contact .banner-simple,.page-contact .banner-simple{height:220px}.page-template-page-contact form,.page-contact form{max-width:700px;margin:1.2rem auto;padding:1.6rem;background:#161616;border:1px solid rgb(255 255 255 / .03);border-radius:8px;box-shadow:0 2px 0 rgb(255 255 255 / .01) inset}.page-template-page-contact h2,.page-contact h2{color:#f6f6f6;font-family:'DM Serif Display',Georgia,serif;margin-top:0;margin-bottom:1rem}.page-template-page-contact label,.page-contact label{display:block;font-weight:600;margin-bottom:.4rem;color:#eaeaea}.page-template-page-contact input[type="text"],.page-template-page-contact input[type="email"],.page-contact input[type="text"],.page-contact input[type="email"],.page-template-page-contact textarea,.page-contact textarea{width:100%;background:#1f1f1f;color:#efefef;border:1px solid rgb(255 255 255 / .04);padding:.75rem .9rem;border-radius:6px;font-family:inherit;font-size:15px}.page-template-page-contact textarea,.page-contact textarea{min-height:160px}.page-template-page-contact input[type="text"]::placeholder,.page-template-page-contact input[type="email"]::placeholder,.page-contact input[type="text"]::placeholder,.page-contact input[type="email"]::placeholder,.page-template-page-contact textarea::placeholder,.page-contact textarea::placeholder{color:#6b6b6b}.page-template-page-contact input[type="text"]:focus,.page-template-page-contact input[type="email"]:focus,.page-contact input[type="text"]:focus,.page-contact input[type="email"]:focus,.page-template-page-contact textarea:focus,.page-contact textarea:focus{outline:none;box-shadow:0 0 0 3px rgb(255 255 255 / .03);border-color:rgb(255 255 255 / .08)}.page-template-page-contact input[type="submit"],.page-contact input[type="submit"]{background:#0f0f0f;color:#fff;border:1px solid rgb(255 255 255 / .06);padding:.7rem 1rem;border-radius:6px;cursor:pointer}.page-template-page-contact .form-message,.page-contact .form-message{margin-bottom:1rem}form{max-width:820px;margin:1rem auto;padding:1.2rem;background:#161616;border:1px solid rgb(255 255 255 / .03);border-radius:8px;color:#efefef}form input[type="text"],form input[type="email"],form input[type="tel"],form input[type="number"],form select,form textarea,#reservationForm input[type="text"],#reservationForm input[type="email"],#reservationForm input[type="tel"],#reservationForm textarea{background:#1f1f1f;color:#efefef;border:1px solid rgb(255 255 255 / .04);padding:.7rem .9rem;border-radius:6px;width:100%;box-shadow:none}form input::placeholder,form textarea::placeholder,#reservationForm input::placeholder,#reservationForm textarea::placeholder{color:#6b6b6b}form input:focus,form textarea:focus,form select:focus,#reservationForm input:focus,#reservationForm textarea:focus{outline:none;box-shadow:0 0 0 4px rgb(11 116 209 / .12);border-color:rgb(255 255 255 / .08)}form input[type="submit"],form button[type="submit"],#reservationForm .submit-btn,.submit-btn{background:#0b74d1;color:#fff;border:1px solid rgb(255 255 255 / .06);padding:.7rem 1rem;border-radius:6px;cursor:pointer}#reservationForm .submit-btn,#reservationForm input[type="submit"],.userInfo .submit-btn,.userInfo input[type="submit"]{background:#ffffff!important;color:#0b0b0b!important;border:1px solid rgb(0 0 0 / .08)!important}#reservationForm .submit-btn:focus,#reservationForm input[type="submit"]:focus,.userInfo .submit-btn:focus{outline:none;box-shadow:0 0 0 4px rgb(11 116 209 / .12)}.page-contact #map,.page-template-page-contact #map,#map{display:flex;align-items:center;justify-content:center;background:#161616;color:#efefef;border:1px solid rgb(255 255 255 / .03);border-radius:8px;min-height:320px;box-sizing:border-box;padding:0;width:40%;float:right;margin-left:1rem}.page-contact form,.page-template-page-contact form{width:calc(60% - 1rem);box-sizing:border-box}@media (max-width:900px){.page-contact #map,.page-template-page-contact #map,#map{width:100%;float:none;margin:0 0 1rem 0;min-height:220px}.page-contact form,.page-template-page-contact form{width:100%}}.contact-container{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:1200px;margin:80px auto;padding:0 20px}.contact-container{align-items:stretch}.contact-form,.contact-map{padding:24px;border-radius:8px;box-shadow:none;display:flex;flex-direction:column;box-sizing:border-box;height:100%}.contact-form,.contact-map{background:#161616!important;color:#efefef}.contact-map #map{background:#fff0}.contact-form{padding:24px;border-radius:8px;box-shadow:none}.map-info{margin-bottom:20px;font-size:14px;line-height:1.6}#map{width:100%;height:400px;border-radius:8px;overflow:hidden;background:#fff0;box-shadow:0 2px 8px rgb(0 0 0 / .06)}@media (min-width:769px){.contact-container{grid-template-columns:1fr 420px;align-items:stretch}.contact-map{padding:20px 16px;display:flex;flex-direction:column}.contact-map #map{height:100%;min-height:320px;flex:1 1 auto}}@media (max-width:768px){.contact-container{display:flex;flex-direction:column;gap:20px}.contact-form,.contact-map{width:100%;padding:16px;box-sizing:border-box;height:auto}.contact-map #map{min-height:220px}}.contact-map{width:95vw;background-color:#1C1C1C}.map-info{color:#efefef}.concertSingle{margin:0 auto;padding:0 0}.dateEtArtiste{border-top:4px dashed rgb(255 255 255 / .8);border-bottom:4px dashed rgb(255 255 255 / .8);padding:16px 1rem;display:flex;justify-content:space-between;align-items:center;background-color:#161616}.dateEtArtiste h3{font-family:'DM Serif Display',serif;font-size:2rem;margin:0;color:#e6e6e6}.dateEtArtiste .date{font-family:'DM Serif Display';font-size:20px}.dateEtArtiste .artist{font-family:'DM Serif Display';font-size:20px;color:#efefef}.singleDateAndHour{color:#bfbfbf;font-size:clamp(0.9rem, 1.6vw, 1.1rem);font-weight:400;margin:0}.heure{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid rgb(255 255 255 / .03);gap:1rem}.heure,.dateEtArtiste{padding-left:4rem;padding-right:4rem}.heure h4{font-family:'DM Sans',sans-serif;font-size:1rem;font-weight:500;margin:0}.detailsConcert,.detailsSchedule{margin-top:50px}.detailsConcert h3,.detailsSchedule h3{font-family:'DM Serif Display',serif;font-size:1.8rem;margin-bottom:20px;border-bottom:2px solid #000;padding-bottom:10px}.detailsConcert p,.detailsSchedule p{font-family:'DM Sans',sans-serif;font-size:1rem;line-height:1.8;color:#333;max-width:800px}.detailsConcert,.detailsSchedule,.singleReservationButton{margin-left:4rem;margin-right:4rem}.singleReservationButton{display:inline-block;background:#0f0f0f;color:#fff;padding:10px 22px;border-radius:8px;text-decoration:none;font-weight:600;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.singleReservationButton:hover{transform:translateY(-3px);background:#1b1b1b;box-shadow:0 8px 20px rgb(11 11 11 / .35)}.singleReservationButton:focus{outline:3px solid rgb(11 116 209 / .12);outline-offset:3px}.reservationContainer{display:flex;gap:2rem;align-items:flex-start;max-width:920px;margin:0 auto;padding:0 1rem}.reservationContainer form#reservationForm{flex:1 1 auto;max-width:600px;width:100%;box-sizing:border-box}.reservationContainer img{flex:0 0 320px;width:100%;max-width:320px;height:auto;display:block;object-fit:cover;align-self:center;border-radius:8px}@media (max-width:700px){.reservationContainer{flex-direction:column}.reservationContainer img{width:100%;max-width:none}}@media (max-width:900px){.reservationContainer{flex-direction:column;align-items:stretch;max-width:100%;padding:0 1rem}.reservationContainer form#reservationForm{max-width:100%;width:100%}.reservationContainer img{width:100%;max-width:none;flex:0 0 auto;margin:0 auto 1rem auto}}.filters-container{margin:2rem 4rem}.cardConcert{padding-left:4rem;padding-right:4rem}.concerts-container{gap:0}.banner-simple{border-radius:0}