/*
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* ===== Divers ===== */
/* hidden = fallback pour les navigateurs sans support de clip (vieux Safari iOS :
   sans lui, la declaration clip est ignoree et le scroll horizontal revient en mobile).
   Les navigateurs modernes prennent clip (derniere declaration valide) et gardent
   le position:sticky (hidden creerait un conteneur de defilement, cf sds-app.css). */
html, body {
  overflow-x: hidden;
  overflow-x: clip;
}

.sds-section {
  max-width: calc(100% - 80px) !important;
  margin-inline: auto !important;
}

@media (max-width: 1250px) {
  .sds-section {
    max-width: calc(100% - 40px) !important;
  }
}

@media (max-width: 767px) {
  .sds-section {
    max-width: calc(100% - 30px) !important;
  }
}

a:focus, a:active,
button:focus, button:active {
    outline: none;
    box-shadow: none;
    -webkit-tap-highlight-color: transparent;
}

/* ============================================================================
   Switcher de langue WPML (pill noire, langue active #CE7BF1)
   Cible le markup natif WPML (.wpml-ls-*), pas Elementor : conservé pour le
   futur switcher EN du header v2. (Purge Elementor du 10 juil 2026.)
   ============================================================================ */

.wpml-ls-statics-shortcode_actions {
  padding: 0 !important;
  border: none !important;
}

.wpml-ls-statics-shortcode_actions ul {
  display: inline-flex;
  list-style: none;
  margin: 0;
  padding: 0;
  background-color: #000000;
  border-radius: 50px;
}

.wpml-ls-statics-shortcode_actions .wpml-ls-item {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

.wpml-ls-statics-shortcode_actions .wpml-ls-link {
  font-family: 'Manrope', sans-serif !important;
  font-weight: 800 !important;
  font-size: 17px !important;
  line-height: 1.36 !important;
  color: #FFFFFF !important;
  background-color: transparent !important;
  padding: 13px 18px !important;
  border: none !important;
  text-decoration: none !important;
  display: inline-block;
  border-radius: 50px !important;
  transition: opacity 0.3s ease;
}

.wpml-ls-statics-shortcode_actions .wpml-ls-link .wpml-ls-native {
  color: #FFFFFF !important;
}

.wpml-ls-statics-shortcode_actions .wpml-ls-current-language .wpml-ls-link {
  background-color: #CE7BF1 !important;
}

.wpml-ls-statics-shortcode_actions .wpml-ls-item:not(.wpml-ls-current-language) .wpml-ls-link:hover {
  opacity: 0.85;
}

/* ============================================================
   pack card — bloc prix (shortcode [sds_pack_pricing])
   ============================================================ */

.sds-pack-card__price-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1;
}

.sds-pack-card__price-old {
  font-family: "Manrope", sans-serif;
  font-size: 17px;
  font-weight: 700;
  color: #ff5c5c;
  text-decoration: line-through;
  text-decoration-color: #ff5c5c;
  text-decoration-thickness: 2px;
  margin-bottom: 4px;
  line-height: 1;
}

.sds-pack-card__price-new {
  font-family: "Manrope", sans-serif;
  font-size: 50px;
  font-weight: 300;
  color: #FFFFFF;
  line-height: 1;
}

@media (max-width: 1250px) {
  .sds-pack-card__price-new { font-size: 42px; }
}

@media (max-width: 767px) {
  .sds-pack-card__price-new { font-size: 36px; }
  .sds-pack-card__price-old { font-size: 15px; }
}

/* ============================================================
   tableau tarifs
   ============================================================ */

.sds-tarifs-table {
  width: 100%;
  border: none !important;
  border-collapse: collapse;
  font-family: "Manrope", sans-serif;
  background-color: transparent !important;
}

.sds-tarifs-table tr,
.sds-tarifs-table thead tr,
.sds-tarifs-table tbody tr,
.sds-tarifs-table tbody tr:nth-child(odd),
.sds-tarifs-table tbody tr:nth-child(even),
.sds-tarifs-table tbody tr:hover,
.sds-tarifs-table td,
.sds-tarifs-table tbody tr:hover td,
.sds-tarifs-table th {
  background-color: transparent !important;
  border-left: none !important;
  border-right: none !important;
}

.sds-tarifs-table thead,
.sds-tarifs-table thead tr,
.sds-tarifs-table thead th {
  border: none !important;
}

.sds-tarifs-table th {
  text-align: left;
  font-size: 17px;
  font-weight: 700;
  color: #000;
  padding: 0 0 20px;
}

.sds-tarifs-table td {
  border-top: 1px solid #AF11FF !important;
  border-bottom: none !important;
  padding: 12px 16px 12px 0;
  font-size: 25px;
  font-weight: 400;
  color: #000;
  vertical-align: middle !important;
  line-height: 1;
}

.sds-tarifs-table td:last-child {
  padding-right: 0;
  text-align: right;
  width: 60px;
  white-space: nowrap;
}

.sds-tarifs-table tbody tr:last-child td {
  border-bottom: 1px solid #AF11FF !important;
}

.sds-tarifs-price-wrap {
  display: inline-flex;
  align-items: center;
  gap: 16px;
}

.sds-tarifs-des {
  font-size: 18px;
  font-weight: 600;
  color: #AF11FF;
  margin-right: -6px;
  white-space: nowrap;
}

.sds-tarifs-price-big {
  font-size: 50px;
  font-weight: 300;
  color: #AF11FF;
  line-height: 1;
  white-space: nowrap;
}

.sds-tarifs-price-old {
  font-size: 25px;
  font-weight: 700;
  color: #ff5c5c;
  text-decoration: line-through;
  text-decoration-color: #ff5c5c;
  text-decoration-thickness: 2px;
  white-space: nowrap;
}

.sds-tarifs-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: transform 0.2s ease;
}

.sds-tarifs-arrow__icon {
  display: block;
  width: 50px;
  height: 50px;
}

.sds-tarifs-arrow__icon circle {
  fill: #000000;
  transition: fill 0.25s ease;
}

.sds-tarifs-arrow:hover .sds-tarifs-arrow__icon circle {
  opacity: 0.85;
}

.sds-tarifs-arrow:hover {
  transform: translateY(-1px);
}

@media (max-width: 1250px) {
  .sds-tarifs-table td { font-size: 20px; padding: 20px 12px 20px 0; }
  .sds-tarifs-price-big { font-size: 36px; }
  .sds-tarifs-price-old { font-size: 18px; margin-right: 10px; }
  .sds-tarifs-des { font-size: 15px; }
}

@media (max-width: 767px) {
  .sds-tarifs-table th { font-size: 15px; padding-bottom: 12px; }
  .sds-tarifs-table td { font-size: 16px; padding: 10px 8px 10px 0; }
  .sds-tarifs-price-big { font-size: 24px; }
  .sds-tarifs-price-old { font-size: 13px; }
  .sds-tarifs-price-wrap { gap: 8px; }
  .sds-tarifs-des { font-size: 12px; margin-right: -2px; }
  .sds-tarifs-arrow__icon { width: 38px; height: 38px; }
}

/* ============================================================================
   Page Pack & Tarifs — Comparateur
   ============================================================================ */
 
/* Conteneur de défilement : la table garde sa min-width (720px) et, quand
   l'écran est plus étroit, elle défile horizontalement dans ce wrapper au
   lieu d'être rognée par l'overflow-x clip du body (01.09). */
.sds-comparateur__scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.sds-comparateur__table {
  display: grid;
  /* 01.09 : largeur pilotee par le contenu. A 720px fixes, les colonnes
     demandaient plus que la table et debordaient dans son overflow:hidden :
     le scroll mobile s arretait avant la fin. max-content laisse la grille
     prendre la place exacte de ses colonnes ; min-width:100% la fait
     toujours remplir le conteneur sur les ecrans larges (rendu desktop
     inchange). */
  width: max-content;
  min-width: 100%;
  border-radius: 28px;
  overflow: hidden;
  background: #D7F2F1;
  padding: 16px 24px;
  box-sizing: border-box;
}
 
/* 5 colonnes pour Voiture (1 label + 4 packs) */
.sds-comparateur__table--voiture {
  grid-template-columns: minmax(220px, 1.4fr) repeat(4, 1fr);
}
 
/* 4 colonnes pour Moto (1 label + 3 packs) */
.sds-comparateur__table--moto {
  grid-template-columns: minmax(220px, 1.4fr) repeat(3, 1fr);
}
 
.sds-comparateur__row {
  display: contents;
}
 
.sds-comparateur__cell {
  padding: 22px 16px;
  border-bottom: 1px solid rgba(73, 224, 221, 0.45);
  font-family: "Manrope", sans-serif;
  font-size: 18px;
  line-height: 1.4;
  color: #000;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  text-align: left;
}
 
.sds-comparateur__cell--label {
  font-weight: 400;
}
 
/* Header row — noms colonnes en majuscules, sans background */
.sds-comparateur__row--head .sds-comparateur__cell {
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #000;
  background: transparent;
}
 
.sds-comparateur__row--head .sds-comparateur__cell--label {
  background: transparent;
  color: #000;
}
 
/* Dernière ligne — pas de border bottom */
.sds-comparateur__row:last-child .sds-comparateur__cell {
  border-bottom: none;
}
 
/* Check icon — SVG externe turquoise */
.sds-comparateur__check {
  display: inline-block;
  width: 40px;
  height: 40px;
  background-image: url('/wp-content/uploads/2026/05/ic_ch.svg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  font-size: 0;
  color: transparent;
  line-height: 0;
}
 
/* Cross — tiret simple discret */
.sds-comparateur__cross {
  display: inline-block;
  font-size: 24px;
  font-weight: 400;
  color: rgba(0, 0, 0, 0.3);
  line-height: 1;
}
 
/* Saving row */
.sds-comparateur__row--saving .sds-comparateur__cell {
  color: #000;
  font-weight: 400;
}
 
/* Price row — texte violet/rose en gras */
.sds-comparateur__row--price .sds-comparateur__cell {
  font-size: 20px;
  font-weight: 700;
  color: #B050C0;
}
 
.sds-comparateur__row--price .sds-comparateur__cell--label {
  color: #B050C0;
}
 
.sds-comparateur__row--price .sds-comparateur__cell strong {
  font-weight: 700;
  color: inherit;
}
 
/* CTA row */
.sds-comparateur__row--cta .sds-comparateur__cell {
  border-bottom: none;
  padding: 24px 16px;
}
 
.sds-comparateur__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 22px;
  border-radius: 999px;
  background: #000;
  color: #fff !important;
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
}
 
.sds-comparateur__cta:hover {
  background: #B050C0;
  transform: translateY(-1px);
  opacity: 0.95;
}
 
/* Mobile — réduit padding pour accommoder le scroll */
@media (max-width: 767px) {
  .sds-comparateur__table {
    padding: 12px 16px;
    border-radius: 20px;
  }
  .sds-comparateur__cell {
    padding: 16px 10px;
    font-size: 15px;
  }
  .sds-comparateur__row--head .sds-comparateur__cell {
    font-size: 13px;
  }
  .sds-comparateur__row--price .sds-comparateur__cell {
    font-size: 17px;
  }
  .sds-comparateur__check {
    width: 32px;
    height: 32px;
  }
}

/* ============================================================================
   MEC PRO — Sessions cours en salle (skin Vue Grille / Style Classique)
   Cible : .mec-event-grid-classic (image featured native + cycle 7 couleurs SDS)
   Pattern packs : nth-child cycle de couleurs sur la card entière (pas par lieu)
   ============================================================================ */
 
.mec-wrap.mec-skin-grid-container {
  margin: 0;
  padding: 0;
}

.mec-wrap .mec-month-divider {
  font-family: "Manrope", sans-serif;
  font-weight: 700;
  font-size: 22px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #000;
  padding: 0 0 24px;
  margin: 0 0 8px;
  border-bottom: none;
  background: none;
}
 
.mec-wrap .mec-month-divider .mec-sl-arrow-down,
.mec-wrap .mec-month-divider:before {
  display: none;
}

.mec-wrap .mec-event-grid-classic {
  margin: 0;
  padding: 0;
}
 
.mec-wrap .mec-event-grid-classic .row {
  margin-left: -12px;
  margin-right: -12px;
}
 
.mec-wrap .mec-event-grid-classic [class*="col-"] {
  padding-left: 12px;
  padding-right: 12px;
  margin-bottom: 24px;
}

.mec-wrap .mec-event-grid-classic .mec-event-article {
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: 24px;
  overflow: hidden;
  padding: 0;
  margin: 0;
  box-shadow: none;
  border: none;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
 
.mec-wrap .mec-event-grid-classic .mec-event-article:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
}

.mec-wrap .mec-event-grid-classic .mec-event-image {
  margin: 0;
  padding: 0;
}
 
.mec-wrap .mec-event-grid-classic .mec-event-image a {
  display: block;
  margin: 0;
  padding: 0;
  line-height: 0;
}
 
.mec-wrap .mec-event-grid-classic .mec-event-image img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
  margin: 0;
  padding: 0;
  border-radius: 0;
  max-width: none;
}

.mec-wrap .mec-event-grid-classic .mec-event-content {
  padding: 20px 21px 25px;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
  color: #fff;
  text-align: left;
}

.mec-wrap .mec-event-grid-classic .mec-event-title {
  order: 1;
  font-family: "Manrope", sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 23.12px;
  margin: 0;
  padding: 0;
  color: #fff;
  text-transform: none;
  text-align: left;
}
 
.mec-wrap .mec-event-grid-classic .mec-event-title a {
  color: #fff;
  text-decoration: none;
  text-align: left;
}

.mec-wrap .mec-event-grid-classic .mec-grid-event-location {
  order: 2;
  font-family: "Manrope", sans-serif;
  font-size: 17px;
  font-weight: 400;
  font-style: normal;
  line-height: 23.12px;
  color: #fff;
  margin: 0;
  padding: 0;
  text-align: left;
}

.mec-wrap .mec-event-grid-classic .mec-event-date.mec-bg-color {
  order: 3;
  background: transparent;
  padding: 0 80px 0 0;
  margin: auto 0 0 0; /* push to bottom du content */
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-family: "Manrope", sans-serif;
}

.mec-wrap .mec-event-grid-classic .mec-start-date-label {
  display: inline-flex;
  align-items: center;
  background: #000;
  color: #fff;
  padding: 10px 18px;
  border-radius: 30px;
  font-family: "Manrope", sans-serif;
  font-size: 25px;
  font-weight: 400;
  line-height: 1;
  text-transform: none;
  letter-spacing: 0;
  white-space: nowrap;
}

.mec-wrap .mec-event-grid-classic .mec-time-details {
  display: inline-flex;
  align-items: center;
  background: #fff;
  color: #000;
  padding: 10px 18px;
  border-radius: 30px;
  font-family: "Manrope", sans-serif;
  font-size: 25px;
  font-weight: 400;
  line-height: 1;
  margin: 0;
}
 
.mec-wrap .mec-event-grid-classic .mec-start-time {
  color: #000;
  font-weight: 400;
  font-family: "Manrope", sans-serif;
}

.mec-wrap .mec-sl-location-pin {
  display: none;
}

.mec-wrap .mec-event-grid-classic .mec-event-footer {
  position: absolute;
  right: 21px;
  bottom: 23px;
  left: auto;
  top: auto;
  padding: 0;
  margin: 0;
  background: transparent;
  border: none;
  display: inline-flex;
  width: auto;
  height: auto;
  min-height: 0;
  max-height: none;
}

.mec-wrap .mec-event-grid-classic .mec-event-footer .mec-booking-button,
.mec-wrap .mec-event-grid-classic .mec-event-footer .mec-modal-booking-button {
  position: static;
  display: inline-block;
  width: 50px;
  height: 50px;
  min-width: 0;
  padding: 0;
  margin: 0;
  background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'><circle cx='20' cy='20' r='20' fill='%23000'/><path fill='%23fff' d='M30.06 21.06a1.5 1.5 0 0 0 0-2.12l-9.545-9.547a1.5 1.5 0 1 0-2.122 2.122L26.88 20l-8.486 8.485a1.5 1.5 0 1 0 2.122 2.122zM9 20v1.5h20v-3H9z'/></svg>") center / contain no-repeat;
  background-color: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  font-size: 0;
  line-height: 0;
  letter-spacing: 0;
  text-transform: none;
  text-decoration: none;
  color: transparent;
  transition: transform 0.25s ease, opacity 0.25s ease;
  white-space: nowrap;
}

.mec-wrap .mec-event-grid-classic .mec-event-footer .mec-booking-button::before,
.mec-wrap .mec-event-grid-classic .mec-event-footer .mec-modal-booking-button::before {
  content: none;
}
 
.mec-wrap .mec-event-grid-classic .mec-event-footer .mec-booking-button:hover,
.mec-wrap .mec-event-grid-classic .mec-event-footer .mec-modal-booking-button:hover {
  background-color: transparent;
  border-color: transparent;
  opacity: 0.85;
  transform: translateX(2px);
}

.mec-event-grid-classic .row > [class*="col-"]:nth-child(7n+1) .mec-event-article { background: #6B96EB; }
.mec-event-grid-classic .row > [class*="col-"]:nth-child(7n+2) .mec-event-article { background: #A67AF3; }
.mec-event-grid-classic .row > [class*="col-"]:nth-child(7n+3) .mec-event-article { background: #B050C0; }
.mec-event-grid-classic .row > [class*="col-"]:nth-child(7n+4) .mec-event-article { background: #34A8D9; }
.mec-event-grid-classic .row > [class*="col-"]:nth-child(7n+5) .mec-event-article { background: #AA88CD; }
.mec-event-grid-classic .row > [class*="col-"]:nth-child(7n+6) .mec-event-article { background: #0074DB; }
.mec-event-grid-classic .row > [class*="col-"]:nth-child(7n+7) .mec-event-article { background: #49E0DD; }

.mec-wrap .mec-event-sharing,
.mec-wrap .mec-event-social-icon,
.mec-wrap .mec-social-title,
.mec-wrap .mec-sl-wallet,
.mec-wrap .mec-mb-icon,
.mec-wrap .mec-sl-note {
  display: none !important;
}

@media (max-width: 1250px) {
  .mec-wrap .mec-event-grid-classic [class*="col-"] {
    flex: 0 0 50%;
    max-width: 50%;
    width: 50%;
  }
}

@media (max-width: 767px) {
  .mec-wrap .mec-event-grid-classic [class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
  }
 
  .mec-wrap .mec-event-grid-classic .mec-event-image img {
    height: 180px;
  }
 
  .mec-wrap .mec-event-grid-classic .mec-start-date-label {
    font-size: 20px;
  }
 
  .mec-wrap .mec-event-grid-classic .mec-event-content,
  .mec-wrap .mec-event-grid-classic .mec-event-footer {
    padding-left: 18px;
    padding-right: 18px;
  }
}

/* ============================================================================
   HEADER V2 "DOCK LIQUIDE" + SOUS-MENUS (global, remplace le header Elementor)
   Markup : inc/sds-header.php · JS : assets/js/sds-header.js
   Maquette : /SDS/demos/header-dock-sousmenus.html
   Contrat : --sds-header-h est consommé par la nav ancres (.packs-nav)
   et les asides sticky (fiche produit). Ne pas renommer.
   ============================================================================ */
:root{
  --sds-header-h:76px;
  --sds-ink:#0c0c12;
  --sds-grad-main:linear-gradient(90deg,#B14ABA 0%,#AC5DD1 19%,#A483FF 50%,#7D90F1 58%,#47A2DF 72%,#20AFD2 84%,#08B8C9 93%,#00BBC7 99%);
}

/* Le header est fixed : on pousse tout le contenu dessous, et les ancres
   atterrissent sous le dock. */
body{padding-top:calc(var(--sds-header-h) + 14px);}
html{scroll-padding-top:calc(var(--sds-header-h) + 24px);}

.sds-head{position:fixed;top:0;left:0;right:0;z-index:1000;padding:14px 0;font-family:'Manrope',sans-serif;transition:transform .32s ease;}
body.admin-bar .sds-head{top:32px;}
@media (max-width:782px){body.admin-bar .sds-head{top:46px;}}
/* Auto-hide mobile (≤1100px, classe body posée par sds-header.js) : le dock
   s'efface quand on descend, réapparaît dès qu'on remonte. Les navs ancres
   sticky (.packs-nav / .cg-nav) remontent alors en haut de l'écran (cf
   sds-app.css) : un seul sticky à la fois. -40px = course du box-shadow. */
@media (max-width:1100px){
  body.sds-head-hidden .sds-head{transform:translateY(calc(-100% - 40px));}
}
.sds-head__wrap{max-width:1380px;margin-inline:auto;padding-inline:40px;}

.sds-dock{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:60px;padding:10px 12px 10px 22px;box-shadow:0 18px 50px -28px rgba(12,12,18,.35);transition:background .35s ease,box-shadow .35s ease,border-color .35s ease;}
.sds-head.is-scrolled .sds-dock{background:rgba(255,255,255,.62);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-color:rgba(255,255,255,.5);box-shadow:0 26px 70px -30px rgba(12,12,18,.45);}
.sds-dock__logo img{display:block;height:40px;width:auto;}

/* Nav desktop + indicateur dégradé qui glisse sous le lien survolé */
.sds-dn{position:relative;display:flex;align-items:center;gap:4px;}
.sds-dn__ind{position:absolute;top:0;height:100%;border-radius:50px;background:var(--sds-grad-main);background-size:220% 100%;opacity:0;transition:left .38s cubic-bezier(.55,0,.18,1),width .38s cubic-bezier(.55,0,.18,1),opacity .25s ease;animation:sds-gradslide 7s linear infinite alternate;z-index:0;}
@keyframes sds-gradslide{from{background-position:0% 50%}to{background-position:100% 50%}}
.sds-dn__item{position:relative;display:flex;}
/* Parent à sous-menu = bouton (pas un lien) : reset */
.sds-dn__link--btn{background:none;border:0;font:inherit;font-size:16px;font-weight:800;cursor:pointer;}
.sds-dn__link{position:relative;z-index:1;display:inline-flex;align-items:center;gap:7px;font-size:16px;font-weight:800;color:var(--sds-ink);text-decoration:none;border-radius:50px;padding:13px 20px;transition:color .3s ease;}
.sds-dn__link:hover,.sds-dn__link:focus{color:var(--sds-ink);}
.sds-dn__link.is-on{color:#fff;}
.sds-dn__link.is-current{background:rgba(0,0,0,.05);}
.sds-dn__link.is-current.is-on{background:transparent;}

/* Panneau sous-menu desktop */
.sds-sub{position:absolute;top:calc(100% + 24px);left:50%;transform:translate(-50%,10px);display:flex;gap:30px;padding:24px 26px;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:26px;box-shadow:0 30px 70px -32px rgba(12,12,18,.45);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,transform .28s ease,visibility 0s linear .28s;z-index:999;}
/* Pont invisible entre le dock et le panneau : le hover ne se coupe pas */
.sds-sub::before{content:"";position:absolute;top:-28px;left:-10px;right:-10px;height:28px;}
.sds-dn__item:hover .sds-sub,
.sds-dn__item.is-open .sds-sub,
.sds-dn__item:focus-within .sds-sub{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);transition:opacity .28s ease,transform .28s ease,visibility 0s;}
.sds-sub__col{min-width:225px;}
.sds-sub__label{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:rgba(0,0,0,.42);padding:2px 10px 12px;white-space:nowrap;}
.sds-sub__label::before{content:"";width:16px;height:3px;border-radius:3px;background:var(--sds-grad-main);}
.sds-sub__link{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:700;color:var(--sds-ink);text-decoration:none;border-radius:16px;padding:9px 12px 9px 9px;transition:background .25s ease,transform .25s ease;white-space:nowrap;}
.sds-sub__link:hover{background:#F7F2FC;transform:translateX(3px);color:var(--sds-ink);}
.sds-sub__ico{flex:0 0 auto;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#F4EDFB;color:#AF11FF;font-size:13.5px;transition:background .25s ease,color .25s ease;}
.sds-sub__link:hover .sds-sub__ico{background:var(--sds-grad-main);background-size:220% 100%;animation:sds-gradslide 7s linear infinite alternate;color:#fff;}
/* Carte mise en avant du panneau (mega menu) : item de niveau 2 sans enfants
   portant la classe "sds-feat" (icone fa-* + champ Description de l'item).
   Utilisee pour "Etapes du permis" sous Permis & cours (9 juil). */
.sds-sub__col--feat{min-width:0;display:flex;}
.sds-sub__feat{display:flex;flex-direction:column;gap:26px;width:218px;background:var(--sds-grad-main);background-size:220% 100%;border-radius:18px;padding:20px 18px;color:#fff;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease;}
.sds-sub__feat > i{font-size:28px;line-height:1;}
.sds-sub__feat-txt{display:flex;flex-direction:column;gap:6px;flex:1;}
.sds-sub__feat-txt b{font-size:16px;font-weight:800;line-height:1.2;}
.sds-sub__feat-txt span{font-size:12.5px;font-weight:600;line-height:1.45;color:rgba(255,255,255,.88);}
.sds-sub__feat-go{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:800;}
.sds-sub__feat-go i{font-size:12px;transition:transform .25s ease;}
.sds-sub__feat:hover{transform:translateY(-3px);box-shadow:0 22px 44px -20px rgba(175,17,255,.6);color:#fff;}
.sds-sub__feat:hover .sds-sub__feat-go i{transform:translateX(4px);}

.sds-head__right{display:flex;align-items:center;gap:10px;}
.sds-head__cta{position:relative;display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:800;color:#fff;background:var(--sds-grad-main);background-size:220% 100%;border-radius:50px;padding:13px 22px;text-decoration:none;overflow:hidden;animation:sds-gradslide 7s linear infinite alternate;transition:transform .3s ease,box-shadow .3s ease;}
.sds-head__cta:hover{color:#fff;transform:translateY(-2px);box-shadow:0 16px 36px -12px rgba(125,144,241,.75);}
.sds-head__cta .sds-ar{transition:transform .25s;}
.sds-head__cta:hover .sds-ar{transform:translateX(4px);}
.sds-head__cta::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-18deg);animation:sds-shine 4.5s ease-in-out infinite;}
@keyframes sds-shine{0%,55%{left:-60%}85%,100%{left:130%}}

.sds-lang{display:flex;gap:4px;}
.sds-lang a{font-size:14px;font-weight:800;color:var(--sds-ink);border-radius:50px;padding:10px 13px;text-decoration:none;transition:.3s;}
.sds-lang a.is-cur{background:var(--sds-ink);color:#fff;}
.sds-lang a:not(.is-cur):hover{background:rgba(0,0,0,.07);}

/* Bouton menu mobile */
.sds-menu-btn{display:none;align-items:center;gap:10px;font-family:'Manrope',sans-serif;font-size:14px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--sds-ink);background:rgba(255,255,255,.7);border:1px solid rgba(0,0,0,.1);border-radius:50px;padding:12px 16px;cursor:pointer;transition:.3s;}
@media (hover:hover){.sds-menu-btn:hover{background:var(--sds-ink);color:#fff;}}
.sds-menu-btn__bars{display:flex;flex-direction:column;gap:4px;}
.sds-menu-btn__bars i{display:block;width:18px;height:2px;border-radius:2px;background:currentColor;}

/* Menu mobile plein écran (fond animé bg-anim canonique) */
.sds-mmenu{position:fixed;inset:0;z-index:1100;display:flex;flex-direction:column;padding:20px;background:#fff;overflow:hidden;opacity:0;pointer-events:none;transition:opacity .35s ease;font-family:'Manrope',sans-serif;}
.sds-mmenu.is-open{opacity:1;pointer-events:auto;}
.sds-mmenu__bg{position:absolute;inset:-25%;z-index:0;pointer-events:none;
  background:
    radial-gradient(42% 50% at 16% 24%, rgba(139,92,246,.42), transparent 60%),
    radial-gradient(44% 52% at 86% 28%, rgba(73,224,221,.4), transparent 60%),
    radial-gradient(40% 48% at 58% 90%, rgba(236,72,153,.3), transparent 60%),
    radial-gradient(38% 46% at 8% 86%, rgba(109,40,217,.32), transparent 62%);
  background-size:185% 185%;background-repeat:no-repeat;
  animation:sds-bgdrift 11s ease-in-out infinite alternate;filter:blur(36px);}
@keyframes sds-bgdrift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:50% 100%}}
.sds-mmenu__top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;}
.sds-mmenu__close{width:46px;height:46px;border-radius:100px;border:1px solid rgba(0,0,0,.1);background:rgba(255,255,255,.7);color:var(--sds-ink);font-size:17px;cursor:pointer;display:grid;place-items:center;transition:.3s;}
.sds-mmenu__close:hover{background:var(--sds-ink);color:#fff;}
.sds-mmenu__nav{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;gap:2px;overflow-y:auto;padding-block:12px;}
/* Centrage vertical qui n'avale pas le haut quand ça déborde (contrairement à justify-content:center) */
.sds-mmenu__item:first-child{margin-top:auto;}
.sds-mmenu__item:last-child{margin-bottom:auto;}
.sds-mmenu__item{opacity:0;transform:translateY(18px);transition:opacity .45s ease,transform .45s ease;}
.sds-mmenu.is-open .sds-mmenu__item{opacity:1;transform:none;}
.sds-mmenu.is-open .sds-mmenu__item:nth-child(1){transition-delay:.06s;}
.sds-mmenu.is-open .sds-mmenu__item:nth-child(2){transition-delay:.12s;}
.sds-mmenu.is-open .sds-mmenu__item:nth-child(3){transition-delay:.18s;}
.sds-mmenu.is-open .sds-mmenu__item:nth-child(4){transition-delay:.24s;}
.sds-mmenu.is-open .sds-mmenu__item:nth-child(5){transition-delay:.3s;}
.sds-mmenu.is-open .sds-mmenu__item:nth-child(6){transition-delay:.36s;}
.sds-mmenu.is-open .sds-mmenu__item:nth-child(7){transition-delay:.42s;}
.sds-mmenu__link{width:100%;display:flex;align-items:center;gap:16px;padding:13px 8px;text-decoration:none;color:var(--sds-ink);}
.sds-mmenu__link--btn{background:none;border:0;font:inherit;text-align:left;cursor:pointer;}
.sds-mmenu__no{width:30px;font-size:13px;font-weight:800;background:var(--sds-grad-main);-webkit-background-clip:text;background-clip:text;color:transparent;}
.sds-mmenu__link b{font-size:27px;font-weight:800;letter-spacing:-.01em;}
.sds-mmenu__go{margin-left:auto;font-size:20px;font-weight:700;color:rgba(0,0,0,.3);transition:transform .25s ease,color .25s ease;}
.sds-mmenu__link:hover .sds-mmenu__go,.sds-mmenu__link:active .sds-mmenu__go{transform:translateX(4px);color:#AF11FF;}

/* Accordéons mobile : la flèche de la rangée pivote vers le bas quand ouvert */
.sds-mmenu__item.is-open .sds-mmenu__link--btn .sds-mmenu__go{transform:rotate(90deg);color:#AF11FF;}
.sds-mmenu__sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .38s cubic-bezier(.55,0,.18,1);}
.sds-mmenu__item.is-open .sds-mmenu__sub{grid-template-rows:1fr;}
.sds-mmenu__sub-in{overflow:hidden;padding-left:46px;}
.sds-mmenu__sub-label{display:block;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:rgba(0,0,0,.4);padding:12px 8px 4px;}
.sds-mmenu__sub-link{display:flex;align-items:center;gap:11px;padding:9px 8px;text-decoration:none;color:var(--sds-ink);font-size:17px;font-weight:700;border-radius:12px;}
.sds-mmenu__sub-link i{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.75);color:#AF11FF;font-size:12px;flex:0 0 auto;}
.sds-mmenu__sub-link:active{background:rgba(255,255,255,.6);}

.sds-mmenu__foot{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 2px 8px;opacity:0;transform:translateY(14px);transition:opacity .45s ease .34s,transform .45s ease .34s;}
.sds-mmenu.is-open .sds-mmenu__foot{opacity:1;transform:none;}

/* Armure : les styles globaux de <button> du kit Elementor (hover/focus rouges)
   ne doivent JAMAIS toucher les boutons du header. */
.sds-menu-btn:focus,.sds-menu-btn:active{background:rgba(255,255,255,.7) !important;color:var(--sds-ink) !important;outline:none;box-shadow:none;}
.sds-menu-btn:focus-visible{outline:2px solid var(--sds-ink);outline-offset:2px;}
.sds-dn__link--btn:hover,.sds-dn__link--btn:focus,.sds-dn__link--btn:active{background:none !important;color:var(--sds-ink) !important;outline:none;box-shadow:none;}
.sds-dn__link--btn.is-on{color:#fff !important;}
.sds-mmenu__link--btn:hover,.sds-mmenu__link--btn:focus,.sds-mmenu__link--btn:active{background:none !important;color:var(--sds-ink) !important;outline:none;box-shadow:none;}
.sds-mmenu__close:focus,.sds-mmenu__close:active{background:rgba(255,255,255,.7) !important;color:var(--sds-ink) !important;outline:none;box-shadow:none;}

@media (max-width:1100px){
  .sds-dn{display:none;}
  .sds-head__right{display:none;}
  .sds-menu-btn{display:inline-flex;}
}
@media (max-width:1250px){
  .sds-head__wrap{padding-inline:20px;}
}
@media (max-width:767px){
  .sds-head__wrap{padding-inline:15px;}
}
@media (prefers-reduced-motion:reduce){
  .sds-dn__ind,.sds-head__cta,.sds-mmenu__bg,.sds-sub__link:hover .sds-sub__ico{animation:none !important;}
  .sds-head__cta::after{animation:none !important;content:none;}
  .sds-mmenu,.sds-mmenu__item,.sds-mmenu__foot,.sds-sub,.sds-mmenu__sub,.sds-head{transition:none !important;}
}

/* =====================================================================
   FOOTER V2 (global, remplace le footer Theme Builder Elementor V1)
   Markup : inc/sds-footer.php, rendu par footer.php (child).
   Menus : emplacements sds-footer / sds-footer-legal / sds-footer-social
   (Apparence > Menus ou Personnaliser > Menus).
   Design relevé sur le footer V1 live du 8 juil 2026 : carte #AF11FF
   radius 30 en haut, identité + tagline + 4 colonnes + social + sous-footer.
   Spécificité doublée (.sds-foot.sds-foot) : les couleurs de liens du kit
   Elementor (rose #C36) chargent après style.css, même piège que le header.
   ===================================================================== */
.sds-foot{margin-top:auto;}
.sds-foot__card{background:#AF11FF;border-radius:30px 30px 0 0;padding:60px 100px 44px;color:#fff;font-family:"Manrope",sans-serif;}
.sds-foot__card,.sds-foot__card *{box-sizing:border-box;}
.sds-foot.sds-foot a{color:#fff;text-decoration:none;transition:opacity .25s ease;}
.sds-foot.sds-foot a:hover{color:#fff;opacity:.75;}
.sds-foot.sds-foot a:focus-visible{outline:2px solid rgba(255,255,255,.85);outline-offset:3px;border-radius:4px;}

.sds-foot__grid{display:flex;align-items:flex-start;gap:56px;}
.sds-foot__id{flex:0 0 385px;min-width:0;}
.sds-foot__main{flex:1;min-width:0;}

/* --- Identité (logo + coordonnées) --- */
.sds-foot__logo{display:inline-block;line-height:0;}
.sds-foot__logo img{width:197px;height:auto;display:block;}
.sds-foot__contact{margin-top:44px;}
.sds-foot__label{display:block;font-size:15px;font-weight:600;line-height:1.37;}
.sds-foot__big{display:inline-block;font-size:30px;font-weight:400;line-height:1.37;margin-top:2px;}
.sds-foot__big + .sds-foot__label{margin-top:26px;}

/* --- Tagline + colonnes de liens --- */
.sds-foot__tagline{margin:0 0 44px;font-size:30px;font-weight:600;line-height:1.37;max-width:430px;}
.sds-foot__cols{display:flex;flex-wrap:wrap;justify-content:space-between;gap:30px 50px;}
.sds-foot__col{min-width:0;}
.sds-foot__title{display:block;font-size:17.5px;font-weight:700;line-height:1.37;min-height:24px;margin-bottom:10px;}
.sds-foot__list{list-style:none;margin:0;padding:0;display:grid;gap:6px;}
.sds-foot__list a{font-size:16px;font-weight:500;line-height:1.45;}

/* --- Réseaux sociaux (pastilles noires, glyphe blanc, cf. V1) --- */
.sds-foot__social{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-top:26px;}
.sds-foot__soc{width:27px;height:27px;display:inline-grid;place-items:center;background:#000;color:#fff;font-size:14px;line-height:1;transition:opacity .25s ease,transform .25s ease;}
.sds-foot__soc--circle{border-radius:50%;}
.sds-foot__soc--round{border-radius:8px;}
a.sds-foot__soc:hover{opacity:.85;transform:translateY(-1px);color:#fff;}
.sds-foot.sds-foot a.sds-foot__soc{color:#fff;}

/* --- Sous-footer --- */
.sds-foot__sub{margin-top:46px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px 18px;}
.sds-foot__legal{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;row-gap:8px;}
.sds-foot__legal li{display:flex;align-items:center;}
.sds-foot__legal li + li::before{content:"";width:1px;height:16px;background:rgba(0,0,0,.28);margin:0 14px;}
.sds-foot__legal a{font-size:15px;font-weight:500;line-height:1.37;}
.sds-foot__copy{margin:0;font-size:16px;font-weight:400;color:rgba(255,255,255,.52);}
.sds-foot.sds-foot .sds-foot__copy a{color:rgba(255,255,255,.52);}
.sds-foot.sds-foot .sds-foot__copy a:hover{opacity:1;text-decoration:underline;}

/* --- Responsive --- */
@media (max-width:1250px){
  .sds-foot__card{padding:50px 40px 36px;}
  .sds-foot__grid{flex-direction:column;align-items:stretch;gap:44px;}
  .sds-foot__id{flex:0 0 auto;width:100%;}
  .sds-foot__contact{margin-top:36px;}
}
@media (max-width:767px){
  .sds-foot__card{padding:46px 22px 28px;border-radius:24px 24px 0 0;}
  .sds-foot__big{font-size:24px;}
  .sds-foot__tagline{font-size:24px;margin-bottom:34px;}
  .sds-foot__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 22px;}
  .sds-foot__social{justify-content:flex-start;margin-top:30px;}
  .sds-foot__sub{margin-top:38px;flex-direction:column;align-items:flex-start;}
}
@media (prefers-reduced-motion:reduce){
  .sds-foot.sds-foot a,.sds-foot__soc{transition:none;}
  a.sds-foot__soc:hover{transform:none;}
}

/* ============================================================
   COOKIEYES — bandeau cookies au design system SDS (01.09.2026)
   Le plugin pose ses couleurs en styles inline : les !important
   sont nécessaires. Palette DS : #AF11FF / hover #CE7BF1 / ink #0c0c12.
   ============================================================ */

/* ---- Conteneur du bandeau ---- */
.cky-consent-container{font-family:"Manrope",sans-serif !important;}
.cky-consent-container .cky-consent-bar{background:#fff !important;border:1px solid rgba(12,12,18,.08) !important;border-radius:22px !important;box-shadow:0 24px 60px -24px rgba(12,12,18,.35) !important;padding:24px !important;}
.cky-consent-container .cky-title{color:#0c0c12 !important;font-family:"Manrope",sans-serif !important;font-size:17px !important;font-weight:800 !important;line-height:1.3 !important;}
.cky-consent-container .cky-notice-des,
.cky-consent-container .cky-notice-des *{color:#45454f !important;font-family:"Manrope",sans-serif !important;font-size:14px !important;line-height:1.55 !important;}
.cky-consent-container .cky-policy{color:#AF11FF !important;font-weight:700 !important;text-decoration:underline !important;}
.cky-consent-container .cky-policy:hover{color:#CE7BF1 !important;}

/* ---- Boutons (bandeau + centre de préférences) ---- */
.cky-consent-container .cky-btn,
.cky-modal .cky-btn{font-family:"Manrope",sans-serif !important;font-size:14.5px !important;font-weight:700 !important;border-radius:30px !important;padding:11px 22px !important;transition:background .3s,color .3s,border-color .3s,transform .2s !important;}
.cky-consent-container .cky-btn:hover,
.cky-modal .cky-btn:hover{transform:translateY(-1px);}
.cky-consent-container .cky-btn-accept,
.cky-modal .cky-btn-accept{background:#AF11FF !important;border:1px solid #AF11FF !important;color:#fff !important;}
.cky-consent-container .cky-btn-accept:hover,
.cky-modal .cky-btn-accept:hover{background:#CE7BF1 !important;border-color:#CE7BF1 !important;}
.cky-consent-container .cky-btn-reject,
.cky-modal .cky-btn-reject{background:transparent !important;border:1px solid rgba(12,12,18,.22) !important;color:#0c0c12 !important;}
.cky-consent-container .cky-btn-reject:hover,
.cky-modal .cky-btn-reject:hover{border-color:#AF11FF !important;color:#AF11FF !important;}
.cky-consent-container .cky-btn-customize{background:rgba(175,17,255,.06) !important;border:1px solid rgba(175,17,255,.35) !important;color:#AF11FF !important;}
.cky-consent-container .cky-btn-customize:hover{background:rgba(175,17,255,.12) !important;}
.cky-modal .cky-btn-preferences{background:rgba(175,17,255,.06) !important;border:1px solid rgba(175,17,255,.35) !important;color:#AF11FF !important;}
.cky-modal .cky-btn-preferences:hover{background:rgba(175,17,255,.12) !important;}
.cky-btn:focus-visible{outline:2px solid #AF11FF !important;outline-offset:2px !important;}

/* ---- Centre de préférences ---- */
.cky-modal .cky-preference-center{border-radius:22px !important;font-family:"Manrope",sans-serif !important;color:#45454f !important;}
.cky-modal .cky-preference-title{color:#0c0c12 !important;font-family:"Manrope",sans-serif !important;font-weight:800 !important;}
.cky-modal .cky-preference-content-wrapper,
.cky-modal .cky-preference-content-wrapper *{font-family:"Manrope",sans-serif !important;}
.cky-modal .cky-accordion-btn{color:#0c0c12 !important;font-weight:800 !important;}
.cky-modal .cky-accordion-header-des,
.cky-modal .cky-accordion-header-des *{color:#45454f !important;font-size:13.5px !important;line-height:1.55 !important;}
.cky-modal .cky-always-active{color:#AF11FF !important;font-weight:800 !important;}
.cky-modal .cky-accordion-item{border-color:rgba(12,12,18,.08) !important;}

/* Interrupteurs de catégories */
.cky-switch input[type="checkbox"]:checked{background-color:#AF11FF !important;border-color:#AF11FF !important;}
.cky-switch input[type="checkbox"]{border-color:rgba(12,12,18,.25) !important;}

/* ---- Bouton flottant « Préférences de cookies » ---- */
.cky-revisit-bottom-left,
.cky-revisit-bottom-right{background:#AF11FF !important;box-shadow:0 14px 30px -14px rgba(175,17,255,.65) !important;}
.cky-revisit-bottom-left:hover,
.cky-revisit-bottom-right:hover{background:#CE7BF1 !important;}

/* ---- Tableau des cookies (shortcode sur la page Mentions légales) ---- */
.cky-audit-table{border:1px solid rgba(12,12,18,.1) !important;border-radius:14px !important;overflow:hidden !important;}
.cky-audit-table th{background:rgba(175,17,255,.07) !important;color:#0c0c12 !important;font-weight:800 !important;}
.cky-audit-table th,
.cky-audit-table td{font-family:"Manrope",sans-serif !important;font-size:13.5px !important;padding:10px 14px !important;}
.cky-cookie-audit-table-element td{color:#45454f !important;}

@media (prefers-reduced-motion:reduce){
  .cky-consent-container .cky-btn,.cky-modal .cky-btn{transition:none !important;}
  .cky-consent-container .cky-btn:hover,.cky-modal .cky-btn:hover{transform:none;}
}
