.gencv-app {
    --gencv-primary: #17456b;
    --gencv-primary-strong: #0f2f4d;
    --gencv-ink: #102033;
    --gencv-muted: #536174;
    --gencv-border: #d8e0ea;
    --gencv-surface: #ffffff;
    --gencv-soft: #f3f7fb;
    --gencv-good: #0f766e;
    --gencv-danger: #b42318;
    color: var(--gencv-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.5;
}

.gencv-app *,
.gencv-app *::before,
.gencv-app *::after {
    box-sizing: border-box;
}

.gencv-app [hidden] {
    display: none !important;
}

.gencv-hero {
    max-width: 1180px;
    margin: 0 auto 22px;
    padding: 28px;
    background: linear-gradient(135deg, #ffffff 0%, #f4f9f8 48%, #f7f4ef 100%);
    border: 1px solid var(--gencv-border);
    border-radius: 8px;
    box-shadow: 0 16px 44px rgba(16, 32, 51, 0.08);
}

.gencv-kicker {
    margin: 0 0 8px;
    color: var(--gencv-good);
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
}

.gencv-hero h2 {
    margin: 0 0 12px;
    color: var(--gencv-ink);
    font-size: clamp(1.7rem, 3vw, 2.6rem);
    line-height: 1.12;
}

.gencv-hero p {
    max-width: 840px;
    margin: 0;
    color: #24364a;
    font-size: 1.05rem;
}

.gencv-rgpd {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    margin-top: 18px;
    padding: 12px 14px;
    border: 1px solid #bfd8d2;
    border-radius: 8px;
    background: #eef8f5;
    color: #153b35;
}

.gencv-layout {
    display: grid;
    grid-template-columns: minmax(320px, 0.95fr) minmax(360px, 1.05fr);
    gap: 22px;
    align-items: start;
    max-width: 1180px;
    margin: 0 auto;
}

.gencv-generator-form,
.gencv-preview-pane {
    min-width: 0;
}

.gencv-generator-form {
    padding: 20px;
    border: 1px solid var(--gencv-border);
    border-radius: 8px;
    background: var(--gencv-surface);
    box-shadow: 0 16px 44px rgba(16, 32, 51, 0.08);
}

.gencv-progress {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 16px;
}

.gencv-progress-step {
    display: grid;
    gap: 5px;
    justify-items: center;
    min-height: 64px;
    padding: 8px 4px;
    border: 1px solid var(--gencv-border);
    border-radius: 8px;
    background: #fff;
    color: #35465a;
    cursor: pointer;
}

.gencv-progress-step span {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: #e9f0f7;
    color: var(--gencv-primary-strong);
    font-weight: 800;
}

.gencv-progress-step strong {
    max-width: 100%;
    font-size: 0.76rem;
    line-height: 1.1;
    overflow-wrap: anywhere;
}

.gencv-progress-step.is-active,
.gencv-progress-step:hover {
    border-color: var(--gencv-primary);
    color: var(--gencv-primary-strong);
}

.gencv-progress-step.is-active span {
    background: var(--gencv-primary);
    color: #fff;
}

.gencv-recommendation {
    margin-bottom: 16px;
    padding: 12px 14px;
    border-left: 4px solid var(--gencv-good);
    border-radius: 8px;
    background: #f1fbf8;
    color: #153b35;
    font-weight: 600;
}

.gencv-step-panel {
    display: none;
}

.gencv-step-panel.is-active {
    display: block;
}

.gencv-step-panel h3 {
    margin: 0 0 8px;
    color: var(--gencv-ink);
    font-size: 1.25rem;
    line-height: 1.25;
}

.gencv-step-panel > p,
.gencv-help {
    margin: 0 0 14px;
    color: var(--gencv-muted);
}

.gencv-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.gencv-choice-grid-compact,
.gencv-template-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gencv-choice-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 150px;
    padding: 14px;
    border: 1px solid var(--gencv-border);
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
    transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.gencv-choice-card:hover,
.gencv-choice-card:focus-within {
    border-color: var(--gencv-primary);
    box-shadow: 0 12px 28px rgba(23, 69, 107, 0.12);
    transform: translateY(-1px);
}

.gencv-choice-card.is-selected {
    border-color: var(--gencv-primary);
    box-shadow: 0 0 0 3px rgba(23, 69, 107, 0.14);
}

.gencv-choice-card.recommended {
    border-color: var(--gencv-good);
}

.gencv-choice-input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.gencv-card-check {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 20px;
    height: 20px;
    border: 2px solid #b8c5d3;
    border-radius: 999px;
    background: #fff;
}

.gencv-choice-card.is-selected .gencv-card-check {
    border-color: var(--gencv-primary);
    background: radial-gradient(circle at center, var(--gencv-primary) 0 45%, #fff 48%);
}

.gencv-card-title {
    padding-right: 28px;
    color: var(--gencv-ink);
    font-weight: 800;
    line-height: 1.25;
}

.gencv-card-text,
.gencv-card-meta {
    color: var(--gencv-muted);
    font-size: 0.92rem;
}

.gencv-card-meta {
    margin-top: auto;
    font-weight: 600;
}

.gencv-recommended-badge {
    display: none;
    width: fit-content;
    padding: 4px 8px;
    border-radius: 999px;
    background: #e7f8f4;
    color: #115e59;
    font-size: 0.76rem;
    font-weight: 800;
}

.gencv-choice-card.recommended .gencv-recommended-badge {
    display: inline-flex;
}

.gencv-template-thumb {
    display: grid;
    grid-template-columns: 28% 1fr;
    gap: 7px;
    width: 100%;
    height: 82px;
    padding: 9px;
    border: 1px solid #d9e2ec;
    border-radius: 7px;
    background: #fff;
}

.gencv-template-thumb::before {
    content: "";
    grid-row: 1 / span 3;
    border-radius: 5px;
    background: var(--gencv-thumb-color, var(--gencv-primary));
    opacity: 0.88;
}

.gencv-template-thumb span {
    display: block;
    height: 9px;
    border-radius: 999px;
    background: #d7e2ec;
}

.gencv-template-thumb span:nth-child(2) {
    width: 76%;
}

.gencv-template-thumb span:nth-child(3) {
    width: 58%;
}

.gencv-template-thumb-classique,
.gencv-template-thumb-minimaliste {
    grid-template-columns: 1fr;
}

.gencv-template-thumb-classique::before,
.gencv-template-thumb-minimaliste::before {
    grid-row: auto;
    height: 14px;
}

.gencv-fieldset {
    margin: 0 0 18px;
    padding: 16px;
    border: 1px solid var(--gencv-border);
    border-radius: 8px;
    background: #fbfdff;
}

.gencv-fieldset legend {
    padding: 0 8px;
    color: var(--gencv-primary-strong);
    font-weight: 800;
}

.gencv-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.gencv-app label {
    display: grid;
    gap: 6px;
    color: #24364a;
    font-weight: 700;
}

.gencv-app input[type="text"],
.gencv-app input[type="tel"],
.gencv-app input[type="email"],
.gencv-app input[type="url"],
.gencv-app input[type="file"],
.gencv-app input[type="color"],
.gencv-app select,
.gencv-app textarea {
    width: 100%;
    min-height: 42px;
    padding: 9px 10px;
    border: 1px solid #b9c7d7;
    border-radius: 7px;
    background: #fff;
    color: var(--gencv-ink);
    font: inherit;
}

.gencv-app textarea {
    resize: vertical;
}

.gencv-app input:focus,
.gencv-app select:focus,
.gencv-app textarea:focus,
.gencv-app button:focus-visible {
    outline: 3px solid rgba(15, 118, 110, 0.28);
    outline-offset: 2px;
}

.gencv-full-label,
.gencv-inline-add label {
    grid-column: 1 / -1;
}

.gencv-photo-tools,
.gencv-import-tools {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-items: end;
}

.gencv-export-options {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    align-items: start;
}

.gencv-import-panel {
    background: #f7fbfb;
    border-color: #bddbd5;
}

.gencv-import-tools {
    grid-template-columns: minmax(220px, 1fr) auto auto;
    margin-top: 12px;
}

.gencv-import-result {
    margin-top: 12px;
    padding: 10px 12px;
    border: 1px solid #cfe1dc;
    border-radius: 8px;
    background: #ffffff;
    color: #26463f;
    font-weight: 700;
}

.gencv-import-review {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}

.gencv-import-review[hidden] {
    display: none !important;
}

.gencv-import-review-header {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid #cfe1dc;
    border-radius: 8px;
    background: #ffffff;
}

.gencv-import-mode {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.gencv-import-mode label,
.gencv-import-check {
    display: flex !important;
    flex-direction: row;
    gap: 8px;
    align-items: flex-start;
    font-weight: 700;
}

.gencv-import-review-grid {
    display: grid;
    gap: 10px;
}

.gencv-import-review-card {
    padding: 12px;
    border: 1px solid #d8e6e2;
    border-radius: 8px;
    background: #fff;
}

.gencv-import-review-card h4 {
    margin: 0 0 8px;
    color: var(--gencv-primary-strong);
    font-size: 0.98rem;
}

.gencv-import-review-card p,
.gencv-import-review-card ul {
    margin: 6px 0 0;
    color: #33465c;
}

.gencv-import-review-card ul {
    padding-left: 20px;
}

.gencv-import-review-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.gencv-file-label {
    align-self: stretch;
}

.gencv-toggle-line {
    display: flex !important;
    flex-direction: row;
    gap: 9px;
    align-items: center;
    min-height: 42px;
    padding: 8px 0;
}

.gencv-toggle-line input {
    width: 18px;
    height: 18px;
}

.gencv-photo-preview {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 70px;
    margin-top: 12px;
    color: var(--gencv-muted);
}

.gencv-photo-preview img {
    width: 70px;
    height: 70px;
    border-radius: 10px;
    object-fit: cover;
    border: 1px solid var(--gencv-border);
}

.gencv-inline-add {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    align-items: end;
}

.gencv-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.gencv-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 7px 11px;
    border: 1px solid #bfd0df;
    border-radius: 999px;
    background: #fff;
    color: #26394e;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.gencv-chip:hover,
.gencv-chip.is-active {
    border-color: var(--gencv-primary);
    background: #eef5fb;
    color: var(--gencv-primary-strong);
}

.gencv-selected-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.gencv-selected-pill {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    max-width: 100%;
    padding: 7px 10px;
    border-radius: 999px;
    background: #e9f2f8;
    color: #17324a;
    font-weight: 700;
}

.gencv-selected-pill button {
    width: 24px;
    height: 24px;
    border: 0;
    border-radius: 999px;
    background: #fff;
    color: #17324a;
    cursor: pointer;
}

.gencv-repeat-item {
    display: grid;
    gap: 10px;
    margin-bottom: 12px;
    padding: 14px;
    border: 1px solid #d8e0ea;
    border-radius: 8px;
    background: #fff;
}

.gencv-repeat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.gencv-repeat-item textarea,
.gencv-repeat-item .gencv-wide {
    grid-column: 1 / -1;
}

.gencv-repeat-actions {
    display: flex;
    justify-content: flex-end;
}

.gencv-primary-button,
.gencv-secondary-button,
.gencv-danger-button {
    min-height: 42px;
    padding: 10px 14px;
    border-radius: 7px;
    border: 1px solid transparent;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.gencv-primary-button {
    background: var(--gencv-primary);
    color: #fff;
}

.gencv-primary-button:hover {
    background: var(--gencv-primary-strong);
}

.gencv-secondary-button {
    border-color: #b9c7d7;
    background: #fff;
    color: #24364a;
}

.gencv-secondary-button:hover {
    border-color: var(--gencv-primary);
    color: var(--gencv-primary-strong);
}

.gencv-danger-button {
    background: #fff5f4;
    border-color: #f3b5af;
    color: var(--gencv-danger);
}

.gencv-step-actions,
.gencv-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: space-between;
    margin-top: 18px;
}

.gencv-actions {
    justify-content: flex-start;
}

.gencv-alert {
    margin: 10px 0 0;
    padding: 10px 12px;
    border: 1px solid #f4c7b8;
    border-radius: 8px;
    background: #fff7ed;
    color: #8a2c0f;
    font-weight: 700;
}

.gencv-ats-note,
.gencv-status {
    margin-top: 12px;
    color: var(--gencv-muted);
}

.gencv-preview-pane {
    position: sticky;
    top: 24px;
}

.gencv-preview-toolbar {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    margin-bottom: 10px;
    color: #35465a;
}

.gencv-preview-toolbar span {
    color: var(--gencv-muted);
    font-size: 0.9rem;
}

.gencv-cv-preview {
    width: 100%;
    overflow: auto;
}

.gencv-cv-document {
    --gencv-accent: var(--gencv-primary);
    width: min(100%, 794px);
    min-height: 1122px;
    margin: 0 auto;
    padding: 42px;
    background: #fff;
    color: #152033;
    border-radius: 6px;
    box-shadow: 0 20px 60px rgba(16, 32, 51, 0.16);
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 14px;
    line-height: 1.45;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
}

.gencv-cv-document.gencv-font-serif {
    font-family: Georgia, "Times New Roman", serif;
}

.gencv-cv-document.gencv-font-classic {
    font-family: Arial, Helvetica, sans-serif;
}

.gencv-cv-header {
    display: flex;
    gap: 22px;
    align-items: flex-start;
    justify-content: space-between;
    padding-bottom: 20px;
    border-bottom: 3px solid var(--gencv-accent);
}

.gencv-cv-identity {
    min-width: 0;
}

.gencv-cv-name {
    margin: 0;
    color: #101d2c;
    font-size: 2.05rem;
    line-height: 1.08;
    overflow-wrap: anywhere;
}

.gencv-cv-title {
    margin: 8px 0 0;
    color: var(--gencv-accent);
    font-size: 1.05rem;
    font-weight: 800;
    text-transform: uppercase;
}

.gencv-cv-contact {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    margin-top: 12px;
    color: #33465c;
    font-size: 0.92rem;
}

.gencv-cv-photo {
    flex: 0 0 auto;
}

.gencv-cv-photo img {
    width: 104px;
    height: 104px;
    border: 3px solid #fff;
    box-shadow: 0 8px 20px rgba(16, 32, 51, 0.18);
    object-fit: cover;
}

.gencv-photo-circle img {
    border-radius: 999px;
}

.gencv-photo-square img {
    border-radius: 0;
}

.gencv-photo-rounded img {
    border-radius: 12px;
}

.gencv-photo-portrait img {
    width: 92px;
    height: 126px;
    border-radius: 10px;
}

.gencv-cv-body {
    display: grid;
    gap: 22px;
    padding-top: 24px;
}

.gencv-cv-document.gencv-layout-two .gencv-cv-body {
    grid-template-columns: minmax(250px, 0.9fr) minmax(0, 1.1fr);
    align-items: start;
}

.gencv-cv-document.gencv-layout-one .gencv-cv-body,
.gencv-cv-document.gencv-cv-ats .gencv-cv-body {
    grid-template-columns: 1fr;
}

.gencv-cv-sidebar {
    display: grid;
    gap: 16px;
    min-width: 0;
    align-content: start;
    padding: 18px;
    border-radius: 8px;
    background: #f1f6fa;
}

.gencv-cv-main {
    display: grid;
    gap: 18px;
    min-width: 0;
    align-content: start;
}

.gencv-cv-section {
    min-width: 0;
    break-inside: avoid;
}

.gencv-cv-section h3 {
    margin: 0 0 8px;
    padding-bottom: 5px;
    border-bottom: 1px solid #d8e0ea;
    color: var(--gencv-accent);
    font-size: 0.92rem;
    letter-spacing: 0;
    text-transform: uppercase;
}

.gencv-cv-section p {
    margin: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.gencv-cv-item-title,
.gencv-cv-item-meta,
.gencv-cv-list li,
.gencv-cv-contact span,
.gencv-cv-chip-list li {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.gencv-cv-item {
    margin: 0 0 12px;
    break-inside: avoid;
}

.gencv-cv-item:last-child {
    margin-bottom: 0;
}

.gencv-cv-item-title {
    margin: 0;
    color: #152033;
    font-weight: 800;
}

.gencv-cv-item-meta {
    margin: 2px 0 5px;
    color: #607083;
    font-size: 0.9rem;
}

.gencv-cv-list,
.gencv-cv-chip-list {
    display: grid;
    gap: 5px;
    margin: 0;
    padding-left: 18px;
}

.gencv-cv-chip-list {
    display: flex;
    flex-wrap: wrap;
    padding-left: 0;
    list-style: none;
}

.gencv-cv-chip-list li {
    padding: 5px 8px;
    border-radius: 999px;
    background: #edf4f8;
    color: #203449;
    font-weight: 700;
}

.gencv-cv-theme-moderne,
.gencv-cv-theme-commerce {
    padding: 0;
}

.gencv-cv-theme-moderne .gencv-cv-header,
.gencv-cv-theme-commerce .gencv-cv-header {
    margin: 0;
    padding: 36px 36px 18px;
    border-bottom: 0;
}

.gencv-cv-theme-moderne .gencv-cv-body,
.gencv-cv-theme-commerce .gencv-cv-body {
    padding: 0 36px 36px;
}

.gencv-cv-theme-moderne .gencv-cv-sidebar,
.gencv-cv-theme-commerce .gencv-cv-sidebar {
    background: var(--gencv-accent);
    color: #fff;
}

.gencv-cv-theme-moderne .gencv-cv-sidebar h3,
.gencv-cv-theme-commerce .gencv-cv-sidebar h3,
.gencv-cv-theme-moderne .gencv-cv-sidebar .gencv-cv-item-meta,
.gencv-cv-theme-commerce .gencv-cv-sidebar .gencv-cv-item-meta {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.35);
}

.gencv-cv-theme-moderne .gencv-cv-sidebar .gencv-cv-chip-list li,
.gencv-cv-theme-commerce .gencv-cv-sidebar .gencv-cv-chip-list li {
    background: rgba(255, 255, 255, 0.17);
    color: #fff;
}

.gencv-cv-theme-elegant {
    --gencv-accent: #8f2f46;
    background: #fffdfc;
}

.gencv-cv-theme-elegant .gencv-cv-section h3 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1rem;
    text-transform: none;
}

.gencv-cv-theme-minimaliste {
    --gencv-accent: #2f4f4f;
    box-shadow: 0 10px 34px rgba(16, 32, 51, 0.11);
}

.gencv-cv-theme-minimaliste .gencv-cv-header {
    border-bottom-width: 1px;
}

.gencv-cv-theme-creatif {
    --gencv-accent: #b45309;
}

.gencv-cv-theme-creatif .gencv-cv-header {
    padding: 24px;
    border: 0;
    border-radius: 12px;
    background: #fff4e5;
}

.gencv-cv-theme-competences {
    --gencv-accent: #2563eb;
}

.gencv-cv-theme-competences .gencv-cv-chip-list li {
    border-left: 4px solid var(--gencv-accent);
    border-radius: 6px;
}

.gencv-cv-theme-debutant {
    --gencv-accent: #4f46e5;
}

.gencv-cv-theme-debutant .gencv-cv-header {
    background: #f1f0ff;
    border: 0;
    border-radius: 12px;
    padding: 24px;
}

.gencv-cv-theme-reconversion {
    --gencv-accent: #7c3aed;
}

.gencv-cv-theme-reconversion .gencv-cv-section h3 {
    border-left: 4px solid var(--gencv-accent);
    padding-left: 8px;
}

.gencv-cv-theme-advf {
    --gencv-accent: #a15c38;
    background: #fffaf7;
}

.gencv-cv-theme-advf .gencv-cv-sidebar {
    background: #f8ede7;
}

.gencv-cv-cvtype-competences .gencv-section-skills,
.gencv-cv-cvtype-reconversion .gencv-section-skills {
    order: -1;
}

.gencv-cv-cvtype-debutant .gencv-section-education,
.gencv-cv-cvtype-formation .gencv-section-education {
    order: -2;
}

.gencv-cv-ats {
    padding: 36px;
    box-shadow: none;
    border: 1px solid #d1d5db;
}

.gencv-cv-ats .gencv-cv-header {
    border-bottom: 1px solid #111827;
    background: transparent;
    padding: 0 0 14px;
}

.gencv-cv-ats .gencv-cv-sidebar {
    padding: 0;
    background: transparent;
    color: inherit;
}

.gencv-cv-ats .gencv-cv-photo {
    display: none;
}

.gencv-cv-ats .gencv-cv-chip-list li {
    padding: 0;
    border-radius: 0;
    background: transparent;
    font-weight: 400;
}

.gencv-cv-ats .gencv-cv-chip-list {
    display: grid;
    padding-left: 18px;
    list-style: disc;
}


.gencv-quality-panel {
    border-color: rgba(23, 69, 107, 0.2);
    background: linear-gradient(135deg, rgba(23, 69, 107, 0.07), rgba(255, 255, 255, 0.96));
}

.gencv-quality-summary {
    margin: 14px 0;
}

.gencv-quality-score {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    border: 1px solid rgba(23, 69, 107, 0.16);
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
}

.gencv-quality-score strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 82px;
    min-height: 46px;
    border-radius: 999px;
    background: var(--gencv-primary, #17456b);
    color: #ffffff;
    font-size: 1.15rem;
}

.gencv-quality-score span {
    color: #233142;
    font-weight: 700;
}

.gencv-quality-results {
    margin-top: 12px;
}

.gencv-quality-list {
    display: grid;
    gap: 10px;
}

.gencv-quality-card {
    padding: 14px 15px;
    border: 1px solid #d8e0ea;
    border-left-width: 6px;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
}

.gencv-quality-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 6px;
}

.gencv-quality-card-head strong {
    color: #102033;
}

.gencv-quality-card-head span {
    padding: 4px 9px;
    border-radius: 999px;
    background: #eef4f8;
    color: #102033;
    font-size: 0.78rem;
    font-weight: 800;
    white-space: nowrap;
}

.gencv-quality-card p {
    margin: 0 0 5px;
    color: #223146;
}

.gencv-quality-card small {
    display: block;
    color: #4f6073;
    line-height: 1.4;
}

.gencv-quality-critical {
    border-left-color: #b42318;
}

.gencv-quality-critical .gencv-quality-card-head span {
    background: #fee4e2;
    color: #912018;
}

.gencv-quality-important {
    border-left-color: #c2410c;
}

.gencv-quality-important .gencv-quality-card-head span {
    background: #ffedd5;
    color: #9a3412;
}

.gencv-quality-warning {
    border-left-color: #d97706;
}

.gencv-quality-warning .gencv-quality-card-head span {
    background: #fef3c7;
    color: #92400e;
}

.gencv-quality-info {
    border-left-color: #2563eb;
}

.gencv-quality-info .gencv-quality-card-head span {
    background: #dbeafe;
    color: #1e40af;
}

.gencv-quality-success {
    border-left-color: #15803d;
}

.gencv-quality-success .gencv-quality-card-head span {
    background: #dcfce7;
    color: #166534;
}

.gencv-quality-actions {
    margin-top: 14px;
}


.gencv-offer-panel {
    border-color: rgba(13, 148, 136, 0.24);
    background: linear-gradient(135deg, rgba(13, 148, 136, 0.08), rgba(255, 255, 255, 0.98));
}

.gencv-offer-actions {
    margin: 12px 0;
}

.gencv-offer-result {
    display: grid;
    gap: 12px;
    margin-top: 12px;
}

.gencv-offer-summary,
.gencv-offer-box {
    padding: 14px 15px;
    border: 1px solid rgba(13, 148, 136, 0.2);
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
}

.gencv-offer-summary {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 14px;
}

.gencv-offer-summary p,
.gencv-offer-box p,
.gencv-offer-box ul {
    margin: 8px 0 0;
    color: #223146;
}

.gencv-offer-score {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 92px;
    min-height: 70px;
    padding: 10px;
    border-radius: 16px;
    background: #e6fffb;
    color: #0f766e;
    text-align: center;
    font-weight: 800;
}

.gencv-offer-score strong {
    font-size: 1.3rem;
    line-height: 1;
}

.gencv-offer-score span {
    margin-top: 5px;
    font-size: 0.72rem;
    line-height: 1.2;
}

.gencv-keyword-pill,
.gencv-offer-add {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 11px;
    border: 1px solid rgba(13, 148, 136, 0.22);
    border-radius: 999px;
    background: #f0fdfa;
    color: #134e4a;
    font-size: 0.88rem;
    font-weight: 700;
}

.gencv-keyword-missing {
    border-color: rgba(194, 65, 12, 0.22);
    background: #fff7ed;
    color: #9a3412;
}

.gencv-offer-add {
    cursor: pointer;
}

.gencv-offer-add:hover,
.gencv-offer-add:focus {
    background: #ccfbf1;
    color: #0f3f3b;
}

@media (max-width: 1020px) {
    .gencv-layout {
        grid-template-columns: 1fr;
    }

    .gencv-preview-pane {
        position: static;
    }
}

@media (max-width: 760px) {
    .gencv-hero,
    .gencv-generator-form {
        padding: 16px;
    }

    .gencv-progress {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .gencv-choice-grid,
    .gencv-choice-grid-compact,
    .gencv-template-grid,
    .gencv-form-grid,
    .gencv-photo-tools,
    .gencv-import-tools,
    .gencv-export-options,
    .gencv-repeat-grid,
    .gencv-inline-add {
        grid-template-columns: 1fr;
    }

    .gencv-cv-document {
        min-height: auto;
        padding: 24px;
        font-size: 13px;
    }

    .gencv-cv-header,
    .gencv-cv-document.gencv-layout-two .gencv-cv-body {
        grid-template-columns: 1fr;
    }

    .gencv-cv-header {
        flex-direction: column;
    }

    .gencv-offer-summary {
        grid-template-columns: 1fr;
    }

    .gencv-cv-theme-moderne .gencv-cv-header,
    .gencv-cv-theme-commerce .gencv-cv-header,
    .gencv-cv-theme-moderne .gencv-cv-body,
    .gencv-cv-theme-commerce .gencv-cv-body {
        padding-left: 24px;
        padding-right: 24px;
    }
}

@media print {
    @page {
        size: A4;
        margin: 15mm 12mm;
    }

    body * {
        visibility: hidden;
    }

    .gencv-cv-preview,
    .gencv-cv-preview * {
        visibility: visible;
    }

    .gencv-cv-preview {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        overflow: visible;
    }

    .gencv-cv-document {
        width: 100%;
        min-height: auto;
        margin: 0;
        padding: 0;
        border-radius: 0;
        box-shadow: none;
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }

    .gencv-no-print,
    .gencv-generator-form,
    .gencv-actions,
    #wpadminbar {
        display: none !important;
    }

    .gencv-section,
    .gencv-cv-section,
    .gencv-experience-item,
    .gencv-formation-item,
    .gencv-cv-item {
        page-break-inside: avoid;
        break-inside: avoid;
    }
}


/* Visual refresh v1.5.0: richer model cards, stronger sector differentiation, cleaner print */
.gencv-template-card {
    position: relative;
    overflow: hidden;
}

.gencv-template-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(145deg, rgba(255,255,255,0), rgba(255,255,255,0.62));
    pointer-events: none;
}

.gencv-template-thumb {
    position: relative;
    overflow: hidden;
    gap: 8px;
    height: 94px;
    padding: 10px;
    border: 1px solid #dbe5ef;
    border-radius: 12px;
    background: linear-gradient(180deg, #ffffff 0%, #f6f9fc 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 8px 18px rgba(17, 24, 39, 0.06);
}

.gencv-template-thumb::before {
    border-radius: 8px;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.22);
}

.gencv-template-thumb::after {
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    right: 12px;
    top: 11px;
    border-radius: 999px;
    background: rgba(255,255,255,.92);
    border: 2px solid rgba(17,24,39,.08);
    box-shadow: 0 1px 6px rgba(15,23,42,.12);
}

.gencv-template-thumb span {
    position: relative;
    z-index: 1;
    height: 8px;
    border-radius: 999px;
    background: linear-gradient(90deg, #d6e1ec, #e5edf4);
}

.gencv-template-thumb span:nth-child(2) { width: 82%; }
.gencv-template-thumb span:nth-child(3) { width: 62%; }

.gencv-template-thumb-classique,
.gencv-template-thumb-minimaliste,
.gencv-template-thumb-competences,
.gencv-template-thumb-debutant,
.gencv-template-thumb-reconversion {
    grid-template-columns: 1fr;
}

.gencv-template-thumb-classique::before,
.gencv-template-thumb-minimaliste::before,
.gencv-template-thumb-competences::before,
.gencv-template-thumb-debutant::before,
.gencv-template-thumb-reconversion::before {
    grid-row: auto;
    height: 16px;
}

.gencv-template-thumb-classique::after {
    right: 12px;
    top: 12px;
}

.gencv-template-thumb-moderne::before,
.gencv-template-thumb-commerce::before,
.gencv-template-thumb-advf::before,
.gencv-template-thumb-elegant::before {
    grid-row: 1 / span 3;
    min-height: 100%;
}

.gencv-template-thumb-moderne::after,
.gencv-template-thumb-commerce::after,
.gencv-template-thumb-advf::after,
.gencv-template-thumb-elegant::after {
    left: 12px;
    top: 14px;
    right: auto;
    background: rgba(255,255,255,.88);
}

.gencv-template-thumb-elegant {
    background: linear-gradient(180deg, #fffafc, #fff7f9);
}

.gencv-template-thumb-elegant span {
    background: linear-gradient(90deg, #e7d8dd, #f1e9ed);
}

.gencv-template-thumb-creatif {
    background: linear-gradient(135deg, #fff9ef 0%, #fff5e6 38%, #ffffff 100%);
}

.gencv-template-thumb-creatif::before {
    transform: skewY(-8deg);
    transform-origin: left top;
}

.gencv-template-thumb-creatif::after {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    top: 10px;
    right: 12px;
}

.gencv-template-thumb-competences {
    gap: 6px;
}

.gencv-template-thumb-competences::before {
    background: linear-gradient(90deg, var(--gencv-thumb-color), rgba(37,99,235,.16));
}

.gencv-template-thumb-competences::after {
    width: 54px;
    height: 11px;
    right: 10px;
    top: 13px;
    border-radius: 999px;
    background: rgba(37,99,235,.12);
    border: 0;
    box-shadow: none;
}

.gencv-template-thumb-competences span {
    height: 12px;
    border-radius: 8px;
}

.gencv-template-thumb-debutant {
    background: linear-gradient(180deg, #f7f5ff, #ffffff);
}

.gencv-template-thumb-debutant::after {
    width: 46px;
    height: 10px;
    right: 12px;
    top: 14px;
    border-radius: 999px;
    background: rgba(79,70,229,.12);
    border: 0;
    box-shadow: none;
}

.gencv-template-thumb-reconversion {
    background: linear-gradient(180deg, #faf7ff, #ffffff);
}

.gencv-template-thumb-reconversion::before {
    background: linear-gradient(90deg, var(--gencv-thumb-color), rgba(124,58,237,.12));
}

.gencv-template-thumb-reconversion::after {
    width: 58px;
    height: 10px;
    right: 12px;
    top: 14px;
    border-radius: 999px;
    background: rgba(124,58,237,.12);
    border: 0;
    box-shadow: none;
}

.gencv-cv-document {
    border: 1px solid rgba(217, 226, 236, .95);
    border-radius: 16px;
    box-shadow: 0 24px 70px rgba(16, 32, 51, 0.14);
    overflow: hidden;
}

.gencv-cv-header {
    position: relative;
    padding-bottom: 24px;
}

.gencv-cv-header::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 88px;
    height: 3px;
    border-radius: 999px;
    background: var(--gencv-accent);
}

.gencv-cv-name {
    letter-spacing: .02em;
}

.gencv-cv-title {
    letter-spacing: .09em;
}

.gencv-cv-sidebar {
    border: 1px solid rgba(216, 224, 234, .9);
}

.gencv-cv-section {
    padding: 2px 0;
}

.gencv-cv-section h3 {
    margin-bottom: 10px;
    padding-bottom: 7px;
    font-weight: 800;
    letter-spacing: .08em;
}

.gencv-cv-item {
    padding-left: 12px;
    border-left: 2px solid rgba(23, 69, 107, 0.12);
}

.gencv-cv-item-meta {
    font-size: .88rem;
}

.gencv-cv-chip-list li {
    border: 1px solid rgba(203, 213, 225, .9);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
}

.gencv-cv-theme-classique .gencv-cv-header {
    padding-bottom: 22px;
}

.gencv-cv-theme-classique .gencv-cv-main {
    gap: 20px;
}

.gencv-cv-theme-moderne,
.gencv-cv-theme-commerce {
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

.gencv-cv-theme-moderne .gencv-cv-header,
.gencv-cv-theme-commerce .gencv-cv-header {
    background: linear-gradient(135deg, rgba(11,37,60,.05) 0%, rgba(255,255,255,.96) 100%);
}

.gencv-cv-theme-moderne .gencv-cv-header::after,
.gencv-cv-theme-commerce .gencv-cv-header::after {
    display: none;
}

.gencv-cv-theme-moderne .gencv-cv-sidebar,
.gencv-cv-theme-commerce .gencv-cv-sidebar {
    border: none;
    border-radius: 0 0 14px 14px;
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.16);
}

.gencv-cv-theme-moderne .gencv-cv-main,
.gencv-cv-theme-commerce .gencv-cv-main {
    padding-top: 8px;
}

.gencv-cv-theme-moderne .gencv-cv-item,
.gencv-cv-theme-commerce .gencv-cv-item {
    border-left-color: rgba(23,69,107,.16);
}

.gencv-cv-theme-elegant {
    background: linear-gradient(180deg, #fffdfc 0%, #fff9fb 100%);
}

.gencv-cv-theme-elegant .gencv-cv-header {
    padding-bottom: 18px;
    border-bottom-width: 2px;
}

.gencv-cv-theme-elegant .gencv-cv-header::after {
    width: 68px;
    background: linear-gradient(90deg, #8f2f46, rgba(143,47,70,.22));
}

.gencv-cv-theme-elegant .gencv-cv-section {
    padding: 8px 0;
    border-bottom: 1px solid rgba(143,47,70,.12);
}

.gencv-cv-theme-elegant .gencv-cv-item {
    border-left-color: rgba(143,47,70,.18);
}

.gencv-cv-theme-minimaliste {
    background: #fff;
}

.gencv-cv-theme-minimaliste .gencv-cv-document,
.gencv-cv-theme-minimaliste {
    box-shadow: 0 16px 42px rgba(16, 32, 51, 0.1);
}

.gencv-cv-theme-minimaliste .gencv-cv-header::after {
    width: 54px;
    height: 1px;
}

.gencv-cv-theme-minimaliste .gencv-cv-item {
    padding-left: 0;
    border-left: 0;
}

.gencv-cv-theme-minimaliste .gencv-cv-chip-list li {
    background: transparent;
}

.gencv-cv-theme-creatif {
    background: linear-gradient(180deg, #ffffff, #fffdfa);
}

.gencv-cv-theme-creatif .gencv-cv-header {
    position: relative;
    overflow: hidden;
}

.gencv-cv-theme-creatif .gencv-cv-header::before {
    content: "";
    position: absolute;
    right: -14px;
    top: -14px;
    width: 104px;
    height: 104px;
    border-radius: 28px;
    background: linear-gradient(135deg, rgba(180,83,9,.16), rgba(180,83,9,.03));
}

.gencv-cv-theme-creatif .gencv-cv-body {
    padding-top: 18px;
}

.gencv-cv-theme-competences .gencv-cv-section {
    padding: 14px;
    border: 1px solid rgba(37,99,235,.11);
    border-radius: 12px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.gencv-cv-theme-competences .gencv-cv-section h3 {
    border-bottom-color: rgba(37,99,235,.22);
}

.gencv-cv-theme-competences .gencv-cv-item {
    border-left-color: rgba(37,99,235,.18);
}

.gencv-cv-theme-debutant {
    background: linear-gradient(180deg, #fcfbff, #ffffff);
}

.gencv-cv-theme-debutant .gencv-cv-header {
    box-shadow: inset 0 0 0 1px rgba(79,70,229,.08);
}

.gencv-cv-theme-debutant .gencv-cv-section {
    padding: 12px;
    border-radius: 12px;
    background: #faf9ff;
}

.gencv-cv-theme-debutant .gencv-cv-item {
    border-left-color: rgba(79,70,229,.18);
}

.gencv-cv-theme-reconversion {
    background: linear-gradient(180deg, #fbf9ff, #ffffff);
}

.gencv-cv-theme-reconversion .gencv-cv-section {
    padding: 8px 10px 8px 14px;
    border-radius: 0 10px 10px 0;
    background: linear-gradient(90deg, rgba(124,58,237,.05), rgba(255,255,255,0));
}

.gencv-cv-theme-reconversion .gencv-cv-item {
    border-left-color: rgba(124,58,237,.24);
}

.gencv-cv-theme-advf {
    background: linear-gradient(180deg, #fffaf7, #fffdfb);
}

.gencv-cv-theme-advf .gencv-cv-sidebar {
    border-color: rgba(161,92,56,.12);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}

.gencv-cv-theme-advf .gencv-cv-section {
    padding: 10px 0;
}

.gencv-cv-theme-advf .gencv-cv-item {
    border-left-color: rgba(161,92,56,.18);
}

.gencv-cv-theme-commerce {
    background: linear-gradient(180deg, #ffffff, #f6fbfb);
}

.gencv-cv-theme-commerce .gencv-cv-header {
    background: linear-gradient(135deg, rgba(13,148,136,.08) 0%, rgba(255,255,255,.98) 100%);
}

.gencv-cv-theme-commerce .gencv-cv-sidebar {
    background: linear-gradient(180deg, #0d9488 0%, #0f766e 100%);
}

.gencv-cv-theme-commerce .gencv-cv-chip-list li {
    border: 0;
}

.gencv-cv-ats {
    border-radius: 0;
}

.gencv-cv-ats .gencv-cv-item {
    padding-left: 0;
    border-left: 0;
}

@media print {
    .gencv-cv-preview {
        margin: 0;
        padding: 0;
        background: transparent !important;
    }

    .gencv-cv-document {
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        overflow: visible;
    }

    .gencv-cv-header,
    .gencv-cv-sidebar,
    .gencv-cv-section,
    .gencv-cv-item {
        box-shadow: none !important;
        background: transparent !important;
    }

    .gencv-cv-theme-moderne .gencv-cv-sidebar,
    .gencv-cv-theme-commerce .gencv-cv-sidebar,
    .gencv-cv-theme-advf .gencv-cv-sidebar {
        background: #ffffff !important;
        color: #152033 !important;
        border: 1px solid #d8e0ea !important;
    }

    .gencv-cv-theme-moderne .gencv-cv-sidebar h3,
    .gencv-cv-theme-commerce .gencv-cv-sidebar h3,
    .gencv-cv-theme-advf .gencv-cv-sidebar h3,
    .gencv-cv-theme-moderne .gencv-cv-sidebar .gencv-cv-item-meta,
    .gencv-cv-theme-commerce .gencv-cv-sidebar .gencv-cv-item-meta,
    .gencv-cv-theme-advf .gencv-cv-sidebar .gencv-cv-item-meta {
        color: #152033 !important;
        border-color: #d8e0ea !important;
    }

    .gencv-cv-theme-moderne .gencv-cv-sidebar .gencv-cv-chip-list li,
    .gencv-cv-theme-commerce .gencv-cv-sidebar .gencv-cv-chip-list li,
    .gencv-cv-theme-advf .gencv-cv-sidebar .gencv-cv-chip-list li {
        background: #edf4f8 !important;
        color: #152033 !important;
        border: 1px solid #d8e0ea !important;
    }
}

.gencv-import-note {
    margin: 10px 0 0;
    padding: 10px 12px;
    border: 1px solid #f1d39b;
    border-radius: 8px;
    background: #fff8e8;
    color: #6f4a0b;
    font-size: 0.92rem;
    font-weight: 600;
}


/* Finalisation v1.8.0: clearer status messages and final help blocks */
.gencv-status:not(:empty) {
    margin-top: 12px;
    padding: 10px 12px;
    border: 1px solid #bfd8d2;
    border-radius: 8px;
    background: #eef8f5;
    color: #153b35;
    font-weight: 700;
}

.gencv-import-result,
.gencv-offer-result,
.gencv-quality-results {
    overflow-wrap: anywhere;
}

.gencv-app button:disabled,
.gencv-app input:disabled,
.gencv-app select:disabled,
.gencv-app textarea:disabled {
    opacity: .62;
    cursor: not-allowed;
}

.gencv-file-label input[type="file"] {
    cursor: pointer;
}

.gencv-cv-preview::-webkit-scrollbar {
    height: 10px;
}

.gencv-cv-preview::-webkit-scrollbar-thumb {
    background: #c6d3df;
    border-radius: 999px;
}
.gencv-section-balanced {
    break-inside: avoid;
    page-break-inside: avoid;
}




/* v1.8.2 – export une page, colonne gauche plus large, miniatures plus fidèles */
.gencv-cv-document.gencv-layout-two .gencv-cv-body {
    grid-template-columns: minmax(320px, 1.15fr) minmax(0, 0.85fr);
}

.gencv-cv-document.gencv-layout-two .gencv-cv-sidebar,
.gencv-cv-document.gencv-layout-two .gencv-cv-main {
    min-width: 0;
    align-content: start;
}

.gencv-cv-document.gencv-fit-page {
    min-height: auto;
    max-height: var(--gencv-fit-height, 1046px);
    overflow: hidden;
    font-size: calc(14px * var(--gencv-fit-scale, 1));
    line-height: calc(1.45 - ((1 - var(--gencv-fit-scale, 1)) * 0.18));
    padding: calc(34px * var(--gencv-fit-scale, 1)) calc(34px * var(--gencv-fit-scale, 1));
}

.gencv-cv-document.gencv-fit-page .gencv-cv-header {
    gap: calc(18px * var(--gencv-fit-scale, 1));
    padding-bottom: calc(14px * var(--gencv-fit-scale, 1));
}

.gencv-cv-document.gencv-fit-page .gencv-cv-name {
    font-size: calc(1.9rem * var(--gencv-fit-scale, 1));
}

.gencv-cv-document.gencv-fit-page .gencv-cv-title {
    font-size: calc(0.96rem * var(--gencv-fit-scale, 1));
    margin-top: calc(6px * var(--gencv-fit-scale, 1));
}

.gencv-cv-document.gencv-fit-page .gencv-cv-body {
    gap: calc(16px * var(--gencv-fit-scale, 1));
    padding-top: calc(16px * var(--gencv-fit-scale, 1));
}

.gencv-cv-document.gencv-fit-page .gencv-cv-sidebar {
    gap: calc(10px * var(--gencv-fit-scale, 1));
    padding: calc(14px * var(--gencv-fit-scale, 1));
}

.gencv-cv-document.gencv-fit-page .gencv-cv-main {
    gap: calc(12px * var(--gencv-fit-scale, 1));
}

.gencv-cv-document.gencv-fit-page .gencv-cv-section h3 {
    margin-bottom: calc(7px * var(--gencv-fit-scale, 1));
    padding-bottom: calc(4px * var(--gencv-fit-scale, 1));
    font-size: calc(0.8rem * var(--gencv-fit-scale, 1));
}

.gencv-cv-document.gencv-fit-page .gencv-cv-item {
    margin-bottom: calc(7px * var(--gencv-fit-scale, 1));
    padding-left: calc(8px * var(--gencv-fit-scale, 1));
}

.gencv-cv-document.gencv-fit-page .gencv-cv-item-meta,
.gencv-cv-document.gencv-fit-page .gencv-cv-contact,
.gencv-cv-document.gencv-fit-page .gencv-cv-list,
.gencv-cv-document.gencv-fit-page .gencv-cv-chip-list li {
    font-size: calc(0.8rem * var(--gencv-fit-scale, 1));
}

.gencv-cv-document.gencv-fit-page .gencv-cv-list {
    gap: calc(3px * var(--gencv-fit-scale, 1));
    padding-left: calc(15px * var(--gencv-fit-scale, 1));
}

.gencv-cv-document.gencv-fit-page .gencv-cv-chip-list {
    gap: calc(4px * var(--gencv-fit-scale, 1));
}

.gencv-cv-document.gencv-fit-page .gencv-cv-chip-list li {
    padding: calc(3px * var(--gencv-fit-scale, 1)) calc(6px * var(--gencv-fit-scale, 1));
}

.gencv-cv-document.gencv-fit-page .gencv-cv-photo img {
    width: calc(90px * var(--gencv-fit-scale, 1));
    height: calc(90px * var(--gencv-fit-scale, 1));
}

.gencv-cv-document.gencv-fit-page.gencv-fit-tight .gencv-photo-portrait img {
    width: calc(78px * var(--gencv-fit-scale, 1));
    height: calc(106px * var(--gencv-fit-scale, 1));
}

.gencv-template-card[data-value="classique"] .gencv-template-thumb {
    background: linear-gradient(180deg, #ffffff 0%, #f4f8fc 100%);
}
.gencv-template-card[data-value="classique"] .gencv-template-thumb::before {
    background: #17456b;
}

.gencv-template-card[data-value="moderne"] .gencv-template-thumb {
    background: linear-gradient(180deg, #fbfdff 0%, #eef5fb 100%);
}
.gencv-template-card[data-value="moderne"] .gencv-template-thumb::before {
    background: #17456b;
}

.gencv-template-card[data-value="elegant"] .gencv-template-thumb {
    background: linear-gradient(180deg, #fffafc 0%, #fff3f7 100%);
}
.gencv-template-card[data-value="elegant"] .gencv-template-thumb::before {
    background: #8f2f46;
}
.gencv-template-card[data-value="elegant"] .gencv-template-thumb span {
    background: linear-gradient(90deg, #ecd5dd, #f4e9ee);
}

.gencv-template-card[data-value="minimaliste"] .gencv-template-thumb {
    background: linear-gradient(180deg, #ffffff 0%, #f7faf8 100%);
}
.gencv-template-card[data-value="minimaliste"] .gencv-template-thumb::before {
    background: #2f4f4f;
}

.gencv-template-card[data-value="creatif"] .gencv-template-thumb {
    background: linear-gradient(135deg, #fff7eb 0%, #fff2dc 48%, #ffffff 100%);
}
.gencv-template-card[data-value="creatif"] .gencv-template-thumb::before {
    background: #b45309;
}

.gencv-template-card[data-value="competences"] .gencv-template-thumb {
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}
.gencv-template-card[data-value="competences"] .gencv-template-thumb::before {
    background: #2563eb;
}

.gencv-template-card[data-value="debutant"] .gencv-template-thumb {
    background: linear-gradient(180deg, #f6f4ff 0%, #ffffff 100%);
}
.gencv-template-card[data-value="debutant"] .gencv-template-thumb::before {
    background: #4f46e5;
}

.gencv-template-card[data-value="reconversion"] .gencv-template-thumb {
    background: linear-gradient(180deg, #faf7ff 0%, #ffffff 100%);
}
.gencv-template-card[data-value="reconversion"] .gencv-template-thumb::before {
    background: #7c3aed;
}

.gencv-template-card[data-value="advf"] .gencv-template-thumb {
    background: linear-gradient(180deg, #fffaf7 0%, #f9efe8 100%);
}
.gencv-template-card[data-value="advf"] .gencv-template-thumb::before {
    background: #a15c38;
}

.gencv-template-card[data-value="commerce"] .gencv-template-thumb {
    background: linear-gradient(180deg, #f4fbfa 0%, #eaf7f5 100%);
}
.gencv-template-card[data-value="commerce"] .gencv-template-thumb::before {
    background: #0d9488;
}
.gencv-template-card[data-value="commerce"] .gencv-template-thumb span {
    background: linear-gradient(90deg, #cfe8e4, #ddf1ee);
}

@media print {
    .gencv-cv-document.gencv-fit-page {
        max-height: none;
    }
}


/* v1.8.3 – contrôle une page / deux pages lisibles */
.gencv-pagefit-panel {
    border-color: rgba(124, 58, 237, 0.22);
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.07), rgba(255, 255, 255, 0.98));
}

.gencv-pagefit-summary {
    margin: 14px 0;
}

.gencv-pagefit-score {
    display: grid;
    gap: 6px;
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid #d8e0ea;
    background: #ffffff;
}

.gencv-pagefit-score strong {
    color: #102033;
    font-size: 1.02rem;
}

.gencv-pagefit-score span {
    color: #35465a;
}

.gencv-pagefit-score.is-good {
    border-color: rgba(15, 118, 110, 0.35);
    background: #eef8f5;
}

.gencv-pagefit-score.is-warning {
    border-color: rgba(180, 83, 9, 0.35);
    background: #fff7ed;
}

.gencv-pagefit-score.is-danger {
    border-color: rgba(180, 35, 24, 0.35);
    background: #fff1f0;
}

.gencv-pagefit-alert {
    margin: 10px 0 0;
    padding: 10px 12px;
    border-left: 4px solid var(--gencv-danger);
    border-radius: 8px;
    background: #fff1f0;
    color: #7a1d17;
    font-weight: 700;
}

.gencv-pagefit-note {
    margin: 10px 0 0;
    padding: 10px 12px;
    border-left: 4px solid var(--gencv-good);
    border-radius: 8px;
    background: #eef8f5;
    color: #153b35;
    font-weight: 700;
}

.gencv-pagefit-list {
    display: grid;
    gap: 8px;
    margin: 0;
    padding-left: 20px;
}

.gencv-pagefit-list li {
    color: #24364a;
}

.gencv-cv-document.gencv-two-page-allowed {
    max-height: none !important;
    overflow: visible !important;
}

.gencv-cv-document.gencv-fit-page:not(.gencv-two-page-allowed) {
    max-height: var(--gencv-fit-height, 1046px);
    overflow: hidden;
}

.gencv-cv-document.gencv-fit-page.gencv-fit-too-long::after {
    content: "Contenu trop long : activez le mode deux pages ou raccourcissez le CV.";
    display: block;
    margin-top: 10px;
    padding: 8px 10px;
    border-radius: 8px;
    background: #fff1f0;
    color: #7a1d17;
    font-weight: 800;
    font-size: 12px;
}

@media print {
    .gencv-cv-document.gencv-fit-page:not(.gencv-two-page-allowed) {
        max-height: var(--gencv-fit-height, 1046px) !important;
        overflow: hidden !important;
    }

    .gencv-cv-document.gencv-two-page-allowed {
        max-height: none !important;
        overflow: visible !important;
    }

    .gencv-cv-document.gencv-fit-page.gencv-fit-too-long::after {
        display: none;
    }
}


/* v1.8.4 – impression isolée sans pages blanches + score page fiable */
.gencv-cv-document.gencv-layout-one,
.gencv-cv-document.gencv-layout-one .gencv-cv-body,
.gencv-cv-document.gencv-cv-ats,
.gencv-cv-document.gencv-cv-ats .gencv-cv-body {
    background: #ffffff;
}

.gencv-cv-document.gencv-layout-two .gencv-cv-main {
    background: #ffffff;
    border-radius: 10px;
}

.gencv-cv-document.gencv-layout-two .gencv-cv-body {
    grid-template-columns: minmax(320px, 1.15fr) minmax(0, 0.85fr);
}

.gencv-pagefit-actions .is-active {
    box-shadow: 0 0 0 3px rgba(23, 69, 107, 0.18);
    transform: translateY(-1px);
}

.gencv-cv-document.gencv-two-page-allowed {
    max-height: none !important;
    overflow: visible !important;
}

.gencv-cv-document.gencv-two-page-allowed .gencv-cv-section,
.gencv-cv-document.gencv-two-page-allowed .gencv-cv-item {
    break-inside: avoid;
    page-break-inside: avoid;
}

@media print {
    html,
    body {
        display: block !important;
        width: 210mm !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        background: #ffffff !important;
    }

    body * {
        visibility: hidden !important;
    }

    body > *:not(.gencv-print-clone) {
        display: none !important;
    }

    .gencv-print-clone,
    .gencv-print-clone * {
        visibility: visible !important;
    }

    .gencv-print-clone {
        display: block !important;
        position: static !important;
        page-break-before: avoid !important;
        break-before: avoid !important;
        left: auto !important;
        top: auto !important;
        width: 186mm !important;
        max-width: 186mm !important;
        min-height: 0 !important;
        margin: 0 auto !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: #ffffff !important;
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }

    .gencv-print-clone.gencv-fit-page {
        max-height: 267mm !important;
        overflow: hidden !important;
    }

    .gencv-print-clone.gencv-two-page-allowed {
        max-height: none !important;
        overflow: visible !important;
        page-break-after: auto !important;
    }

    .gencv-print-clone.gencv-layout-one,
    .gencv-print-clone.gencv-layout-one .gencv-cv-body,
    .gencv-print-clone.gencv-cv-ats,
    .gencv-print-clone.gencv-cv-ats .gencv-cv-body {
        background: #ffffff !important;
    }

    .gencv-print-clone.gencv-layout-two .gencv-cv-main {
        background: #ffffff !important;
    }

    .gencv-print-clone.gencv-layout-two .gencv-cv-body {
        grid-template-columns: minmax(88mm, 1.15fr) minmax(0, .85fr) !important;
    }

    .gencv-print-clone .gencv-cv-section,
    .gencv-print-clone .gencv-cv-item {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }
}

/* v1.8.6 – fallback impression directe : ne plus bloquer la page si l'utilisateur utilise Ctrl+P */
@media print {
    body > *:not(.gencv-print-clone) {
        display: initial !important;
    }

    .gencv-generator-form,
    .gencv-no-print,
    .gencv-actions,
    #wpadminbar,
    .gencv-print-clone {
        display: none !important;
    }

    .gencv-app,
    .gencv-layout,
    .gencv-preview-pane,
    .gencv-cv-preview {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        background: #ffffff !important;
    }

    .gencv-cv-preview,
    .gencv-cv-preview * {
        visibility: visible !important;
    }
}


/* v1.8.7 - couleurs personnalisables et aperçu harmonisé */
.gencv-color-fieldset {
    background: #ffffff;
}
.gencv-color-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(130px, 1fr));
    gap: 10px;
}
.gencv-color-grid label {
    padding: 10px;
    border: 1px solid var(--gencv-border);
    border-radius: 8px;
    background: #f8fafc;
}
.gencv-cv-document {
    background: var(--gencv-page-bg, #ffffff) !important;
    color: var(--gencv-text-color, #152033) !important;
}
.gencv-cv-name {
    color: var(--gencv-name-color, #101d2c) !important;
}
.gencv-cv-title,
.gencv-cv-section h3 {
    color: var(--gencv-heading-color, var(--gencv-accent)) !important;
}
.gencv-cv-document.gencv-layout-one .gencv-cv-body,
.gencv-cv-document.gencv-layout-one .gencv-cv-main {
    background: #ffffff !important;
}
.gencv-cv-document.gencv-layout-two .gencv-cv-main {
    background: var(--gencv-main-bg, #ffffff) !important;
}
.gencv-cv-document.gencv-layout-two .gencv-cv-sidebar {
    background: var(--gencv-sidebar-bg, #f3f7fb) !important;
}
.gencv-cv-chip-list li {
    background: var(--gencv-chip-bg, #edf4f8) !important;
    color: var(--gencv-text-color, #152033) !important;
}
@media (max-width: 760px) {
    .gencv-color-grid { grid-template-columns: 1fr; }
}


/* v1.9.0 – interface export : couleurs au-dessus, police en dessous, sans chevauchement */
.gencv-export-options .gencv-fieldset {
    width: 100%;
    box-sizing: border-box;
}

.gencv-typography-fieldset {
    margin-top: 4px;
    background: #ffffff;
}

.gencv-export-control-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(180px, 1fr));
    gap: 12px;
    align-items: end;
}

.gencv-export-control-grid label {
    min-width: 0;
}

.gencv-export-control-grid .gencv-toggle-line {
    align-self: center;
    padding: 12px;
    border: 1px solid var(--gencv-border);
    border-radius: 8px;
    background: #f8fafc;
}

@media (max-width: 900px) {
    .gencv-export-control-grid {
        grid-template-columns: 1fr;
    }
}


/* v1.9.1 – interface export Word : bloc police clairement séparé des couleurs */
.gencv-typography-fieldset {
    clear: both;
    margin-top: 18px !important;
    padding-top: 18px !important;
}
.gencv-color-fieldset + .gencv-typography-fieldset,
.gencv-color-grid + .gencv-typography-fieldset {
    margin-top: 22px !important;
}


/* v1.9.2 – parcours simplifié : import visible uniquement au démarrage */
.gencv-collapsible-import {
    margin: 14px 0 18px;
    padding: 0;
    overflow: hidden;
}

.gencv-collapsible-import > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    cursor: pointer;
    list-style: none;
    font-weight: 800;
    color: #102033;
}

.gencv-collapsible-import > summary::-webkit-details-marker {
    display: none;
}

.gencv-collapsible-import > summary::after {
    content: "+";
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: #e8f0f7;
    color: var(--gencv-primary);
    font-size: 1.1rem;
    font-weight: 900;
}

.gencv-collapsible-import[open] > summary::after {
    content: "−";
}

.gencv-collapsible-import > summary small {
    display: block;
    margin-top: 3px;
    color: #607083;
    font-size: .86rem;
    font-weight: 600;
}

.gencv-collapsible-body {
    padding: 0 16px 16px;
    border-top: 1px solid var(--gencv-border);
}

.gencv-step-panel:not(.is-active) .gencv-import-panel {
    display: none;
}


/* v1.9.3 – réglages visiteur dans un cadre aligné et suppression du chevauchement */
.gencv-visitor-settings-panel {
    margin: 20px 0 18px;
    padding: 18px;
    border: 1px solid var(--gencv-border);
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
    clear: both;
}

.gencv-visitor-settings-head {
    margin: 0 0 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--gencv-border);
}

.gencv-visitor-settings-head h3 {
    margin: 0 0 4px;
    color: var(--gencv-primary);
    font-size: 1.05rem;
}

.gencv-visitor-settings-head p {
    margin: 0;
    color: var(--gencv-muted);
    font-size: .92rem;
}

.gencv-visitor-settings-panel .gencv-export-options {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin: 0;
}

.gencv-visitor-settings-panel .gencv-fieldset {
    margin: 0 !important;
    width: 100%;
    box-sizing: border-box;
}

.gencv-visitor-settings-panel .gencv-typography-fieldset {
    clear: both;
    margin-top: 0 !important;
    padding-top: 16px !important;
    border-top: 1px solid var(--gencv-border);
}

@media (min-width: 1100px) {
    .gencv-visitor-settings-panel .gencv-color-grid {
        grid-template-columns: repeat(4, minmax(150px, 1fr));
    }
}

.gencv-visitor-settings-panel .gencv-ats-note {
    margin: 14px 0 0;
}

.gencv-visitor-settings-panel .gencv-actions {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid var(--gencv-border);
}

.gencv-visitor-settings-panel .gencv-status {
    margin-top: 12px;
}


/* v1.9.4 – réglages visiteur contenus dans la colonne gauche */
.gencv-visitor-settings-panel {
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
}

.gencv-visitor-settings-panel .gencv-export-options,
.gencv-visitor-settings-panel .gencv-fieldset,
.gencv-visitor-settings-panel .gencv-color-grid,
.gencv-visitor-settings-panel .gencv-export-control-grid {
    max-width: 100%;
    box-sizing: border-box;
}

.gencv-visitor-settings-panel .gencv-color-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.gencv-visitor-settings-panel .gencv-export-control-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
}

.gencv-visitor-settings-panel label,
.gencv-visitor-settings-panel input,
.gencv-visitor-settings-panel select {
    min-width: 0;
    max-width: 100%;
}

.gencv-visitor-settings-panel .gencv-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.gencv-visitor-settings-panel .gencv-actions button {
    flex: 1 1 190px;
    min-width: 0;
}

@media (max-width: 760px) {
    .gencv-visitor-settings-panel .gencv-color-grid {
        grid-template-columns: 1fr !important;
    }
}


/* v1.10.1 – couleurs par rubrique */
.gencv-color-presets {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 14px;
}
.gencv-color-presets .gencv-secondary-button {
    width: auto;
    min-height: 34px;
    padding: 8px 12px;
    font-size: .88rem;
}
.gencv-color-group {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid rgba(203,213,225,.75);
}
.gencv-color-group h4 {
    margin: 0 0 10px;
    color: #24364a;
    font-size: .95rem;
    font-weight: 800;
}
.gencv-section-color-grid label {
    background: #ffffff;
}
.gencv-cv-title {
    color: var(--gencv-job-title-color, var(--gencv-heading-color, var(--gencv-accent))) !important;
}
.gencv-section-contact h3 { color: var(--gencv-section-contact-color, var(--gencv-heading-color, var(--gencv-accent))) !important; }
.gencv-section-profile h3 { color: var(--gencv-section-profile-color, var(--gencv-heading-color, var(--gencv-accent))) !important; }
.gencv-section-experience h3 { color: var(--gencv-section-experience-color, var(--gencv-heading-color, var(--gencv-accent))) !important; }
.gencv-section-skills h3 { color: var(--gencv-section-skills-color, var(--gencv-heading-color, var(--gencv-accent))) !important; }
.gencv-section-education h3 { color: var(--gencv-section-education-color, var(--gencv-heading-color, var(--gencv-accent))) !important; }
.gencv-section-qualities h3 { color: var(--gencv-section-qualities-color, var(--gencv-heading-color, var(--gencv-accent))) !important; }
.gencv-section-languages h3 { color: var(--gencv-section-languages-color, var(--gencv-heading-color, var(--gencv-accent))) !important; }
.gencv-section-software h3 { color: var(--gencv-section-software-color, var(--gencv-heading-color, var(--gencv-accent))) !important; }
.gencv-section-achievements h3 { color: var(--gencv-section-achievements-color, var(--gencv-heading-color, var(--gencv-accent))) !important; }
.gencv-section-interests h3 { color: var(--gencv-section-interests-color, var(--gencv-heading-color, var(--gencv-accent))) !important; }
.gencv-section-contact h3::before { background: var(--gencv-section-contact-color, var(--gencv-heading-color, var(--gencv-accent))) !important; }
.gencv-section-profile h3::before { background: var(--gencv-section-profile-color, var(--gencv-heading-color, var(--gencv-accent))) !important; }
.gencv-section-experience h3::before { background: var(--gencv-section-experience-color, var(--gencv-heading-color, var(--gencv-accent))) !important; }
.gencv-section-skills h3::before { background: var(--gencv-section-skills-color, var(--gencv-heading-color, var(--gencv-accent))) !important; }
.gencv-section-education h3::before { background: var(--gencv-section-education-color, var(--gencv-heading-color, var(--gencv-accent))) !important; }
.gencv-section-qualities h3::before { background: var(--gencv-section-qualities-color, var(--gencv-heading-color, var(--gencv-accent))) !important; }
.gencv-section-languages h3::before { background: var(--gencv-section-languages-color, var(--gencv-heading-color, var(--gencv-accent))) !important; }
.gencv-section-software h3::before { background: var(--gencv-section-software-color, var(--gencv-heading-color, var(--gencv-accent))) !important; }
.gencv-section-achievements h3::before { background: var(--gencv-section-achievements-color, var(--gencv-heading-color, var(--gencv-accent))) !important; }
.gencv-section-interests h3::before { background: var(--gencv-section-interests-color, var(--gencv-heading-color, var(--gencv-accent))) !important; }


.gencv-export-tip {
    margin: 10px 0 14px;
    padding: 11px 13px;
    border: 1px solid #dbe7f2;
    border-radius: 10px;
    background: #f7fbff;
    color: #33465c;
    font-size: 0.93rem;
    line-height: 1.45;
}
