/*
Theme Name: Hello Elementor Enfant
Description: Theme enfant de Hello Elementor. Vous pouvez maintenant effectuer vos modifications en toute sécurité.
Author: WPMarmite
Author URI: https://wpmarmite.com
Template: hello-elementor
Version: 1.0
*/

/*CSS REMI*/
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root { --font-sans:'Inter',sans-serif; --font-display:'Space Grotesk',sans-serif }
body { font-family:var(--font-sans) }
.font-display { font-family:var(--font-display) }
::-webkit-scrollbar { width:8px }
::-webkit-scrollbar-track { background:#0a0a0a }
::-webkit-scrollbar-thumb { background:#333; border-radius:4px }
::-webkit-scrollbar-thumb:hover { background:#555 }
.back-to-top { position:fixed; bottom:2rem; right:2rem; width:52px; height:52px; display:flex; align-items:center; justify-content:center; border-radius:50%; color:#2EE6A8; background:rgba(46,230,168,.12); border:1px solid rgba(46,230,168,.45); box-shadow:0 0 40px rgba(46,230,168,.30),0 0 80px rgba(46,230,168,.15); cursor:pointer; z-index:9999; opacity:0; visibility:hidden; transform:translateY(12px); transition:opacity .35s ease,transform .35s ease,visibility .35s,background .25s ease,box-shadow .25s ease }
.back-to-top.is-visible { opacity:1; visibility:visible; transform:translateY(0) }
.back-to-top:hover { background:rgba(46,230,168,.22); box-shadow:0 0 50px rgba(46,230,168,.45),0 0 100px rgba(46,230,168,.20); transform:translateY(-3px) }
.back-to-top svg { width:22px; height:22px }


/*HEADER*/
a.custom-logo-link > img {width: 120px!important}
li.cta-menu {margin-left: 5rem}
.site-navigation ul.menu li {align-items: center}
.site-navigation ul.menu li a {color: white}
.site-navigation ul.menu li a:hover {color: white}
.cta-menu > a {text-align: center}


/*HOMEPAGE*/
.text-glow-green { color:#2EE6A8; text-shadow:0 0 40px rgba(46,230,168,.3),0 0 80px rgba(46,230,168,.15) }
.highlight-green { background:rgba(46,230,168,.20); padding:2px 6px; border-radius:4px; display:inline-block; transform:rotate(-.8deg); color:#FFF; font-weight:700 }
@keyframes marquee { 0% { transform:translateX(0) } 100% { transform:translateX(-50%) } }
@keyframes dataFlow { 0% { left:-100px; opacity:0 } 10% { opacity:1 } 90% { opacity:1 } 100% { left:calc(100% + 100px); opacity:0 } }

/* avant apres */
.photo-avant-1 { transform:rotate(-3deg); transition:transform .5s ease }
.photo-avant-1:hover { transform:rotate(-1deg) scale(1.03) }
.photo-avant-2 { transform:rotate(2.5deg); transition:transform .5s ease }
.photo-avant-2:hover { transform:rotate(.5deg) scale(1.03) }
.photo-apres { transform:rotate(1.5deg); transition:transform .5s ease }
.photo-apres:hover { transform:rotate(0) scale(1.02) }

/* Badge sticker marathon */
.badge-marathon { transform:rotate(6deg); animation:badge-float 3s ease-in-out infinite }
@keyframes badge-float { 0%,100% { transform:rotate(6deg) translateY(0) } 50% { transform:rotate(6deg) translateY(-4px) } }

/* Highlight or (pour le passé) */
.highlight-gold { background:rgba(242,183,5,.20); padding:2px 6px; border-radius:4px; display:inline-block; transform:rotate(-.8deg); color:#FFF; font-weight:700 }

/* cta vert */
.btn-rb, .cta-menu > a { position:relative; display:inline-flex; align-items:center; justify-content:center; gap:10px; min-width:160px; padding:14px 28px; font-family:'Inter',sans-serif; font-size:15px; font-weight:600; letter-spacing:-.01em; color:rgba(255,255,255,.85); background:rgba(46,230,168,.08); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); border:1px solid rgba(46,230,168,.25); border-radius:9999px; cursor:pointer; transition:all .3s ease; text-decoration:none }
.btn-rb:hover, .cta-menu > a:hover { color:#FFF; background:rgba(46,230,168,.15); border-color:rgba(46,230,168,.50); transform:translateY(-2px) scale(1.03); box-shadow:0 0 30px rgba(46,230,168,.20),0 0 60px rgba(46,230,168,.08) }
.btn-rb svg { width:18px; height:18px; stroke:rgba(46,230,168,.6); transition:all .3s ease }
.btn-rb:hover svg { stroke:#2EE6A8; filter:drop-shadow(0 0 6px rgba(46,230,168,.5)) }

/* Ligne lumineuse sous le texte */
.btn-glow-line { position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:60%; height:1px; border-radius:9999px; background:linear-gradient(90deg,transparent 0%,rgba(46,230,168,.5) 50%,transparent 100%); opacity:.25; transition:opacity .3s ease }
.btn-rb:hover .btn-glow-line { opacity:.7 }

/* Halo sous le bouton au hover */
.btn-rb-glow { position:absolute; bottom:-12px; left:50%; transform:translateX(-50%); width:180px; height:24px; border-radius:9999px; background:radial-gradient(60% 100% at 50% 50%,rgba(46,230,168,.35),rgba(46,230,168,.15) 35%,transparent 70%); filter:blur(10px) saturate(120%); opacity:0; transition:opacity .3s ease; pointer-events:none }
.btn-rb:hover + .btn-rb-glow,.group:hover .btn-rb-glow { opacity:1 }
.fade-in-up { animation:fadeInUp .8s ease-out forwards; opacity:0; transform:translateY(20px) }
@keyframes fadeInUp { to { opacity:1; transform:translateY(0) } }

/* faq */
.faq-item { border-bottom:1px solid rgba(255,255,255,.06) }
.faq-item:last-child { border-bottom:none }
.faq-question { cursor:pointer; -webkit-user-select:none; user-select:none }
.faq-answer { max-height:0; overflow:hidden; transition:max-height .4s ease,opacity .3s ease; opacity:0 }
.faq-item.active .faq-answer { max-height:500px; opacity:1 }
.faq-item.active .faq-icon { transform:rotate(45deg) }
.faq-icon { transition:transform .3s ease }
.faq-item.active .faq-question,.faq-item.active .faq-number { color:#2EE6A8 }

/* tableau */
.compare-table { width:100%; border-collapse:separate; border-spacing:0; overflow:hidden; border-radius:16px }
.compare-table th,.compare-table td { padding:18px 20px; font-size:14px; text-align:center; vertical-align:middle }
.compare-table th:first-child,.compare-table td:first-child { text-align:left }
.compare-table thead th { font-size:13px; font-weight:600; letter-spacing:.03em; border-bottom:1px solid rgba(255,255,255,.06) }
.compare-table tbody td { border-bottom:1px solid rgba(255,255,255,.04) }
.compare-table tbody tr:last-child td { border-bottom:none }

/* Colonne Run & Burn highlight */
.col-rb { background:rgba(46,230,168,.04); border-left:2px solid rgba(46,230,168,.25); border-right:2px solid rgba(46,230,168,.25) }
.compare-table thead .col-rb { border-top:2px solid rgba(46,230,168,.25) }
.compare-table tbody tr:last-child .col-rb,.compare-table .cta-row .col-rb { border-bottom:2px solid rgba(46,230,168,.25) }

/* Badges inline */
.chip-check { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%; background:rgba(46,230,168,.15); color:#2EE6A8; font-size:15px; font-weight:700 }
.chip-cross { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%; background:rgba(255,71,87,.10); color:#FF4757; font-size:13px; font-weight:600 }
.chip-partial { display:inline-block; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); color:#8A8A95; padding:4px 14px; border-radius:20px; font-size:12px; font-weight:500 }
.chip-paid { display:inline-block; background:rgba(242,183,5,.10); border:1px solid rgba(242,183,5,.25); color:#F2B705; padding:4px 14px; border-radius:20px; font-size:12px; font-weight:500 }

/* Hover row */
.compare-table tbody tr:not(.cta-row):hover td { background:rgba(255,255,255,.02) }
.compare-table tbody tr:not(.cta-row):hover .col-rb { background:rgba(46,230,168,.08) }

/* avis */
.avis-marquee { position:relative; overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent 0%,black 6%,black 94%,transparent 100%); mask-image:linear-gradient(90deg,transparent 0%,black 6%,black 94%,transparent 100%) }
.avis-track { display:flex; width:max-content; gap:24px; padding:8px 12px }
.avis-marquee-right .avis-track { animation:avis-scroll-right 80s linear infinite }
.avis-marquee-left .avis-track { animation:avis-scroll-left 80s linear infinite }
.avis-marquee:hover .avis-track { animation-play-state:paused }
@keyframes avis-scroll-right { 0% { transform:translateX(-50%) } 100% { transform:translateX(0) } }
@keyframes avis-scroll-left { 0% { transform:translateX(0) } 100% { transform:translateX(-50%) } }
.avis-card { flex:0 0 380px; display:flex; flex-direction:column; background:#1A1A20; border:1px solid rgba(255,255,255,.06); border-radius:16px; padding:28px; transition:border-color .4s ease,transform .4s ease,box-shadow .4s ease }
.avis-card:hover { border-color:rgba(46,230,168,.30); transform:translateY(-2px); box-shadow:0 0 30px rgba(46,230,168,.06) }
.avis-quote { font-family:var(--font-display); font-weight:500; font-size:15px; line-height:1.65; color:#E0E0E5; letter-spacing:-.01em; flex:1 }
.avis-signature { margin-top:22px; padding-top:18px; border-top:1px solid rgba(255,255,255,.06) }
.avis-name { font-size:13px; font-weight:600; color:#FFF; letter-spacing:.01em }


/*BLOG*/
body.wp-singular {background-color: rgb(10 10 10 / var(--tw-bg-opacity, 1))}
#comments {display: none}


/*ARTICLE*/
main.type-post {/* couleurs */ --rb-green:#2EE6A8; --rb-green-light:#5FFFCA; --rb-green-dark:#1DBF8A; --rb-ink:#FFF; --rb-text:#C9C9D1; --rb-text-strong:#E0E0E5; --rb-muted:#8A8A95; --rb-card:#1A1A20; --rb-border:rgba(255,255,255,.06); /* polices */ --rb-font-display:'Space Grotesk',sans-serif; --rb-font-sans:'Inter',sans-serif; font-family:var(--rb-font-sans); color:var(--rb-text); max-width:760px; margin-inline:auto }
main.type-post>*:first-child { margin-top:0 }
/* titres */
main.type-post h1 { font-family:var(--rb-font-display); font-weight:700; font-size:clamp(2.2rem,6vw,3rem); line-height:1.1; letter-spacing:-.03em; color:var(--rb-ink); margin:0 0 1.5rem }
main.type-post h2 { font-family:var(--rb-font-display); font-weight:700; font-size:clamp(1.6rem,4vw,2rem); line-height:1.2; letter-spacing:-.02em; color:var(--rb-ink); margin:3rem 0 1rem }
main.type-post h2::after { content:""; display:block; width:56px; height:3px; margin-top:.75rem; border-radius:9999px; background:linear-gradient(90deg,var(--rb-green-dark),var(--rb-green),var(--rb-green-light)) }
main.type-post h3 { font-family:var(--rb-font-display); font-weight:600; font-size:clamp(1.2rem,3vw,1.4rem); line-height:1.3; letter-spacing:-.01em; color:var(--rb-ink); margin:2.25rem 0 .75rem }
/* texte */
main.type-post p { font-size:1.0625rem; line-height:1.8; color:white; margin:0 0 1.5rem }
main.type-post strong { color:var(--rb-ink); font-weight:700 }
main.type-post em { color:var(--rb-text-strong); font-style:italic }
main.type-post a { color:var(--rb-green);text-decoration-thickness:1px; text-underline-offset:3px; text-decoration-color:rgba(46,230,168,.40); transition:color .2s ease,text-decoration-color .2s ease }
main.type-post a:hover { color:var(--rb-green-light); text-decoration-color:var(--rb-green-light) }
/* listes */
main.type-post ul { list-style:none; margin:0 0 1.5rem; padding:0 }
main.type-post ul li { position:relative; padding-left:1.75rem; margin-bottom:.75rem; font-size:1.0625rem; line-height:1.7; color:var(--rb-text) }
main.type-post ul li::before { content:""; position:absolute; left:0; top:.7em; width:8px; height:8px; border-radius:9999px; background:var(--rb-green); box-shadow:0 0 10px rgba(46,230,168,.50); transform:translateY(-50%) }
main.type-post ol { list-style:none; counter-reset:rb-counter; margin:0 0 1.5rem; padding:0 }
main.type-post ol li { position:relative; padding-left:2.5rem; margin-bottom:.85rem; font-size:1.0625rem; line-height:1.7; color:var(--rb-text); counter-increment:rb-counter }
main.type-post ol li::before { content:counter(rb-counter); position:absolute; left:0; top:.05em; width:1.6rem; height:1.6rem; display:flex; align-items:center; justify-content:center; border-radius:9999px; background:rgba(46,230,168,.12); border:1px solid rgba(46,230,168,.30); color:var(--rb-green); font-family:var(--rb-font-display); font-size:.8rem; font-weight:700 }
/* citations & images */
main.type-post blockquote { margin:2rem 0; padding:1.25rem 1.5rem; border-left:3px solid var(--rb-green); background:rgba(46,230,168,.04); border-radius:0 12px 12px 0; color:var(--rb-text-strong); font-style:italic }
main.type-post blockquote p:last-child { margin-bottom:0 }
main.type-post img { max-width:100%; height:auto; border-radius:14px; border:1px solid var(--rb-border); margin:1.5rem 0 }
/* faq */
main.type-post .faq { display:flex; flex-direction:column; gap:1rem; margin:2.5rem 0 }
main.type-post .faq-item { background:var(--rb-card); border:1px solid var(--rb-border); border-left:2px solid rgba(46,230,168,.30); border-radius:16px; padding:1.5rem 1.75rem; transition:border-color .35s ease,transform .35s ease,box-shadow .35s ease }
main.type-post .faq-item:hover { border-color:rgba(46,230,168,.30); border-left-color:var(--rb-green); transform:translateY(-2px); box-shadow:0 0 30px rgba(46,230,168,.06) }
main.type-post .faq-item h3 { font-family:var(--rb-font-display); font-weight:600; font-size:1.05rem; line-height:1.4; color:var(--rb-ink); margin:0 0 .75rem }
main.type-post .faq-item p { font-size:.95rem; line-height:1.7; color:var(--rb-muted); margin:0 }
main.type-post .faq-item p strong { color:var(--rb-text-strong) }
/*mise en page*/
.rb-single--has-hero{padding-top:0}
.rb-hero{position:relative;width:100%;min-height:clamp(320px,45vh,520px);display:flex;align-items:flex-end;background-size:cover;background-position:center;margin-bottom:3rem}
.rb-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,12,.45) 0%,rgba(10,10,12,.70) 55%,#0A0A0C 100%)}
.rb-hero__inner{position:relative;z-index:1;width:100%;max-width:1000px;margin:0 auto;padding:0 1.5rem 3rem}
.rb-hero__title{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(2rem,5vw,3.25rem);line-height:1.1;letter-spacing:-.03em;color:#fff;margin:0;max-width:24ch;text-shadow:0 2px 30px rgba(0,0,0,.5)}
.rb-single { --rb-green:#2EE6A8; --rb-green-light:#5FFFCA; --rb-green-dark:#1DBF8A; --rb-muted:#8A8A95; --rb-text-strong:#E0E0E5; --rb-header-offset:100px; /* header fixe */ padding-top:2rem;max-width:1400px!important}
.rb-single__layout { display:grid; grid-template-columns:3fr 7fr; gap:clamp(2rem,5vw,4rem); margin:0 auto; padding:0 1.5rem 4rem }
.rb-single__layout--notoc { grid-template-columns:minmax(0,800px); justify-content:center }
.rb-single__content { min-width:0 }
.rb-single__header .entry-title { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:clamp(2rem,5vw,3rem); line-height:1.1; letter-spacing:-0.03em; color:#FFFFFF; margin:0 0 2rem }
.rb-single__body.rb-article { max-width:none; margin-inline:0 }
.rb-single__body.rb-article .elementor-widget-text-editor {color: white}
.rb-single__body h2, .rb-single__body h3 { scroll-margin-top:var(--rb-header-offset) }
.rb-toc { min-width:0 }
.rb-toc__inner { position:sticky; top:var(--rb-header-offset); max-height:calc(100vh - var(--rb-header-offset) - 2rem)}
.rb-toc__title { font-family:'Space Grotesk',sans-serif; font-size:0.7rem; font-weight:700; text-transform:uppercase; letter-spacing:0.15em; color:var(--rb-green); margin:0 0 1rem }
.rb-toc__list { list-style:none; margin:0; padding:0 }
li.rb-toc__item {padding-left: 0!important}
li.rb-toc__item::before {display: none!important}
.rb-toc__item a { display:block; padding:0.4rem 0 0.4rem 1rem; border-left:2px solid rgba(255,255,255,0.08); color:var(--rb-muted); font-family:'Inter',sans-serif; font-size:0.875rem; line-height:1.4; text-decoration:none; transition:color .2s ease,border-color .2s ease }
li.rb-toc__item--h3 {margin-bottom: 0!important}
li.rb-toc__item--h2 {margin-top: .75rem!important}
.rb-toc__item--h3 a { padding-left:2rem; font-size:0.82rem }
.rb-toc__item a:hover { color:var(--rb-text-strong) }
.rb-toc__item.is-active a { color:#FFFFFF; border-left-color:var(--rb-green) }
.rb-progress { position:fixed; left:0; bottom:0; width:100%; height:4px; background:rgba(255,255,255,0.06); z-index:9999 }
.rb-progress__bar { height:100%; width:0; background:linear-gradient(90deg,var(--rb-green-dark),var(--rb-green),var(--rb-green-light)); box-shadow:0 0 12px rgba(46,230,168,0.5) }
@media (max-width:1024px) { .rb-single__layout { grid-template-columns:1fr } .rb-toc { display:none } }
/**/


/* RESPONSIVE */
@media (max-width:768px) {
.compare-table th,.compare-table td { padding:14px 12px; font-size:12px }
.compare-table th:first-child,.compare-table td:first-child { min-width:140px }
}

@media (max-width:768px) {
.avis-card { flex:0 0 300px; padding:24px }
.avis-quote { font-size:14px }
.avis-marquee-right .avis-track,.avis-marquee-left .avis-track { animation-duration:60s }
}