/* CV y carta en A4 — pantalla y PDF */
@import url('fonts.css');

:root { --vino: #800000; --tinta: #141414; --mu: #6b6b6b; --linea: #d9d9d9; }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #e8e6e2; color: var(--tinta); font: 400 10pt/1.5 'Switzer', 'Helvetica Neue', Arial, sans-serif; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, p, ul { margin: 0; }
ul { padding: 0; list-style: none; }
strong { font-weight: 700; }
p, li { text-wrap: pretty; }

.barra { position: sticky; top: 0; z-index: 5; display: flex; align-items: center; gap: 18px; padding: 12px 20px; background: var(--vino); color: #fff; font: 500 14px/1 'Switzer', sans-serif; }
.barra a, .barra button { display: inline-flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; font: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.barra .logo { width: 26px; height: auto; }
.barra__sp { flex: 1; }
.barra a[download], .barra button { padding: 9px 14px; border: 1px solid rgba(255, 255, 255, .5); }
.barra a[download]:hover, .barra button:hover { background: #fff; color: var(--vino); }

.a4 { width: 210mm; min-height: 297mm; margin: 28px auto 60px; padding: 18mm 18mm 16mm; background: #fff; box-shadow: 0 2px 0 rgba(0,0,0,.05), 0 24px 60px rgba(0,0,0,.14); display: flex; flex-direction: column; }
.a4__hd { display: flex; justify-content: space-between; align-items: flex-end; gap: 10mm; padding-bottom: 7mm; border-bottom: 1.5pt solid var(--tinta); }
.a4__id { display: flex; align-items: center; gap: 5mm; }
.a4__id .logo { width: 16mm; height: auto; color: var(--vino); }
.a4__id h1 { font: 800 24pt/1 'Switzer', sans-serif; letter-spacing: -0.04em; color: var(--vino); }
.a4__id p { margin-top: 2mm; font-size: 9.5pt; color: var(--mu); }
.a4__contact { text-align: right; font-size: 8.5pt; line-height: 1.55; }

.a4__perfil { padding: 7mm 0 6mm; border-bottom: .5pt solid var(--linea); }
.a4__perfil p { font-size: 12.5pt; line-height: 1.42; letter-spacing: -0.01em; max-width: 150mm; }
.a4__cols { display: grid; grid-template-columns: 1.35fr 1fr; gap: 10mm; padding-top: 6mm; flex: 1; }
.a4__cols section + section { margin-top: 6mm; }
.a4 h3 { font: 700 7.5pt/1 'Switzer', sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--vino); padding-bottom: 2.5mm; margin-bottom: 3mm; border-bottom: .5pt solid var(--tinta); }
.a4__cols p + p { margin-top: 2.6mm; }
.a4__y { float: right; font-weight: 700; font-size: 8.5pt; }
.a4__sel + .a4__sel { margin-top: 2.6mm; }
.a4__sel h4 { font: 600 9pt/1.3 'Switzer', sans-serif; }
.a4__sel p { color: var(--mu); font-size: 9pt; }
.a4__list li { padding: 1.2mm 0; border-bottom: .5pt solid var(--linea); }
.a4__list li:last-child { border-bottom: 0; }
.a4__lema { margin-top: auto !important; padding-top: 6mm; }
.a4__lema p { font-size: 10pt; }
.a4__lema em { font-weight: 300; }

.a4--carta .a4__carta { padding-top: 12mm; max-width: 150mm; font-size: 10.5pt; line-height: 1.62; }
.a4__carta p + p { margin-top: 3.6mm; }
.a4__fecha { text-align: right; color: var(--mu); font-size: 9pt; margin-bottom: 8mm; }
.a4__firma { font: 400 30pt/1 'Delicious Handrawn', cursive; color: var(--vino); margin-top: 1mm !important; }

/* CV con sello, teclas y mapa */
.a4--cv { padding-top: 12mm; padding-bottom: 12mm; }
.a4__hd--cv { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 6mm; padding-bottom: 6mm; }
.a4__stamp { width: 22mm; margin: 0; transform: rotate(-6deg); }
.a4__stamp img { width: 100%; height: auto; display: block; filter: drop-shadow(0 1.5mm 2mm rgba(0,0,0,.18)); }
.a4__hd--cv .a4__id h1 { font-size: 30pt; line-height: .9; }
.a4__k { font: 700 7pt/1 'Switzer', sans-serif !important; letter-spacing: .14em; text-transform: uppercase; color: var(--vino) !important; margin: 0 0 2.5mm !important; }
.a4--cv .a4__perfil { padding: 5mm 0 4.5mm; }
.a4--cv .a4__perfil p { font-size: 11pt; }
.a4--cv .a4__cols { font-size: 9.5pt; line-height: 1.45; }
.a4--cv .a4__cols p + p { margin-top: 2mm; }
.a4--cv .a4__cols { padding-top: 5mm; flex: none; grid-template-columns: 1.2fr 1fr; }
.a4--cv .a4__cols section + section { margin-top: 5mm; }
.a4__cli { padding-left: 3mm; border-left: 1.2mm solid var(--pc); }
.a4__keys { display: flex; flex-wrap: wrap; gap: 1.6mm; }
.a4__keys kbd { font: 500 8.5pt/1 'Switzer', sans-serif; padding: 1.6mm 2.4mm 1.9mm; border-radius: 1.4mm; background: #f3f2ef; border: .5pt solid #d6d3cd; border-bottom: 1.1mm solid #cfccc6; }
.a4__mapa { margin-top: 5mm; }
.a4__mapa h3 span { font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--mu); margin-left: 3mm; }
.mx { font-size: 8pt; }
.mx__h, .mx__r { display: grid; grid-template-columns: 50mm repeat(var(--n), 1fr) 5mm; align-items: center; }
.mx__h { align-items: end; height: 29mm; }
.mx__p { height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 1.8mm; padding-bottom: 1.4mm; }
.mx__p b { writing-mode: vertical-rl; text-orientation: sideways; transform: rotate(180deg); font-weight: 500; font-size: 7pt; white-space: nowrap; color: var(--mu); }
.mx__p i { font: 700 6pt/1 'Switzer', sans-serif; font-style: normal; color: var(--pc); filter: brightness(.8); }
.mx__p::after { content: ''; width: 2mm; height: .8mm; background: var(--pc); }
.mx__r { border-top: .5pt solid var(--linea); min-height: 5mm; }
.mx__d { font-weight: 500; padding-right: 2mm; }
.mx__c { display: grid; place-items: center; height: 5mm; }
.mx__c i { display: block; width: 2.4mm; height: 2.4mm; border-radius: 50%; background: var(--pc); }
.mx__n { text-align: right; font: 700 7.5pt/1 'Switzer', sans-serif; color: var(--vino); }
.a4__ft { margin-top: auto; padding-top: 5mm; display: flex; justify-content: space-between; align-items: baseline; border-top: .5pt solid var(--linea); font-size: 8.5pt; }
.a4__ft em { font-weight: 300; }
.a4__ft p:last-child { color: var(--mu); }

@media screen and (max-width: 820px) {
  .a4__hd--cv { grid-template-columns: auto 1fr; }
  .a4__hd--cv .a4__contact { grid-column: 1 / -1; }
  .a4__mapa { overflow-x: auto; }
  .mx { min-width: 560px; }
  .a4__ft { flex-direction: column; gap: 4px; }
  .barra { flex-wrap: wrap; gap: 10px; font-size: 13px; }
  .barra__sp { display: none; }
  .a4 { width: auto; min-height: 0; margin: 14px; padding: 22px 18px; }
  .a4__hd { flex-direction: column; align-items: flex-start; gap: 14px; }
  .a4__contact { text-align: left; }
  .a4__cols { grid-template-columns: 1fr; }
}

@page { size: A4; margin: 0; }
@media print {
  body { background: #fff; }
  .barra { display: none; }
  .a4 { margin: 0; box-shadow: none; width: 210mm; height: 297mm; overflow: hidden; }
}
