/* ═══════════════════════════════════════════════════════════════
   KIP-GLOBAL — styles communs à toutes les pages WordPress
   Chargé sur toutes les pages SAUF template-landing-v1.php
   Assure la cohérence typo + couleurs pour l'éditeur Salient
═══════════════════════════════════════════════════════════════ */

/* Fonts chargées par Salient Typography — pas de double import ici */

/* Masquer Recaptcha */

.grecaptcha-badge {
      visibility: hidden !important;
}

/* ── Variables globales ── */
:root {
  --kip-mint:    #76E9A5;
  --kip-anis:    #C6FF33;
  --kip-violet:  #7D39EB;
  --kip-orange:  #FF4E00;
  --kip-bg:      #F5F4E9;
  --kip-ink:     #0D0D0D;
  --kip-white:   #ffffff;

  --kip-w06:  rgba(255,255,255,.06);
  --kip-w12:  rgba(255,255,255,.12);
  --kip-w40:  rgba(255,255,255,.40);
  --kip-w70:  rgba(255,255,255,.70);

  --kip-max:     1400px;
  --kip-gutter:  clamp(1.5rem, 5vw, 4rem);

  --font-display: 'Bricolage Grotesque', sans-serif;
  --font-body:    'Nunito Sans', sans-serif;
  --font-mono:    'Martian Mono', monospace;
}


/* ── Typographie de base ── */
body {
  font-family: var(--font-body);
}

/* Contenu uniquement — éléments texte, pas les conteneurs */
/*#main-content p,
#main-content li,
.wpb_wrapper p,
.wpb_wrapper li,
.wpb_text_column p,
.wpb_text_column li {
  font-family: var(--font-body) !important;
  color: var(--kip-ink);
}*/


/* ── Paragraphes vides (générés par l'éditeur) ── */
.wpb_wrapper p:empty,
.entry-content p:empty,
#main-content p:empty,
.wpb_wrapper p:blank,
.entry-content p:blank {
  display: none;
}

/* ── Espacement paragraphes ── 
.wpb_wrapper p,
.entry-content p,
#main-content p,
.post-content p,
body .wpb_text_column p,
body .wpb_wrapper > div > p,
body #page-content-wrap p,
.wpb_wrapper li,
.entry-content li,
#main-content li {
  margin: 0 !important;
  padding-top: 0.8em !important;
  padding-bottom: 0 !important;
  line-height: 1.5em ;
}

.wpb_wrapper ul,
.entry-content ul,
#main-content ul,
.wpb_wrapper ol,
.entry-content ol,
#main-content ol {
  padding-bottom: 1em;
}*/

p, li, td, th, label, input, textarea {
  font-family: var(--font-body);
}

code, pre, .kip-mono {
  font-family: var(--font-mono);
}

/* ── Nav hover color ── */
body[data-header-color="custom"] #header-outer nav > ul > li > a:hover,
body[data-header-color="custom"] #header-outer nav > ul > li.sfHover > a {
  color: #76E9A5 !important;
}

/* ── Overrides Salient — liens (hors header) ── */
.entry-content a,
.wpb_wrapper a:not(.button):not(.nectar-button) { color: var(--kip-violet); }

.entry-content a:hover,
.wpb_wrapper a:not(.button):not(.nectar-button):hover { color: #5a1fc5; }

/* ── Boutons Salient → style Kiplearn ── */
.nectar-button,
a.nectar-button,
.button,
input[type="submit"],
button {
  font-family: var(--font-mono) !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 11px !important;
  border-radius: 0 !important;
}

/* ── Boutons CTA — orange ── */
.nectar-button.regular-button,
.nectar-button.see-through-2 {
  background-color: var(--kip-orange) !important;
  color: #fff !important;
  border-color: var(--kip-orange) !important;
}

/* ── Boutons secondaires — violet ── */
.nectar-button.see-through {
  background-color: transparent !important;
  color: var(--kip-violet) !important;
  border-color: var(--kip-violet) !important;
}

/* ── Highlight Salient color ── */
span.nectar-highlighted-text {
  color: var(--kip-violet);
}

/* ── Line-height headings — override Salient dynamic styles ── */
.row .col h5, body h5, #ajax-content-wrap .nectar-inherit-h5, [data-inherit-heading-family="h5"],
.row .col h6, body h6, #ajax-content-wrap .nectar-inherit-h6, [data-inherit-heading-family="h6"] {
  line-height: 1.3 !important;
}

/* Custom header Salient */
#menu-item-457::before, #menu-item-458::before{
	content: '-';
    color: rgba(255, 255, 255, 0.3);
    font-family: var(--font-mono);
    font-size: 10px;
    padding: 0 1.4em;
    pointer-events: none;
}
/* End Custom header Salient */

/* ── Labels / eyebrows style mono ── */
.nectar-fancy-heading .sub-heading,
.wpb_wrapper .subtitle,
.kip-label {
  font-family: var(--font-mono) !important;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--kip-violet);
}

/* ── Contenu — padding-top pour nav fixe ── */
#main-content,
#page-content-wrap {
  padding-top: 50px !important;
}

/* PAGE INTERNES */
.group-tag{
	display:flex;
	flex-wrap:wrap;
}
.tag-orange {
    background-color:#FFEBD3;
	border:1px solid #FFD4A5;
	color:#CC3602 !important;
    display:inline-block;
    padding:0px 5px;
	margin-right:5px;
	margin-bottom:5px;
    border-radius:5px;
	font-size: 14px;
}
.tag-violet {
    background-color:#DED6FE;
	border:1px solid #6F2AD7;
	color:#6F2AD7 !important;
    display:inline-block;
    padding:0px 5px;
	margin-right:5px;
	margin-bottom:5px;
    border-radius:5px;
	font-size: 14px;
}
.tag-mint {
    background-color:#BAFC9A;
	border:1px solid #1F580E;
	color:#1F580E !important;
    display:inline-block;
    padding:0px 5px;
	margin-right:5px;
	margin-bottom:5px;
    border-radius:5px;
	font-size: 14px;
}
.tag-white {
    background-color:none;
	border:1px solid #F5F4E9;
	color:#F5F4E9 !important;
    display:inline-block;
    padding:0px 5px;
	margin-right:5px;
	margin-bottom:5px;
    border-radius:5px;
	font-size: 14px;
}
.number{
	background-color:var(--kip-orange);
	display:inline-block;
	margin-right:12px;
	text-align:center;
	font-weight:600;
	width:40px;
	height:40px;
}
.numberlast{
	background-color:var(--kip-mint);
}

.kiplearntoptitle-orange{
    font-family: var(--font-mono);
    font-size: 14px;
    font-weight: 400;
    letter-spacing: .22em;
    color: var(--kip-orange);
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.kiplearntoptitle-mint{
    font-family: var(--font-mono);
    font-size: 14px;
    font-weight: 400;
    letter-spacing: .22em;
    color: var(--kip-mint);
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.kiplearntoptitle-violet{
    font-family: var(--font-mono);
    font-size: 14px;
    font-weight: 400;
    letter-spacing: .22em;
    color: var(--kip-violet);
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}


.kiplearntoptitle-white{
    font-family: var(--font-mono);
    font-size: 14px;
    font-weight: 400;
    letter-spacing: .22em;
    color: #f5f4ea;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.titlebold{
	font-weight: 800;
	letter-spacing: -0.04em;
    line-height: 0.92;
    color: var(--kip-orange);
}
.iconcenter{
	text-align:center;
}

.buttonkiplearn{
	font-family: var(--font-mono);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.buttonkiplearn::after{
	content: '';
    bottom: 4px;
    right: 4px;
    border-width: 0 2px 2px 0;
    border-color: #ff0000;
    z-index: 3;
    transition: border-color .5s cubic-bezier(.23, 1, .32, 1);
}

.numkiplearn{
	font-family: var(--font-mono);
    font-size: 33px;
	font-weight: 700;
    letter-spacing: .08em;
	color:var(--kip-white);
	margin-right:20px;
}

.p-bandeau{
	font-size:14px !important;
}

/*****DEBUT CUSTOM FORMULAIRE (page de contact)*******/


#page-contact .wpcf7 input, 
#page-contact .wpcf7 textarea, 
#page-contact .wpcf7 select{
	transition:none !important;
	box-shadow:none !important;
}



#page-contact .wpcf7 input:focus, 
#page-contact .wpcf7 textarea:focus, 
#page-contact .wpcf7 select:focus{
	outline:none !important;
	box-shadow:none !important;
}

#page-contact .wpcf7 input:active, 
#page-contact .wpcf7 textarea:active, 
#page-contact .wpcf7 select:active{
	box-shadow:none !important;
}


#page-contact .form-label{
	font-family: var(--font-mono);
    font-size: 14px;
}

#page-contact .input-custom{
	border-left:2px solid var(--kip-orange) !important;
}

#page-contact .input-custom:focus{
	background:#FFEBD3;
	border:none;
	box-shadow:none !important;
}

#page-contact .btn-submit{
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #050517;
  background: var(--kip-orange);
  padding: 20px 20px;
  text-decoration: none;
  transition: background .2s;
  will-change: transform;
  display:block;
  width:100%;
  border-radius:0px !important;
}

#page-contact .btn-submit::before, #page-contact .btn-submit::after{
  content: '';
  position: absolute;
  width: 7px; height: 7px;
  border-color: rgba(0,0,0,.65);
  border-style: solid;
  opacity: 1;
}


/* ════════════════════════════════════════
 Trait fin sous menu
════════════════════════════════════════ */

#header-outer #top {
  border-bottom: 1px solid var(--kip-w12) !important;
}


/* ════════════════════════════════════════
  BOUTON classics menu
════════════════════════════════════════ */
/* Style de base des liens menu — identique à .kip-nav-links a */
#header-outer #top nav > ul li:not([class*="button_"]) > a span.menu-title-text {
  font-family: var(--font-mono) !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--kip-w70) !important;
  text-decoration: none !important;
  transition: color .2s !important;
}

/* Texte mint au hover */
#header-outer #top nav > ul li:not([class*="button_"]) > a:hover span.menu-title-text {
  color: var(--kip-mint) !important;
}

/* Trait ::after plus espacé + mint */
#header-outer[data-lhe="animated_underline"] #top nav > ul 
li:not([class*="button_"]) > a span.menu-title-text::after {
  bottom: -8px !important;
  background: var(--kip-mint) !important;
}

/* Tiret ::before plus proche du texte */
#header-outer #top nav > ul li:not([class*="button_"])::before {
  padding: 0 0 !important;
}


/* Texte couleur vert mint si selectionné */
#header-outer #top nav > ul li.current-menu-item > a span.menu-title-text {
  color: var(--kip-mint) !important;
}

/* Texte couleur vert mint si enfant selectionné */
#header-outer #top nav > ul li.current-menu-item > a span.menu-title-text,
#header-outer #top nav > ul li.current-menu-ancestor > a span.menu-title-text {
  color: var(--kip-mint) !important;
}


/* ════════════════════════════════════════
   BOUTON TOP MENU LEFT
════════════════════════════════════════ */

/* Supprimer le déplacement vers le haut au hover */
.bt-header:hover {
  transform: none !important;
}

/* Modification forme du after */

#header-outer .nectar-header-text-content a.bt-header::after,
a.bt-header::after {
  content: '' !important;
  position: absolute !important;
  width: 8px !important;
  height: 8px !important;
  bottom: -8px !important;
  right: -8px !important;
  left: auto !important;
  top: auto !important;
  border-width: 0 2px 2px 0 !important;
  border-style: solid !important;
  border-color: rgba(255, 255, 255, 0.6) !important;
  background-color: transparent !important;
  transition: bottom .35s cubic-bezier(.23, 1, .32, 1), right .35s cubic-bezier(.23, 1, .32, 1) !important;
  pointer-events: none !important;
  transform: none !important;
}

#header-outer .nectar-header-text-content a.bt-header:hover::after,
a.bt-header:hover::after {
  bottom: -2px !important;
  right: -2px !important;
  left: auto !important;
  top: auto !important;
}

/* ════════════════════════════════════════
   FOOTER — commun à toutes les pages
════════════════════════════════════════ */
.kip-footer-img {
  width: 100%;
  line-height: 0;
  margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}
.kip-footer-img img {
  width: 100%;
  height: auto;
  display: block;
}
.kip-footer {
  position: relative;
  background: #000;
  border-top: 1px solid var(--kip-w12);
  overflow: hidden;
}
.kip-footer::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(700px circle at var(--gx, 50%) var(--gy, 200px), rgba(118,233,165,.07), transparent 65%);
  pointer-events: none;
  opacity: 0;
  transition: opacity .4s ease;
}
.kip-footer:hover::before { opacity: 1; }
.kip-footer__inner {
  position: relative;
  max-width: 1240px;
  margin: 14px auto;
  padding: clamp(1.25rem,2.5vw,2rem) var(--kip-gutter) clamp(1rem,2vw,1.5rem);
}
.kip-fc {
  position: absolute;
  width: 14px; height: 14px;
  font-style: normal;
  opacity: .25;
}
.kip-fc--tl { top: 0; left: 0; border-top: 1px solid #fff; border-left: 1px solid #fff; }
.kip-fc--tr { top: 0; right: 0; border-top: 1px solid #fff; border-right: 1px solid #fff; }
.kip-fc--bl { bottom: 0; left: 0; border-bottom: 1px solid #fff; border-left: 1px solid #fff; }
.kip-fc--br { bottom: 0; right: 0; border-bottom: 1px solid #fff; border-right: 1px solid #fff; }
.kip-footer__grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: clamp(2rem, 5vw, 5rem);
  margin-bottom: .75rem;
}
.kip-footer__col-label {
  font-family: var(--font-mono); font-size: 9px;
  letter-spacing: .2em; text-transform: uppercase;
  color: var(--kip-w40); margin: 0 0 .6rem;
}
.kip-footer__logo svg,
.kip-footer__logo img { height: 28px; width: auto; display: block; opacity: .9; }
.kip-footer__tagline {
  font-family: var(--font-body); font-size: 13px; font-weight: 400;
  color: var(--kip-w40); line-height: 1.5;
  margin: 6px 0 8px;
  white-space: nowrap;
}
.kip-footer__socials { display: flex; align-items: center; gap: .5rem; }
.kip-footer__social-link {
  display: flex; align-items: center; justify-content: center;
  width: 28px; height: 28px;
  border: 1px solid var(--kip-w12);
  color: var(--kip-w40);
  transition: border-color .2s, color .2s;
}
.kip-footer__social-link:hover { border-color: var(--kip-mint); color: var(--kip-white); }
.kip-footer__nav-list {
  list-style: none !important; padding: 0 !important; margin: 0 !important;
  display: flex; flex-direction: column; gap: 0;
}
.kip-footer__nav-list li { list-style: none !important; }
.kip-footer__nav-list a {
  font-family: var(--font-body); font-size: 13px; font-weight: 400;
  color: var(--kip-w40); text-decoration: none;
  line-height: 1.9;
  transition: color .2s;
}
.kip-footer__nav-list a:hover { color: var(--kip-white); }
.kip-footer__email {
  font-family: var(--font-mono); font-size: 11px;
  color: var(--kip-w70); text-decoration: none;
  letter-spacing: .03em;
  display: block;
  margin-bottom: .5rem;
  padding-bottom: .5rem;
  border-bottom: 1px solid var(--kip-w06);
  transition: color .2s;
}
.kip-footer__email:hover { color: var(--kip-mint); }
.kip-footer__bottom {
  border-top: 1px solid var(--kip-w06);
  padding-top: .5rem;
  margin-top: .5rem;
}
.kip-footer__copy {
  font-family: var(--font-mono); font-size: 8px;
  letter-spacing: .1em; color: var(--kip-w40);
  text-transform: uppercase;
}

/*FOOTER RESPONSIVE
@media screen (max-width: 992px){
	.kip-footer__grid {
	  display: grid;
	  grid-template-columns: 1fr;
	  gap: clamp(2rem, 5vw, 5rem);
	  margin-bottom: .75rem;
	}
}*/

/* ── Responsive footer ── */
@media (max-width: 900px) {
  .kip-footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: clamp(1.5rem, 4vw, 3rem);
  }
  .kip-footer__brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 768px) {
  .kip-footer__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .kip-footer__tagline {
    white-space: normal;
  }
}

/* Fond de la première ligne du tableau TablePress */
.tablepress thead tr {
    background-color: #212121 !important;
    color: #ffffff !important;
}

/* ═══════════════════════════════════════════════════════════════
   ANIMATIONS SITE
═══════════════════════════════════════════════════════════════ */