html, body {
  max-width: 100%;
  overflow-x: hidden;
  background: #212529;
}
.btn-link-planning-tarifs {
  width: 100%;
}
.btn-link-planning-events {
  width: 100%;
  margin-top: 0px;
}
.imgSalles {
  width:100%;
}
.descriptionDanse h5 {
  text-transform: uppercase;
}
.team-clean {
 margin-bottom: 40px;
}

.team-clean .intro {
 font-size:16px;
 max-width:500px;
 margin:0 auto;
}

.team-clean .intro p {
 margin-bottom:0;
}

.team-clean .people {
 padding-bottom:40px;
}

.team-clean .item {
 text-align:center;
 padding-top:50px;
}

.team-clean .item .name {
 font-weight:bold;
 margin-top:28px;
 margin-bottom:8px;
 color:#fff;
text-shadow:-2px -2px 5px #D90E79,2px -2px 5px #D90E79,-2px 2px 5px #D90E79,2px 2px 5px #D90E79;

}

.team-clean .item .title {
 text-transform:uppercase;
 font-weight:bold;
 color:#f166a7;
 letter-spacing:2px;
 font-size:13px;
}

.team-clean .item .description {
 font-size:14px;
 margin-top:15px;
 margin-bottom:20px;
}

.team-clean .item img {
 max-width:160px;
}
.descriptionDanse {
  padding-top: 60px;
  padding-bottom: 40px;
}
.descriptionDanse h3 {
  color:#fff;
text-shadow:-2px -2px 5px #D90E79,2px -2px 5px #D90E79,-2px 2px 5px #D90E79,2px 2px 5px #D90E79;
  font-size: 30px;
}

#jacadanseTarifs {
  margin-bottom: 70px;
}
#presentation {
    position: relative;
    background: radial-gradient(
        circle at top,
        #1b1b1b 0%,
        #0b0b0b 70%
    );
    padding: 7rem 0;
}
#presentation h2 {
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    letter-spacing: .08em;
    text-transform: uppercase;
}
#presentation .separator-rose {
    width: 70px;
    height: 3px;
    border-radius: 999px;
    opacity: .9;
}
.presentation-texte {
    font-size: 1.05rem;
    line-height: 1.9;
    color: rgba(255,255,255,.88);
    max-width: 680px;
    margin: 0 auto;
}
.presentation-texte::first-line {
    font-weight: 600;
    color: #fff;
}
#presentation .col-lg-8 {
    animation: fadeUp .8s ease both;
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.jacadansePresentation {
  font-size:16px;
}
.jacadansePresentation strong {
  color:#fff;
text-shadow:-2px -2px 5px #D90E79,2px -2px 5px #D90E79,-2px 2px 5px #D90E79,2px 2px 5px #D90E79;
  font-size: 20px;
}
.jacadanseTarifsContainer {
  width: 100%;
}

.descriptionsCours {
  text-align: justify;
  padding-bottom: 50px;
}
.descriptionsCours h3 {
  text-transform: uppercase;
  color:#fff;
text-shadow:-2px -2px 5px #D90E79,2px -2px 5px #D90E79,-2px 2px 5px #D90E79,2px 2px 5px #D90E79;
  margin-top: 20px;
}
.descriptionsCours h6 {
  margin-top: 20px;
  font-style: italic;
}
.descriptionsCours h4 {
  margin-top: 20px;
  color:#fff;
text-shadow:-2px -2px 5px #D90E79,2px -2px 5px #D90E79,-2px 2px 5px #D90E79,2px 2px 5px #D90E79;
}
.descriptionsCours h5 {
  margin-top: 20px;
  color:#fff;
text-shadow:-2px -2px 5px #D90E79,2px -2px 5px #D90E79,-2px 2px 5px #D90E79,2px 2px 5px #D90E79;
}
.height30 {
  height: 30px;
}
.height40 {
  height: 40px;
}
.height80 {
  height: 80px;
}
.videosJacadanse {
padding-bottom:40px;
}
.videosJacadanse h2 {
padding-bottom:40px;
padding-top: 50px;
}
.gallerieVideoH2 {
padding-bottom:40px;
}
.gallerieVideo {
  margin-bottom: 50px;
}
.videosJacadanse h3 {
  font-size: 20px;
}
.gallerieVideo iframe {
  width: 100%;
  max-width: 560px;
}
.merci {
padding-bottom:40px;
}
.merciText h2 {
  margin-bottom: 50px;
}
.merciText a {
  color:#ed028b;
}
.merciText p {
  text-align: center;
  font-size: 16px;
}
.merciSpace {
  height: 300px;
}
.partenairesH2 {
padding-bottom:40px;
}
.partenaires {
  margin-bottom: 50px;
}
.partenairesLinks {
  margin-top: 100px;
}
.imgCours {
  width:100%;
}
.descriptionDanse h5 {
  text-align: justify;
  text-transform: uppercase;
}
.descriptionDanse {
  padding-top: 60px;
  padding-bottom: 40px;
}
.descriptionNOTE {
  padding-top: 60px;
  padding-bottom: 10px;
}



.dateEvenement h4 {
  color:#fff;
  text-shadow:-2px -2px 5px #00adef,2px -2px 5px #00adef,-2px 2px 5px #00adef,2px 2px 5px #00adef;
}

.hrstyle1 {
  border: 1px #ed028bridge;
  width: 100px;
}
.btn-link-choice {
  margin-top: 20px;
  background-color: none;
  color:#ed028b;
  border: solid 1px #ed028b;
  width: 80%;
}
.btn-link-choice:hover {
  background-color: #ed028b;
  color:white;
  border: solid 1px #ed028b;
}
.btn-link-choice-active {
  margin-top: 20px;
  background-color: #ed028b;
  color:#fff;
  border: solid 1px #ed028b;
  width: 80%;
}
.btn-link-choice-active:hover {

}

.gallerie {
  max-width:910px;
  margin-left:auto;
  margin-right:auto;
  margin-bottom: 80px;
}


a.nav-link:hover {
  color:#ed028b ;
}
.eventsPage h3 {
  padding: 20px;
  color:#fff;
text-shadow:-2px -2px 5px #D90E79,2px -2px 5px #D90E79,-2px 2px 5px #D90E79,2px 2px 5px #D90E79;

}
.eventsPage h4 {
padding-bottom: 20px;
}

p {   line-height: 160%;letter-spacing: .5px; color:#fff;
}
.activelink {
  border-bottom: medium solid #ed028b;
}

a {
  color:#f166a7;
}
a:hover {
  color:#1cbed7;
}

form #website{ display:none; }


.jumbotron1 {
  background: url(../../../images/jumbotron2023_1.webp) center center no-repeat;
  background-size: cover;
  height: 100vh; /* plein écran */
  background-color: #111;

}


#bg-image.lazy {
   background-image: none;
   background-color: #F1F1FA;
}
.jumbotronText .h1, .jumbotronText h1 {
  text-transform:uppercase;
  padding-top: 10px;
}

.jumbotronText {
  width: 80%;
  min-width: 360px;
  text-align: right;
  margin-left: auto;
  margin-right: auto;
}
.fixed-jumbotron {
    position: fixed;
}
.jacadanseInformation {
  text-align: center;
  color: #fff;
  background-color: #000;
  padding-top: 20px;
  padding-bottom: 20px;
}
.jacadanseInformation a {
  color: #f166a7;
  text-decoration: underline;
  cursor: pointer;
}
@media (max-width: 767px) {
  .jumbotron {
    height:250px;
  }
  .jumbotronText h1 {
    padding-top: 0px;

  }
  .jumbotronText {
    min-width: 300px;

  }

}
.jumbotronDown, .jumbotronDown:hover, .jumbotronDown:active, .jumbotronDown:active:focus {
  text-align:center;
  color: white ;
}
.jacadanseWelcome h2{
  padding-top:50px;
  color:#fff;
  text-shadow:-2px -2px 5px #D90E79,2px -2px 5px #D90E79,-2px 2px 5px #D90E79,2px 2px 5px #D90E79;
}

.jacadanseCoursdeDanseContainer {
  width: 100%;
}
.jacadanseTitle{
  margin-top:30px;
  margin-bottom:40px;
}
.jacadanseTitleList {
  padding-right:30px;
}
.jacadanseTitleList h2{
  text-transform: uppercase;
  margin-bottom: 20px;
}
.jacadanseDescription {
  padding-top:20px;
}

.team-grid .intro p {
  margin-bottom:0;
}

.team-grid .people {
  padding:50px 0;
}

.team-grid .item {
  margin-bottom:30px;
}

.team-grid .item .box {
  text-align:center;
  background-repeat:no-repeat;
  background-size:cover;
  height:500px;
  position:relative;
  overflow:hidden;
}

.team-grid .item .cover {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background-color:rgba(138,8,134,0.5);
  transition:opacity 0.15s ease-in;
  opacity:0;
  padding-top:80px;
  color:#fff;
  text-shadow:1px 1px 1px rgba(0,0,0,0.15);
}

.team-grid .item:hover .cover {
  opacity:1;
}

.team-grid .item .name {
  font-weight:bold;
  margin-bottom:8px;
}
.team-grid .item .title {
  text-transform:uppercase;
  font-weight:bold;
  color:white;
  letter-spacing:2px;
  margin-bottom:20px;
}
.navigation-clean {
  background:#212529;
  color:#fff;
  border-radius:0;
  box-shadow:none;
  border:none;
  margin-bottom:0;
  text-transform: uppercase;
    color:inherit;
}
.navbar-default .navbar-nav>li>a{
  color:#fff;
}
.navbar-brand {
  font-size: 22px;
  font-weight: bold;
  color:#fff;
text-shadow:-2px -2px 5px #D90E79,2px -2px 5px #D90E79,-2px 2px 5px #D90E79,2px 2px 5px #D90E79;

}
.navigation-clean .dropdown-menu > li > a:focus, .navigation-clean .dropdown-menu > li > a {
  line-height:2;
  color:#212529;
  text-transform: none;

}
.navigation-clean .navbar-nav > .active > a, .navigation-clean .navbar-nav > .open > a {
  background:none;
  box-shadow:none;
}

.navbar-default .navbar-nav>.open>a, .navbar-default .navbar-nav>.open>a:hover, .navbar-default .navbar-nav>.open>a:focus {
  color:#f166a7;
  box-shadow:none;
  background:none;
  pointer-events:none;
}
.navigation-clean.navbar-default .navbar-nav > li > a:focus, .navigation-clean.navbar-default .navbar-nav > li > a:hover {
  color:#f166a7!important;
  background-color:transparent;
}
a.nav-link.link-nav-rose {
  color:white;
  background-color:#f166a7;
}

.width63 {
  width:77px;
}

.fb-like {
  margin-top: 12px;
  padding-left: 15px;
}
@media (max-width:767px) {
  .navigation-clean {
    padding-top:0;
    padding-bottom:0;
  }
  .navigation-clean .navbar-header {
    padding-top:10px;
    padding-bottom:10px;
  }
  .navigation-clean .navbar-nav .open .dropdown-menu {
    box-shadow:none;
  }
  .navigation-clean .navbar-nav .open .dropdown-menu > li > a {
    color:#f166a7;
    padding-top:12px;
    padding-bottom:12px;
    line-height:1;
  }
  .navigation-clean.navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
    color:#fff;
  }
  .fb-like {
    margin-top: 0px;
  }
}

ul {
  list-style-type: none;
  padding: 0;
}
#rightSide {
  position: relative;
}

#rightSidesmartphone {
  position: relative;
}
.btn-link-screen {
  position: fixed; bottom: 2%; right: 2%;
}
.btn-link-screen2 {
  position: fixed; bottom: 8%; right: 2%;
}

.planning h3{
  color:#fff;
text-shadow:-2px -2px 5px #D90E79,2px -2px 5px #D90E79,-2px 2px 5px #D90E79,2px 2px 5px #D90E79;
}

.jacadanseParallax {
  background-image:url(../../../images/home.webp);
  background-position:center center;
  background-size:cover;
  margin-bottom:40px;
  height:450px;

}

.intro h1, .intro h2 {
  color:#fff;
text-shadow:-2px -2px 5px #D90E79,2px -2px 5px #D90E79,-2px 2px 5px #D90E79,2px 2px 5px #D90E79;
  text-transform: uppercase;
  padding-top: 40px;
}
.textLinkVisible a {
  text-decoration: underline;
  font-weight: bold;
}
a.anchor {
    display: block;
    position: relative;
    top: -70px;
    visibility: hidden;
}
@media (max-width:767px) {
  a.anchor {
      top: -20px;
  }
}
@media (max-width: 767px) {
  .jacadanseParallax {
    height: 250px;
  }
  .intro h2 {
    padding-top: 40px;
  }
}
#jacadanseCoursdeDanse h3 {
 color:#fff;
text-shadow:-2px -2px 5px #D90E79,2px -2px 5px #D90E79,-2px 2px 5px #D90E79,2px 2px 5px #D90E79;
  margin-bottom: 20px;
}
#jacadanseCoursdeDanse p {
  text-align: justify;
}
.jacadanseCoursdeDanseRow {
  margin-top: 50px;
}
.jacadanseCoursdeDanseRow a {
  text-decoration: underline;
  font-weight: bold;
}


#jacadanseCoursdeDanseRowText p{
  text-align: center;
}
.photosCaroussel {
  background: #eee;
  margin-top: 40px;
  padding-bottom: 60px;
background: #212529;
}

.photosCaroussel h2{
  color:#fff;
text-shadow:-2px -2px 5px #D90E79,2px -2px 5px #D90E79,-2px 2px 5px #D90E79,2px 2px 5px #D90E79;
}
.noborder {
  border:0;
}

.jacadanseSwiperContainer {
  margin-top:20px;
}

.popover a {
  color:#f166a7;
}
.tableCalendar {
  padding: 0px;
  margin-top: 40px;
}

.navbar-toggle  {
  margin-left: 0px;
  margin-right: 20px;
}

.eventLocaux {
  cursor: pointer;
    font-size: 13px;
    padding: 12px;
    margin-bottom: 10px;
    border: 1px dashed #6c757d; /* gris Bootstrap */
    border-radius: 8px;
    background-color: #f8f9fa;  /* gris très clair */
    transition: all 0.2s ease-in-out;

}

.jacadanseCoursdeDanseContainer .card {
  box-shadow:-5px 5px 10px #ed028b,5px 5px 10px #ed028b,5px -5px 10px #ed028b,-5px -5px 10px #ed028b;

}
.eventLocaux:hover {
  background-color: #e9ecef;  /* léger survol */
  border-color: #0d6efd;      /* bleu Bootstrap */
  color: #000;
  text-decoration: none;
}
.eventleolagrange {
  background-color: #f166a7; /* ROSE */
}

.eventecole {
  background-color: #fce4ec; /* rose poudré */
}

.eventBTAR {
  background-color: #f1f3f5; /* gris perle */
}

.eventcsa {
  background-color: #d0ebff; /* bleu pastel */
}

.eventguerrini {
  background-color: #1cbed7; /* BLEU */
}
.eventCours {
  padding: 10px;
}
.eventCours:hover{
  background-color:#fce4ec;
  color:white;
}
.dayTitle{
  margin-bottom: 20px;
}
.eventLine {
  border-top: solid 1px;
}
.eventLineTarifs {
  border-top: solid 1px #8A0808;
}
.tableTarifs {
  color: #f166a7;
}
.legendes {
  margin-top: 20px;
}
.detailsPlanning p {
  text-align: center;
}

.detailsPlanning a {
    display: inline-block;
    padding: .4rem .9rem;
    margin: .3rem;
    border-radius: 999px;
    background-color: rgba(255,255,255,.08);
    text-decoration: none;
    transition: background .2s ease;
}

.detailsPlanning a:hover {
    background-color: rgba(255,255,255,.18);
}
.linkOtherPage {
  text-decoration: none;
  color:#ed028b;
}
.linkOtherPage a:hover {
  text-decoration: none;
  color:#1cbed7;
}
.detailsPlanning h3 {
  color:#fff;
text-shadow:-2px -2px 5px #D90E79,2px -2px 5px #D90E79,-2px 2px 5px #D90E79,2px 2px 5px #D90E79;
  margin-bottom: 20px;
}
.detailsPlanning {
  margin-bottom: 30px;
}
.detailsPlanningParagraph {
  min-width: 250px;
  width: 60%;
  margin-left: auto;
  margin-right: auto;
}
.legendesSalles {
  margin-top: 20px;
  text-align:center;
  min-height:20px;
  width: 60%;
  margin-left: auto;
  margin-right: auto;
  min-width: 180px;
  padding-top: 0px;
}

.inputMessage {
  margin-top: 20px;
}
.linkOtherPhotos p {
  margin-top:20px;
}
.linkOtherPhotos a {
  color:#ed028b;
  text-align: center;
  margin-top: 20px;
}
.nopadding {
  padding:0px;
}
.event20clean {
  height:20px;
}
.event80clean {
  height:80px;
}
.event60clean {
  height:60px;
}
.event40clean {
  height:40px;
}

.btn-link-photo {
  width: 60%;
  max-width: 200px;
  margin-top: 30px;
  /* font-family:'Open Sans', sans-serif; */
  background: #ed028b;
  color: white;
  border-color:white;
}
.btn-link-photo:hover {
  background: white;
  color: #ed028b;
  border-color:white;
}
#myCarousel {
  margin-top: 30px;
}

.event120 {
  padding-top: 20px;
  height:120px;
}

.event160 {
  height:160px;
}
.event80 {
  padding-top:5px;

  height:80px;
}
.event60 {
  height:60px;
  padding-top: 5px;

}
.event40 {
  padding-top: 0px;
  height:40px;
}
@media (max-width: 767px) {
  .jacadanseHome2 {
    height:250px;
  }
  .event120 {
    padding-top: 0px;
    height:60px;
  }
  .event160 {
    padding-top: 0px;
    height:60px;
  }
  .event80 {
    padding-top: 0px;
    height:60px;
  }
  .event60 {
    padding-top: 0px;

    height:60px;
  }
  .event40 {
    padding-top: 0px;

    height:60px;
  }
}
.btn-link-planning {
  width: 100%;
  margin-top: 30px;
  /* font-family:'Open Sans', sans-serif; */
  background: #f166a7;
  color: white;
  border-color:white;
}
.btn-link-planning:hover, .btn-link-planning:active, .btn-link-planning:active:focus {
  outline: none !important;
  border-color:#f166a7;
  background: white;
  color: #f166a7;
}
/*.btn-link-danse {
  background: #73143A;
  color: white;
  border-color:#73143A;
  width: 100%;
  margin-top: 10px;
  margin-bottom: 10px;
}
.btn-link-danse:hover, .btn-link-contact:active, .btn-link-contact:active:focus {
  border-color:#73143A;
  background: white;
  color: #73143A;
}*/
.btn-link-contact {
  font-family:'Open Sans', sans-serif;
  background: #f166a7;
  color: white;
  border-color:#f166a7;
}
.btn-link-contact:hover, .btn-link-contact:active, .btn-link-contact:active:focus {
  border-color:#f166a7;
  background: white;
  color: #f166a7;
}
.btn-large {
  width: 100%;
}

@media (min-width:767px) {
  .btn-link-danse {
    margin-top: 30px;
    margin-bottom: 50px;
  }
}

.container-dark {
  padding:50px 0;

  color:#fff;
  background-color:#212529;
  padding-bottom:30px;padding-top:0;
}
.container-dark p {
  color:#fff;
  width: 80%;
  margin-left: auto;
  margin-right: auto;

  text-align: justify;
}
.footer-dark {
  padding:50px 0;
  color:#ffffff;
  background-color:#212529;
  padding-bottom:30px;padding-top:0;
}
.nostyle {
  text-decoration: underline;
}


.footer-dark a {
  color:#ffffff;
  text-decoration: underline;
  text-decoration:none;
}

.footer-dark a:hover {
  color:white;

}

.footer-dark .item.text {
  margin-bottom:36px;
}

@media (max-width:767px) {
  .footer-dark .item.text {
    margin-bottom:0;
  }
  .footer-dark .item:not(.social) {
    text-align:center;
    padding-bottom:20px;
  }
}

.footer-dark .item.text p {
  margin-bottom:0px;
}


.footer-dark .copyright {
  text-align:center;
  padding-top:24px;
  opacity:0.5;
}


.contact-clean {
  background:#212529;
  padding:80px 0;
}


.contact-clean form {
  max-width:800px;
  width:90%;
  margin:0 auto;
  background-color:#212529;
  padding:40px;
color:#fff;
  border-radius:4px;
  box-shadow:-5px 5px 10px #ed028b,5px 5px 10px #ed028b,5px -5px 10px #ed028b,-5px -5px 10px #ed028b;
}

@media (max-width:767px) {
  .contact-clean {
    padding:20px 0;
  }
  .contact-clean form {
    padding:30px;
  }
}

.contact-clean h2 {
  color:#fff;
text-shadow:-2px -2px 5px #D90E79,2px -2px 5px #D90E79,-2px 2px 5px #D90E79,2px 2px 5px #D90E79;
  text-transform: uppercase;
  margin-bottom:36px;
}
.contact-clean a {
  color:#D90E79;
}
.jacadanseForm {
  margin-top: 20px;
}
.contact-clean .form-group:last-child {
  margin-bottom:5px;
}

.contact-clean form .form-control {
  background-color: #212529;
border:1px solid #d4d4d4;
  border-radius:2px;
  box-shadow:-1px 1px 1px #ed028b,1px 1px 1px #ed028b,1px -1px 1px #ed028b,-1px -1px 1px #ed028b;
  outline:none;
  color:#fff;
  padding-left:12px;
  height:42px;
}
.contact-clean form .form-control::placeholder
{
color:#FFFFFF
}


.contact-clean form .form-control:focus {
  border:1px solid #b2b2b2;
}

.contact-clean form .form-control:focus,
.contact-input:focus,
.contact-textarea:focus {
    color: #fff !important;
    background-color: #000 !important;
}

.contact-clean form textarea.form-control {
  min-height:100px;
  max-height:260px;
  padding-top:10px;
  resize:none;
}



.contact-clean form .btn {
  padding:16px 32px;
  border:none;
  background:none;
  box-shadow:none;
  text-shadow:none;
  opacity:0.8;
  text-transform:uppercase;
  font-weight:bold;
  letter-spacing:0.4px;
  line-height:1;
  outline:none !important;
}



.contact-clean form .btn-primary {
  background-color:#f166a7 !important;
  margin-top:15px;
  color:#fff;
}
.contact-clean form .btn:hover {
  opacity:1;

}
.nomargin {
  margin: 0px;
}
.text-justify {
  text-align: justify;
}
.hero-section {
    min-height: 100vh;
    position: relative;
}

.hero-bg-img {
    filter: brightness(65%);
    object-fit: cover;
}

.hero-overlay {
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.55),
        rgba(0, 0, 0, 0.75)
    );
    pointer-events: none;
}

/* Animation discrète d’apparition */
.hero-section h1,
.hero-section p,
.hero-section a.btn {
    opacity: 0;
    transform: translateY(20px);
    animation: fadeUp 0.8s ease forwards;
}

.hero-section h1 { animation-delay: 0.1s; }
.hero-section p { animation-delay: 0.25s; }
.hero-section a.btn { animation-delay: 0.4s; }

@keyframes fadeUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.btn-inscription {
    background-color: #f166a7;       /* rose principal */
    color: #fff;
    border: 1px solid #f166a7;
    text-transform: uppercase;
    font-weight: bold;
    letter-spacing: 0.5px;
    padding: 8px 18px;
    transition: all 0.2s ease;
}

.btn-inscription:hover,
.btn-inscription:focus {
    background-color: #fff;
    color: #f166a7;
    border-color: #f166a7;
    text-decoration: none;
}
.section-title-rose {
    color: #fff;
    text-transform: uppercase;
    text-shadow:
        -2px -2px 5px #D90E79,
         2px -2px 5px #D90E79,
        -2px  2px 5px #D90E79,
         2px  2px 5px #D90E79;
    letter-spacing: 1px;
}

.separator-rose {
    width: 80px;
    height: 3px;
    border: none;
    background: linear-gradient(90deg, #f166a7, #D90E79);
    border-radius: 10px;
}


/* TITRE ROSE */
.section-title-rose {
    color: #fff;
    text-transform: uppercase;
    text-shadow:
        -2px -2px 5px #D90E79,
         2px -2px 5px #D90E79,
        -2px  2px 5px #D90E79,
         2px  2px 5px #D90E79;
    letter-spacing: 1px;
}

.separator-rose {
    width: 80px;
    height: 3px;
    background: linear-gradient(90deg, #f166a7, #D90E79);
    border-radius: 8px;
    border: none;
}
/* CARDS – VERSION MODERNE */
.card-cours {
    position: relative;
    background: linear-gradient(180deg, #151515 0%, #0d0d0d 100%);
    border-radius: 20px;
    border: none;
    overflow: hidden;
    cursor: pointer;

    transition:
        transform .35s ease,
        box-shadow .35s ease;
    
    box-shadow:
        0 6px 18px rgba(0,0,0,.45);
}

/* Élévation claire au hover */
.card-cours:hover {
    transform: translateY(-8px);
    box-shadow:
        0 20px 40px rgba(0,0,0,.6),
        0 0 0 1px rgba(237, 2, 139, .25);
}

/* Image */
.card-cours img {
    transition: transform .5s ease;
    will-change: transform;
}

.card-cours:hover img {
    transform: scale(1.07);
}

/* Overlay dégradé pour lisibilité */
.card-cours::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(0,0,0,.6) 20%,
        rgba(0,0,0,0) 65%
    );
    pointer-events: none;
}

/* Corps */
.card-cours .card-body {
    position: relative;
    padding: 1.75rem;
    z-index: 1;
}

/* Titre */
.card-cours .card-title {
    color: #fff;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 1.15rem;
    letter-spacing: .06em;
    margin-bottom: .5rem;
}

/* Texte */
.card-cours .card-text {
    color: rgba(255,255,255,.75);
    font-size: .95rem;
    line-height: 1.45;
    max-width: 90%;
}

/* Optionnel : micro-indice de clic */
.card-cours:hover .card-title {
    color: #ed028b;
}

/* SECTION PARALLAX */
.parallax-section {
    position: relative;
    height: 380px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

/* Image + effet parallax compatible mobile */
.parallax-bg {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 130%; /* un peu plus haut pour l’effet de mouvement */
    background-image: url('../../images/home.webp');
    background-size: cover;
    background-position: center;
    transform: translateY(-10%); /* effet léger */
    transition: transform .3s ease-out;
    will-change: transform;
    filter: brightness(60%);
}

/* Texte */
.parallax-content {
    position: relative;
    z-index: 2;
    padding: 20px;
}

/* Dynamique légère : effet au scroll */
@media (min-width: 768px) {
    .parallax-section:hover .parallax-bg {
        transform: translateY(-2%);
    }
}
/* TITRES */
.planning-day-title {
    color: #fff;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 10px;
    text-shadow:
        -2px -2px 5px #D90E79,
         2px -2px 5px #D90E79,
        -2px  2px 5px #D90E79,
         2px  2px 5px #D90E79;
}

/* Texte horaires */
.planning-hour {
    font-size: 0.95rem;
    margin-bottom: 5px;
}

/* Effet sur les boîtes salles / cours */
.eventCours {
    border-radius: 10px;
    padding: 10px;
    transition: transform .2s ease, box-shadow .2s ease;
}

.eventCours:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(237, 2, 139, 0.35);
}

/* Amélioration légères des listes */
.text-light-75 {
    color: rgba(255,255,255,0.75);
}
/* Section galerie */
.section-galerie {
    background-color: #212529;
}

/* Image du carrousel */
.galerie-img {
    object-fit: cover;
    height: 500px;
    filter: brightness(85%);
    transition: filter .3s ease;
}

.galerie-img:hover {
    filter: brightness(100%);
}

/* Indicateurs modernisés */
.carousel-indicators [data-bs-target] {
    background-color: #f166a7;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    opacity: .6;
}

.carousel-indicators .active {
    opacity: 1;
}

/* Contrôles */
.carousel-control-prev-icon,
.carousel-control-next-icon {
    filter: drop-shadow(0 0 5px #000);
}

/* Ombre + arrondis */
#carouselGalerie {
    border-radius: 12px;
}
/* Images professeurs */
.prof-img-wrapper {
    overflow: hidden;
    border-radius: 12px 12px 0 0;
}

.prof-img {
    width: 100%;
    height: 450px;
    object-fit: cover;
    transition: transform .5s ease, filter .4s ease;
    filter: brightness(85%);
}

.prof-card:hover .prof-img {
    transform: scale(1.05);
    filter: brightness(100%);
}

/* Carte moderne */
.prof-card {
    background: #111;
    border: none;
    border-radius: 12px;
    transition: transform .25s ease, box-shadow .25s ease;
}

.prof-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 10px 20px rgba(237, 2, 139, 0.25);
}

/* Nom */
.prof-name {
    color: #fff;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    text-shadow:
        -2px -2px 5px #D90E79,
         2px -2px 5px #D90E79,
        -2px  2px 5px #D90E79,
         2px  2px 5px #D90E79;
}

/* Citation */
.prof-quote {
    font-size: 0.95rem;
    color: #ddd;
    line-height: 1.4;
}
/* Inputs et textarea : fond noir */
.contact-input,
.contact-textarea {
    background-color: #000;       /* VRAI NOIR */
    color: #fff;                  /* texte blanc */
    border: 1px solid #444;       /* léger contour gris */
    border-radius: 8px;
    padding: 12px;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.contact-input::placeholder,
.contact-textarea::placeholder {
    color: rgba(255,255,255,0.45);  /* placeholder gris clair */
}

/* Effet focus (cohérent avec ton identité) */
.contact-input:focus,
.contact-textarea:focus {
    border-color: #f166a7;
    box-shadow: 0 0 8px rgba(237, 2, 139, 0.4);
    background-color: #000;  /* reste noir même au focus */
}

/* Textarea */
.contact-textarea {
    resize: vertical;
    min-height: 140px;
}
/* --- Bouton MENU --- */
.menu-button {
    position: fixed;
    top: 15px;
    left: 20px;
    z-index: 1100;
    background: transparent;
    border: 2px solid #f166a7;
    color: #f166a7;
    padding: 6px 16px;
    border-radius: 4px;
    font-weight: bold;
    letter-spacing: 1.5px;
    transition: 0.3s;
}
.menu-button:hover {
    background: #f166a7;
    color: #fff;
}

/* --- Overlay sombre --- */
#menuOverlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.75);
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    z-index: 1098;
}

/* --- Mega-menu fullscreen --- */
#megaMenu {
    position: fixed;
    inset: 0;
    background: #000;
    transform: translateY(-100%);
    transition: 0.4s ease;
    z-index: 1099;
    color: #fff;
    padding: 80px 60px;
    overflow-y: auto;
}

#megaMenu.open {
    transform: translateY(0);
}

#menuOverlay.open {
    opacity: 1;
    visibility: visible;
}

/* --- Colonnes du mega-menu --- */
.megaMenu-content {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 60px;
    max-width: 1400px;
    margin: auto;
}

.mega-col h3 {
    color: #f166a7;
    text-transform: uppercase;
    margin-bottom: 20px;
    font-size: 1.3rem;
}

.mega-col a {
    display: block;
    padding: 8px 0;
    color: #fff;
    text-decoration: none;
    font-size: 1.05rem;
}
.mega-col a:hover {
    color: #f166a7;
}

/* Bouton S'inscrire */
.btn-menu-inscription {
    margin-top: 10px;
    padding: 10px 0;
    background: #f166a7;
    text-align: center;
    border-radius: 4px;
}
.btn-menu-inscription:hover {
    background: #fff;
    color: #f166a7;
}

/* --- VERSION MOBILE --- */
@media (max-width: 991px) {

    .megaMenu-content {
        grid-template-columns: 1fr;
        gap: 30px;
        padding-bottom: 60px;
    }

    #megaMenu {
        padding: 60px 30px;
    }

    .menu-button {
        padding: 6px 14px;
        font-size: 0.9rem;
        top: 10px;
    }
}
/* Croix de fermeture du menu fullscreen */
.mega-close {
    position: absolute;
    top: 20px;
    right: 30px; /* <-- on passe à gauche */
    font-size: 3rem;
    color: #f166a7;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 1200;
    line-height: 1;
    transition: 0.2s ease;
}

.mega-close:hover {
    color: #fff;
    transform: scale(1.15);
}
.mega-home-link {
    display: block;
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    text-transform: uppercase;
    color: #f166a7;
    margin-bottom: 40px;
    letter-spacing: 3px;
    text-decoration: none;
}

.mega-home-link:hover {
    color: #fff;
}
/* Modernisation bannière */
/* ---- Jumbotron Second Page Modernisé ---- */
.jumbotronSecondPage {
    position: relative;
    width: 100%;
    min-height: 55vh;
    padding: 100px 0 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;

    /* Image fournie */
    background: url("../../images/jumbotronSecondPage.webp") center center / cover no-repeat;

    /* Voile sombre */
    color: #fff;
}

.jumbotronSecondPage::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.55);
    backdrop-filter: brightness(70%);
    z-index: 0;
}



.jumbotronSecondPage h1,
.jumbotronSecondPage p {
    position: relative;
    z-index: 1;
}

.jumbotronSecondPage h1 {
    text-transform: uppercase;
    font-size: 2.4rem;
    margin-bottom: 20px;
    text-shadow:-2px -2px 5px #D90E79,
                 2px -2px 5px #D90E79,
                -2px  2px 5px #D90E79,
                 2px  2px 5px #D90E79;
}

.jumbotronSecondPage p {
    font-size: 1.2rem;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}


/* Mobile */
@media (max-width: 767px) {
    .jumbotronSecondPage {
        min-height: 40vh;
        padding: 60px 20px;
        background-position: center top;
    }
    .jumbotronSecondPage h1 {
        font-size: 1.5rem;
    }
    .jumbotronSecondPage p {
        font-size: 1rem;
    }
}
/* Présentation */
.jacadansePresentation h2 {
    color:#fff;
    text-shadow:-2px -2px 5px #D90E79,2px -2px 5px #D90E79,-2px 2px 5px #D90E79,2px 2px 5px #D90E79;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.jacadansePresentation p {
    color: #fff;
    text-align: justify;
    font-size: 1rem;
    line-height: 160%;
}

/* Section professeurs modernisée */
#jacadanseTeam {
    padding: 60px 0;
}

#jacadanseTeam h2 {
    color:#fff;
    text-shadow:-2px -2px 5px #D90E79, 2px -2px 5px #D90E79,
                 -2px 2px 5px #D90E79, 2px 2px 5px #D90E79;
    text-transform: uppercase;
    margin-bottom: 20px;
}

#jacadanseTeam p {
    color: #ccc;
}

.team-modern .card {
    background: #121212;
    border-radius: 12px;
    border: 1px solid #333;
    box-shadow: 0 0 15px rgba(0,0,0,0.4);
    overflow: hidden;
    transition: 0.3s;
}

.team-modern .card:hover {
    transform: translateY(-6px);
    box-shadow: 0 0 25px rgba(217, 14, 121, 0.5);
}

.team-modern img {
    width: 100%;
    height: 300px;
    object-fit: cover;
}

.team-modern .card-body {
    padding: 25px;
}

.team-modern h3 {
    color: #fff;
    font-size: 1.4rem;
    text-transform: uppercase;
    text-shadow: -2px -2px 5px #D90E79,
                 2px -2px 5px #D90E79,
                -2px 2px 5px #D90E79,
                 2px 2px 5px #D90E79;
}

.team-modern .title {
    color: #f166a7;
    font-weight: bold;
    margin-bottom: 10px;
}

.team-modern .description {
    color: #ddd;
    font-size: 0.95rem;
    text-align: left;
}
/* --- Bandeau d'information moderne --- */
.info-banner {
    background: rgba(0, 0, 0, 0.65);
    border-bottom: 2px solid #f166a7;
    padding: 10px 0;
    animation: slideDown 0.6s ease-out;
}

.info-text {
    color: #fff;
    font-size: 1.05rem;
    font-weight: 500;
    animation: fadeIn 0.9s ease-in-out;
    letter-spacing: 0.5px;
}

/* Apparition douce */
@keyframes slideDown {
    from { transform: translateY(-20px); opacity: 0; }
    to   { transform: translateY(0); opacity: 1; }
}

@keyframes fadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}
.footer-local-title {
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 6px;
}

.footer-local-line {
    color: rgba(255,255,255,0.85);
    font-size: 0.95rem;
}

.footer-local a {
    color: #f166a7;
    text-decoration: underline;
}
.footer-local a:hover {
    color: #ffffff;
    text-decoration: none;
}

/* Bouton / lien Google Maps */
.footer-gmb-link {
    display: inline-block;
    padding: 8px 16px;
    border-radius: 20px;
    border: 1px solid #f166a7;
    color: #f166a7;
    font-size: 0.95rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: background-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.footer-gmb-link:hover {
    background-color: #f166a7;
    color: #000;
    box-shadow: 0 0 12px rgba(241, 102, 167, 0.5);
}

.trophee h2 {
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: center;
    margin-bottom: 30px;
    text-shadow:
        -2px -2px 5px #D90E79,
         2px -2px 5px #D90E79,
        -2px  2px 5px #D90E79,
         2px  2px 5px #D90E79;
}

.trophee ul {
    color: #ffffff;
    
}

.trophee h5 {
    color: #D90E79;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 15px;
}
/* Bannière événement */
.event-banner {
    background-color: #D90E79;
    color: #fff;
    padding: 10px 0;
    font-weight: 600;
    z-index: 1000;
}

.event-banner-text {
    font-size: 0.95rem;
}

/* Événement à la une */
.event-highlight {
    padding: 60px 0;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.event-title {
    color: #fff;
    text-transform: uppercase;
    text-shadow:
        -2px -2px 5px #D90E79,
         2px -2px 5px #D90E79,
        -2px  2px 5px #D90E79,
         2px  2px 5px #D90E79;
}

.event-subtitle {
    color: #D90E79;
    text-transform: uppercase;
    font-size: 1.1rem;
}

.event-meta {
    font-size: 1rem;
    opacity: 0.9;
}

.event-highlight-img {
    max-height: 420px;
    object-fit: cover;
}

/* Bouton principal – Jacadanse */
.btn-primary {
    background-color: #D90E79;
    border-color: #D90E79;
    color: #ffffff;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    border-radius: 50px;
    padding: 12px 28px;
    transition: all 0.25s ease-in-out;
    box-shadow: 0 6px 18px rgba(217, 14, 121, 0.35);
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: #ffffff;
    border-color: #ffffff;
    color: #D90E79;
    box-shadow: 0 8px 22px rgba(217, 14, 121, 0.45);
}

/* Modernisation accueil 2026 : couleurs Jacadanse, Bootstrap et mouvement */
:root {
    --jaca-bg: #08080d;
    --jaca-surface: rgba(16, 16, 24, .82);
    --jaca-surface-strong: #11111a;
    --jaca-pink: #ed028b;
    --jaca-pink-soft: #f166a7;
    --jaca-blue: #1cbed7;
    --jaca-text: #ffffff;
    --jaca-muted: rgba(255,255,255,.74);
    --jaca-border: rgba(255,255,255,.12);
    --jaca-shadow: 0 24px 70px rgba(0,0,0,.45);
}

html {
    scroll-behavior: smooth;
}

body {
    background:
        radial-gradient(circle at 10% 10%, rgba(237,2,139,.18), transparent 28rem),
        radial-gradient(circle at 90% 18%, rgba(28,190,215,.16), transparent 26rem),
        linear-gradient(180deg, #050508 0%, #15151c 45%, #08080d 100%);
    color: var(--jaca-text);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -1;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.7), transparent 75%);
}

p {
    color: var(--jaca-muted);
}

.info-banner {
    position: relative;
    z-index: 5;
    margin: 0;
    padding: .95rem 0;
    background: linear-gradient(90deg, var(--jaca-pink), #8a0886, var(--jaca-blue));
    box-shadow: 0 12px 28px rgba(0,0,0,.28);
}

.info-banner .info-text {
    color: #fff;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.jacadanse-hero {
    min-height: 100svh;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    isolation: isolate;
}

.hero-bg-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -3;
    filter: saturate(1.18) contrast(1.05) brightness(.58);
    transform: scale(1.03);
}

.hero-overlay {
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        linear-gradient(100deg, rgba(0,0,0,.78), rgba(0,0,0,.26) 46%, rgba(0,0,0,.82)),
        radial-gradient(circle at 50% 42%, rgba(237,2,139,.26), transparent 32rem),
        linear-gradient(to bottom, rgba(0,0,0,.18), #08080d 96%);
}

.hero-orb {
    position: absolute;
    width: clamp(12rem, 28vw, 28rem);
    aspect-ratio: 1;
    border-radius: 999px;
    filter: blur(28px);
    opacity: .34;
    mix-blend-mode: screen;
    animation: floatOrb 8s ease-in-out infinite alternate;
}

.hero-orb-rose {
    left: -7rem;
    top: 16%;
    background: var(--jaca-pink);
}

.hero-orb-blue {
    right: -8rem;
    bottom: 10%;
    background: var(--jaca-blue);
    animation-delay: -2s;
}

.hero-content {
    position: relative;
    z-index: 2;
    max-width: 920px;
    padding: 7rem 1rem 5rem;
}

.hero-kicker,
.section-kicker {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: 1rem;
    padding: .42rem .9rem;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    color: #fff;
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(10px);
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.hero-section h1 {
    text-transform: uppercase;
    letter-spacing: .08em;
    text-shadow: 0 0 18px rgba(237,2,139,.85), 0 0 40px rgba(28,190,215,.45);
}

.hero-section .lead {
    max-width: 720px;
    margin-inline: auto;
    color: rgba(255,255,255,.9);
    font-size: clamp(1.15rem, 2.4vw, 1.55rem);
}

.hero-scroll {
    position: absolute;
    left: 50%;
    bottom: 2rem;
    z-index: 3;
    width: 2.7rem;
    height: 2.7rem;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 999px;
    transform: translateX(-50%);
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(10px);
}

.hero-scroll span {
    width: .7rem;
    height: .7rem;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(45deg) translate(-2px, -2px);
    animation: scrollPulse 1.4s ease-in-out infinite;
}

.btn-inscription,
.btn-outline-jaca {
    border-radius: 999px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 12px 28px rgba(237,2,139,.22);
}

.btn-inscription {
    background: linear-gradient(135deg, var(--jaca-pink), var(--jaca-pink-soft));
    border: 1px solid rgba(255,255,255,.16);
    color: #fff;
}

.btn-inscription:hover,
.btn-inscription:focus {
    background: linear-gradient(135deg, #fff, #ffe9f5);
    color: var(--jaca-pink);
    transform: translateY(-2px);
}

.btn-outline-jaca {
    border: 1px solid rgba(255,255,255,.36);
    color: #fff;
    background: rgba(255,255,255,.06);
    backdrop-filter: blur(10px);
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: .04em;
}

.btn-outline-jaca:hover,
.btn-outline-jaca:focus {
    border-color: var(--jaca-blue);
    color: #fff;
    background: rgba(28,190,215,.16);
    transform: translateY(-2px);
}

.section-shell {
    position: relative;
    background: transparent !important;
    padding: clamp(4rem, 8vw, 7rem) 0;
}

.section-shell::before {
    content: "";
    position: absolute;
    inset: 1.25rem clamp(.75rem, 4vw, 3rem);
    border: 1px solid var(--jaca-border);
    border-radius: clamp(1.4rem, 4vw, 3rem);
    background:
        linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.025)),
        radial-gradient(circle at 15% 10%, rgba(237,2,139,.16), transparent 25rem),
        radial-gradient(circle at 85% 80%, rgba(28,190,215,.12), transparent 24rem);
    box-shadow: var(--jaca-shadow);
    pointer-events: none;
}

.section-title-rose {
    color: #fff;
    letter-spacing: .09em;
    text-shadow: 0 0 14px rgba(217,14,121,.95), 0 0 30px rgba(217,14,121,.5);
}

.separator-rose {
    width: 96px;
    height: 4px;
    background: linear-gradient(90deg, var(--jaca-pink), var(--jaca-blue));
    box-shadow: 0 0 18px rgba(237,2,139,.7);
}

.presentation-texte {
    padding: clamp(1.25rem, 3vw, 2rem);
    border-radius: 1.4rem;
    background: rgba(0,0,0,.22);
    border: 1px solid rgba(255,255,255,.08);
}

.section-cours .row.g-4 > [class*="col-"] {
    display: flex;
}

.section-cours .row.g-4 > [class*="col-"] > a {
    width: 100%;
}

.card-cours {
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 1.6rem;
    background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
    backdrop-filter: blur(14px);
    box-shadow: 0 18px 44px rgba(0,0,0,.34);
}

.card-cours::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(135deg, rgba(237,2,139,.0), rgba(237,2,139,.16), rgba(28,190,215,.12));
    opacity: 0;
    transition: opacity .35s ease;
    pointer-events: none;
}

.card-cours:hover {
    transform: translateY(-10px) rotateX(1deg);
    box-shadow: 0 26px 58px rgba(0,0,0,.5), 0 0 0 1px rgba(237,2,139,.35), 0 0 34px rgba(237,2,139,.24);
}

.card-cours:hover::before {
    opacity: 1;
}

.card-cours img {
    min-height: 230px;
}

.course-chip {
    display: inline-block;
    margin-bottom: .7rem;
    padding: .28rem .66rem;
    border-radius: 999px;
    background: rgba(237,2,139,.18);
    color: #fff;
    border: 1px solid rgba(237,2,139,.38);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.detailsPlanning a {
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.07);
    color: #fff;
}

.detailsPlanning a:hover {
    background: linear-gradient(135deg, rgba(237,2,139,.85), rgba(28,190,215,.72));
    color: #fff;
    transform: translateY(-2px);
}

.parallax-section {
    height: clamp(320px, 44vw, 520px);
    margin: 0;
    isolation: isolate;
}

.parallax-section::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: radial-gradient(circle at 50% 50%, rgba(237,2,139,.24), rgba(0,0,0,.72));
}

.parallax-bg {
    background-image: url('../../images/home.jpg');
    filter: saturate(1.18) contrast(1.08) brightness(.64);
}

.parallax-content {
    z-index: 2;
    max-width: 780px;
    margin-inline: auto;
    padding: 2rem;
    border-radius: 2rem;
    background: rgba(0,0,0,.24);
    border: 1px solid rgba(255,255,255,.12);
    backdrop-filter: blur(8px);
}

.section-galerie {
    background: transparent !important;
}

#carouselGalerie {
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 1.6rem;
    overflow: hidden;
    box-shadow: 0 26px 64px rgba(0,0,0,.5), 0 0 34px rgba(28,190,215,.15);
}

.galerie-img {
    height: clamp(310px, 54vw, 620px);
}

.contact-modern {
    background: transparent !important;
}

.contact-form {
    position: relative;
    overflow: hidden;
    max-width: 900px;
    margin-inline: auto;
    padding: clamp(1.5rem, 4vw, 3rem);
    border-radius: 2rem;
    background:
        radial-gradient(circle at 0% 0%, rgba(237,2,139,.18), transparent 22rem),
        linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
    border: 1px solid rgba(255,255,255,.13);
    box-shadow: var(--jaca-shadow), 0 0 34px rgba(237,2,139,.18);
}

.contact-input,
.contact-textarea {
    border-radius: 1rem;
    background: rgba(0,0,0,.42);
    border: 1px solid rgba(255,255,255,.15);
}

.closing-note {
    background: transparent;
}

.closing-note-card {
    max-width: 980px;
    margin-inline: auto;
    padding: clamp(1.2rem, 3vw, 2rem);
    border-radius: 1.4rem;
    text-align: center;
    background: linear-gradient(135deg, rgba(237,2,139,.18), rgba(28,190,215,.12));
    border: 1px solid rgba(255,255,255,.12);
}

.closing-note-card p {
    color: #fff;
    font-weight: 600;
}

.footer-dark {
    margin-top: 0 !important;
    background: linear-gradient(180deg, rgba(8,8,13,.65), #030305) !important;
    border-top: 1px solid rgba(255,255,255,.1);
}

.footer-dark h5 {
    color: #fff;
    text-shadow: 0 0 12px rgba(237,2,139,.6);
}

.footer-dark a {
    color: rgba(255,255,255,.78) !important;
}

.footer-dark a:hover {
    color: var(--jaca-pink-soft) !important;
}

.menu-button {
    top: 18px;
    left: 18px;
    border-radius: 999px;
    color: #fff;
    background: rgba(0,0,0,.46);
    border-color: rgba(255,255,255,.22);
    backdrop-filter: blur(12px);
    box-shadow: 0 12px 30px rgba(0,0,0,.28);
}

.menu-button:hover {
    background: linear-gradient(135deg, var(--jaca-pink), var(--jaca-blue));
    border-color: transparent;
}

#megaMenu {
    background:
        radial-gradient(circle at 20% 20%, rgba(237,2,139,.2), transparent 28rem),
        radial-gradient(circle at 80% 70%, rgba(28,190,215,.16), transparent 28rem),
        rgba(3,3,6,.96);
    backdrop-filter: blur(18px);
}

.mega-col {
    padding: 1.1rem;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 1.2rem;
    background: rgba(255,255,255,.045);
}

.mega-col a {
    border-radius: .7rem;
    padding-inline: .7rem;
}

.mega-col a:hover {
    background: rgba(237,2,139,.14);
    color: #fff;
    transform: translateX(4px);
}

@keyframes floatOrb {
    from { transform: translate3d(0, 0, 0) scale(1); }
    to { transform: translate3d(1.5rem, -1rem, 0) scale(1.08); }
}

@keyframes scrollPulse {
    0%, 100% { opacity: .55; transform: rotate(45deg) translate(-2px, -2px); }
    50% { opacity: 1; transform: rotate(45deg) translate(2px, 2px); }
}

@media (max-width: 767px) {
    .hero-content {
        padding-top: 5rem;
    }

    .hero-actions .btn {
        width: 100%;
    }

    .section-shell::before {
        inset: .6rem;
        border-radius: 1.4rem;
    }

    .card-cours img {
        min-height: 210px;
    }

    .parallax-content {
        margin: 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

/* Modernisation pages secondaires : continuité graphique Jacadanse */
.secondary-page {
    min-height: 100vh;
    background:
        radial-gradient(circle at 12% 4%, rgba(237,2,139,.2), transparent 28rem),
        radial-gradient(circle at 86% 18%, rgba(28,190,215,.15), transparent 28rem),
        linear-gradient(180deg, #07070b 0%, #12121a 46%, #07070b 100%);
}

.secondary-page .jumbotronSecondPage,
.secondary-page .container.jumbotronSecondPage {
    width: 100%;
    max-width: none;
    min-height: clamp(360px, 48vh, 560px);
    margin: 0;
    padding: clamp(6rem, 11vw, 9rem) 1rem clamp(3rem, 7vw, 5rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    isolation: isolate;
    background:
        linear-gradient(120deg, rgba(0,0,0,.82), rgba(0,0,0,.42), rgba(0,0,0,.82)),
        radial-gradient(circle at 18% 24%, rgba(237,2,139,.32), transparent 26rem),
        radial-gradient(circle at 82% 72%, rgba(28,190,215,.24), transparent 25rem),
        url('../../images/jumbotronSecondPage.webp') center / cover no-repeat;
    border-bottom: 1px solid rgba(255,255,255,.12);
    box-shadow: inset 0 -60px 80px rgba(7,7,11,.95);
}

.secondary-page .jumbotronSecondPage::before {
    background:
        linear-gradient(to bottom, rgba(0,0,0,.15), rgba(7,7,11,.72)),
        radial-gradient(circle at 50% 50%, rgba(237,2,139,.16), transparent 34rem);
}

.secondary-page .jumbotronSecondPage::after {
    content: "";
    position: absolute;
    inset: auto 12% -2px;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--jaca-pink), var(--jaca-blue), transparent);
    box-shadow: 0 0 24px rgba(237,2,139,.72);
    z-index: 1;
}

.secondary-page .jumbotronSecondPage h1 {
    max-width: 1120px;
    margin-inline: auto;
    font-size: clamp(2rem, 5vw, 4rem);
    letter-spacing: .08em;
    line-height: 1.08;
    text-shadow: 0 0 18px rgba(237,2,139,.9), 0 0 42px rgba(28,190,215,.36);
}

.secondary-page .jumbotronSecondPage > .row {
    width: min(100%, 960px);
    margin-inline: auto;
}

.secondary-page .jumbotronSecondPage p {
    color: rgba(255,255,255,.9);
    font-size: clamp(1rem, 2vw, 1.24rem);
}

.secondary-page .page-section.bg-dark,
.secondary-page #professeurs,
.secondary-page .contact-modern {
    background: transparent !important;
}

.secondary-page .secondary-card,
.secondary-page .descriptionsCours,
.secondary-page .descriptionDanse,
.secondary-page .jacadansePresentation,
.secondary-page .videosJacadanse,
.secondary-page .event-card,
.secondary-page .tarif-block,
.secondary-page .trophee,
.secondary-page .planning .container,
.secondary-page .partenaires,
.secondary-page #portfolio .container,
.secondary-page .merciText {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: clamp(1.2rem, 3vw, 2rem);
    background:
        linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.028)),
        radial-gradient(circle at 10% 10%, rgba(237,2,139,.12), transparent 18rem),
        radial-gradient(circle at 90% 90%, rgba(28,190,215,.1), transparent 18rem);
    box-shadow: 0 24px 70px rgba(0,0,0,.38);
    backdrop-filter: blur(14px);
}

.secondary-page .descriptionsCours,
.secondary-page .descriptionDanse,
.secondary-page .jacadansePresentation,
.secondary-page .partenaires,
.secondary-page #portfolio .container,
.secondary-page .planning .container {
    margin-top: clamp(2rem, 5vw, 4rem);
    margin-bottom: clamp(2rem, 5vw, 4rem);
    padding: clamp(1.5rem, 4vw, 3rem);
}

.secondary-page .descriptionsCours {
    display: block;
}

.secondary-page .descriptionsCours h3,
.secondary-page .descriptionsCours h4,
.secondary-page .descriptionDanse h3,
.secondary-page .descriptionDanse h5,
.secondary-page .jacadansePresentation h2,
.secondary-page .videosJacadanse h3,
.secondary-page .trophee h2,
.secondary-page .trophee h3,
.secondary-page .partenaires p:first-child {
    text-shadow: 0 0 14px rgba(217,14,121,.72);
}

.secondary-page .descriptionsCours h5,
.secondary-page .jacadansePresentation p,
.secondary-page .descriptionDanse p {
    color: rgba(255,255,255,.82);
}

.secondary-page .coursItem,
.secondary-page .planning-hour,
.secondary-page .tarif-line,
.secondary-page .eventLocaux,
.secondary-page .partenairesLinks,
.secondary-page .videosJacadanse video,
.secondary-page .videosJacadanse .ratio {
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 1rem;
    background: rgba(0,0,0,.22);
    box-shadow: 0 12px 30px rgba(0,0,0,.22);
}

.secondary-page .coursItem {
    padding: .9rem 1rem;
    color: rgba(255,255,255,.86);
}

.secondary-page .coursItem strong {
    color: #fff;
}

.secondary-page .imgCours,
.secondary-page #portfolio img,
.secondary-page .partenaires img,
.secondary-page .event-highlight-img {
    border-radius: 1.2rem;
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 18px 44px rgba(0,0,0,.36);
    transition: transform .32s ease, filter .32s ease, box-shadow .32s ease;
}

.secondary-page .imgCours:hover,
.secondary-page #portfolio img:hover,
.secondary-page .partenaires img:hover {
    transform: translateY(-5px) scale(1.015);
    filter: saturate(1.12) brightness(1.05);
    box-shadow: 0 24px 54px rgba(0,0,0,.48), 0 0 28px rgba(237,2,139,.2);
}

.secondary-page .prof-card,
.secondary-page .event-card {
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 1.4rem;
    background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
}

.secondary-page .prof-card:hover,
.secondary-page .event-card:hover,
.secondary-page .tarif-block:hover,
.secondary-page .salle-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 26px 58px rgba(0,0,0,.5), 0 0 30px rgba(237,2,139,.22);
}

.secondary-page .planning .container {
    max-width: 1320px;
}

.secondary-page .planning .col-12.col-md-6.col-lg-2 {
    padding: 1rem;
    border-radius: 1.2rem;
    background: rgba(255,255,255,.045);
    border: 1px solid rgba(255,255,255,.08);
}

.secondary-page .eventLocaux {
    color: #fff;
    border-style: solid;
}

.secondary-page .eventLocaux a,
.secondary-page .eventLocaux p {
    color: #101016 !important;
}

.secondary-page .tarifsTabs {
    border-bottom: 0;
    gap: .6rem;
}

.secondary-page .tarifsTabs .nav-link {
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    color: #fff;
    background: rgba(255,255,255,.06);
    font-weight: 800;
    letter-spacing: .04em;
}

.secondary-page .tarifsTabs .nav-link.active,
.secondary-page .tarifsTabs .nav-link:hover {
    color: #fff;
    background: linear-gradient(135deg, var(--jaca-pink), var(--jaca-blue));
    border-color: transparent;
}

.secondary-page .tarif-block {
    padding: clamp(1.3rem, 4vw, 2.5rem);
}

.secondary-page .tarif-line {
    margin-inline: 0;
    padding: .95rem .4rem;
    color: #fff;
    border-width: 0 0 1px;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.secondary-page .tarif-category {
    color: #fff;
    font-size: clamp(1.2rem, 2.4vw, 1.65rem);
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 1.3rem;
    letter-spacing: .08em;
    text-shadow: 0 0 14px rgba(217,14,121,.86);
}

.secondary-page .gallerieVideo {
    margin-top: clamp(2rem, 5vw, 4rem);
}

.secondary-page .videosJacadanse {
    padding: clamp(1.25rem, 3vw, 2rem);
}

.secondary-page .partenairesLinks {
    margin-top: 1.2rem;
    padding: 1.2rem;
}

.secondary-page .note-salle,
.secondary-page .salle-card {
    color: rgba(255,255,255,.84);
}

.secondary-page .salle-card {
    transition: transform .32s ease, box-shadow .32s ease;
}

.secondary-page .ratio iframe {
    border-radius: 1rem;
}

.secondary-page .merci {
    min-height: auto;
}

.secondary-page .merciText p {
    width: min(100%, 850px);
    margin-inline: auto;
}

@media (max-width: 767px) {
    .secondary-page .jumbotronSecondPage,
    .secondary-page .container.jumbotronSecondPage {
        min-height: 320px;
        padding-top: 5rem;
    }

    .secondary-page .tarifsTabs {
        padding-inline: 1rem;
    }

    .secondary-page .tarifsTabs .nav-link {
        width: 100%;
    }
}


/* Planning : conserver le code couleur par salle malgré le thème secondaire */
.secondary-page .planning .eventLocaux.eventleolagrange,
.secondary-page .eventLocaux.eventleolagrange {
    background: linear-gradient(135deg, #f166a7 0%, #ed028b 100%);
    border-color: rgba(241, 102, 167, .78);
    color: #fff;
}

.secondary-page .planning .eventLocaux.eventguerrini,
.secondary-page .eventLocaux.eventguerrini {
    background: linear-gradient(135deg, #1cbed7 0%, #0c8fb0 100%);
    border-color: rgba(28, 190, 215, .78);
    color: #fff;
}

.secondary-page .planning .eventLocaux.eventecole,
.secondary-page .eventLocaux.eventecole {
    background: linear-gradient(135deg, #fce4ec 0%, #f8b7d1 100%);
    border-color: rgba(252, 228, 236, .8);
    color: #19141a;
}

.secondary-page .planning .eventLocaux.eventBTAR,
.secondary-page .eventLocaux.eventBTAR {
    background: linear-gradient(135deg, #f1f3f5 0%, #d7dde4 100%);
    border-color: rgba(241, 243, 245, .8);
    color: #19141a;
}

.secondary-page .planning .eventLocaux.eventcsa,
.secondary-page .eventLocaux.eventcsa {
    background: linear-gradient(135deg, #d0ebff 0%, #8ed3ff 100%);
    border-color: rgba(208, 235, 255, .8);
    color: #111827;
}

.secondary-page .planning .eventLocaux.eventleolagrange a,
.secondary-page .planning .eventLocaux.eventleolagrange p,
.secondary-page .planning .eventLocaux.eventguerrini a,
.secondary-page .planning .eventLocaux.eventguerrini p {
    color: #fff !important;
}

.secondary-page .planning .eventLocaux.eventecole a,
.secondary-page .planning .eventLocaux.eventecole p,
.secondary-page .planning .eventLocaux.eventBTAR a,
.secondary-page .planning .eventLocaux.eventBTAR p,
.secondary-page .planning .eventLocaux.eventcsa a,
.secondary-page .planning .eventLocaux.eventcsa p {
    color: #111827 !important;
}

/* Direction graphique 2026 : une interface plus franche et plus éditoriale */
:root {
    --jaca-surface: #14141a;
    --jaca-surface-strong: #0f0f14;
    --jaca-muted: #d2d2d6;
    --jaca-border: #45454d;
    --jaca-shadow: 0 6px 0 #050507;
}

html {
    scroll-behavior: auto;
}

body,
.secondary-page {
    background: #0d0d12;
}

body::before,
.hero-orb {
    display: none;
}

p,
.secondary-page .descriptionsCours h5,
.secondary-page .jacadansePresentation p,
.secondary-page .descriptionDanse p,
.secondary-page .note-salle,
.secondary-page .salle-card {
    color: var(--jaca-muted);
}

.info-banner {
    background: var(--jaca-pink);
    box-shadow: none;
}

.hero-overlay {
    background: rgba(0, 0, 0, .72);
}

.hero-bg-img {
    filter: grayscale(.15) contrast(1.08) brightness(.72);
    transform: none;
}

.hero-kicker,
.section-kicker,
.course-chip {
    border-radius: 0;
    background: #1b1b22;
    border-color: #777780;
    backdrop-filter: none;
}

.hero-section h1,
.section-title-rose,
.secondary-page .jumbotronSecondPage h1,
.secondary-page .descriptionsCours h3,
.secondary-page .descriptionsCours h4,
.secondary-page .descriptionDanse h3,
.secondary-page .descriptionDanse h5,
.secondary-page .jacadansePresentation h2,
.secondary-page .videosJacadanse h3,
.secondary-page .trophee h2,
.secondary-page .trophee h3,
.secondary-page .partenaires p:first-child,
.secondary-page .tarif-category,
.footer-dark h5 {
    text-shadow: none;
}

.hero-scroll,
.btn-inscription,
.btn-outline-jaca,
.menu-button,
.secondary-page .tarifsTabs .nav-link {
    border-radius: 0;
    backdrop-filter: none;
    box-shadow: none;
}

.btn-inscription,
.btn-inscription:hover,
.btn-inscription:focus,
.menu-button:hover,
.secondary-page .tarifsTabs .nav-link.active,
.secondary-page .tarifsTabs .nav-link:hover {
    background: var(--jaca-pink);
    border-color: var(--jaca-pink);
    color: #fff;
    transform: none;
}

.btn-outline-jaca {
    background: #111116;
    border-color: #fff;
}

.btn-outline-jaca:hover,
.btn-outline-jaca:focus {
    background: #fff;
    border-color: #fff;
    color: #111116;
    transform: none;
}

.section-shell::before {
    inset-inline: 0;
    border-radius: 0;
    background: #15151b;
    box-shadow: none;
    border-width: 1px 0;
}

.separator-rose,
.secondary-page .jumbotronSecondPage::after {
    background: var(--jaca-pink);
    box-shadow: none;
}

.presentation-texte,
.card-cours,
.parallax-content,
#carouselGalerie,
.contact-form,
.contact-input,
.contact-textarea,
.closing-note-card,
.mega-col,
.secondary-page .secondary-card,
.secondary-page .descriptionsCours,
.secondary-page .descriptionDanse,
.secondary-page .jacadansePresentation,
.secondary-page .videosJacadanse,
.secondary-page .event-card,
.secondary-page .tarif-block,
.secondary-page .trophee,
.secondary-page .planning .container,
.secondary-page .partenaires,
.secondary-page #portfolio .container,
.secondary-page .merciText,
.secondary-page .coursItem,
.secondary-page .planning-hour,
.secondary-page .tarif-line,
.secondary-page .eventLocaux,
.secondary-page .partenairesLinks,
.secondary-page .videosJacadanse video,
.secondary-page .videosJacadanse .ratio,
.secondary-page .prof-card,
.secondary-page .planning .col-12.col-md-6.col-lg-2,
.secondary-page .ratio iframe {
    border-radius: 0;
    background: #17171d;
    backdrop-filter: none;
    box-shadow: none;
}

.card-cours::before {
    display: none;
}

.card-cours:hover,
.secondary-page .prof-card:hover,
.secondary-page .event-card:hover,
.secondary-page .tarif-block:hover,
.secondary-page .salle-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 0 var(--jaca-pink);
}

.detailsPlanning a,
.detailsPlanning a:hover {
    background: #222229;
    transform: none;
}

.parallax-section::after {
    background: rgba(0, 0, 0, .6);
}

.footer-dark,
#megaMenu,
.secondary-page .jumbotronSecondPage,
.secondary-page .container.jumbotronSecondPage,
.secondary-page .jumbotronSecondPage::before {
    background-color: #08080b !important;
    background-image: none;
    backdrop-filter: none;
    box-shadow: none;
}

.secondary-page .imgCours,
.secondary-page #portfolio img,
.secondary-page .partenaires img,
.secondary-page .event-highlight-img {
    border-radius: 0;
    box-shadow: none;
    transition: none;
}

.secondary-page .imgCours:hover,
.secondary-page #portfolio img:hover,
.secondary-page .partenaires img:hover {
    transform: none;
    filter: none;
    box-shadow: none;
}

@media (max-width: 767px) {
    .section-shell::before {
        inset-inline: 0;
        border-radius: 0;
    }
}

.secondary-page .planning .eventLocaux.eventCours:hover,
.secondary-page .planning .eventLocaux.legendesSalles:hover {
    filter: brightness(1.08) saturate(1.05);
    transform: translateY(-4px);
}