
/* AUX ATELIERS — HUB DE RÉSERVATION V0.59 */
.aa-booking-hub[hidden]{display:none!important;}
.aa-booking-hub{
  position:fixed;
  inset:0;
  z-index:999999;
  background:rgba(8,9,10,.88);
  font-family:Montserrat,Arial,sans-serif;
}
.aa-booking-hub__dialog{
  position:absolute;
  inset:0;
  background:#202223;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  overflow:auto;
}
.aa-booking-hub__close{
  position:fixed;
  top:18px;
  right:20px;
  z-index:20;
  width:50px;
  height:50px;
  padding:0;
  border:1px solid rgba(255,255,255,.42);
  border-radius:999px;
  background:rgba(14,15,17,.72);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:34px;
  line-height:1;
  font-weight:300;
  box-shadow:0 8px 24px rgba(0,0,0,.25);
  cursor:pointer;
  backdrop-filter:blur(2px);
  font-size:0!important;
  color:transparent!important;
  isolation:isolate;
}
.aa-booking-hub__close::before,
.aa-booking-hub__close::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:20px;
  height:3px;
  border-radius:999px;
  background:#fff!important;
  box-shadow:none!important;
  transform-origin:center;
  pointer-events:none;
  z-index:2;
}
.aa-booking-hub__close::before{transform:translate(-50%,-50%) rotate(45deg);}
.aa-booking-hub__close::after{transform:translate(-50%,-50%) rotate(-45deg);}
.aa-booking-hub__close:hover::before,
.aa-booking-hub__close:hover::after,
.aa-booking-hub__close:focus::before,
.aa-booking-hub__close:focus::after{background:#fff!important;}


.aa-booking-hub__panel{
  min-height:100vh;
  padding:46px clamp(26px,4vw,80px) 54px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#fff;
  background:#202223;
  border-right:1px solid rgba(255,255,255,.25);
  transition:background .18s ease,color .18s ease;
}
.aa-booking-hub__panel:last-child{border-right:0;}
.aa-booking-hub__brand{
  width:min(104px,38%);
  max-width:104px;
  height:auto;
  display:block;
  object-fit:contain;
  filter:none;
}
.aa-booking-hub__image{
  display:none;
  width:190px;
  height:190px;
  object-fit:cover;
  border-radius:50%;
}
.aa-booking-hub__title{
  margin:54px 0 30px;
  color:inherit;
  font-size:clamp(42px,4vw,66px);
  line-height:1;
  font-weight:800;
  letter-spacing:-.035em;
}
.aa-booking-hub__button{
  display:inline-flex;
  min-width:min(330px,90%);
  min-height:58px;
  align-items:center;
  justify-content:center;
  padding:14px 28px;
  border-radius:999px;
  background:#fff;
  color:#0E0F11!important;
  text-decoration:none!important;
  font-size:17px;
  line-height:1.15;
  font-weight:800;
}
.aa-booking-hub__copy{
  max-width:390px;
  min-height:90px;
  margin:100px auto 0;
  color:inherit;
  font-size:16px;
  line-height:1.45;
  font-weight:500;
}
.aa-booking-hub__panel.is-active{
  background:#FFF276;
  color:#0E0F11;
}
.aa-booking-hub__panel.is-active .aa-booking-hub__brand{display:none;}
.aa-booking-hub__panel.is-active .aa-booking-hub__image{display:block;}
.aa-booking-hub__panel.is-active .aa-booking-hub__button{
  background:#202223;
  color:#fff!important;
}
.aa-booking-hub__panel.is-active .aa-booking-hub__copy{color:#0E0F11;}
body.aa-booking-hub-open{overflow:hidden!important;}

@media(max-width:820px){
  .aa-booking-hub__dialog{
    display:block;
    padding:12px 8px 48px;
  }
  .aa-booking-hub__close{
    top:12px;
    right:12px;
    width:42px;
    height:42px;
    font-size:30px;
    border-color:rgba(255,255,255,.34);
  }
  .aa-booking-hub__panel,
  .aa-booking-hub__panel.is-active{
    min-height:0;
    padding:26px 12px 32px;
    background:#202223;
    color:#fff;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.24);
  }
  .aa-booking-hub__panel:last-child{border-bottom:0;}
  .aa-booking-hub__brand,
  .aa-booking-hub__image,
  .aa-booking-hub__panel.is-active .aa-booking-hub__image{
    display:none!important;
  }
  .aa-booking-hub__title{
    margin:0 0 14px;
    font-size:25px;
  }
  .aa-booking-hub__button,
  .aa-booking-hub__panel.is-active .aa-booking-hub__button{
    min-width:min(270px,92%);
    min-height:34px;
    padding:8px 18px;
    background:#fff;
    color:#0E0F11!important;
    font-size:11px;
  }
  .aa-booking-hub__copy{
    min-height:0;
    max-width:320px;
    margin:20px auto 0;
    font-size:11px;
    line-height:1.38;
  }

  .aa-booking-hub__close::before,
  .aa-booking-hub__close::after{
    width:17px;
    height:2.5px;
  }
}
