
/* =========================================================
   ECB V0.4.7 — pré-production
   - menu mobile réellement plein écran
   - page Cours & tarifs plus lisible et compacte
   ========================================================= */

/* ---------- Menu mobile / tablette ---------- */
@media (max-width:1050px){
  /* backdrop-filter crée un containing block pour les descendants fixed
     sur certains navigateurs : on le coupe ici pour que le menu utilise
     bien tout le viewport. */
  .site-header{
    background:#08090a !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  .main-nav{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:auto !important;
    bottom:auto !important;
    width:100vw !important;
    max-width:none !important;
    height:100dvh !important;
    min-height:100vh !important;
    margin:0 !important;
    padding:124px max(26px,env(safe-area-inset-right)) 42px max(26px,env(safe-area-inset-left)) !important;
    background:#08090a !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
  }
  .main-nav.open{display:flex !important}
}
@media (max-width:760px){
  .main-nav{
    padding-top:calc(96px + env(safe-area-inset-top)) !important;
    padding-bottom:calc(32px + env(safe-area-inset-bottom)) !important;
  }
  .main-nav a:not(.btn){
    font-size:1.12rem !important;
    padding:13px 2px !important;
  }
}

/* ---------- Cours & tarifs : hero ---------- */
.page-cours-tarifs .page-hero-cours{
  min-height:0 !important;
  padding:76px 0 58px !important;
  background:
    linear-gradient(180deg,#08090a 0%,#08090a 72%,#9f1118 72%,#9f1118 100%) !important;
}
.page-cours-tarifs .page-hero-cours h1{
  margin:.5rem 0 .8rem;
  font-size:clamp(3.8rem,6.2vw,6.6rem);
}
.page-cours-tarifs .page-hero-cours p{
  max-width:720px;
  color:#f1e9e4;
  margin-bottom:0;
}

/* La mention "publié" est utile au back-office, pas au visiteur. */
.page-cours-tarifs [data-course-notice]{display:none}

/* ---------- Horaires ---------- */
.courses-schedule-v047{
  padding-top:72px;
  padding-bottom:78px;
  background:#090a0c;
}
.courses-schedule-v047 .section-header{
  margin-top:0 !important;
  margin-bottom:30px;
  align-items:center;
}
.courses-schedule-v047 .section-header p{
  max-width:650px;
  margin-left:auto;
  color:#c8c5bf;
}
.course-table-wrap-v047{overflow:visible}
.course-table-v047{
  min-width:0;
  border-collapse:separate;
  border-spacing:0 10px;
}
.course-table-v047 thead th{
  border:0;
  padding:0 18px 8px;
  color:var(--gold2);
}
.course-table-v047 tbody tr{
  background:#131418;
  box-shadow:0 10px 30px rgba(0,0,0,.13);
}
.course-table-v047 tbody td{
  padding:19px 18px;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  vertical-align:middle;
}
.course-table-v047 tbody td:first-child{
  width:15%;
  border-left:1px solid rgba(255,255,255,.08);
  border-radius:14px 0 0 14px;
  color:var(--gold2);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.course-table-v047 tbody td:nth-child(2){width:47%}
.course-table-v047 tbody td:nth-child(2) strong{
  display:inline-block;
  margin-bottom:3px;
  font-size:1.06rem;
}
.course-table-v047 tbody td:nth-child(2) small{
  color:#c3c0ba;
}
.course-table-v047 tbody td:nth-child(2) .course-note{
  color:#8f8c87;
  margin-top:3px;
}
.course-table-v047 tbody td:nth-child(3){
  width:19%;
  white-space:nowrap;
  font-family:"Barlow Condensed",sans-serif;
  font-size:1.34rem;
  font-weight:900;
  letter-spacing:.01em;
}
.course-table-v047 tbody td:last-child{
  width:19%;
  border-right:1px solid rgba(255,255,255,.08);
  border-radius:0 14px 14px 0;
}
.course-table-v047 .badge{
  background:rgba(201,20,30,.16);
  border-color:rgba(201,20,30,.42);
  color:#ffabb0;
}
.courses-schedule-v047 .schedule-extra{
  margin-top:24px;
  border:1px solid rgba(215,170,74,.22);
  border-left:4px solid var(--gold);
  border-radius:12px;
  background:rgba(215,170,74,.07);
  color:#d8d4cc;
  padding:16px 18px;
}

/* ---------- Tarifs ---------- */
.pricing-section-v047{
  padding-top:82px;
  padding-bottom:86px;
}
.pricing-section-v047 .section-header{
  margin-bottom:32px;
  align-items:center;
}
.pricing-section-v047 .section-header > p{
  margin:0;
  padding:18px 20px;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 10px 30px rgba(0,0,0,.04);
  color:#4f4c47;
}
.price-grid-v047{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
}
.price-grid-v047 .price-card-v042{
  min-height:260px;
  padding:24px 22px;
  border-radius:18px;
  box-shadow:0 12px 32px rgba(20,20,20,.07);
}
.price-grid-v047 .price-card-v042::before{
  height:3px;
  background:var(--red);
}
.price-grid-v047 .price-card-v042 .price-main{
  font-size:2.45rem;
}
.price-grid-v047 .price-card-v042 .price-caption{
  margin-top:.25rem;
  margin-bottom:.8rem;
}
.price-grid-v047 .price-details{
  font-size:.9rem;
}
.pricing-section-v047 .pricing-options{
  margin-top:22px;
  gap:16px;
}
.pricing-section-v047 .tariff-info-card{
  border-radius:18px;
  border-color:rgba(0,0,0,.08);
  box-shadow:0 12px 30px rgba(20,20,20,.055);
}
.pricing-section-v047 .tariff-info-card h3{
  font-family:"Barlow Condensed",sans-serif;
  text-transform:uppercase;
  font-size:1.45rem;
  letter-spacing:.01em;
}
.pricing-section-v047 .equipment-card{
  background:#fbfaf7;
}
.pricing-section-v047 .equipment-card .muted-note{
  margin-bottom:0;
}

/* ---------- Responsive Cours & tarifs ---------- */
@media (max-width:1100px){
  .price-grid-v047{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:760px){
  .page-cours-tarifs .page-hero-cours{
    padding:52px 0 42px !important;
    background:
      linear-gradient(180deg,#08090a 0%,#08090a 78%,#9f1118 78%,#9f1118 100%) !important;
  }
  .page-cours-tarifs .page-hero-cours h1{
    font-size:3.65rem;
  }
  .courses-schedule-v047{
    padding:56px 0 62px;
  }
  .courses-schedule-v047 .section-header{
    margin-bottom:24px;
  }
  .course-table-v047,
  .course-table-v047 tbody{
    display:block;
    width:100%;
  }
  .course-table-v047 thead{display:none}
  .course-table-v047 tbody{
    display:grid;
    gap:13px;
  }
  .course-table-v047 tbody tr{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:7px 14px;
    padding:17px 17px 16px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:16px;
    background:#131418;
  }
  .course-table-v047 tbody td{
    display:block;
    width:auto !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
  }
  .course-table-v047 tbody td:first-child{
    grid-column:1;
    grid-row:1;
    font-size:.75rem;
  }
  .course-table-v047 tbody td:nth-child(3){
    grid-column:2;
    grid-row:1;
    font-size:1.28rem;
    text-align:right;
  }
  .course-table-v047 tbody td:nth-child(2){
    grid-column:1/-1;
    grid-row:2;
    padding-top:4px !important;
  }
  .course-table-v047 tbody td:nth-child(2) strong{
    font-size:1.12rem;
  }
  .course-table-v047 tbody td:last-child{
    grid-column:1/-1;
    grid-row:3;
    padding-top:3px !important;
  }

  .pricing-section-v047{
    padding:62px 0 68px;
  }
  .pricing-section-v047 .section-header > p{
    padding:15px 16px;
  }
  .price-grid-v047{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .price-grid-v047 .price-card-v042{
    min-height:0;
    padding:21px 20px;
  }
  .price-grid-v047 .price-card-v042 .price-main{
    font-size:2.35rem;
  }
}
