

@import url('https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap');


body {
  overflow: hidden;
}

.img_illustration .video-son {
	border-radius: 10px 10px 0 0!important;
    overflow: hidden;
}

.img_illustration img {
  height: 100%;
  width: auto;
}



@media only screen and (max-device-width : 450px) {
.img_illustration img {
  /*max-height: 400px;*/
  /*position: absolute;*/
}
.img_illustration {
  width: 100%;
  height: 100%
}
.img_illustration.img_parts img {
  max-height: 100%;
}
}


.cont_img {
  position: relative;
  width: 100%;
  height: 100%;
}

.btn-taekwon {
  min-width: 100%!important;
}


.video-son {
  background-color: white;
  border-radius: 12px 12px 0 0;
    overflow: hidden;
}

.btn_parcours .elementor-button, .btn_entrainement .elementor-button, .btn_achat_taekwon .elementor-button {
  text-align: left!important;
}

.btn_parcours:before, .btn_entrainement:before, .btn_achat_taekwon:before {
content: "";
position: absolute;
left: 2px;
    top: 2px;
    height: calc(100% - 8px);
width: 170px;
background-position: center;
background-size: cover;
background-repeat: no-repeat;
pointer-events: none;
}


.btn_parcours:before {
  background: url("https://taekwon-book.com/wp-content/plugins/taekon-app/assets/images/btn_dessin_parcours.png") no-repeat;
}

.btn_entrainement:before {
  background: url("https://taekwon-book.com/wp-content/plugins/taekon-app/assets/images/btn_dessin_entrainement.png") no-repeat;
}

.btn_achat_taekwon:before {
  background: url("https://taekwon-book.com/wp-content/plugins/taekon-app/assets/images/btn_dessin_taekwon.png") no-repeat;
}

@keyframes blink {
  0%   { transform: scale(1); opacity: 1; }
  50%  { transform: scale(1.2); opacity: 0.6; }
  100% { transform: scale(1); opacity: 1; }
}

.bouton-aide {
  transform: scale(0);
}

.blink {
  animation: blink 0.6s ease-in-out 2;
}

/*etoile barre progression*/
.progression_text {
  z-index: 2;
  text-transform: uppercase;
}
#tkd-progress-bar-inner {
  position: relative;
}
#tkd-progress-bar-inner:after {
  content: url("https://taekwon-book.com/wp-content/themes/hello-elementor-child/app/icons/etoile_btn_on.svg");
  position: absolute;
      right: -23px;
    top: calc(50% - 8px);
    transform: scale(1.5);
    width: 30px;
    z-index: 3;
}

/*PANEL*/
#tech_panel {
  font-family: "Nunito", sans-serif;
  font-optical-sizing: auto;
  line-height: normal;
}

#tech_panel p {
  line-height: 1.2!important;
  color: #4b4b4b;
  font-size: 18px;
}
#tech_panel ul {
      padding-inline-start: 20px;
}
#tech_panel ul li {
      margin-block-end: 10px;
      line-height: 1.2!important;
      font-size: 18px!important;
}

/*BARRE DE PROGRESSION*/

#tkd-progress-bar, #tkd-progress-bar_ceint {
  height: 30px;
  background-color: var( --e-global-color-accent );
}

#tkd-progress-bar #tkd-progress-bar-inner, #tkd-progress-bar_ceint #tkd-progress-bar-inner {
  background-color: var( --e-global-color-secondary );
  height: 30px
}

.progression-bar {
  width: 100%;
  height: 10px;
  background: #ddd;
  border-radius: 6px;
  overflow: hidden;
}

.progression-fill {
  height: 100%;
  width: 0%;
  background: #f5c542;
  transition: width 0.4s ease;
}

.progression_text {
  position:absolute;
  top: calc(50% - 13px);
  left: calc(50% - 40px);
  font-family: "kalam";
  font-weight: bold;
  font-size: 18px;
  color: #fff;
}

.bouton_replay,
.bouton_slow_motion, .bouton_pause_play {
  transform: scale(0);
}

@keyframes blink {
  0%, 100% {background-color:#FEF9DE;}
  50% {background-color: var( --e-global-color-secondary );}
}
.bouton-aide a {
  background-color: var( --e-global-color-secondary );
  animation: blink 1s linear infinite;
}

@keyframes bouncees {
  from { top:-27px; }
  to { top:-32px; }
}


.bouton-aide:after {
  content: url("https://taekwon-book.com/wp-content/uploads/2026/03/icon_arrow_down_show.svg");
  position: absolute;
  left: calc(50% - 16px);
  top: -27px;
  animation: bouncees;
  animation-iteration-count: infinite;
  animation-duration: 0.5s;
  animation-direction: alternate;
  animation-timing-function: eaze-in-out;
}

.bouton-commencer:after {
  content: url("https://taekwon-book.com/wp-content/uploads/2026/03/icon_arrow_down_show.svg");
  position: absolute;
  left: calc(50% - 16px);
  top: -27px;
  animation: bouncees;
  animation-iteration-count: infinite;
  animation-duration: 0.5s;
  animation-direction: alternate;
  animation-timing-function: eaze-in-out;
}

/*BOUTONS CEINTURE*/
.btn_ceint .elementor-button-content-wrapper {
  width: 100%;
    display: block;
    text-align: left;
}
.tkd-btn-percent {
  position: absolute;
    right: 40px;
    font-family: 'Fun House';
    color: var( --e-global-color-primary );
}
.btn_ceint .elementor-button-icon {
  display: inline;
    vertical-align: middle;
}
.btn_ceint .elementor-button-icon svg {
  width: 2.5em;
}
.btn_ceint .elementor-button-icon svg path {
fill: #38656d;
}

/*BOUTONS CHAPITRE*/
.btn_chap .elementor-button-content-wrapper {
  width: 100%;
    display: block;
    text-align: left;
}
.btn_chap .elementor-button-content-wrapper .elementor-button-text .tkd-btn-percent {
  position: absolute;
    right: 40px;
    font-family: 'Fun House';
    color: var( --e-global-color-primary );
}


/*SECTION PAGE COMPLETE*/
.taekwon_page_complete {
  background: linear-gradient(180deg,rgba(165, 217, 217, 1) 0%, rgba(237, 248, 248, 1) 100%);
  padding: 0!important;
  overflow: hidden!important;
}
.taekwon_page_complete:after {
  content: url("https://taekwon-book.com/wp-content/uploads/2026/05/background_rayons.svg");
  /*background: url("https://taekwon-book.com/wp-content/uploads/2026/05/background_rayons.svg");*/
  position: absolute;
  top: 33px;
    left: -25%;
    width: 150%;
    animation: rotate 360s linear infinite;
    animation-duration: 6s;
    opacity: 0.6;
}


@keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}

/*SELECTEUR WPML*/

.selecteur_accueil .wpml-ls-legacy-dropdown-click a {
  border: none!important;
  background-color: initial;
  padding: 0;
}

.selecteur_accueil .wpml-ls-legacy-dropdown-click a:after {
  display: none!important;
}

.selecteur_accueil .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle {
  padding-right: 0!important;
}


/*FORMULAIRE INSCRIPTION*/

.subscribe_bloc {
	width: 100%;
}

.um-field-label {
	font-family: "Nunito", sans-serif;
    font-optical-sizing: auto;
    line-height: normal;
    font-weight: bold;
}
.um-form-field {
	border: 2px solid var( --e-global-color-text ) !important;
}

/*PAGE PARAMETRES*/

.option_selector .wpml-ls-legacy-dropdown-click .wpml-ls-item a {
    font-family: 'Nunito';
    font-weight: 900;
    color: #38656d;
    display: flex;
    font-size: 24px;
    height: 55px;
    background-color: #ffffff;
    border-radius: 10px;
        text-align: center;
    margin: auto;
    padding: 12px 12px 12px 12px;
    border-width: 3px 3px 6px 3px !important;
    border-color: var(--e-global-color-accent) !important;
}
/*.option_selector .wpml-ls-legacy-dropdown-click .wpml-ls-item a {
    width: auto;
    display: inline;
    margin: auto;
    color: #38656d;
}*/
.option_selector .wpml-ls-legacy-dropdown-click .wpml-ls-item a:focus, .option_selector .wpml-ls-legacy-dropdown-click .wpml-ls-item a:hover {
    background-color: #ffffff;
    color: var(--e-global-color-text);
}
.option_selector .wpml-ls-legacy-dropdown-click a span {
  width: 100%
}
.option_selector .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after {
  display: none;
}

#tkd-badges {
      width: 100%;
    display: flex;
}
#tkd-badges .tkd-badge {
  margin: auto;
    background-color: #fff;
    border: 3px solid #38656d;
    padding: 12px 8px 4px 8px;
    border-radius: 10px;
}

.btn_part span {
  display: block;
  font-weight: 600;
  color: #757575;
}

/*PAGE PARTIES CORPS*/
.btn_group_hauteurs a:focus {
    margin-top: 4px;
    border-width: 2px 2px 6px 2px;
    background-color: #9CD6D6;
}
.col_corps {
  display: flex!important;
}
.part_poing:after {
content: "";
    position: absolute;
    height: 78%;
    width: 31%;
    border-top: 2px solid var(--e-global-color-primary);
    border-left: 2px solid var(--e-global-color-primary);
    top: 50%;
    left: -31%;
}
.part_avbras:after {
    content: "";
    position: absolute;
    height: 48%;
    width: 38%;
    border-top: 2px solid var(--e-global-color-primary);
    border-left: 2px solid var(--e-global-color-primary);
    top: 50%;
    left: -37%;
}
.part_coude:after {
    content: "";
    position: absolute;
    height: 48%;
    width: 44%;
    border-top: 2px solid var(--e-global-color-primary);
    border-left: 2px solid var(--e-global-color-primary);
    top: 50%;
    left: -44%;
}
.part_main:after {
    content: "";
    position: absolute;
    height: 33%;
    width: 161%;
    border-top: 2px solid var(--e-global-color-primary);
    border-left: 2px solid var(--e-global-color-primary);
    top: 50%;
    left: -161%;
}
.part_genou:after {
    content: "";
    position: absolute;
    height: 70%;
    width: 129%;
    border-bottom: 2px solid var(--e-global-color-primary);
    border-left: 2px solid var(--e-global-color-primary);
    top: -20%;
    left: -129%;
}
.part_bol:after {
    content: "";
    position: absolute;
    height: 70%;
    width: 129%;
    border-bottom: 2px solid var(--e-global-color-primary);
    border-left: 2px solid var(--e-global-color-primary);
    top: -20%;
    left: -129%;
}
/*Hauteurs*/
.cont_hauteurs {
  height: 100%;
}

.row_haut {
  height: 15vh!important;
}
.row_moyen {
  height: 9vh!important;
  margin-top: -1px;
}
.row_bas {
  margin-top: -1px;
  height: 22vh!important;
}
.row_haut:after {
  content: "";
    position: absolute;
    height: 100%;
    width: 146%;
    border-top: 2px solid #E8E8E8;
    border-left: 2px solid #E8E8E8;
    border-bottom: 2px solid #E8E8E8;
    top: 0;
    left: 3%;
}
.row_moyen:after {
  content: "";
    position: absolute;
    height: 100%;
    width: 146%;
    border-top: 2px solid #E8E8E8;
    border-left: 2px solid #E8E8E8;
    border-bottom: 2px solid #E8E8E8;
    top: 0;
    left: 3%;
}
.row_bas:after {
  content: "";
    position: absolute;
    height: 100%;
    width: 146%;
    border-top: 2px solid #E8E8E8;
    border-left: 2px solid #E8E8E8;
    border-bottom: 2px solid #E8E8E8;
    top: 0;
    left: 3%;
}
/* Chemin - état de base (caché) */
.part_poing:after,
.part_avbras:after,
.part_coude:after,
.part_main:after,
.part_genou:after,
.part_bol:after {
  clip-path: inset(0 100% 0 0);
    transition: clip-path 0.8s ease-in-out;
}

/* Chemin visible quand actif */
.part_poing.active:after,
.part_avbras.active:after,
.part_coude.active:after,
.part_main.active:after,
.part_genou.active:after,
.part_bol:after {
    clip-path: inset(0 0% 0 0);
}

/* Point inactif - remet à l'état normal */
.partie svg {
    outline: none;
    fill: var( --e-global-color-primary ) !important;
    transition: fill 0.3s ease, outline 0.3s ease;
}
.hauteur svg {
    outline: none;
    fill: var( --e-global-color-2b2033d ) !important;
    transition: fill 0.3s ease, outline 0.3s ease;
}

/* Point actif uniquement */
.partie.active svg {
    outline: 4px solid #41828d;
    border-radius: 100%;
    fill: var(--e-global-color-secondary) !important;
    transition: fill 0.3s ease, outline 0.3s ease;
}


/* Boutons cachés par défaut */
.part_poing,
.part_avbras,
.part_coude,
.part_main,
.part_genou,
.part_bol {
    opacity: 0;
    transform: translateX(10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    pointer-events: none;
}

.haut_haut,
.haut_moyen,
.haut_bas {
    opacity: 0;
    transform: translateX(-10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    pointer-events: none;
}

/* Boutons visibles quand actifs */
.part_poing.active,
.part_avbras.active,
.part_coude.active,
.part_main.active,
.part_genou.active,
.part_bol.active {
    opacity: 1;
    transform: translateX(0);
    pointer-events: all;
    transition: opacity 0.3s ease 0.65s, transform 0.3s ease 0.65s;
}

.haut_haut.active,
.haut_moyen.active,
.haut_bas.active {
    opacity: 1;
    transform: translateX(0);
    pointer-events: all;
    transition: opacity 0.3s ease 0.65s, transform 0.3s ease 0.65s;
}

/* Points cachés par défaut */
.partie {
    opacity: 0;
}
.hauteur {
    opacity: 0;
}


/* After caché au chargement */
.row_haut:after,
.row_moyen:after,
.row_bas:after {
    opacity: 0;
    border-color: #CECECE;
    transition: opacity 0.5s ease, border-color 0.5s ease;
}

/* After visible après le clic sur le bouton */
.row_haut.after-visible:after,
.row_moyen.after-visible:after,
.row_bas.after-visible:after {
    opacity: 1;
}

/* After rouge au clic sur un point */
.row_haut.active:after,
.row_moyen.active:after,
.row_bas.active:after {
    border-color: red;
}



/* Animation bounce in */
@keyframes bounceIn {
    0%   { transform: scale(0); opacity: 0; }
    70%  { transform: scale(1.2); opacity: 1; }
    100% { transform: scale(1); opacity: 1; }
}

.spacers {
  transition: 1s ease;
}
.spacers .spacer_right {
    width: 0;
    transition: width 1s ease;
}
.spacers .spacer_left {
    width: 30%;
    transition: width 1s ease;
}
.cont_points_corps {
  display: flex;
}
