@layer ficha {

@scope (.cos-ficha) {

.p1 { height: 100%; display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 5mm; }
.p1 .ex:last-child .ex-cos { display: flex; }
.p1 .ex:first-child .ex-cos { display: flex; }
.parts { flex: 1; display: grid; grid-auto-rows: auto; gap: 2.5mm; }
.part { display: grid; grid-template-columns: auto 40mm 1fr; align-items: center; gap: 4mm; padding: 2mm 4mm; border: var(--gruix) solid var(--acento); border-radius: var(--radi); background: var(--acento-suau); }
.part > div { display: contents; }
.part .nom { color: var(--acento); font-size: var(--t-s); text-transform: uppercase; letter-spacing: .04em; }
.part p { margin: 0; line-height: 1.4; font-size: var(--t-m); }
.caixa { flex: none; }
.caixa .r { --n: 1; width: 2.2em; height: 2.2em; padding: 0; border: var(--gruix) solid var(--acento); border-radius: 8px; font-size: var(--t-l); font-weight: 800; background: var(--paper); }

.preguntes { display: grid; grid-auto-rows: 1fr; gap: 3mm; }
.pq { padding: 2.5mm 4mm; border: var(--gruix) solid var(--linia); border-radius: var(--radi); }
.opcions { display: grid; grid-auto-rows: 1fr; gap: 1.5mm; margin-top: 1.5mm; font-size: var(--t-m); }
.opcions .tria { padding: .5mm 3mm; border: var(--gruix) solid var(--linia); border-radius: var(--radi); background: var(--paper); }
.pq { display: grid; grid-template-rows: auto 1fr; }
.pq p { font-size: var(--t-m); }
.cos-correu .signa { display: flex; justify-content: space-between; align-items: center; text-align: left; }
.cos-correu .firma { font-weight: 700; }

.p2 { height: 100%; display: grid; grid-template-rows: auto 1fr; gap: 6mm; }
.p2 .ex:last-child .ex-cos { display: flex; }
.correu { display: grid; gap: 0; }
.correu .banc { margin-top: 3mm; }
.correu .capc { display: grid; gap: 1mm; padding: 2mm 4mm; background: var(--acento-suau); border: var(--gruix) solid var(--acento); border-radius: var(--radi) var(--radi) 0 0; }
.cos-correu { display: grid; gap: 2mm; padding: 3mm 5mm; border: var(--gruix) solid var(--acento); border-top: 0; border-radius: 0 0 var(--radi) var(--radi); line-height: 2.1; font-size: var(--t-m); text-align: justify; }
.cos-correu .zona.llarga { min-width: 15em; }
.cos-correu .zona { display: inline-flex; vertical-align: middle; min-width: 8.8em; min-height: 1.9em; padding: 0; }
.banc { justify-content: center; }
.banc-t { font-size: var(--t-s); color: var(--tinta-suau); text-transform: uppercase; letter-spacing: .05em; }

.nou { flex: 1; display: grid; grid-template-columns: 45mm 1fr; gap: 4mm; min-height: 0; }
.lateral { display: grid; grid-template-rows: 1fr 1fr; gap: 3mm; min-height: 0; }
.lateral > .img, .lateral > .img-ph { width: 100%; height: 100%; aspect-ratio: auto; border: var(--gruix) solid var(--il-contorn); border-radius: var(--radi); }
.formulari { display: grid; grid-template-rows: auto auto 1fr; gap: 2mm; min-height: 0; }
.amb-foto { flex: 1; display: grid; grid-template-columns: 40mm 1fr; gap: 5mm; align-items: stretch; min-height: 0; }
.retrat { display: grid; grid-template-rows: minmax(0, 1fr) auto; justify-items: stretch; gap: 1mm; font-weight: 700; text-align: center; min-height: 0; }
.retrat > .img, .retrat > .img-ph { width: 100%; height: 100%; aspect-ratio: auto; border: var(--gruix) solid var(--il-contorn); border-radius: var(--radi); }
.camp { display: flex; align-items: baseline; gap: 3mm; }
.camp .linia { flex: 1; border-bottom: 1.5px solid var(--linia); min-height: 1.4em; }
.escriu { border: var(--gruix) solid var(--acento); border-radius: var(--radi); background-color: var(--paper); min-height: 0; }

}
}
