@page { size: A4; margin: 0; }

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body.resume-document { color: #27242d; background: #fff; font-family: Arial, sans-serif; }
body.browser-preview { min-height: 100vh; display: flex; justify-content: center; align-items: flex-start; background: #dcd9e1; }

.resume-page {
  --resume-primary: #1d4ed8;
  --resume-accent: #38bdf8;
  --resume-font: Arial, sans-serif;
  --resume-size: 10pt;
  --photo-size: 34mm;
  width: 210mm;
  height: 297mm;
  min-height: 297mm;
  position: relative;
  padding: 16mm 17mm 18mm;
  color: #2b2930;
  background: #fff;
  font-family: var(--resume-font);
  font-size: var(--resume-size);
  line-height: 1.38;
  overflow-wrap: normal;
  word-break: normal;
  box-decoration-break: clone;
}
body.browser-preview .resume-page { flex: none; box-shadow: 0 5mm 18mm rgba(31, 23, 45, .24); }
.preview-sheet { position: relative; flex: none; width: 210mm; min-height: 297mm; background: #fff; }
.preview-sheet .resume-page { height: auto; }
.preview-watermarks { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 20; pointer-events: none; user-select: none; }
.resume-page p { margin: 0; white-space: pre-line; }
.resume-page h1, .resume-page h2, .resume-page h3 { margin: 0; }
.resume-top-band, .resume-bottom-band { display: none; pointer-events: none; }

/* Estrutura única e estável para navegador e WeasyPrint. */
.resume-header {
  display: block;
  position: relative;
  z-index: 2;
  margin-bottom: 5.5mm;
}
/* Fixed table columns avoid flex remeasurement changing the circle and the
   identity's height in the PDF engine. Both texts share one centered cell. */
.resume-intro { display: table; table-layout: fixed; width: 100%; }
.resume-portrait { display: table-cell; width: var(--photo-size); vertical-align: middle; }
.resume-photo {
  width: var(--photo-size);
  height: var(--photo-size);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  background: var(--resume-primary);
  font-size: 24pt;
  font-weight: 800;
}
.resume-photo img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; border-radius: inherit; }
.photo-circle .resume-photo { border-radius: 50%; }
.photo-rounded .resume-photo { border-radius: 6mm; }
.photo-square .resume-photo { border-radius: 0; }
.resume-identity { display: table-cell; vertical-align: middle; min-width: 0; text-align: left; }
.resume-intro.with-photo .resume-identity { padding-left: 8mm; }
.resume-intro.with-photo.photo-right .resume-identity { padding-left: 0; padding-right: 8mm; }
.resume-identity h1 { font-size: 25pt; line-height: 1.06; letter-spacing: -.6pt; text-transform: uppercase; overflow-wrap: break-word; }
.desired-role { margin-top: 2mm !important; color: var(--resume-primary); font-size: 10.7pt; font-weight: 700; }
.resume-contact {
  width: 100%;
  margin-top: 4.5mm;
  flex: 0 0 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5mm 0;
  padding-top: 2.8mm;
  border-top: .5mm solid var(--resume-primary);
  font-size: 8.3pt;
}
.resume-contact span { width: 25%; flex: 0 0 25%; min-width: 0; padding-right: 4mm; overflow-wrap: anywhere; }
.resume-contact b { display: block; margin-bottom: .6mm; color: var(--resume-primary); font-size: 6.7pt; letter-spacing: .5pt; text-transform: uppercase; }
.contact-column { width: 50%; flex: 0 0 50%; display: flex; flex-wrap: wrap; }
.contact-column span { width: 50%; flex-basis: 50%; }

.resume-sections { display: block; width: 100%; position: relative; z-index: 1; }
.resume-section { display: block; width: 100%; margin: 0 0 3.7mm; break-inside: auto; }
.resume-section:last-child { margin-bottom: 0; }
.resume-section h2 {
  display: block;
  width: 100%;
  margin: 0 0 1.3mm;
  padding-bottom: .9mm;
  color: var(--resume-primary);
  border-bottom: .55mm solid var(--resume-accent);
  font-size: 10.5pt;
  line-height: 1.2;
  letter-spacing: .75pt;
  text-transform: uppercase;
  break-after: avoid;
}
.section-content { display: block; width: 100%; min-width: 0; padding: 0; }
.section-content > p, .resume-item > p { width: 100%; text-align: left; hyphens: none; overflow-wrap: break-word; word-break: normal; }
.item-stack { display: block; width: 100%; }
.resume-item { display: block; width: 100%; margin-bottom: 2.5mm; break-inside: avoid; }
.resume-item:last-child { margin-bottom: 0; }
.item-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 4mm; margin-bottom: 1.1mm; }
.item-heading > div { flex: 1 1 auto; min-width: 0; }
.resume-item h3 { color: #29272e; font-size: 9.8pt; line-height: 1.2; overflow-wrap: break-word; }
.item-place { margin-top: .6mm !important; color: var(--resume-primary); font-size: 8.4pt; font-weight: 650; }
.item-date { flex: 0 0 auto; color: #6f6b76; font-size: 7.6pt; font-weight: 700; white-space: nowrap; }
.resume-item > p { font-size: 8.7pt; line-height: 1.42; }
.compact-items .resume-item { margin-bottom: 2.4mm; }
.compact-items .resume-item p { color: #66616d; font-size: 8pt; }
.skill-list { list-style: none; display: flex; flex-wrap: wrap; width: 100%; gap: 0; padding: 0; margin: 0; }
.skill-list li { width: 50%; flex: 0 0 50%; position: relative; padding: 0 4mm 1.9mm 4mm; break-inside: avoid; }
.skill-list li::before { content: ""; width: 1.7mm; height: 1.7mm; border-radius: 50%; background: var(--resume-accent); position: absolute; left: .3mm; top: 1.8mm; }
.language-list { list-style: none; display: flex; flex-wrap: wrap; gap: 3mm 8mm; padding: 0; margin: 0; }
.language-list li { display: block; min-width: 28mm; }
.language-list li b { display: block; }
.language-list span { color: #68636e; font-size: 8pt; }

.spacing-compact { padding-top: 12mm; padding-bottom: 12mm; line-height: 1.32; }
.spacing-compact .resume-header { margin-bottom: 4mm; }
.spacing-compact .resume-section { margin-bottom: 2.7mm; }
.spacing-compact .resume-item { margin-bottom: 2.3mm; }
.spacing-comfortable { padding-top: 19mm; padding-bottom: 20mm; line-height: 1.58; }
.spacing-comfortable .resume-header { margin-bottom: 11mm; }
.spacing-comfortable .resume-section { margin-bottom: 7.5mm; }

/* 01 — Azul Estruturado: inspirado na organização do PDF enviado. */
.tpl-cintia { padding-top: 23mm; padding-bottom: 21mm; }
.tpl-cintia .resume-top-band, .tpl-cintia .resume-bottom-band { display: block; position: absolute; left: 0; right: 0; height: 12mm; background: var(--resume-primary); }
.tpl-cintia .resume-top-band { top: 0; }
.tpl-cintia .resume-bottom-band { top: 285mm; bottom: auto; z-index: 5; }
.tpl-cintia .resume-photo { border: .6mm solid var(--resume-primary); padding: .7mm; background: #d8e9ff; }
.tpl-cintia .resume-photo span { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; border-radius: inherit; background: var(--resume-primary); }
.tpl-cintia .resume-identity h1 { color: #1f2937; font-family: "DejaVu Sans", Arial, sans-serif; font-size: 23pt; font-weight: 650; }
.tpl-cintia .desired-role { color: var(--resume-primary); text-transform: uppercase; letter-spacing: .8pt; font-size: 8.5pt; }
.tpl-cintia .resume-contact { padding: 3.5mm 4mm; border: 0; border-left: 1.2mm solid var(--resume-primary); background: #f3f8ff; }
.tpl-cintia .contact-column { flex-direction: column; align-content: stretch; }
.tpl-cintia .contact-column span { width: 100%; flex: 0 0 auto; }
.tpl-cintia .resume-section h2 { padding: 2.1mm 3mm; color: #fff; border: 0; border-radius: 1.2mm; background: linear-gradient(90deg, var(--resume-primary), var(--resume-accent)); }
.tpl-cintia .section-content { padding: 0 2.8mm; }

/* 02 — CLT Premium. */
.tpl-clt .resume-header { margin: -5mm -5mm 9mm; padding: 7mm; color: #fff; border-radius: 4mm; background: linear-gradient(120deg, var(--resume-primary), #172554); }
.tpl-clt .resume-photo { border: 1mm solid rgba(255,255,255,.76); background: rgba(255,255,255,.18); }
.tpl-clt .desired-role { color: #d9f4ff; }
.tpl-clt .resume-contact { border-color: rgba(255,255,255,.3); }
.tpl-clt .resume-contact b { color: var(--resume-accent); }
.tpl-clt .resume-section h2 { padding-left: 4mm; border-left: 1.2mm solid var(--resume-primary); border-bottom-color: #d7e3ff; color: #172554; }

/* 03 — Primeiro Emprego Pro. */
.tpl-first { padding-left: 64mm; background: linear-gradient(90deg, var(--resume-primary) 0, var(--resume-primary) 54mm, #fff 54mm, #fff 100%); }
.tpl-first .resume-header { display: block; min-height: 30mm; }
.tpl-first .resume-photo { position: absolute; left: 10mm; top: 16mm; width: 34mm; height: 34mm; border: 1mm solid rgba(255,255,255,.8); }
.tpl-first .resume-identity { width: 100%; }
.tpl-first .resume-identity h1 { color: var(--resume-primary); font-size: 24pt; text-transform: none; }
.tpl-first .resume-contact { position: absolute; left: 8mm; top: 62mm; width: 39mm; display: block; padding: 0; border: 0; color: #fff; }
.tpl-first .resume-contact span { display: block; width: 100%; margin-bottom: 3.2mm; padding: 0; }
.tpl-first .resume-contact b { color: #e7ddff; }
.tpl-first .resume-section h2 { color: var(--resume-primary); border-bottom-width: .8mm; }
.tpl-first .skill-list li { width: 50%; flex-basis: 50%; }

/* 04 — Varejo & Caixa. */
.tpl-cashier { padding-top: 17mm; }
.tpl-cashier .resume-top-band { display: block; position: absolute; left: 0; right: 0; top: 0; height: 8mm; background: linear-gradient(90deg, var(--resume-primary), var(--resume-accent)); }
.tpl-cashier .resume-header { padding-bottom: 6mm; border-bottom: .8mm solid var(--resume-primary); }
.tpl-cashier .resume-photo { box-shadow: 3mm 3mm 0 #ffe4e9; }
.tpl-cashier .resume-identity h1 { color: var(--resume-primary); }
.tpl-cashier .resume-contact { border: 0; padding-top: 1mm; }
.tpl-cashier .resume-section h2 { width: fit-content; min-width: 58mm; padding: 2mm 4mm; color: #fff; border: 0; border-radius: 999px; background: var(--resume-primary); }

/* 05 — Professor Acadêmico. */
.tpl-teacher { --photo-size: 31mm; font-family: Georgia, "Times New Roman", serif; }
.tpl-teacher .resume-header { padding-bottom: 6mm; border-bottom: .8mm double var(--resume-primary); }
.tpl-teacher .resume-photo { border: .6mm solid var(--resume-primary); }
.tpl-teacher .resume-identity { order: 1; }
.tpl-teacher .resume-contact { order: 3; padding-top: 3mm; border: 0; font-family: Arial, sans-serif; }
.tpl-teacher .resume-identity h1 { color: var(--resume-primary); font-size: 27pt; text-transform: none; }
.tpl-teacher .resume-section h2 { color: #123f3b; border-bottom: .35mm solid var(--resume-primary); font-size: 11.5pt; text-transform: none; letter-spacing: .2pt; }

/* 06 — Educação Criativa. */
.tpl-kids { border-top: 8mm solid var(--resume-accent); border-bottom: 8mm solid var(--resume-primary); }
.tpl-kids .resume-header { margin-bottom: 4mm; padding: 4mm; border-radius: 6mm; background: #fff7ed; }
.tpl-kids .resume-photo { border: 1.4mm solid var(--resume-accent); transform: rotate(-2deg); box-shadow: 3mm 3mm 0 #ffedd5; }
.tpl-kids .resume-identity h1 { color: var(--resume-primary); font-size: 24pt; text-transform: none; }
.tpl-kids .resume-contact { border-top-style: dotted; }
.tpl-kids .resume-section { margin-bottom: 2.8mm; }
.tpl-kids .resume-section h2 { margin-bottom: 1mm; padding: 1.4mm 3mm; color: #fff; border: 0; border-radius: 999px; background: var(--resume-primary); }

/* 07 — Administrativo Corporate. */
.tpl-admin { --photo-size: 29mm; border-top: 5mm solid #1e293b; }
.tpl-admin .resume-header { padding-bottom: 6mm; border-bottom: .7mm solid #334155; }
.tpl-admin .resume-photo { filter: grayscale(1); }
.tpl-admin .resume-identity h1 { color: #1e293b; font-size: 24pt; }
.tpl-admin .desired-role { color: #475569; }
.tpl-admin .resume-contact { padding: 3mm; border: 0; background: #f1f5f9; }
.tpl-admin .resume-section h2 { padding-left: 3mm; color: #334155; border-left: 1.2mm solid var(--resume-accent); border-bottom-color: #cbd5e1; }
.tpl-admin .skill-list li { width: 33.333%; flex-basis: 33.333%; }

/* 08 — Atendimento Premium. */
.tpl-service { padding-left: 67mm; background: linear-gradient(90deg, #fdf2f8 0, #fdf2f8 57mm, #fff 57mm, #fff 100%); }
.tpl-service .resume-header { display: block; min-height: 33mm; }
.tpl-service .resume-photo { position: absolute; left: 12mm; top: 16mm; width: 34mm; height: 34mm; border: 1.3mm solid var(--resume-accent); box-shadow: 0 0 0 2mm #fff; }
.tpl-service .resume-identity h1 { color: var(--resume-primary); text-transform: none; }
.tpl-service .resume-contact { position: absolute; left: 9mm; top: 63mm; width: 41mm; display: block; padding: 0; border: 0; }
.tpl-service .resume-contact span { display: block; width: 100%; margin-bottom: 3mm; padding: 0; }
.tpl-service .resume-section h2 { color: var(--resume-primary); border-bottom-color: var(--resume-accent); }

/* 09 — Comercial Performance. */
.tpl-sales { padding-top: 0; }
.tpl-sales .resume-header { margin: 0 -17mm 9mm; padding: 15mm 17mm 9mm; color: #fff; background: linear-gradient(115deg, #251c11, #4d3516); }
.tpl-sales .resume-photo { border: 1mm solid var(--resume-accent); }
.tpl-sales .desired-role, .tpl-sales .resume-contact b { color: var(--resume-accent); }
.tpl-sales .resume-contact { border-color: rgba(255,255,255,.3); }
.tpl-sales .resume-section h2 { padding: 2mm 3mm 2mm 5mm; color: #2f2616; border: 0; border-left: 2mm solid var(--resume-accent); background: #fff8e7; }

/* 10 — Logística Industrial. */
.tpl-logistics { border-left: 8mm solid var(--resume-accent); }
.tpl-logistics .resume-header { padding: 6mm; color: #fff; background: var(--resume-primary); }
.tpl-logistics .resume-photo { border: .8mm solid var(--resume-accent); }
.tpl-logistics .resume-contact { border-color: rgba(255,255,255,.3); }
.tpl-logistics .resume-contact b, .tpl-logistics .desired-role { color: var(--resume-accent); }
.tpl-logistics .resume-section h2 { padding: 2mm 3mm; color: #fff; border: 0; background: linear-gradient(90deg, var(--resume-primary), #374151); }

/* 11 — Operacional Profissional. */
.tpl-services::before { content: ""; position: absolute; inset: 7mm; border: 1mm solid var(--resume-primary); pointer-events: none; }
.tpl-services .resume-header { padding: 3mm 4mm 6mm; }
.tpl-services { --photo-size: 30mm; }
.tpl-services .resume-identity h1 { color: var(--resume-primary); font-size: 23pt; }
.tpl-services .resume-contact { border-color: #bcd6c4; }
.tpl-services .resume-section { padding: 0 4mm; }
.tpl-services .resume-section h2 { padding: 1.8mm 3mm; color: #14532d; border: 0; border-left: 1.2mm solid var(--resume-primary); background: #eaf7ee; }

/* 12 — Saúde & Cuidados. */
.tpl-health .resume-header { padding: 6mm; border: .4mm solid #bae6fd; border-radius: 4mm; background: #ecfeff; }
.tpl-health .resume-photo { border: 1mm solid var(--resume-accent); }
.tpl-health .resume-identity h1 { color: var(--resume-primary); text-transform: none; }
.tpl-health .resume-contact { border-color: var(--resume-accent); }
.tpl-health .resume-section h2 { padding: 2mm 3mm; color: var(--resume-primary); border: 0; border-top: .9mm solid var(--resume-accent); background: #f0fdff; }

/* 13 — Tecnologia Moderno. */
.tpl-tech { padding-left: 65mm; background: linear-gradient(90deg, #111827 0, #111827 55mm, #fff 55mm, #fff 100%); }
.tpl-tech .resume-header { display: block; min-height: 34mm; }
.tpl-tech .resume-photo { position: absolute; left: 10mm; top: 16mm; width: 35mm; height: 35mm; border: 1mm solid var(--resume-accent); background: #202a3a; }
.tpl-tech .resume-identity h1 { color: #111827; font-size: 24pt; }
.tpl-tech .desired-role { color: #0891b2; }
.tpl-tech .resume-contact { position: absolute; left: 8mm; top: 63mm; width: 40mm; display: block; padding: 0; border: 0; color: #e5e7eb; }
.tpl-tech .resume-contact span { display: block; width: 100%; margin-bottom: 3mm; padding: 0; }
.tpl-tech .resume-contact b { color: var(--resume-accent); }
.tpl-tech .resume-section h2 { color: #111827; border-bottom-width: .8mm; }
.tpl-tech .skill-list li { width: 50%; flex-basis: 50%; margin-bottom: 1.5mm; padding: 1.4mm 2mm; border: .3mm solid #cbd5e1; }
.tpl-tech .skill-list li::before { display: none; }

/* 14 — Executivo Elite. */
.tpl-executive { padding: 20mm 21mm; border-top: 6mm solid var(--resume-accent); }
.tpl-executive { --photo-size: 30mm; }
.tpl-executive .resume-photo { filter: grayscale(1); border: .8mm solid var(--resume-accent); }
.tpl-executive .resume-identity { order: 1; }
.tpl-executive .resume-contact { order: 3; border-color: var(--resume-accent); }
.tpl-executive .resume-identity h1 { color: #111; font-family: Georgia, serif; font-size: 29pt; font-weight: 400; text-transform: none; }
.tpl-executive .desired-role { color: #876a0e; font-size: 8.5pt; letter-spacing: 1.2pt; text-transform: uppercase; }
.tpl-executive .resume-contact b { color: #876a0e; }
.tpl-executive .resume-section h2 { color: #111; border-bottom: .4mm solid var(--resume-accent); font-family: Georgia, serif; font-size: 11pt; font-weight: 400; letter-spacing: .2pt; text-transform: none; }

/* 15 — Contemporâneo Editorial. */
.tpl-minimal { --photo-size: 28mm; padding: 20mm 22mm; border-left: 5mm solid var(--resume-primary); }
.tpl-minimal .resume-header { padding-bottom: 6mm; border-bottom: .4mm solid #a1a1aa; }
.tpl-minimal .resume-photo { box-shadow: 3mm 3mm 0 var(--resume-accent); }
.tpl-minimal .resume-identity { order: 1; }
.tpl-minimal .resume-contact { order: 3; padding-top: 3mm; border: 0; }
.tpl-minimal .resume-contact b { display: none; }
.tpl-minimal .resume-identity h1 { color: #18181b; font-size: 27pt; font-weight: 550; text-transform: none; }
.tpl-minimal .desired-role { color: var(--resume-primary); font-weight: 500; }
.tpl-minimal .resume-section h2 { padding: 1.8mm 0; color: #18181b; border: 0; border-bottom: .3mm solid #a1a1aa; font-size: 9pt; letter-spacing: 1.5pt; }

/* 16 — Verde Executivo. */
.tpl-green .resume-header { margin: -16mm -17mm 9mm; padding: 16mm 17mm 9mm; color: #fff; background: linear-gradient(115deg, var(--resume-primary), #052e16); }
.tpl-green .desired-role, .tpl-green .resume-contact b { color: var(--resume-accent); }
.tpl-green .resume-contact { border-color: rgba(255,255,255,.28); }
.tpl-green .resume-section h2 { padding: 2mm 3mm; color: #14532d; border-bottom: .8mm solid var(--resume-accent); background: #f0fdf4; }
.tpl-green .skill-list li { width: 33.333%; flex-basis: 33.333%; }

/* 17 — Cronológico Premium. */
.tpl-timeline .resume-header { padding-bottom: 6mm; border-bottom: 1mm solid var(--resume-primary); }
.tpl-timeline .resume-identity h1 { color: var(--resume-primary); }
.tpl-timeline .resume-section h2 { color: var(--resume-primary); }
.tpl-timeline .section-experience .section-content, .tpl-timeline .section-education .section-content { padding: 1mm 0 0 6mm; border-left: .8mm solid var(--resume-accent); }
.tpl-timeline .section-experience .resume-item, .tpl-timeline .section-education .resume-item { position: relative; }
.tpl-timeline .section-experience .resume-item::before, .tpl-timeline .section-education .resume-item::before { content: ""; position: absolute; left: -8mm; top: 1mm; width: 3mm; height: 3mm; border-radius: 50%; background: var(--resume-primary); }

/* 18 — Foto Lateral Premium. */
.tpl-sidebar { padding-left: 66mm; background: linear-gradient(90deg, var(--resume-primary) 0, var(--resume-primary) 56mm, #fff 56mm, #fff 100%); }
.tpl-sidebar .resume-header { display: block; min-height: 34mm; }
.tpl-sidebar .resume-photo { position: absolute; left: 10mm; top: 16mm; width: 36mm; height: 36mm; border: 1mm solid #fff; box-shadow: 0 0 0 1mm rgba(255,255,255,.25); }
.tpl-sidebar .resume-identity h1 { color: var(--resume-primary); }
.tpl-sidebar .resume-contact { position: absolute; left: 8mm; top: 65mm; width: 40mm; display: block; padding: 0; border: 0; color: #fff; }
.tpl-sidebar .resume-contact span { display: block; width: 100%; margin-bottom: 3mm; padding: 0; }
.tpl-sidebar .resume-contact b { color: var(--resume-accent); }
.tpl-sidebar .resume-section h2 { color: var(--resume-primary); border-bottom-width: .7mm; }

/* 19 — ATS Profissional. */
.tpl-ats { --photo-size: 27mm; padding: 18mm 20mm; border-top: 3mm solid var(--resume-primary); }
.tpl-ats .resume-photo { border: .5mm solid #94a3b8; }
.tpl-ats .resume-identity h1 { color: #111827; font-size: 24pt; text-transform: none; }
.tpl-ats .desired-role { color: #374151; }
.tpl-ats .resume-contact { padding: 3mm 0; border-top: .4mm solid #9ca3af; border-bottom: .4mm solid #d1d5db; }
.tpl-ats .resume-contact b { display: none; }
.tpl-ats .resume-section h2 { color: #1e3a8a; border-bottom: .5mm solid #1e3a8a; }
.tpl-ats .skill-list li { width: 33.333%; flex-basis: 33.333%; }

/* 20 — Criativo Profissional. */
.tpl-creative { border-top: 12mm solid var(--resume-primary); }
.tpl-creative::after { content: ""; position: absolute; right: -23mm; top: 20mm; width: 58mm; height: 58mm; border: 8mm solid var(--resume-accent); border-radius: 50%; opacity: .28; }
.tpl-creative .resume-header { position: relative; z-index: 2; }
.tpl-creative .resume-photo { border: 1.3mm solid var(--resume-accent); transform: rotate(2deg); }
.tpl-creative .resume-identity h1 { color: var(--resume-primary); font-size: 27pt; text-transform: none; }
.tpl-creative .resume-contact { border-top: .8mm solid var(--resume-primary); }
.tpl-creative .resume-section h2 { width: fit-content; min-width: 62mm; padding: 2mm 3mm; color: #fff; border: 0; background: var(--resume-primary); transform: rotate(-.4deg); }
.tpl-creative .skill-list li { width: auto; flex: 1 1 30%; margin: 1mm; padding: 1.4mm 2mm; border-radius: 999px; background: #fff1f2; text-align: center; }
.tpl-creative .skill-list li::before { display: none; }

/*
 * Os quatro modelos com barra lateral posicionam foto e contatos em relação à
 * folha A4. O cabeçalho não pode ser o bloco de referência: isso deslocava a
 * foto para dentro da coluna de texto e fazia as informações se sobreporem.
 */
.tpl-first .resume-header,
.tpl-service .resume-header,
.tpl-tech .resume-header,
.tpl-sidebar .resume-header { position: static; }
.tpl-first .resume-intro,
.tpl-service .resume-intro,
.tpl-tech .resume-intro,
.tpl-sidebar .resume-intro { display: block; }
.tpl-first .resume-portrait,
.tpl-service .resume-portrait,
.tpl-tech .resume-portrait,
.tpl-sidebar .resume-portrait { display: block; width: auto; }
.tpl-first .resume-intro .resume-identity,
.tpl-service .resume-intro .resume-identity,
.tpl-tech .resume-intro .resume-identity,
.tpl-sidebar .resume-intro .resume-identity { display: block; padding: 0; }
.tpl-first .resume-contact,
.tpl-service .resume-contact,
.tpl-tech .resume-contact,
.tpl-sidebar .resume-contact { margin-top: 0; }
.tpl-first .resume-photo,
.tpl-service .resume-photo,
.tpl-tech .resume-photo,
.tpl-sidebar .resume-photo { z-index: 4; }
.tpl-first .resume-contact,
.tpl-service .resume-contact,
.tpl-tech .resume-contact,
.tpl-sidebar .resume-contact { z-index: 3; }
.tpl-first .resume-identity,
.tpl-service .resume-identity,
.tpl-tech .resume-identity,
.tpl-sidebar .resume-identity { position: relative; z-index: 2; }

/* Miniaturas completas e visíveis nos cards. */
.mini-shell { --mini-scale: .375; width: 100%; height: 100%; position: relative; overflow: hidden; background: linear-gradient(145deg, #ebe7f1, #dcd5e6); }
.mini-shell .resume-page { position: absolute; left: 50%; top: 0; transform: translateX(-50%) scale(var(--mini-scale)); transform-origin: top center; box-shadow: 0 4mm 12mm rgba(32,23,50,.22); }
.mini-shell .resume-page * { pointer-events: none; }

@media screen and (max-width: 700px) {
  body.browser-preview { padding: 8px; }
}

@media print {
  body.browser-preview { padding: 0; background: #fff; }
  .resume-page { box-shadow: none; }
}
