@layer ficha {

@scope (.cos-ficha) {

.p1, .p2 { height: 100%; display: grid; gap: 4mm; }
.p1 > .ex, .p2 > .ex { min-height: 0; }
.ex-cos { flex: 1; min-height: 0; display: flex; }
.ex-cos > * { flex: 1; min-width: 0; min-height: 0; }
.foto { position: relative; display: block; min-height: 0; }
.foto > .img, .foto > .img-ph { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; object-fit: fill; }
.carta { display: grid; place-items: center; border-radius: var(--radi); border: var(--gruix) solid var(--acento); background: var(--paper); padding: 0; min-height: 0; }
.cmp { display: flex; align-items: center; justify-content: center; gap: 1.5mm; border: var(--gruix) solid var(--linia); border-radius: var(--radi); background: var(--paper); }
.r.lletra { padding: 0; line-height: 1; }
.p1 { grid-template-rows: minmax(0, 1.9fr) minmax(0, 0.85fr) auto; }
.e1b { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 3mm; }
.gran-frase { margin: 0; text-align: center; font-size: 1.7em; padding: 2mm 0; border: var(--gruix) solid var(--acento); border-radius: var(--radi); background: var(--acento-suau); }
.quatre { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 4mm; min-height: 0; }
.quatre .carta { display: block; position: relative; padding: 2mm; }
.quatre .carta .foto { position: absolute; inset: 2mm; }
.paraules { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3mm; }
.par { display: grid; grid-template-rows: 1fr 1fr; place-items: center; gap: 1mm; padding: 2mm; border: var(--gruix) solid var(--linia); border-radius: var(--radi); background: var(--acento-suau); }
.par .model { font-size: 1.4em; }
.par .r.lletra { width: 100%; height: 100%; font-size: 1.1em; background: var(--paper); border-radius: 6px; }
.color { display: flex; align-items: center; justify-content: space-around; font-weight: 800; font-size: 1.2em; }

}
}
