/* Studio CV. Les titres de l’app ne doivent jamais gagner sur le papier :
   #view-cv h1 cassait le nom. Tout le papier est préfixé #view-cv .feuille-cv. */

#view-cv .cv-page { max-width: 1280px; margin: 0 auto; padding: 8px 16px 72px; }
#view-cv .cv-ecran .kicker,
#view-cv .cv-page > .kicker {
  margin: 0 0 8px; font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--muted);
}
#view-cv .cv-ecran h1,
#view-cv .cv-page > h1 {
  margin: 0; font-family: var(--serif); font-weight: 500; font-size: 36px;
  letter-spacing: -0.02em; line-height: 1.05; text-transform: none;
}
#view-cv .cv-aide { margin: 10px 0 22px; font-size: 15.5px; line-height: 1.45; color: var(--muted); max-width: 42ch; }
#view-cv .cv-bar { display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 12px; margin: 4px 0 14px; }
#view-cv .cv-bar .k { margin: 0; font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--muted); }
#view-cv .cv-bar b { display: block; font-family: var(--serif); font-weight: 500; font-size: 18px; }
#view-cv .cv-sauve { font-style: normal; font-size: 12px; color: var(--muted); min-width: 8ch; text-align: right; }
#view-cv .cv-etapes {
  list-style: none; margin: 0 0 22px; padding: 0; display: flex; gap: 0; overflow-x: auto;
}
#view-cv .cv-etapes li { flex: 1 0 auto; position: relative; min-width: 64px; }
#view-cv .cv-etapes li:not(:last-child)::after {
  content: ""; position: absolute; left: 28px; right: -6px; top: 15px; height: 2px;
  background: var(--line); z-index: 0;
}
#view-cv .cv-etapes li.fait:not(:last-child)::after,
#view-cv .cv-etapes li.ici:not(:last-child)::after { background: var(--ink); }
#view-cv .cv-etapes button {
  position: relative; z-index: 1; display: grid; justify-items: center; gap: 6px;
  width: 100%; padding: 0; border: 0; background: none; color: var(--muted); font: inherit; font-size: 11px;
}
#view-cv .cv-etapes i {
  display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%;
  background: #fff; border: 1.5px solid var(--line); font-style: normal; font-size: 12px; font-weight: 600;
  color: var(--muted);
}
#view-cv .cv-etapes li.fait i { background: var(--ink); color: #fff; border-color: var(--ink); }
#view-cv .cv-etapes li.ici i { background: var(--accent); color: #fff; border-color: var(--accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent); }
#view-cv .cv-etapes li.ici button { color: var(--ink); font-weight: 600; }
#view-cv .cv-indus, #view-cv .cv-choix { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
#view-cv .cv-chip {
  padding: 8px 14px; border-radius: 999px; border: 1px solid var(--line); background: #fff;
  color: var(--ink); font: inherit; font-size: 13.5px;
}
#view-cv .cv-chip.on { background: var(--ink); color: #fff; border-color: var(--ink); }
#view-cv .cv-teint {
  width: 32px; height: 32px; border-radius: 50%; border: 2px solid #fff;
  background: var(--sw); box-shadow: 0 0 0 1px var(--line); padding: 0;
}
#view-cv .cv-teint.on { box-shadow: 0 0 0 2px var(--ink); }
#view-cv .cv-style { margin: 8px 0 6px; }
#view-cv .cv-export { display: grid; gap: 8px; margin-top: 18px; }
#view-cv .cv-export .btn { min-height: 50px; border-radius: 999px; }
#view-cv .cv-export p { margin: 4px 0 0; font-size: 12.5px; color: var(--muted); }
#view-cv .cv-mob-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-bottom: 14px; }
#view-cv .cv-mob-switch button { min-height: 42px; border-radius: 999px; border: 1px solid var(--line); background: #fff; font: inherit; }
#view-cv .cv-mob-switch button.on { background: var(--ink); color: #fff; }
#view-cv .cv-studio.vue-ecrire .cv-apercu { display: none; }
#view-cv .cv-studio.vue-voir .cv-edit { display: none; }

#view-cv .cv-cartes { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; }
#view-cv .cv-carte {
  display: grid; gap: 10px; text-align: left; padding: 10px 10px 14px; border-radius: 22px;
  border: 1.5px solid var(--line); background: #fff; color: var(--ink); font: inherit;
}
#view-cv .cv-carte:hover { border-color: color-mix(in srgb, var(--ink) 40%, var(--line)); }
#view-cv .cv-carte b { font-family: var(--serif); font-size: 20px; font-weight: 500; }
#view-cv .cv-carte small { font-size: 12.5px; color: var(--muted); }

#view-cv .cv-modeles { display: grid; gap: 14px; }
#view-cv .cv-modele {
  display: grid; gap: 10px; text-align: left; padding: 10px 10px 14px; border-radius: 20px;
  border: 1.5px solid var(--line); background: #fff; color: var(--ink); font: inherit;
  transition: transform 180ms var(--snap), box-shadow 180ms var(--snap), border-color 180ms var(--snap);
}
#view-cv .cv-modele.on { border-color: var(--ink); box-shadow: 0 22px 44px -22px var(--ink); transform: translateY(-5px); }
#view-cv .cv-modele b { font-family: var(--serif); font-size: 18px; font-weight: 500; }
#view-cv .cv-modele small { font-size: 12.5px; color: var(--muted); }
#view-cv .cv-mini-scene {
  display: block; height: 220px; border-radius: 12px; overflow: hidden;
  background: #dfe3ea; pointer-events: none; position: relative;
  box-shadow: inset 0 0 0 1px rgba(16, 22, 34, 0.06);
}
#view-cv .cv-mini-scene .feuille-cv {
  position: absolute; top: 0; left: 0;
  transform: scale(var(--cv-z, 0.28)); transform-origin: top left;
  box-shadow: none;
}
#view-cv .cv-look-actes { display: grid; gap: 10px; margin-top: 18px; }
#view-cv .cv-look-actes .btn { min-height: 50px; border-radius: 999px; }
#view-cv .cv-metier-back { justify-self: start; }

#view-cv .cv-grille { display: grid; gap: 10px; }
#view-cv .cv-champ { display: grid; gap: 6px; font-size: 13px; color: var(--muted); }
#view-cv .cv-champ input, #view-cv .cv-champ textarea, #view-cv .cv-quand select,
#view-cv .cv-langue input, #view-cv .cv-langue select, #view-cv .cv-puce, #view-cv .cv-tag-in {
  width: 100%; min-height: 48px; padding: 11px 13px; border-radius: 14px; border: 1px solid var(--line);
  background: #fff; color: var(--ink); font: inherit; font-size: 16px;
}
#view-cv .cv-champ textarea { min-height: 128px; resize: vertical; }
#view-cv .cv-quand { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
#view-cv .cv-check { display: flex; align-items: center; gap: 10px; font-size: 15px; color: var(--ink); padding: 6px 0; }
#view-cv .cv-champ.off { opacity: 0.35; pointer-events: none; }
#view-cv .cv-bloc { margin: 0 0 16px; padding: 16px; border-radius: 20px; background: color-mix(in srgb, var(--ink) 3.5%, #fff); }
#view-cv .cv-bloc header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
#view-cv .cv-bloc-actes { display: flex; align-items: center; gap: 6px; }
#view-cv .cv-ord { width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--line); background: #fff; }
#view-cv .cv-micro { margin: 14px 0 8px; font-size: 13px; color: var(--muted); }
#view-cv .cv-puces { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 14px; }
#view-cv .cv-tag { padding: 8px 12px; border-radius: 999px; border: 1px solid var(--line); background: #fff; font: inherit; font-size: 14px; }
#view-cv .cv-tag-in { max-width: 240px; min-height: 42px; }
#view-cv .cv-langue { display: grid; grid-template-columns: 1fr 1fr auto; gap: 8px; margin-bottom: 8px; }
#view-cv .cv-plus { margin-top: 8px; width: 100%; min-height: 48px; border-radius: 999px; }
#view-cv .cv-suite { display: block; margin-top: 20px; width: 100%; min-height: 50px; border-radius: 999px; }
#view-cv .cv-fin { margin: 18px 0 0; font-size: 14.5px; color: var(--muted); }
#view-cv .btn { border: 0; font: inherit; cursor: pointer; }
#view-cv .btn.noir { background: var(--ink); color: #fff; }
#view-cv .btn.clair { background: #fff; color: var(--ink); border: 1px solid var(--line); }
#view-cv .btn.bleu { background: var(--accent); color: #fff; min-height: 50px; padding: 0 22px; border-radius: 999px; }
#view-cv .text { background: none; border: 0; padding: 6px; color: var(--muted); text-decoration: underline; text-underline-offset: 3px; font: inherit; }
#view-cv .cv-actes { display: grid; gap: 8px; margin-top: 14px; }
#view-cv .cv-actes .btn { min-height: 48px; border-radius: 999px; }
#view-cv .cv-actes p { margin: 0; font-size: 12.5px; color: var(--muted); }
#view-cv .cv-exemple { margin: 0 0 8px; font-size: 12px; color: var(--muted); letter-spacing: 0.04em; }
#view-cv .cv-scene {
  background: #8b93a1;
  border-radius: 20px; padding: 22px 26px;
}
#view-cv .cv-scale {
  position: relative; width: 100%; overflow: hidden; border-radius: 1px;
  background: #fffefb;
  box-shadow: 0 0 0 1px #5c6370, 0 22px 40px -18px rgba(16, 22, 34, 0.55);
}

/* ---- Papier A4. Jamais les h1/h2 de l’app. ---- */
#view-cv .feuille-cv {
  width: 210mm; min-height: 297mm; padding: 16mm 17mm 14mm;
  background: #fffefb; color: var(--cv-encre, #16181c);
  font-family: var(--sans); font-size: 10.4pt; line-height: 1.36;
  transform: scale(var(--cv-z, 0.45)); transform-origin: top left;
  box-sizing: border-box;
}
#view-cv .feuille-cv h1 {
  margin: 0; font-family: var(--serif); font-weight: 500; font-size: 26pt;
  letter-spacing: -0.02em; line-height: 1; text-transform: none; color: inherit;
}
#view-cv .feuille-cv.c-encre { --cv-encre: #16181c; }
#view-cv .feuille-cv.c-marine { --cv-encre: #1b2a4a; }
#view-cv .feuille-cv.c-bleu { --cv-encre: #1f4bdb; }
#view-cv .feuille-cv.c-terre { --cv-encre: #9a3412; }
#view-cv .feuille-cv.c-vert { --cv-encre: #2f6f4e; }
#view-cv .feuille-cv.c-bordeaux { --cv-encre: #7f1d1d; }
#view-cv .feuille-cv.c-ardoise { --cv-encre: #3f4a5a; }
#view-cv .feuille-cv.p-serif, #view-cv .feuille-cv.p-serif h1, #view-cv .feuille-cv.p-serif h2 { font-family: var(--serif); }
#view-cv .feuille-cv.p-sans, #view-cv .feuille-cv.p-sans h1 { font-family: var(--sans); }
#view-cv .feuille-cv.p-mix { font-family: var(--sans); }
#view-cv .feuille-cv.p-mix h1 { font-family: var(--serif); }
#view-cv .feuille-cv.p-times, #view-cv .feuille-cv.p-times h1 { font-family: Georgia, "Times New Roman", Times, serif; }
#view-cv .feuille-cv.p-helvetica, #view-cv .feuille-cv.p-helvetica h1 { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
#view-cv .feuille-cv h2 {
  margin: 0 0 6pt; font-family: inherit; font-size: 8.3pt; font-weight: 600;
  letter-spacing: 0.16em; text-transform: uppercase; border-bottom: 0.6pt solid currentColor;
  padding-bottom: 3pt; color: inherit; line-height: 1.2;
}
#view-cv .feuille-cv p { margin: 0; }
#view-cv .feuille-cv header { margin-bottom: 11pt; }
#view-cv .feuille-cv .cv-titre { margin: 5pt 0 0; font-size: 11pt; color: #3c4250; }
#view-cv .feuille-cv .cv-contact { margin: 6pt 0 0; font-size: 8.7pt; color: #5b6170; letter-spacing: 0.01em; }
#view-cv .feuille-cv section { margin-top: 12pt; }
#view-cv .feuille-cv [data-edit] { cursor: pointer; border-radius: 2pt; }
#view-cv .feuille-cv [data-edit]:hover { background: rgba(12, 27, 61, 0.035); }
#view-cv .cv-scale .cv-fantome { opacity: 0.42; }
#view-cv .cv-scale .cv-ici {
  box-shadow: 0 0 0 1.3pt color-mix(in srgb, var(--accent) 50%, transparent);
  background: color-mix(in srgb, var(--accent) 6%, #fff);
}
#view-cv .feuille-cv .cv-jobs { list-style: none; margin: 0; padding: 0; display: grid; gap: 9pt; }
#view-cv .feuille-cv .cv-j-tete { display: flex; justify-content: space-between; gap: 12pt; align-items: baseline; }
#view-cv .feuille-cv .cv-j-tete b,
#view-cv .feuille-cv .cv-j-ligne b { font-size: 14px; font-weight: 600; font-family: var(--sans); }
#view-cv .feuille-cv .cv-j-tete em { font-style: normal; font-size: 8.6pt; color: #667; white-space: nowrap; font-variant-numeric: tabular-nums; }
#view-cv .feuille-cv .cv-jobs > li > span,
#view-cv .feuille-cv .cv-j-ligne span { display: block; font-size: 9.3pt; color: #4a5060; font-style: italic; }
#view-cv .feuille-cv .cv-jobs p { margin: 2pt 0 0; font-size: 9.5pt; padding-left: 9pt; position: relative; }
#view-cv .feuille-cv .cv-jobs p::before {
  content: ""; position: absolute; left: 0; top: 0.55em;
  width: 3.2pt; height: 3.2pt; border-radius: 50%; background: currentColor; opacity: 0.4;
}
#view-cv .feuille-cv .cv-phrase { font-size: 10pt; }
#view-cv .feuille-cv .cv-skills { font-size: 9.6pt; }
#view-cv .feuille-cv .cv-skills span + span::before { content: "· "; color: #8a8f99; }
#view-cv .feuille-cv .cv-hobbies { font-size: 9.6pt; }
#view-cv .feuille-cv.m-marketing-campagne .cv-skills,
#view-cv .feuille-cv.m-tech-startup .cv-skills { display: flex; flex-wrap: wrap; gap: 4pt; }
#view-cv .feuille-cv.m-marketing-campagne .cv-skills span,
#view-cv .feuille-cv.m-tech-startup .cv-skills span {
  border: 0.5pt solid currentColor; padding: 1pt 6pt; border-radius: 99pt; font-size: 8.4pt;
}
#view-cv .feuille-cv.m-marketing-campagne .cv-skills span + span::before,
#view-cv .feuille-cv.m-tech-startup .cv-skills span + span::before { content: none; }
#view-cv .feuille-cv .cv-liste { list-style: none; margin: 0; padding: 0; font-size: 9.5pt; }
#view-cv .feuille-cv .cv-liste li { display: flex; justify-content: space-between; gap: 8pt; }
#view-cv .feuille-cv .cv-liste b { font-weight: 550; }
#view-cv .feuille-cv .cv-liste em { font-style: normal; color: #667; }
#view-cv .feuille-cv .cv-cols { display: grid; grid-template-columns: 58mm minmax(0, 1fr); gap: 7mm; align-items: start; }
#view-cv .feuille-cv aside h2 { letter-spacing: 0.08em; font-size: 7.2pt; }
#view-cv .feuille-cv aside .cv-contact { display: grid; gap: 4pt; margin: 0 0 11pt; }
#view-cv .feuille-cv aside .cv-contact span { display: block; overflow-wrap: anywhere; font-size: 8.2pt; }
#view-cv .feuille-cv aside .cv-liste li { display: block; margin: 0 0 4pt; }
#view-cv .feuille-cv aside .cv-liste em { display: block; font-size: 8pt; }
#view-cv .feuille-cv aside .cv-skills { font-size: 8.6pt; line-height: 1.45; }
#view-cv .feuille-cv[data-layout="dates"] .cv-j-ligne {
  display: grid; grid-template-columns: 24mm minmax(0, 1fr); gap: 6pt 9pt; align-items: start;
}
#view-cv .feuille-cv[data-layout="dates"] .cv-j-ligne > em {
  font-style: normal; font-size: 7.8pt; color: #667; padding-top: 2pt; line-height: 1.35;
  font-variant-numeric: tabular-nums; white-space: normal;
}

/* Finance */
#view-cv .feuille-cv.m-finance-classique { font-family: var(--serif); }
#view-cv .feuille-cv.m-finance-classique header { text-align: center; border-bottom: 1.6pt solid currentColor; padding-bottom: 9pt; }
#view-cv .feuille-cv.m-finance-classique h1 { font-size: 28pt; letter-spacing: 0.04em; }
#view-cv .feuille-cv.m-finance-classique h2 { letter-spacing: 0.22em; font-family: var(--serif); }
#view-cv .feuille-cv.m-finance-classique .cv-j-tete b { font-family: var(--serif); }

#view-cv .feuille-cv.m-finance-banque { font-family: var(--serif); padding: 0; }
#view-cv .feuille-cv.m-finance-banque > header {
  background: var(--cv-encre, #1b2a4a); color: #fff; margin: 0; padding: 14mm 17mm 11mm;
}
#view-cv .feuille-cv.m-finance-banque > header .cv-titre,
#view-cv .feuille-cv.m-finance-banque > header .cv-contact { color: #d5dde8; }
#view-cv .feuille-cv.m-finance-banque .cv-cols { padding: 8mm 17mm 14mm; gap: 0; }
#view-cv .feuille-cv.m-finance-banque aside {
  background: #eef1f5; margin: 0; padding: 8mm 8mm 8mm 0; color: #1b2a4a;
}
#view-cv .feuille-cv.m-finance-banque .cv-main { padding: 8mm 0 8mm 9mm; }
#view-cv .feuille-cv.m-finance-banque h2 { letter-spacing: 0.18em; }

#view-cv .feuille-cv.m-finance-conseil { font-family: var(--serif); }
#view-cv .feuille-cv.m-finance-conseil h1 { font-size: 20pt; font-weight: 600; letter-spacing: 0; }
#view-cv .feuille-cv.m-finance-conseil header {
  display: grid; grid-template-columns: 1fr auto; grid-template-areas: "nom contact" "titre contact";
  gap: 2pt 12pt; align-items: end; border-bottom: 0.4pt solid #111; padding-bottom: 8pt;
}
#view-cv .feuille-cv.m-finance-conseil header h1 { grid-area: nom; }
#view-cv .feuille-cv.m-finance-conseil header .cv-titre { grid-area: titre; margin: 0; }
#view-cv .feuille-cv.m-finance-conseil header .cv-contact { grid-area: contact; text-align: right; max-width: 48mm; margin: 0; }
#view-cv .feuille-cv.m-finance-conseil h2 { border-bottom-width: 0.35pt; letter-spacing: 0.1em; }

/* Marketing */
#view-cv .feuille-cv.m-marketing-editorial { font-family: var(--serif); padding-top: 20mm; }
#view-cv .feuille-cv.m-marketing-editorial h1 { font-size: 34pt; font-weight: 400; letter-spacing: -0.03em; }
#view-cv .feuille-cv.m-marketing-editorial .cv-titre { font-style: italic; font-size: 13pt; }
#view-cv .feuille-cv.m-marketing-editorial h2 { border: 0; color: #9a3412; letter-spacing: 0.08em; font-family: var(--serif); text-transform: none; font-size: 13pt; font-weight: 500; }

#view-cv .feuille-cv.m-marketing-campagne,
#view-cv .feuille-cv.m-marketing-growth { padding-left: 15mm; box-shadow: inset 8pt 0 var(--cv-encre, #c2410c); }
#view-cv .feuille-cv.m-marketing-campagne h1,
#view-cv .feuille-cv.m-marketing-growth h1 { font-family: var(--sans); font-weight: 650; letter-spacing: -0.03em; font-size: 24pt; }
#view-cv .feuille-cv.m-marketing-campagne h2,
#view-cv .feuille-cv.m-marketing-growth h2 {
  border: 0; background: var(--cv-encre, #c2410c); color: #fff; display: inline-block;
  padding: 2pt 8pt; letter-spacing: 0.12em;
}

#view-cv .feuille-cv.m-marketing-marque > header {
  background: #e7f0ea; margin: -16mm -17mm 10mm; padding: 16mm 17mm 12mm;
}
#view-cv .feuille-cv.m-marketing-marque h1 { font-family: var(--serif); font-size: 28pt; }
#view-cv .feuille-cv.m-marketing-marque h2 { border: 0; color: #2f6f4e; letter-spacing: 0.14em; }

/* Tech */
#view-cv .feuille-cv.m-tech-produit { padding: 20mm 20mm 16mm; }
#view-cv .feuille-cv.m-tech-produit h1 { font-family: var(--sans); font-weight: 550; font-size: 24pt; }
#view-cv .feuille-cv.m-tech-produit h2 { border-color: #d4d8e0; color: #6b7280; font-weight: 500; }

#view-cv .feuille-cv.m-tech-ingenieur { font-size: 10pt; padding: 14mm 15mm; }
#view-cv .feuille-cv.m-tech-ingenieur header { border-bottom: 1pt solid #111; padding-bottom: 8pt; }
#view-cv .feuille-cv.m-tech-ingenieur h1 { font-family: var(--sans); font-size: 20pt; font-weight: 600; }
#view-cv .feuille-cv.m-tech-ingenieur aside { background: #f3f4f6; margin: 0; padding: 8mm 7mm 8mm 0; }
#view-cv .feuille-cv.m-tech-ingenieur .cv-cols { gap: 0; }
#view-cv .feuille-cv.m-tech-ingenieur .cv-main { padding-left: 8mm; }

#view-cv .feuille-cv.m-tech-startup h1 {
  font-family: var(--sans); border-bottom: 3.5pt solid #111; display: inline-block; padding-bottom: 2pt; font-size: 26pt;
}
#view-cv .feuille-cv.m-tech-startup h2 { border: 0; text-transform: none; letter-spacing: 0; font-size: 12pt; font-weight: 650; }

/* Général */
#view-cv .feuille-cv.m-general-universel { font-family: var(--serif); }
#view-cv .feuille-cv.m-general-universel header { text-align: center; }
#view-cv .feuille-cv.m-general-universel .cv-titre { font-style: italic; }
#view-cv .feuille-cv.m-general-universel h2 { font-family: var(--serif); letter-spacing: 0.18em; }

#view-cv .feuille-cv.m-general-sobre { color: #3d3d3d; padding: 20mm 20mm 16mm; }
#view-cv .feuille-cv.m-general-sobre h1 { font-family: var(--sans); font-size: 18pt; font-weight: 500; }
#view-cv .feuille-cv.m-general-sobre h2 { color: #6a6a6a; border-color: #d8d8d8; font-weight: 500; }

#view-cv .feuille-cv.m-general-cadre { box-shadow: inset 0 0 0 0.7pt #16181c; padding: 18mm; }
#view-cv .feuille-cv.m-general-cadre h1 {
  font-family: var(--serif); font-size: 22pt; letter-spacing: 0.14em; text-transform: uppercase;
}
#view-cv .feuille-cv.m-general-cadre h2 { letter-spacing: 0.2em; }

#view-cv .feuille-cv.m-finance-audit,
#view-cv .feuille-cv.m-general-compact { font-size: 9.4pt; padding: 12mm 14mm; }
#view-cv .feuille-cv.m-finance-audit h1,
#view-cv .feuille-cv.m-general-compact h1 { font-size: 18pt; }
#view-cv .feuille-cv.m-finance-fonds { font-family: var(--serif); }
#view-cv .feuille-cv.m-finance-fonds h1 { font-size: 18pt; letter-spacing: 0.04em; }
#view-cv .feuille-cv.m-marketing-luxe { padding-top: 22mm; }
#view-cv .feuille-cv.m-marketing-luxe h1 { font-size: 36pt; font-weight: 400; }
#view-cv .feuille-cv.m-tech-data aside { background: color-mix(in srgb, var(--cv-encre) 8%, #fff); }
#view-cv .feuille-cv.m-tech-design h1 { letter-spacing: -0.04em; }
#view-cv .feuille-cv.m-general-lettre { font-family: var(--serif); padding: 22mm 20mm; }
#view-cv .feuille-cv.m-general-lettre h1 { font-size: 30pt; font-weight: 400; }
#view-cv .feuille-cv.m-general-lettre h2 { border: 0; font-family: var(--serif); text-transform: none; letter-spacing: 0; font-size: 13pt; }

@media (min-width: 901px) {
  #view-cv .cv-page { padding: 18px 20px 80px; }
  #view-cv .cv-ecran h1, #view-cv .cv-page > h1 { font-size: 44px; }
  #view-cv .cv-mob-switch { display: none; }
  #view-cv .cv-studio, #view-cv .cv-studio.vue-ecrire, #view-cv .cv-studio.vue-voir {
    display: grid; grid-template-columns: minmax(300px, 400px) minmax(0, 1fr); gap: 36px; align-items: start;
  }
  #view-cv .cv-studio.vue-ecrire .cv-apercu, #view-cv .cv-studio.vue-voir .cv-edit { display: block; }
  #view-cv .cv-apercu { position: sticky; top: 80px; }
  #view-cv .cv-scene { padding: 22px; }
  #view-cv .cv-grille { grid-template-columns: 1fr 1fr; }
  #view-cv .cv-champ.large, #view-cv .cv-check { grid-column: 1 / -1; }
  #view-cv .cv-plus, #view-cv .cv-suite { width: auto; min-width: 180px; }
  #view-cv .cv-cartes { grid-template-columns: repeat(4, 1fr); }
  #view-cv .cv-modeles { grid-template-columns: 1fr 1fr; align-items: start; }
  #view-cv .cv-export { grid-template-columns: 1fr 1fr; }
  #view-cv .cv-export p { grid-column: 1 / -1; }
  #view-cv .cv-actes { grid-template-columns: 1fr auto; align-items: center; }
  #view-cv .cv-actes p { grid-column: 1 / -1; }
}

@media print {
  @page { size: A4; margin: 0; }
  html.cv-print body > *:not(.shell),
  html.cv-print .shell > *:not(main),
  html.cv-print main > *:not(#view-cv),
  html.cv-print #view-cv .cv-bar, html.cv-print #view-cv .cv-etapes, html.cv-print #view-cv .cv-sec,
  html.cv-print #view-cv .cv-mob-switch, html.cv-print #view-cv .cv-edit,
  html.cv-print #view-cv .cv-actes, html.cv-print #view-cv .cv-exemple,
  html.cv-print .dock, html.cv-print #lateral,
  html.cv-print .lat-switch, html.cv-print .lat-voile, html.cv-print .dire-barre { display: none !important; }
  html.cv-print, html.cv-print body, html.cv-print .shell, html.cv-print main, html.cv-print #view-cv,
  html.cv-print #view-cv .cv-page, html.cv-print #view-cv .cv-studio, html.cv-print #view-cv .cv-apercu,
  html.cv-print #view-cv .cv-scene, html.cv-print #view-cv .cv-scale {
    display: block !important; background: #fff !important; padding: 0 !important; margin: 0 !important;
    box-shadow: none !important; overflow: visible !important; height: auto !important; width: auto !important;
  }
  html.cv-print #view-cv .feuille-cv { transform: none !important; width: 210mm; min-height: 297mm; box-shadow: none !important; }
  html.cv-print #view-cv .cv-fantome { opacity: 1 !important; }
  html.cv-print #view-cv .cv-ici { box-shadow: none !important; background: transparent !important; }
}
