/* Modèle « Clair » : repris de l'ancienne preprod.moncv.com (templates/cv-3, template-03.css).
   Couleurs : .theme-color-N (choix de l'éditeur) ; polices : --title-font et --text-font (Render\\Cv::style). */
body {background: white;}
h2 {font-size: 34px; line-height: 42px;; margin: 0 0 40px 0; font-weight: bold;}
footer, header, .cta-bottom {display: none !important;}
p, li {color: #3c3c3c;}

/* MENU */
.cvel-container {max-width: 1400px; margin: auto; padding: 0 25px;}
.cvel-content {padding-top: 75px;}
.cvel-nav {position: fixed; width: 100%; background: white; z-index: 99999; transition: .4s;}
.cvel-nav.scrolled {background: #f1f1f1;}
.cvel-nav .cvel-container {display: flex; align-items: center; gap: 40px; padding-top: 15px; padding-bottom: 15px; margin: auto; transition: .3s;}
.cvel-nav .cvel-nav-links {margin-left: auto; display: flex; gap: 25px;}
.cvel-nav a, .cvel-nav .cvel-nav-name h1 {text-decoration: none !important; padding: 10px 0; color: black; font-size: 14px;}
.cvel-nav .cvel-nav-name a, .cvel-nav .cvel-nav-name h1 {font-size: 18px; line-height: 25px; font-weight: bold; margin: 0;}

/* PROFIL */
.content-cvel-profil {display: flex; gap: 40px; padding: 50px 0;}
.content-cvel-profil .col-cvel-profil:first-child {width: 30%;}
.content-cvel-profil .cvel-profil-img-infos {display: flex; flex-direction: column; background: #f1f1f1; border-radius: 20px; overflow: hidden; height: 100%; align-items: center; justify-content: center;}
.content-cvel-profil .cvel-profil-img-infos img {max-height: 100%; object-fit: cover; overflow: hidden; border-radius: 20px 20px 0 0; margin: auto; display: block;}
.content-cvel-profil .cvel-profil-img-infos .cvel-profil-infos {margin: 0; padding: 20px 30px; border-radius: 0 0 20px 20px; list-style: none; display: flex; flex-direction: column;}
.content-cvel-profil .cvel-profil-img-infos .cvel-profil-infos li {display: flex; align-items: center; gap: 8px; padding: 0;}
.cvel-rs-download {display: flex; gap: 25px; align-items: center;}
.cvel-rs-download .cvel-download-cv {text-decoration: none !important; background: #f1f1f1; padding: 10px 30px; border-radius: 50px; font-weight: 600; color: black;}
.content-cvel-profil .col-cvel-profil:last-child {width: 70%; display: flex; flex-direction: column; justify-content: center;}
.content-cvel-profil h1, .content-cvel-profil .cvel-name {font-size: 45px; line-height: 55px; margin-bottom: 0; font-weight: bold;}
.content-cvel-profil .cvel-job {font-size: 25px; color: #000000; margin-top: 8px; margin-bottom: 8px;}
.cvel-rs {display: flex; gap: 10px;}
.cvel-rs a {color: black; letter-spacing: 1px; font-size: 14px; position: relative;}
.cvel-rs svg {display: block; width: 22px; height: 22px; fill: #000000;}

/* EXPERIENCES / FORMATIONS */
.cvel-xp {padding: 50px 0;}
.cvel-xp h2 {text-align: center;}
.content-cvel-xp {width: 100%; display: flex; flex-wrap: wrap; max-width: 1200px; margin: auto; gap: 40px;}
.bloc-content-cvel-xp p {margin: 0;}
.dates-cvel {position: relative; min-width: 150px;}
.dates-cvel p {font-size: 14px; font-style: italic;}
.cvel-txt-xp-job {font-size: 20px; line-height: 24px; font-weight: 600; color: black; padding-bottom: 10px;}
.cvel-txt-xp-ese {font-size: 16px; line-height: 22px;}
.txt-xp-cvel ul {margin: 10px 0;}
.txt-xp-cvel li {padding: 0;}
.bloc-txt-xp-cvel {padding-bottom: 40px;}
.cvel-xp-forma {padding: 50px 0;}
.bloc-content-cvel-xp {width: calc(50% - 20px);}
.dates-cvel {margin-left: auto; background: #f1f1f1; padding: 5px 15px; border-radius: 8px; display: flex; margin-top: 10px; gap: 18px;}
.dates-cvel p:nth-child(2):before {content:"-"; position: relative; left: -9px;}

/* REALISATIONS */
.cvel-real {padding: 50px 0;}
.cvel-real h2 {text-align: center;}
.cvel-listing-real {display: flex; flex-wrap: wrap; justify-content: center; gap: 40px;}
.cvel-listing-real .cvel-bloc-real {width: calc(33.33% - 27px); position: relative; background: #f1f1f1; border-radius: 20px;}
.cvel-listing-real .cvel-bloc-real h3 {font-size: 16px; margin: 0; font-weight: bold; padding: 0 25px;}
.cvel-listing-real .cvel-bloc-real .cvel-bloc-real-img img {border-radius: 20px; display: block; height: 300px; object-fit: cover; overflow: hidden; width: 100%; display: block; position: absolute; top: 0; left: 0; opacity: 0; transition: opacity 0.5s ease; z-index: 0;}
.cvel-bloc-real-img {margin-top: auto; position: relative; overflow: hidden; height: 300px; margin-bottom: 20px;}
.cvel-listing-real .cvel-bloc-real .cvel-bloc-real-img img.active {opacity: 1; z-index: 1;}
.cvel-desc-real {padding: 0 25px;}

/* COMPÉTENCES */
.cvel-comp {padding: 50px 0; max-width: 1000px; margin: auto;}
.cvel-comp h2 {text-align: center;}
.cvel-comp-listing {width: 100%; margin-left: auto; display: flex; flex-wrap: wrap; gap: 40px; position: relative;}
.cvel-comp-listing .cvel-comp-bloc {width: calc(50% - 20px); display: flex; flex-direction: column;}
.cvel-comp-listing .cvel-comp-bloc h3 {font-size: 16px; line-height: 24px; margin-bottom: 4px; margin-top: 0; font-weight: 600; color: black;}
.cvel-comp-listing .cvel-comp-bloc .desc {margin: 4px 0; font-size: 15px; line-height: 20px;}
.cvel-bloc-icon {width: 75px; height: 75px; min-width: 75px; min-height: 75px; display: flex; align-items: center; justify-content: center; background: #f1f1f1; border-radius: 10px; padding: 8px;}
.cvel-bloc-icon i {font-size: 35px; color: black;}
.cvel-bloc-icon-txt {display: flex; gap: 25px;}
.cvel-bloc-comp-txt {display: flex; flex-direction: column; justify-content: center;}
.rating-note {display: block; width: 100%; height: 16px; background: #f1f1f1; border-radius: 50px; position: relative; margin-top: 15px;}
.rating-note span {display: none;}
.rating-note:before {content: ""; position: absolute; left: 2px; top: 2px; height: 12px; width: 100%; background: #252525; border-radius: 50px;}
.rating-note[data-value="1"]:before {width: calc(20% - 4px);}
.rating-note[data-value="2"]:before {width: calc(40% - 4px);}
.rating-note[data-value="3"]:before {width: calc(60% - 4px);}
.rating-note[data-value="4"]:before {width: calc(80% - 4px);}
.rating-note[data-value="5"]:before {width: calc(100% - 4px);}

/* OUTILS */
.cvel-tools {padding: 50px 0; max-width: 1000px; margin: auto;}
.cvel-tools h2 {text-align: center;}
.cvel-listing-tools {width: 100%; display: flex; gap: 40px; flex-wrap: wrap; justify-content: center;}
.cvel-listing-tools .bloc-tools {width: calc(50% - 20px);}
.bloc-tools h3 {font-size: 16px; line-height: 24px; margin-bottom: 4px; margin-top: 0; font-weight: 600; color: black;}
.bloc-tools .desc {margin: 4px 0; font-size: 15px; line-height: 20px;}

/* LANGUES */
.cvel-langues h2 {text-align: center;}
.bloc-langue .content-bloc-tools {width: 100%;}
.cvel-loisirs .cvel-listing-tools .bloc-tools, .cvel-langues .cvel-listing-tools .bloc-tools {width: calc(33.33% - 27px); display: flex; align-items: center; gap: 25px;}

/* LOISIRS */
.cvel-loisirs h2 {text-align: center;}

/* CONTACT */
.cvel-contact {padding: 50px 0;}
.cvel-contact h2 {text-align: center;}
.cvel-contact form {display: flex; flex-wrap: wrap; max-width: 800px; margin: 40px auto 0 auto; gap: 20px;}
.cvel-contact form .form-group {width: calc(50% - 10px);}
.cvel-contact form .form-group input, .cvel-contact form .form-group input[type="email"] {width: 100% !important; height: 50px; border: none; border-radius: 10px; background: #f1f1f1; padding: 10px 15px !important;}
.cvel-contact form .form-group-full {width: 100%;}
.cvel-contact form .form-group-full textarea {background: #f1f1f1; border: none !important; max-width: 100%; min-width: 100%; min-height: 50px; border-radius: 10px; padding: 15px !important;}
.cvel-contact form .btn-submit {background: black; border: none; font-size: 16px; line-height: 25px; padding: 10px 30px; border-radius: 10px; color: white; margin: auto; cursor: pointer;}

.carousel-arrow {position: absolute; top: 50%; transform: translateY(-50%); border: none; font-size: 18px; cursor: pointer; z-index: 10; border-radius: 5px; background: rgb(255 255 255 / 58%); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.3); width: 40px; height: 40px;}
.carousel-arrow i {color: black !important;}
.carousel-arrow.prev {left: 10px;}
.carousel-arrow.next {right: 10px;}
.carousel-dots {text-align: center; margin-top: 10px; position: absolute; top: 260px; display: flex; justify-content: center; align-items: center; width: 100%; gap: 10px; z-index: 2;}
.carousel-dots span {display: inline-block; width: 10px; height: 10px; border-radius: 50px; cursor: pointer; background: rgb(255 255 255 / 77%); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.3);}
.carousel-dots span.active {background: #303030;}
#lightbox {position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgb(0 0 0 / 54%); display: flex; justify-content: center; align-items: center; z-index: 99999; backdrop-filter: blur(10px);}
#lightbox .lightbox-content {position: relative; max-width: 1200px; max-height: 90vh; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; margin: 0 30px;}
#lightbox img {max-width: 100%; max-height: 100%; display: block; width: auto; height: auto; border-radius: 10px;}
#lightbox .close {position: absolute; top: 20px; right: 30px; color: black; font-size: 25px; cursor: pointer; border-radius: 5px; background: rgb(255 255 255 / 58%); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.3); width: 50px; height: 50px; display: flex; justify-content: center; line-height: 35px; z-index: 9999999; align-items: center;}
#lightbox .lightbox-prev, #lightbox .lightbox-next {position: absolute; top: 50%; transform: translateY(-50%); font-size: 22px; color: black; cursor: pointer; border-radius: 5px; background: rgb(255 255 255 / 58%); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.3); width: 50px; height: 50px;}
#lightbox .lightbox-prev {left: 10px; }
#lightbox .lightbox-next {right: 10px; }
#lightbox .close i {pointer-events: none; cursor: pointer;}
button, input, select, textarea {appearance: none; -webkit-appearance: none; -moz-appearance: none;}

@media screen and (max-width: 767px) {
    .cvel-nav {display: none;}
    .content-cvel-profil {flex-direction: column-reverse;}
    .bloc-content-cvel-xp {position: relative; width: 100% !important;}
    .bloc-txt-xp-cvel {padding-bottom: 0;}
    .content-cvel-xp .bloc-content-cvel-xp:last-child .bloc-txt-xp-cvel {padding-bottom: 0;}
    .dates-cvel p {text-align: left;}
    .content-cvel-profil .col-cvel-profil {width: 100% !important;}
    .content-cvel-profil .col-cvel-profil h1 {text-align: left; margin-bottom: 0 !important; margin-top: 0;}
    .cvel-listing-real .cvel-bloc-real {width: 100% !important;}
    .cvel-content {padding-top: 0;}
    .cvel-xp h2, .cvel-comp h2, .cvel-tools h2, .cvel-langues h2, .cvel-loisirs h2 {text-align: left;}
    .cvel-real h2, .cvel-contact h2 {text-align: left;}
    .cvel-listing-tools .bloc-tools, .cvel-comp-listing .cvel-comp-bloc, .cvel-contact form .form-group {width: 100%;}
    .cvel-xp-forma {padding-top: 20px;}
    h2 {font-size:26px !important; line-height: 30px !important;}
    .cvel-txt-xp-job {font-size: 18px;}
    .cvel-loisirs .cvel-listing-tools .bloc-tools, .cvel-langues .cvel-listing-tools .bloc-tools {width: 100% !important;}
    .cvel-xp, .cvel-real, .cvel-comp, .cvel-tools  {padding: 30px 0;}
    .cvel-rs-download {flex-direction: column; gap: 15px;}
    
}

/* --- MonCV (moteur) : socle repris du thème de l'ancienne preprod, et éléments que l'ancien modèle n'avait pas --- */
* { font-family: var(--text-font, 'Jakarta'), sans-serif; box-sizing: border-box; }
h1, h2, h3, h4 { font-family: var(--title-font, 'Jakarta'), sans-serif; }
body { margin: 0; font-size: 15px; line-height: 1.6em; }
/* book.css (shared by every CV) sets a white background, Montserrat and #333: the old templates did not have it. */
body.folio-book.folio-cvpage { background: var(--bg-color, var(--secondary-color, #fff)); color: var(--txt-color, #52606d); font: 400 15px/1.6em var(--text-font, 'Jakarta'), sans-serif; }
.template-cvel-04 .cvel-tile, .template-cvel-04 .cvel-initials, .template-cvel-04 .cvel-bloc-icon { color: #111; }
.template-cvel-04 .cvel-initials { background: var(--secondary-color, #7d99d3); }
.template-cvel-01 .cvel-initials { border-radius: 50%; background: var(--secondary-color, #fff); color: var(--primary-color, #1b2233); }
img { max-width: 100%; }
input, textarea, select { font-size: 16px !important; }
.fa-icon { width: 1em; height: 1em; vertical-align: -.125em; flex: none; }
.cvel-initials { display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 1; border-radius: inherit; background: var(--primary-color, var(--btn-bg, var(--title-color, #3c5cff))); color: #fff; font-size: 64px; font-weight: 700; }
.cvel-tile { display: inline-flex; align-items: center; justify-content: center; width: 100%; height: 100%; min-width: 34px; min-height: 34px; font-weight: 700; font-size: 15px; letter-spacing: .02em; }
.cvel-bloc-icon .fa-icon, .cvel-bloc-competence-img .fa-icon { width: 22px; height: 22px; }
.cvel-bloc-competence-content span.cvel-level:before, .cvel-list-competence .cvel-bloc-competence .cvel-bloc-competence-content span.cvel-level:before { width: calc(var(--cvel-level) - 4px) !important; }
.cvel-bloc-real-img img { cursor: zoom-in; }
.cvel-bloc-real-img img:not(.active) { display: none; }
.cvel-video a { position: relative; display: block; }
.cvel-play { position: absolute; left: 50%; top: 50%; width: 64px; height: 64px; margin: -32px 0 0 -32px; border-radius: 50%; background: rgba(0, 0, 0, .55); }
.cvel-play::after { content: ""; position: absolute; left: 26px; top: 20px; border-style: solid; border-width: 12px 0 12px 18px; border-color: transparent transparent transparent #fff; }
.cvel-bloc-real h3 small { display: block; font-size: .75em; font-weight: 400; opacity: .7; }
.cvel-real-link a { text-decoration: underline; }
.cvel-quotes { display: grid; gap: 16px; }
.cvel-quote { margin: 0; padding: 18px 22px; border-left: 3px solid var(--primary-color, var(--title-color, currentColor)); }
.cvel-quote p { margin: 0 0 8px; font-style: italic; }
.folio-contact__hp { position: absolute; left: -9999px; }
.folio-contact__status { grid-column: 1 / -1; margin: 10px 0 0; }
.folio-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Icons (Font Awesome, inline SVG) and logos chosen in the editor (Render\CvIcons, Render\Logos). */
.cv-ico { display: block; width: 35px; height: 35px; fill: currentColor; }
.cvel-bloc-icon .cv-ico { color: var(--icon-color, #111); }
.cvel-loisirs .cvel-bloc-icon .cv-ico { width: 30px; height: 30px; }
.cvel-bloc-competence-img .cv-ico { width: 38px; height: 38px; color: var(--icon-color, #111); }
.cvel-logo { display: block; width: 100%; height: 100%; max-width: 56px; max-height: 56px; object-fit: contain; }
.cvel-logo--flag { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 1px rgba(0, 0, 0, .08); }
/* The author of a testimonial (the old templates hid every <footer>). */
.cvel-quote footer { display: block !important; font-size: .92em; opacity: .85; }
