/* 
Theme Name: Le pro du Web
Theme URI: https://leproduweb.fr
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Le Pro Du Web
Author: Le pro du Web
Author URI: https://leproduweb.fr
Template: hello-elementor
Version: 3.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
*/

/* Add your custom styles here */
/* Textes */
    :root {
      --rose:   #F6BED1;
      --jaune:  #FEFE12;
      --orange: #FB5D32;
      --violet: #7F00FF;
      --white:  #ffffff;
      --beige:  #fffae3;
      --gris:   #f5f3f0;
      --dark:   #0a0118;
    }

.drapeaux .wc-langues img {width: 26px!important; height: 18px!important;}
.drapeaux .wc-langues a span {color: #0a0118!important;}

@media screen and  (max-width : 1440px) {
    h1, h1 span { font-size: calc(24px + (80 - 24) * ((100vw - 320px) / (1440 - 320)))!important; line-height: calc(24px + (90 - 24) * ((100vw - 320px) / (1440 - 320)))!important;}
    h3, h3 span { font-size: calc(15px + (24 - 15) * ((100vw - 320px) / (1440 - 320)))!important; line-height: calc(18px + (26 - 18) * ((100vw - 320px) / (1440 - 320)))!important;}
    }

    
p { margin-block-end: 0; margin-block-start: 0; }

.elementor-element-3e0f1f7f, .elementor-element-895c1a3 {animation: logo-color-cycle 4.2s steps(1,end) infinite;}
 @keyframes logo-color-cycle {
      0%,24%   { filter: brightness(0) saturate(100%) invert(95%) sepia(100%) saturate(1200%) hue-rotate(5deg) brightness(108%) contrast(110%); }
      25%,49%  { filter: brightness(0) saturate(100%) invert(43%) sepia(100%) saturate(600%) hue-rotate(338deg) brightness(115%) contrast(105%); }
      50%,74%  { filter: brightness(0) saturate(100%) invert(84%) sepia(25%) saturate(500%) hue-rotate(298deg) brightness(118%) contrast(92%); }
      75%,99%  { filter: brightness(0) saturate(100%) invert(18%) sepia(100%) saturate(4000%) hue-rotate(265deg) brightness(105%) contrast(120%); }
      100%     { filter: brightness(0) saturate(100%) invert(95%) sepia(100%) saturate(1200%) hue-rotate(5deg) brightness(108%) contrast(110%); }
    }

.hero-bg::before {background: radial-gradient(ellipse at 25% 55%, #2a0d50 0%, #160830 40%, #0a0118 100%);}

.elementor-element-6acb34f h1 span {background-color: #7F00FF; color: white; border-radius: 999px; padding: .08em .5em .12em; display: inline-block; margin-top: 6px;}
.titre-jaune h2 span {color: #FEFE12; }

.box-shadow a {box-shadow: 0 8px 28px rgba(251,93,50,.45); transition: transform .2s, box-shadow .2s;}
.box-shadow a:hover { transform: translateY(-3px); box-shadow: 0 14px 36px rgba(251,93,50,.55); }
.display-none .elementor-counter-number {display: none;}
.titre-h2 h2, .titre-h2 h2 span {font-size: clamp(28px, 3.5vw, 50px)!important; font-weight: 700; line-height: 1.15;}
.srv-card:hover { transform: translateY(-6px); box-shadow: 0 24px 60px rgba(72,19,120,.2); }

.bg-violet span, span.bg-violet {background-color: #7F00FF; color: white; padding: 0.1em 0.45em 0.15em; border-radius: 999px; font-weight: 700; vertical-align: baseline;}
.bg-jaune span, span.bg-jaune  {background-color: #FEFE12; color: #7F00FF; padding: 0.1em 0.45em 0.15em; border-radius: 999px; font-weight: 700; vertical-align: baseline;}
.bg-orange span, span.bg-orange {background-color: #FB5D32; color: #fff; padding: 0.1em 0.45em 0.15em; border-radius: 999px; font-weight: 700; vertical-align: baseline;}
.bg-rose span, span.bg-rose {background-color: #F6BED1; color: #fff; padding: 0.1em 0.45em 0.15em; border-radius: 999px; font-weight: 700; vertical-align: baseline;}

span.texte-bg-rose {background-color: #F6BED1; color: #7F00FF; padding: 0.1em 0.4em 0.15em; border-radius: 999px; }
span.texte-bg-jaune {background-color: #FEFE12; color: #7F00FF; padding: 0.1em 0.4em 0.15em; border-radius: 999px; }
span.texte-bg-orange {background-color: #FB5D32; padding: 0.1em 0.4em 0.15em; border-radius: 999px; }

.tag-violet p { background-color: rgba(127,0,255,.1); color: var(--violet); padding: 4px 10px; border-radius: 20px;}
.tag-orange p { background: rgba(251,93,50,.1); color: var(--orange); padding: 4px 10px; border-radius: 20px;}
.tag-jaune p { background: rgba(254,254,18,.3); color: var(--violet); color: var(--violet); padding: 4px 10px; border-radius: 20px;}
.tag-rose p { background: rgba(246,190,209,.4); color: var(--violet); padding: 4px 10px; border-radius: 20px;}
.tag {background: rgba(254,254,18,.2); border-radius: 20px;}

.why-card { background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 24px; padding: 36px 30px; transition: background 0.2s; }
.cta-section::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 0%, rgba(127,0,255,.35) 0%, transparent 65%); }
.hero-video-overlay {position: absolute;
inset: 0;
z-index: 1;
background: linear-gradient( 105deg, rgba(72,19,120,.88) 0%, rgba(72,19,120,.70) 50%, rgba(72,19,120,.50) 100% ); }

/* WC-REUSABLE-START — classes reutilisables ajoutees pour les pages WeCare */
span.c-jaune{color:var(--jaune)!important;}
span.c-orange{color:var(--orange)!important;}
span.c-rose{color:var(--rose)!important;}
span.c-violet{color:var(--violet)!important;}
.wc-tag{display:inline-block;border:2px solid currentColor;border-radius:999px;padding:6px 18px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;}
.service-card{background:#fff;border-radius:20px;padding:28px;border:1.5px solid rgba(72,19,120,.07);transition:transform .2s,box-shadow .2s;height:100%;}
.service-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(72,19,120,.10);}
.faq-item{background:#fff;border-radius:18px;padding:8px 6px;border:1.5px solid rgba(72,19,120,.07);}
.formule-card{background:#fff;border-radius:24px;padding:34px 30px;border:1.5px solid rgba(72,19,120,.10);height:100%;transition:transform .2s,box-shadow .2s;}
.formule-card:hover{transform:translateY(-5px);box-shadow:0 20px 50px rgba(72,19,120,.15);}
.formule-reco{border:2px solid var(--violet);box-shadow:0 20px 50px rgba(72,19,120,.18);}
.glass-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:24px;height:100%;}
/* WC-REUSABLE-END */

/* WC-FONT-START — Poppins par defaut sur tout le site, Fredoka uniquement sur l'accueil (page 11) */
body:not(.page-id-11) { font-family: 'Poppins', sans-serif !important; }

body:not(.page-id-11) .elementor-heading-title, body:not(.page-id-11) .elementor-heading-title *, body:not(.page-id-11) .elementor-button, body:not(.page-id-11) .elementor-button * { font-family: 'Poppins', sans-serif !important; }

/* WC-FONT-END */


.tarifs span {font-size: 44px; font-weight: 900; margin-bottom: 6px;}
.check-list { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.check-list li { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; color: var(--violet); font-weight: 700; line-height: 1.5; }
.check-dot { width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 1px; }

/* #pour-particulier {background-color: #7F00FF; color: white; border-radius: 16px;}*/ 
.e-n-menu-item:after {content: '✳'; color: #FB5D32;  display: flex; justify-content: center; align-items: center; padding-left: 15px;}
.e-n-menu-item:last-child::after {padding-left: 0px; content: '';}
.compare-divider { width: 2px; background: rgba(72,19,120,.08); display: flex!important; align-items: center; justify-content: center; height: 100%;}
.compare-divider span { background: var(--orange); color: white; font-weight: 900; font-size: 14px; padding: 6px 4px; writing-mode: vertical-lr; border-radius: 4px; }
.compare-list { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.compare-list li { font-size: 13px; line-height: 1.5; color: rgba(72, 19, 120, 0.7); display: flex; gap: 8px; align-items: flex-start; }
.compare-list.after li::before { content: "✓"; color: var(--violet); font-weight: 900; flex-shrink: 0; }
.compare-list.before li::before { content: "✗"; color: var(--orange); font-weight: 900; flex-shrink: 0; }
.process-steps::before { content: ""; position: absolute; top: 47px; left: 5%; right: 5%; height: 2px; background: rgba(72, 19, 120, 0.15); z-index: 0; width: 94%;}

.elementor-element-6056c1d5 h2 {font-size: 1.5rem; font-weight: 700; color: var(--violet); margin: 2rem 0 1rem;}
.wp-block-paragraph {font-family: 'Fredoka',sans-serif; color: #333; font-size: 15px; line-height: 1.8;}

/* WC-ARCHIVE-TAGS */
.wc-tags .elementor-post-info__terms-list{display:flex;flex-wrap:wrap;gap:8px;}
.wc-tags a, .wc-tags .elementor-post-info__terms-list-item{display:inline-block;background:#f0eef5;color:#1E0A3C;border-radius:999px;padding:5px 14px;font-size:13px;font-weight:700;text-decoration:none;}
.wc-tags .elementor-post-info__terms-list__separator{display:none;}

/* WC-ARCHIVE-TAGS2 */
.wc-tags .elementor-post-info__item{padding:0;}
.wc-tags .elementor-post-info__icon,.wc-tags .elementor-post-info__icon-container{display:none!important;}
.wc-tags ul.elementor-post-info{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;}
.wc-tags .elementor-post-info__terms-list a{display:inline-block;background:#f0eef5;color:#1E0A3C;border-radius:999px;padding:5px 14px;font-size:13px;font-weight:700;text-decoration:none;margin:0 4px 4px 0;}
.wc-tags .elementor-post-info__terms-list__separator{display:none!important;}

.blanc-50 a, .blanc-50 a span {color:rgba(255,255,255,.55)!important;}
.blanc-50 a:hover span {color:rgba(255,255,255,1)!important;}


/* WC-LANG-SWITCHER-CSS */
ul.wc-langues{display:flex;gap:10px;align-items:center;list-style:none;margin:0;padding:0;}
ul.wc-langues li{margin:0;padding:0;}
ul.wc-langues a{display:flex;align-items:center;gap:5px;text-decoration:none;font-weight:700;font-size:13px;text-transform:uppercase;color:#fff;opacity:.65;transition:opacity .15s;}
ul.wc-langues a:hover{opacity:1;}
ul.wc-langues .current-lang a{opacity:1;}
ul.wc-langues img{width:18px;height:auto;border-radius:2px;display:block;}


/* WC-RETOUR-BLOG-CSS */
a.wc-retour-blog{font-family:'Fredoka',sans-serif;font-size:14px;font-weight:700;color:#7F00FF;text-decoration:none;display:inline-block;}
a.wc-retour-blog:hover{opacity:.8;}

/* WC-LIRE-CSS */
a.wc-lire{
  display:inline-block;
  font-family:'Fredoka', sans-serif;
  font-size:12px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.3px;
  color:#7F00FF;
  text-decoration:none;
  background:transparent;
  border:none;
  padding:0;
  transition:color .2s ease;
}
a.wc-lire:hover{ color:#5c00b8; }

/* WC-INSCRIPTION-CSS */
a.wc-inscription{
  display:block;
  width:100%;
  box-sizing:border-box;
  text-align:center;
  font-family:'Fredoka', sans-serif;
  font-size:15px;
  font-weight:700;
  letter-spacing:1px;
  color:#fff;
  background:#7F00FF;
  border:none;
  border-radius:12px;
  padding:12px 20px;
  margin-top:20px;
  text-decoration:none;
  transition:opacity .2s ease;
}
a.wc-inscription:hover{ opacity:.9; color:#fff; }
@media (max-width:767px){ a.wc-inscription{ padding:12px 14px; } }


/* Grille des quatre cartes */
.elementor-element-168e1d4 > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch !important;
}
/* cartes équipe*/
/* Chaque carte : image au-dessus, texte en dessous */
.elementor-element-168e1d4 > .e-con-inner > .e-con {
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-width: 0;
  height: auto !important;
  max-height: none !important;
  gap: 0 !important;
}

/* Conteneur image : conserve sa hauteur définie dans Elementor */
.elementor-element-168e1d4 > .e-con-inner > .e-con > .e-con:first-child {
  flex: 0 0 auto !important;
}

/* Conteneur coloré : remplit toute la hauteur restante */
.elementor-element-168e1d4 > .e-con-inner > .e-con > .e-con:nth-child(2) {
  flex: 1 0 auto !important;
  height: auto !important;
  max-height: none !important;
}

/* Tablette : deux cartes par ligne */
@media (max-width: 1024px) {
  .elementor-element-168e1d4 > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Mobile : une carte par ligne */
@media (max-width: 767px) {
  .elementor-element-168e1d4 > .e-con-inner {
    grid-template-columns: 1fr;
  }
}

/* carte accueil */
/* Rangée contenant les cartes */
.srv-cards {
    align-items: stretch !important;
}

/* Chaque carte complète */
.srv-cards > .srv-card {
    display: flex !important;
    flex-direction: column !important;
    align-self: stretch !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}

/* En-tête avec la photo */
.srv-cards > .srv-card > .e-con:first-child {
    flex: 0 0 auto !important;
}

/* Partie inférieure de la carte */
.srv-cards > .srv-card > .e-con:nth-child(2) {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}

/* Place les étiquettes en bas */
.srv-cards
> .srv-card
> .e-con:nth-child(2)
> .e-con:last-child {
    margin-top: auto !important;
}

/* Évite les espacements excessifs du texte justifié */
.srv-cards .srv-card p {
    text-align: left;
}


.liste-icon-bg-jaune .elementor-icon-list-icon { background-color: #FEFE12; border-radius: 50%; padding-right: 1px; padding-left: 6px; padding-top: 5px; padding-bottom: 5px;}
.liste-icon-orange-clair .elementor-icon-list-icon { background-color: rgba(239,50,2,.15); border-radius: 50%; padding-right: 1px; padding-left: 6px; padding-top: 5px; padding-bottom: 5px;}
.liste-icon-violet-clair .elementor-icon-list-icon { background-color: rgba(72,19,120,.12); border-radius: 50%; padding-right: 1px; padding-left: 6px; padding-top: 5px; padding-bottom: 5px;}
.liste-icon-rose .elementor-icon-list-icon { background-color: #F6BED1; border-radius: 50%; padding-right: 1px; padding-left: 6px; padding-top: 5px; padding-bottom: 5px;}


.elementor-element-5f00d39 {display: flex; gap: 10px;}
.elementor-element-5f00d39 span {background-color: #fffae3; border-radius: 25px; padding: 15px;}


@media (max-width:590px){
.elementor-element-200ace1 .elementor-counter-title { text-align: center; }
}


.elementor-6663 .elementor-element.elementor-element-aff832b .elementor-field-group .elementor-select-wrapper select { color: #1f2124; }
.elementor-1603 .elementor-element.elementor-element-5c5ee26 .elementor-button:hover {border-color:#7F00FF}