/*
 * Joblia CV builder styles: the design's editor rules, prefixed jcv- and scoped to .jfx-cvb
 * so they never meet the site's Elementor global classes. Tokens are the design's own, scoped too.
 */
.jfx-cvb { --color-brand: #DF0139; --color-brand-deep: #C20033; --color-brand-light: #FF6B8E; --color-brand-tint: #FDECF1; --color-brand-line: #F4BFCE; --color-ink: #1E1E27; --color-ink-warm: #28242A; --color-ink-raised: #2A2A35; --color-night: #000318; --color-mist: #E2E2E2; --color-mist-deep: #C9C9C9; --color-mist-soft: #F3F3F4; --color-white: #FFFFFF; --color-transparent: transparent; --color-text: var(--color-ink); --color-text-muted: #5E5F5C; --color-text-inverse: var(--color-white); --color-text-inverse-muted: #C4C4CC; --color-border: var(--color-mist); --color-border-strong: var(--color-mist-deep); --color-border-inverse: #3A3A47; --color-shadow: rgba(30, 30, 39, 0.08); --color-shadow-strong: rgba(0, 3, 24, 0.24); --gradient-brand: linear-gradient(90deg, var(--color-brand-deep), var(--color-brand)); --gradient-mist: linear-gradient(90deg, var(--color-mist-deep), var(--color-mist)); --font-display: "Manrope", sans-serif; --font-body: "Avenir Next", "Nunito Sans", sans-serif; --font-icon: "Material Symbols Rounded"; --text-xs: 12px; --text-cv: 13px; --text-sm: 14px; --text-nav: 15px; --text-md: 16px; --text-lg: 18px; --text-xl: 20px; --text-2xl: 24px; --text-3xl: 32px; --text-4xl: 40px; --text-5xl: 48px; --text-6xl: 56px; --text-7xl: 64px; --text-8xl: 76px; --weight-regular: 400; --weight-semibold: 600; --weight-bold: 700; --weight-heavy: 800; --leading-none: 1; --leading-display: 1.1; --leading-hero: 1.15; --leading-tight: 1.1; --leading-snug: 1.3; --leading-body: 1.6; --tracking-display: -0.02em; --tracking-wide: 0.08em; --space-0: 0px; --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 20px; --space-6: 24px; --space-7: 32px; --space-8: 40px; --space-9: 48px; --space-10: 64px; --space-11: 80px; --space-12: 104px; --gap-cards: var(--space-6); --bleed-mobile: calc(-1 * var(--space-5)); --overlap-lg: calc(-1 * var(--space-9)); --bleed-thumb: calc(-1 * var(--space-6)); --dot-offset: 8px; --bullet-offset: 6px; --radius-none: 0px; --radius-xs: 4px; --radius-sm: 8px; --radius-md: 12px; --radius-lg: 18px; --radius-xl: 28px; --radius-pill: 999px; --radius-round: 50%; --radius-dot: 2px; --border-width: 1px; --border-width-strong: 2px; --border-width-ring: 5px; --focus-ring: 2px solid var(--color-brand); --focus-offset: 2px; --ring-focus: 0 0 0 3px var(--color-brand-tint); --ring-live: 0 0 0 3px var(--color-brand-line); --underline-offset: 3px; --shadow-card: 0 1px 2px var(--color-shadow), 0 8px 24px var(--color-shadow); --shadow-float: 0 14px 36px var(--color-shadow-strong); --size-full: 100%; --size-screen: 100vh; --container-max: 1240px; --measure: 600px; --measure-wide: 760px; --header-height: 84px; --header-height-mobile: 72px; --control-height: 52px; --control-height-md: 48px; --control-height-sm: 40px; --control-height-xs: 32px; --chip-height: 34px; --tag-height: 26px; --badge-size: 20px; --logo-height: 44px; --logo-height-header: 50px; --logo-height-mobile: 36px; --logo-height-header-mobile: 40px; --logo-height-sign: 36px; --logo-size-sm: 32px; --company-logo: 48px; --company-logo-sm: 40px; --company-logo-lg: 56px; --company-logo-xl: 88px; --overlap-logo: calc(-1 * var(--company-logo-xl) / 2); --border-width-logo: 4px; --radius-logo-xl: 22px; --banner-height: 104px; --banner-dot-step: 18px; --banner-line-step: 14px; --angle-banner: 58deg; --color-banner-dot-light: rgba(255, 255, 255, 0.22); --color-banner-line: rgba(255, 255, 255, 0.07); --dot-bar-active: 28px; --stat-accent: 32px; --portrait-size: 52px; --portrait-size-sm: 44px; --quote-icon: 36px; --stat-accent-hover: 72px; --stat-accent-height: 4px; --bleed-carousel: calc(-1 * var(--space-4)); --lift-hover: translateY(calc(-1 * var(--space-1))); --tile-size: 48px; --tile-size-sm: 40px; --avatar-size: 40px; --ring-size: 64px; --step-index-size: 24px; --icon-box: 1em; --icon-xs: 16px; --icon-sm: 18px; --icon-md: 20px; --icon-lg: 26px; --dot-size: 8px; --bullet-size: 6px; --checkbox-size: 20px; --sidebar-width: 272px; --sidebar-blog: 320px; --cover-w: 300px; --cover-ratio: 16 / 9; --ratio-featured: 3 / 1; --ratio-featured-tablet: 2 / 1; --ratio-article: 16 / 9; --ratio-hero: 21 / 9; --ratio-book: 3 / 4; --guide-cover-w: 340px; --guide-cover-w-tablet: 260px; --guide-cover-w-mobile: 220px; --cover-w-tablet: 200px; --cover-logo: 68px; --cover-w-mini: 88px; --cover-logo-mini: 28px; --color-premium-glow: rgba(223, 1, 57, 0.35); --premium-glow: 420px; --head-glow: 760px; --head-glow-at: right -240px top -360px; --premium-glow-at: right -170px top -210px; --builder-steps-width: 232px; --fact-label-width: 230px; --cover-w-home: 220px; --cover-w-compact: 104px; --cover-logo-compact: 34px; --step-number-width: 56px; --footer-brand-max: 340px; --footer-col-min: 160px; --footer-brand-w: 260px; --flex-footer-wide: 1.4 1 0%; --cv-sheet-max: 440px; --textarea-height: 128px; --field-area-height: 104px; --ebook-cover-height: 200px; --thumb-height: 220px; --thumb-line: 6px; --thumb-name: 12px; --thumb-band: 56px; --thumb-name-width: 55%; --thumb-short-width: 70%; --thumb-heading-width: 32%; --card-peek: 84%; --col-2: calc((100% - var(--gap-cards)) / 2); --col-3: calc((100% - 2 * var(--gap-cards)) / 3); --col-4: calc((100% - 3 * var(--gap-cards)) / 4); --flex-col-2: 0 0 var(--col-2); --flex-col-3: 0 0 var(--col-3); --flex-col-4: 0 0 var(--col-4); --flex-full: 0 0 100%; --flex-peek: 0 0 var(--card-peek); --flex-fill: 1 1 0%; --flex-wide: 1.4 1 0%; --flex-copy: 1.15 1 0%; --flex-narrow: 0.8 1 0%; --order-end: 10; --angle-mark: 32deg; --z-header: 20; --duration-fast: 160ms; --duration-base: 240ms; --icon-axes: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24; --icon-axes-filled: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24; --color-hero-dot: rgba(30, 30, 39, 0.10); --hero-dot-size: 1.5px; --hero-dot-fade: 2px; --cvb-form-w: 520px; --cvb-level-w: 190px; --checkbox-sm: 18px; --leading-cv: 1.4; --cvd-max: 794px; --cvd-ratio: 210 / 297; --cvd-pad: 7cqi; --cvd-pad-neg: calc(-1 * var(--cvd-pad)); --cvd-pad-compact: 5.5cqi; --cvd-band-pad: 5cqi; --cvd-gap: 2.8cqi; --cvd-gap-sm: 1.2cqi; --cvd-gap-xs: 0.6cqi; --cvd-name: 4.6cqi; --cvd-name-compact: 3.8cqi; --cvd-role: 2.1cqi; --cvd-text: 1.7cqi; --cvd-text-compact: 1.58cqi; --cvd-small: 1.5cqi; --cvd-heading: 1.55cqi; --cvd-rule: 0.13cqi; --cvd-rule-strong: 0.26cqi; --cvd-bullet: 0.7cqi; --cvd-bullet-offset: 0.75cqi; --cvb-photo: 72px; --cvd-photo: 13cqi; --cvd-photo-compact: 10cqi; --build-sheet-max: 400px; --build-photo: 56px; --build-bar-lg: 14px; --build-bar-md: 10px; --build-bar: 8px; --build-chip-w: 64px; --build-chip-h: 20px; --build-role-w: 42%; --build-contact-w: 84%; --duration-build: 520ms; --ease-build: cubic-bezier(0.2, 0.8, 0.2, 1); --build-off-x: scaleX(0); --build-off-pop: scale(0.4); --build-off-up: translateY(var(--space-4)); --opacity-hidden: 0; --order-first: -1; --marquee-from: translateX(0%); --marquee-to: translateX(-50%); --duration-marquee: 38s; --duration-marquee-alt: 46s; --mask-fade: linear-gradient(90deg, var(--color-transparent), var(--color-ink) 8%, var(--color-ink) 92%, var(--color-transparent)); --angle-flip: 180deg; --scroll-offset: calc(var(--header-height) + var(--space-5)); --salary-label-w: 220px; --salary-value-w: 170px; --salary-track-h: 12px; --salary-job-w: 230px; --salary-job-w-tablet: 150px; --pay-logo-w: 112px; --pay-name-min: 140px; --text-pay: 30px; --text-company: 17px; --pay-logo-h: 56px; --bar-chimie-from: 32%; --bar-chimie-size: 40%; --bar-public-from: 24%; --bar-public-size: 32%; --bar-transit-from: 20%; --bar-transit-size: 20%; --bar-banque-from: 32%; --bar-banque-size: 68%; --bar-btp-from: 20%; --bar-btp-size: 80%; --bar-aero-from: 24%; --bar-aero-size: 72%; --bar-it-from: 36%; --bar-it-size: 44%; --bar-telecom-from: 32%; --bar-telecom-size: 40%; --bar-callcenter-from: 16%; --bar-callcenter-size: 42%; --bar-auto-from: 18%; --bar-auto-size: 38%; --bar-enseignement-from: 14%; --bar-enseignement-size: 34%; --bar-sante-from: 18%; --bar-sante-size: 22%; --bar-industrie-from: 14%; --bar-industrie-size: 18%; --bar-tourisme-from: 14%; --bar-tourisme-size: 10%; --bar-commerce-from: 14%; --bar-commerce-size: 10%; --bar-agriculture-from: 11.2%; --bar-agriculture-size: 3%; --offer-logo: 104px; --offer-logo-sm: 72px; --offer-logo-slot-w: 200px; --offer-logo-slot-h: 104px; --color-chip-on-dark: rgba(255, 255, 255, 0.16); --hero-search-max: 1040px; --color-hero-grade-1: #FFCFDB; --color-hero-grade-2: #FFF3F6; --color-hero-grade-3: #FFE2EA; --hero-grade-mid: 50%; --hero-fade-start: 70%; --pack-side-w: 420px; --filter-tile-min: 200px; --lift-sm: -2px; --control-height-xl: 64px; --color-cta-glow: rgba(223, 1, 57, 0.45); --shadow-cta: 0 16px 40px var(--color-cta-glow); --lift: -4px; --color-hero-shine: #FFE4EB; --hero-shine-angle: 105deg; --hero-shine-a: 38%; --hero-shine-b: 45%; --hero-shine-c: 50%; --hero-shine-d: 55%; --hero-shine-e: 62%; --hero-shine-size: 300%; --hero-shine-from: 100%; --hero-shine-to: 0%; --hero-shine-time: 3.6s; --hero-shine-delay: 0.45s; --company-banner-h: 220px; --company-banner-h-tablet: 180px; --company-banner-h-mobile: 120px; --company-logo-hero: 112px; --company-logo-hero-sm: 80px; --company-logo-pull: calc(-1 * var(--company-logo-hero) / 2); --company-logo-pull-sm: calc(-1 * var(--company-logo-hero-sm) / 2); --company-side-w: 340px; --offer-photo-ratio: 16 / 9; --apply-dialog-w: 520px; --offer-photo-max-w: 1047px; --offer-photo-max-h: 457px; --guide-aside-w: 340px; --bp-tablet: 1100; --bp-mobile: 700; }
.jfx-cvb .jcv-link-button { padding: var(--space-0); border-width: medium; border-style: none; border-color: currentcolor; border-image: none; background: var(--color-transparent); font-size: var(--text-sm); font-weight: var(--weight-bold); color: var(--color-brand-deep); text-decoration: underline; text-underline-offset: var(--underline-offset); }
.jfx-cvb .jcv-icon { display: inline-block; flex: 0 0 auto; width: var(--icon-box); overflow: hidden; font-family: var(--font-icon); font-size: var(--icon-md); font-style: normal; font-weight: normal; line-height: var(--leading-none); letter-spacing: normal; text-transform: none; white-space: nowrap; direction: ltr; font-feature-settings: "liga"; font-variation-settings: var(--icon-axes); -webkit-font-smoothing: antialiased; user-select: none; }
.jfx-cvb .jcv-icon-tile .jcv-icon { font-size: var(--icon-lg); }
.jfx-cvb .jcv-button-primary { background: var(--color-brand); color: var(--color-white); }
.jfx-cvb .jcv-button-primary:hover { background: var(--color-brand-deep); color: var(--color-white); }
.jfx-cvb .jcv-button-secondary { background: var(--color-white); border-color: var(--color-border-strong); color: var(--color-ink); }
.jfx-cvb .jcv-button-secondary:hover { border-color: var(--color-ink); color: var(--color-ink); }
.jfx-cvb .jcv-search-field .jcv-icon, .jfx-cvb .jcv-search-field-place .jcv-icon { color: var(--color-brand); }
.jfx-cvb .jcv-check-item .jcv-icon { color: var(--color-brand); }
.jfx-cvb .jcv-section-brand .jcv-check-item, .jfx-cvb .jcv-section-brand .jcv-check-item .jcv-icon { color: var(--color-white); }
.jfx-cvb .jcv-button-save[aria-pressed="true"] .jcv-icon { font-variation-settings: var(--icon-axes-filled); }
.jfx-cvb .jcv-tag-premium .jcv-icon { font-size: var(--icon-xs); font-variation-settings: var(--icon-axes-filled); }
.jfx-cvb .jcv-salary .jcv-icon { color: var(--color-text-muted); }
.jfx-cvb .jcv-card-sector > .jcv-icon { color: var(--color-text-muted); }
.jfx-cvb .jcv-card-sector:hover > .jcv-icon { color: var(--color-brand); }
.jfx-cvb .jcv-score-ring { display: flex; align-items: center; justify-content: center; flex: 0 0 auto; width: var(--ring-size); height: var(--ring-size); border: var(--border-width-ring) solid var(--color-brand); border-radius: var(--radius-round); font-family: var(--font-display); font-size: var(--text-2xl); font-weight: var(--weight-heavy); line-height: var(--leading-none); }
.jfx-cvb .jcv-filter-box .jcv-icon { font-size: var(--icon-xs); }
.jfx-cvb .jcv-chip-active .jcv-icon { font-size: var(--icon-sm); }
.jfx-cvb .jcv-meta-item .jcv-icon { font-size: var(--icon-sm); color: var(--color-brand); }
.jfx-cvb .jcv-premium-heading .jcv-icon { color: var(--color-brand-light); font-variation-settings: var(--icon-axes-filled); }
.jfx-cvb .jcv-premium-cta .jcv-icon { font-size: var(--icon-sm); }
.jfx-cvb .jcv-card-plan-featured .jcv-check-item .jcv-icon { color: var(--color-brand-light); }
.jfx-cvb .jcv-button-scroll .jcv-icon { font-size: var(--icon-lg); }
.jfx-cvb .jcv-jobs-pill .jcv-icon { font-size: var(--icon-sm); }
.jfx-cvb .jcv-meta-place .jcv-icon { font-size: var(--icon-sm); color: var(--color-brand); }
.jfx-cvb .jcv-quote-icon .jcv-icon { font-size: var(--quote-icon); font-variation-settings: var(--icon-axes-filled); }
.jfx-cvb .jcv-mockup-label .jcv-icon { font-size: var(--icon-sm); }
.jfx-cvb .jcv-form-row { display: flex; gap: var(--space-4); }
.jfx-cvb .jcv-form-field { display: flex; flex-direction: column; gap: var(--space-2); flex: var(--flex-fill); min-width: var(--space-0); }
.jfx-cvb .jcv-form-label { font-size: var(--text-sm); font-weight: var(--weight-bold); line-height: var(--leading-snug); color: var(--color-ink); }
.jfx-cvb .jcv-form-input, .jfx-cvb .jcv-form-select, .jfx-cvb .jcv-form-textarea { width: var(--size-full); min-height: var(--control-height); padding: var(--space-3) var(--space-4); border: var(--border-width) solid var(--color-border-strong); border-radius: var(--radius-md); background: var(--color-white); font-size: var(--text-md); line-height: var(--leading-snug); color: var(--color-ink); }
.jfx-cvb .jcv-form-input:focus, .jfx-cvb .jcv-form-select:focus, .jfx-cvb .jcv-form-textarea:focus { border-color: var(--color-brand); outline: none; box-shadow: var(--ring-focus); }
.jfx-cvb .jcv-form-textarea { min-height: var(--textarea-height); line-height: var(--leading-body); resize: vertical; }
@media (max-width: 699px) { .jfx-cvb .jcv-form-row { flex-direction: column; } }
.jfx-cvb .jcv-tabs { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.jfx-cvb .jcv-tab { display: inline-flex; align-items: center; flex: 0 0 auto; min-height: var(--control-height-sm); padding: var(--space-0) var(--space-4); border: var(--border-width) solid var(--color-border-strong); border-radius: var(--radius-pill); background: var(--color-white); font-size: var(--text-sm); font-weight: var(--weight-bold); color: var(--color-ink); white-space: nowrap; }
.jfx-cvb .jcv-tab:hover { border-color: var(--color-ink); }
.jfx-cvb .jcv-tab[aria-selected="true"] { background: var(--color-ink); border-color: var(--color-ink); color: var(--color-white); }
@media (max-width: 699px) { .jfx-cvb .jcv-tabs { flex-wrap: nowrap; overflow-x: auto; margin: var(--space-0) var(--bleed-mobile); padding: var(--space-0) var(--space-5); scrollbar-width: none; } }
.jfx-cvb .jcv-tag-inverse .jcv-icon { font-size: var(--icon-sm); }
.jfx-cvb :is(.jcv-button-cta, .jcv-button-cta-inverse) .jcv-icon { font-size: var(--icon-lg); }
.jfx-cvb .jcv-news-filter-icon .jcv-icon { font-size: var(--icon-lg); }
.jfx-cvb .jcv-news-clear .jcv-icon { font-size: var(--icon-sm); }
.jfx-cvb .jcv-pack-check .jcv-icon { color: var(--color-white); font-variation-settings: var(--icon-axes-filled); }
.jfx-cvb .jcv-note-privacy .jcv-icon { font-size: var(--icon-sm); color: var(--color-brand); }
.jfx-cvb .jcv-builder-title .jcv-icon { color: var(--color-brand); }
.jfx-cvb .jcv-saved { display: flex; align-items: center; gap: var(--space-1); font-size: var(--text-sm); color: var(--color-text-muted); }
.jfx-cvb .jcv-saved .jcv-icon { font-size: var(--icon-sm); }
.jfx-cvb .jcv-score-pill { display: inline-flex; align-items: center; gap: var(--space-2); min-height: var(--control-height-sm); padding: var(--space-0) var(--space-4); border-radius: var(--radius-pill); background: var(--color-ink); font-size: var(--text-sm); font-weight: var(--weight-bold); line-height: var(--leading-none); color: var(--color-white); }
.jfx-cvb .jcv-score-number { font-family: var(--font-display); font-weight: var(--weight-heavy); font-size: var(--text-xl); color: var(--color-brand-light); }
.jfx-cvb .jcv-step-index .jcv-icon { font-size: var(--icon-xs); }
.jfx-cvb .jcv-tip-box .jcv-icon { color: var(--color-brand-deep); }
.jfx-cvb .jcv-ats-item, .jfx-cvb .jcv-ats-warn { display: flex; align-items: flex-start; gap: var(--space-2); font-size: var(--text-sm); line-height: var(--leading-snug); color: var(--color-ink); }
.jfx-cvb .jcv-ats-item .jcv-icon, .jfx-cvb .jcv-ats-warn .jcv-icon { font-size: var(--icon-sm); }
.jfx-cvb .jcv-ats-item .jcv-icon { color: var(--color-brand); }
.jfx-cvb .jcv-ats-warn .jcv-icon { color: var(--color-ink-warm); }
.jfx-cvb .jcv-cvb-page { display: flex; flex-direction: column; background: var(--color-mist-soft); }
.jfx-cvb .jcv-cvb-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3) var(--space-5); padding: var(--space-4) var(--space-8); background: var(--color-white); border-bottom: var(--border-width) solid var(--color-border); }
.jfx-cvb .jcv-cvb-title-group { display: flex; flex-direction: column; gap: var(--space-1); }
.jfx-cvb .jcv-cvb-title { font-family: var(--font-display); font-size: var(--text-2xl); font-weight: var(--weight-heavy); line-height: var(--leading-tight); color: var(--color-ink); }
.jfx-cvb .jcv-cvb-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); }
.jfx-cvb .jcv-cvb-actions .jcv-button-primary { min-height: var(--control-height-sm); padding: var(--space-0) var(--space-5); font-size: var(--text-sm); }
.jfx-cvb .jcv-cvb-toggle { display: none; gap: var(--space-2); padding: var(--space-3) var(--space-5); background: var(--color-white); border-bottom: var(--border-width) solid var(--color-border); }
.jfx-cvb .jcv-cvb-main { display: flex; flex: var(--flex-fill); min-height: var(--space-0); }
.jfx-cvb .jcv-cvb-form { display: flex; flex-direction: column; gap: var(--space-5); flex: 0 0 auto; width: var(--cvb-form-w); padding: var(--space-6); border-right: var(--border-width) solid var(--color-border); }
.jfx-cvb .jcv-cvb-preview { display: flex; flex-direction: column; align-items: center; gap: var(--space-5); flex: var(--flex-fill); min-width: var(--space-0); padding: var(--space-6) var(--space-8); background: var(--gradient-mist); }
.jfx-cvb .jcv-cvb-reset { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5); }
.jfx-cvb .jcv-cvb-section { display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-6); background: var(--color-white); border: var(--border-width) solid var(--color-border); border-radius: var(--radius-lg); }
.jfx-cvb .jcv-cvb-section-head { display: flex; flex-direction: column; gap: var(--space-1); }
.jfx-cvb .jcv-cvb-section-title { font-size: var(--text-lg); font-weight: var(--weight-bold); line-height: var(--leading-snug); color: var(--color-ink); }
.jfx-cvb .jcv-cvb-hint { font-size: var(--text-sm); line-height: var(--leading-body); color: var(--color-text-muted); }
.jfx-cvb .jcv-cvb-entry { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-4); border: var(--border-width) solid var(--color-border); border-radius: var(--radius-md); background: var(--color-mist-soft); }
.jfx-cvb .jcv-cvb-entry-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
.jfx-cvb .jcv-cvb-entry-label { font-size: var(--text-xs); font-weight: var(--weight-heavy); line-height: var(--leading-snug); letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--color-text-muted); }
.jfx-cvb .jcv-cvb-remove { display: flex; align-items: center; justify-content: center; flex: 0 0 auto; width: var(--control-height-xs); height: var(--control-height-xs); padding: var(--space-0); border: var(--border-width) solid var(--color-border-strong); border-radius: var(--radius-round); background: var(--color-white); color: var(--color-ink); }
.jfx-cvb .jcv-cvb-remove:hover { border-color: var(--color-brand); color: var(--color-brand); }
.jfx-cvb .jcv-cvb-remove .jcv-icon { font-size: var(--icon-sm); }
.jfx-cvb .jcv-cvb-add { display: flex; align-items: center; justify-content: center; gap: var(--space-2); min-height: var(--control-height-md); border: var(--border-width) dashed var(--color-border-strong); border-radius: var(--radius-md); background: var(--color-transparent); font-size: var(--text-sm); font-weight: var(--weight-bold); color: var(--color-ink); }
.jfx-cvb .jcv-cvb-add:hover { border-color: var(--color-brand); color: var(--color-brand-deep); }
.jfx-cvb .jcv-cvb-check-label { display: flex; align-items: center; gap: var(--space-2); font-size: var(--text-sm); line-height: var(--leading-snug); color: var(--color-ink); cursor: pointer; }
.jfx-cvb .jcv-cvb-checkbox { flex: 0 0 auto; width: var(--checkbox-sm); height: var(--checkbox-sm); margin: var(--space-0); accent-color: var(--color-brand); }
.jfx-cvb .jcv-form-input:disabled { background: var(--color-mist-soft); color: var(--color-text-muted); }
.jfx-cvb .jcv-cvb-inline { display: flex; gap: var(--space-2); }
.jfx-cvb .jcv-cvb-inline .jcv-form-input { flex: var(--flex-fill); min-width: var(--space-0); }
.jfx-cvb .jcv-cvb-inline .jcv-button-secondary { flex: 0 0 auto; min-height: var(--control-height); }
.jfx-cvb .jcv-cvb-chips { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.jfx-cvb .jcv-cvb-chip { display: inline-flex; align-items: center; gap: var(--space-1); min-height: var(--control-height-xs); padding: var(--space-0) var(--space-1) var(--space-0) var(--space-3); border-radius: var(--radius-pill); background: var(--color-brand-tint); font-size: var(--text-sm); font-weight: var(--weight-semibold); line-height: var(--leading-snug); color: var(--color-brand-deep); }
.jfx-cvb .jcv-cvb-chip-remove { display: flex; align-items: center; justify-content: center; width: var(--step-index-size); height: var(--step-index-size); padding: var(--space-0); border-width: medium; border-style: none; border-color: currentcolor; border-image: none; border-radius: var(--radius-round); background: var(--color-transparent); color: var(--color-brand-deep); }
.jfx-cvb .jcv-cvb-chip-remove:hover { background: var(--color-brand-line); }
.jfx-cvb .jcv-cvb-chip-remove .jcv-icon { font-size: var(--icon-xs); }
.jfx-cvb .jcv-cvb-lang-row { display: flex; align-items: center; gap: var(--space-2); }
.jfx-cvb .jcv-cvb-lang-row .jcv-form-input { flex: var(--flex-fill); min-width: var(--space-0); }
.jfx-cvb .jcv-cvb-lang-row .jcv-form-select { flex: 0 0 auto; width: var(--cvb-level-w); }
.jfx-cvb .jcv-cvb-score { display: flex; align-items: flex-start; gap: var(--space-5); width: var(--size-full); max-width: var(--cvd-max); padding: var(--space-5) var(--space-6); background: var(--color-white); border: var(--border-width) solid var(--color-border); border-radius: var(--radius-lg); color: var(--color-ink); }
.jfx-cvb .jcv-cvb-score-list { display: flex; flex-direction: column; gap: var(--space-2); flex: var(--flex-fill); min-width: var(--space-0); }
.jfx-cvb .jcv-cvb-score-title { font-weight: var(--weight-bold); line-height: var(--leading-snug); color: var(--color-ink); }
.jfx-cvb .jcv-cvb-stage { container-type: inline-size; width: var(--size-full); max-width: var(--cvd-max); }
.jfx-cvb .jcv-cvd-sheet { display: flex; flex-direction: column; gap: var(--cvd-gap); aspect-ratio: var(--cvd-ratio); padding: var(--cvd-pad); background: var(--color-white); box-shadow: var(--shadow-float); font-family: var(--font-body); font-size: var(--cvd-text); line-height: var(--leading-cv); color: var(--color-ink); print-color-adjust: exact; }
.jfx-cvb .jcv-cvd-header { display: flex; flex-direction: column; align-items: center; gap: var(--cvd-gap-sm); padding-bottom: var(--cvd-gap); border-bottom: var(--cvd-rule-strong) solid var(--color-ink); text-align: center; }
.jfx-cvb .jcv-cvd-id { display: flex; flex-direction: column; align-items: center; gap: var(--cvd-gap-xs); min-width: var(--space-0); }
.jfx-cvb .jcv-cvd-photo { flex: 0 0 auto; width: var(--cvd-photo); height: var(--cvd-photo); border-radius: var(--radius-round); object-fit: cover; }
.jfx-cvb .jcv-cvd-sheet[data-template="moderne"] .jcv-cvd-photo { border: var(--cvd-rule-strong) solid var(--color-white); }
.jfx-cvb .jcv-cvd-sheet:is([data-template="moderne"], [data-template="compact"]) .jcv-cvd-id { align-items: flex-start; }
.jfx-cvb .jcv-cvd-sheet[data-template="compact"] .jcv-cvd-photo { width: var(--cvd-photo-compact); height: var(--cvd-photo-compact); }
.jfx-cvb .jcv-cvd-name { font-family: var(--font-display); font-size: var(--cvd-name); font-weight: var(--weight-heavy); line-height: var(--leading-tight); letter-spacing: var(--tracking-display); color: var(--color-ink); }
.jfx-cvb .jcv-cvd-role { font-size: var(--cvd-role); font-weight: var(--weight-bold); line-height: var(--leading-snug); color: var(--color-brand-deep); }
.jfx-cvb .jcv-cvd-contact { font-size: var(--cvd-small); line-height: var(--leading-snug); color: var(--color-text-muted); }
.jfx-cvb .jcv-cvd-section { display: flex; flex-direction: column; gap: var(--cvd-gap-sm); }
.jfx-cvb .jcv-cvd-heading { padding-bottom: var(--cvd-gap-xs); border-bottom: var(--cvd-rule) solid var(--color-border-strong); font-size: var(--cvd-heading); font-weight: var(--weight-heavy); line-height: var(--leading-snug); letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--color-ink); }
.jfx-cvb .jcv-cvd-entry { display: flex; flex-direction: column; gap: var(--cvd-gap-xs); }
.jfx-cvb .jcv-cvd-entry-top { display: flex; align-items: baseline; justify-content: space-between; gap: var(--cvd-gap-sm); }
.jfx-cvb .jcv-cvd-entry-title { font-weight: var(--weight-bold); color: var(--color-ink); }
.jfx-cvb .jcv-cvd-entry-date { flex: 0 0 auto; font-size: var(--cvd-small); color: var(--color-text-muted); }
.jfx-cvb .jcv-cvd-entry-meta { font-size: var(--cvd-small); color: var(--color-text-muted); }
.jfx-cvb .jcv-cvd-points { display: flex; flex-direction: column; gap: var(--cvd-gap-xs); }
.jfx-cvb .jcv-cvd-point { display: flex; align-items: flex-start; gap: var(--cvd-gap-sm); }
.jfx-cvb .jcv-cvd-bullet { display: block; flex: 0 0 auto; width: var(--cvd-bullet); height: var(--cvd-bullet); margin-top: var(--cvd-bullet-offset); border-radius: var(--radius-round); background: var(--color-brand); }
.jfx-cvb .jcv-cvd-text { color: var(--color-ink); }
.jfx-cvb .jcv-cvd-sheet[data-template="moderne"] .jcv-cvd-header { flex-direction: row; align-items: center; gap: var(--cvd-gap); margin: var(--cvd-pad-neg) var(--cvd-pad-neg) var(--space-0); padding: var(--cvd-band-pad) var(--cvd-pad); border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; background: var(--gradient-brand); text-align: left; }
.jfx-cvb .jcv-cvd-sheet[data-template="moderne"] :is(.jcv-cvd-name, .jcv-cvd-role, .jcv-cvd-contact) { color: var(--color-white); }
.jfx-cvb .jcv-cvd-sheet[data-template="moderne"] .jcv-cvd-heading { border-bottom-color: var(--color-brand); color: var(--color-brand-deep); }
.jfx-cvb .jcv-cvd-sheet[data-template="compact"] { gap: var(--cvd-gap-sm); padding: var(--cvd-pad-compact); font-size: var(--cvd-text-compact); }
.jfx-cvb .jcv-cvd-sheet[data-template="compact"] .jcv-cvd-header { flex-direction: row; align-items: center; gap: var(--cvd-gap-sm); padding-bottom: var(--cvd-gap-sm); text-align: left; }
.jfx-cvb .jcv-cvd-sheet[data-template="compact"] .jcv-cvd-name { font-size: var(--cvd-name-compact); }
@media (max-width: 1099px) { .jfx-cvb .jcv-cvb-page { height: auto; } }
@media (max-width: 699px) { .jfx-cvb .jcv-cvb-page { height: auto; } }
@media (max-width: 1099px) { .jfx-cvb .jcv-cvb-toggle { display: flex; } }
@media (max-width: 699px) { .jfx-cvb .jcv-cvb-toggle { display: flex; } }
@media (max-width: 1099px) { .jfx-cvb .jcv-cvb-main { flex-direction: column; } }
@media (max-width: 699px) { .jfx-cvb .jcv-cvb-main { flex-direction: column; } }
@media (max-width: 1099px) { .jfx-cvb .jcv-cvb-form { width: auto; overflow: visible; border-right-width: medium; border-right-style: none; border-right-color: currentcolor; } }
@media (max-width: 699px) { .jfx-cvb .jcv-cvb-form { width: auto; overflow: visible; border-right-width: medium; border-right-style: none; border-right-color: currentcolor; } }
@media (max-width: 1099px) { .jfx-cvb .jcv-cvb-preview { overflow: visible; } }
@media (max-width: 699px) { .jfx-cvb .jcv-cvb-preview { overflow: visible; } }
@media (max-width: 1099px) { .jfx-cvb .jcv-cvb-bar { padding: var(--space-4) var(--space-7); } }
@media (max-width: 1099px) { .jfx-cvb .jcv-cvb-form { padding: var(--space-6) var(--space-7); } }
@media (max-width: 699px) { .jfx-cvb .jcv-cvb-bar { padding: var(--space-3) var(--space-5); } }
@media (max-width: 699px) { .jfx-cvb :is(.jcv-cvb-form, .jcv-cvb-preview) { padding: var(--space-4); } }
@media (max-width: 699px) { .jfx-cvb .jcv-cvb-section { padding: var(--space-4); } }
@media (max-width: 699px) { .jfx-cvb .jcv-cvb-score { flex-direction: column; gap: var(--space-3); padding: var(--space-4); } }
@media (max-width: 699px) { .jfx-cvb .jcv-cvb-lang-row { flex-wrap: wrap; } }
@media (max-width: 699px) { .jfx-cvb .jcv-cvb-lang-row .jcv-form-input { flex: var(--flex-full); } }
@media (max-width: 699px) { .jfx-cvb .jcv-cvb-lang-row .jcv-form-select { flex: var(--flex-fill); width: auto; } }
.jfx-cvb .jcv-cvb-photo-row { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border: var(--border-width) dashed var(--color-border-strong); border-radius: var(--radius-md); background: var(--color-mist-soft); }
.jfx-cvb .jcv-cvb-photo, .jfx-cvb .jcv-cvb-photo-empty { flex: 0 0 auto; width: var(--cvb-photo); height: var(--cvb-photo); border-radius: var(--radius-round); }
.jfx-cvb .jcv-cvb-photo { object-fit: cover; border: var(--border-width-logo) solid var(--color-white); box-shadow: var(--shadow-card); }
.jfx-cvb .jcv-cvb-photo-empty { display: flex; align-items: center; justify-content: center; background: var(--color-mist); font-family: var(--font-display); font-size: var(--text-2xl); font-weight: var(--weight-heavy); line-height: var(--leading-none); color: var(--color-text-muted); }
.jfx-cvb .jcv-cvb-photo-body { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-1); min-width: var(--space-0); }
.jfx-cvb .jcv-cvb-photo-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-4); margin-top: var(--space-2); }
.jfx-cvb .jcv-cvb-photo-buttons .jcv-button-secondary { min-height: var(--control-height-sm); padding: var(--space-0) var(--space-4); font-size: var(--text-sm); }
.jfx-cvb .jcv-cvb-file { display: none; }
@media (max-width: 699px) { .jfx-cvb .jcv-cvb-photo-row { align-items: flex-start; } }
.jfx-cvb .jcv-route-link > .jcv-icon { color: var(--color-brand-deep); }
.jfx-cvb .jcv-legal-updated .jcv-icon { font-size: var(--icon-sm); color: var(--color-brand-deep); }
.jfx-cvb .jcv-legal-toc-summary .jcv-icon { transition: transform var(--duration-fast); }
.jfx-cvb .jcv-legal-toc[open] .jcv-legal-toc-summary .jcv-icon { transform: rotate(var(--angle-flip)); }
@media (min-width: 1100px) { .jfx-cvb .jcv-legal-toc-summary .jcv-icon { display: none; } }
.jfx-cvb .jcv-article-meta-item .jcv-icon { font-size: var(--icon-sm); color: var(--color-brand-deep); }
.jfx-cvb .jcv-article-tip > .jcv-icon { color: var(--color-brand-deep); }
.jfx-cvb .jcv-article-quote > .jcv-icon { font-size: var(--icon-lg); color: var(--color-brand-light); }
.jfx-cvb .jcv-button-secondary[aria-pressed="true"] { background: var(--color-brand-tint); border-color: var(--color-brand-line); color: var(--color-brand-deep); }
.jfx-cvb .jcv-button-secondary[aria-pressed="true"] .jcv-icon { font-variation-settings: var(--icon-axes-filled); }
.jfx-cvb .jcv-article-main .jcv-list-check .jcv-check-item .jcv-icon { margin-top: var(--space-1); }
.jfx-cvb .jcv-share-copy .jcv-icon { font-size: var(--icon-sm); }
.jfx-cvb .jcv-guide-link .jcv-icon { color: var(--color-brand); }
.jfx-cvb .jcv-guide-offer > .jcv-icon { color: var(--color-brand); }
.jfx-cvb { font-family: var(--font-body), sans-serif; font-size: 16px; line-height: 1.6; color: var(--color-ink); }
.jfx-cvb *, .jfx-cvb *::before, .jfx-cvb *::after { box-sizing: border-box; }
.jfx-cvb h2, .jfx-cvb p, .jfx-cvb ul { margin: 0; padding: 0; }
.jfx-cvb ul { list-style: none; }
.jfx-cvb button, .jfx-cvb input, .jfx-cvb select, .jfx-cvb textarea { font: inherit; color: inherit; letter-spacing: normal; text-transform: none; }
.jfx-cvb button { cursor: pointer; box-shadow: none; }
.jfx-cvb button:where(:hover, :focus) { background-color: transparent; color: inherit; }
.jfx-cvb .jcv-icon { display: inline-block; flex: 0 0 auto; width: 1em; height: 1em; font-size: 20px; }
.jfx-cvb .jcv-saved .jcv-icon, .jfx-cvb .jcv-ats-item .jcv-icon, .jfx-cvb .jcv-ats-warn .jcv-icon { font-size: 18px; }
.jfx-cvb .jcv-ats-item .jcv-icon { color: var(--color-brand); }
.jfx-cvb .jcv-ats-warn .jcv-icon { color: var(--color-ink-warm); }
.jfx-cvb .jcv-cvb-remove .jcv-icon, .jfx-cvb .jcv-cvb-chip-remove .jcv-icon { font-size: 16px; }
@media (max-width: 1099px) { .jfx-cvb .jcv-cvb-main[data-pane="form"] .jcv-cvb-preview { display: none; } .jfx-cvb .jcv-cvb-main[data-pane="preview"] .jcv-cvb-form { display: none; } }
/* "Télécharger le PDF": only the CV sheet is printed, on A4 without margins (cv-builder.js copies it into #jfx-cv-print). */
#jfx-cv-print { display: none; }
@media print {
	@page { size: A4; margin: 0; }
	html.jfx-cv-printing, html.jfx-cv-printing body { margin: 0 !important; padding: 0 !important; background: #fff !important; }
	html.jfx-cv-printing body > :not(#jfx-cv-print) { display: none !important; }
	html.jfx-cv-printing #jfx-cv-print { display: block; width: 100%; }
	#jfx-cv-print .jcv-cvb-stage { width: 100%; max-width: none; }
	/* Just under one A4 page, so a CV that fits never adds a blank second page; a longer one continues on the next. */
	#jfx-cv-print .jcv-cvd-sheet { aspect-ratio: auto; min-height: 296mm; box-shadow: none; break-inside: auto; }
	/* Without the script (printing from the browser menu), hide the page around the builder as before. */
	html:not(.jfx-cv-printing) body:has(.jfx-cvb) :is(#masthead, #colophon, #wpadminbar) { display: none; }
	html:not(.jfx-cv-printing) .jfx-cvb :is(.jcv-cvb-bar, .jcv-cvb-toggle, .jcv-cvb-score, .jcv-cvb-form) { display: none; }
}
