@layer ficha {

@scope (.cos-ficha) {
:scope { --realce: var(--il-sorra); }
.pg { height: 100%; display: grid; gap: 4mm; min-height: 0; }
.pg-usos { grid-template-rows: minmax(0, 1.3fr) minmax(0, .8fr); }
.pg-mal { grid-template-rows: minmax(0, 1.1fr) minmax(0, 1fr); }
.pg .ex { height: 100%; }
.pg .ex-cos { display: grid; grid-template-rows: minmax(0, 1fr); min-height: 0; }
.pg .ex-cos > * { min-height: 0; }

.raons-m { display: grid; grid-template-rows: auto repeat(4, minmax(0, 1fr)); gap: 2.5mm; }
.raons-m .banc { justify-content: space-around; min-height: 0; padding: .4rem .6rem; }
.fila-rz { display: grid; grid-template-columns: 34mm minmax(0, 1fr) 40mm; align-items: center; gap: 4mm; padding: 1.5mm 3mm 1.5mm 1.5mm; border: var(--gruix) solid var(--linia); border-radius: var(--radi); background: var(--paper); min-height: 0; }
.fila-rz .im { height: 100%; }
.fila-rz p { font-weight: 700; font-size: var(--t-m); line-height: 1.2; }
.fila-rz .zona { width: 100%; height: 11mm; min-height: 0; padding: 0; }
.fila-rz .zona .arrossega { min-height: 0; height: 100%; }

.millor { display: grid; grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 2mm; }
.ml { display: grid; grid-template-columns: 52mm minmax(0, 1fr); align-items: center; gap: 4mm; padding: 0 4mm; border: var(--gruix) solid var(--linia); border-radius: var(--radi); background: var(--paper); }
.ml p { font-weight: 800; font-size: var(--t-m); line-height: 1.15; }
.ml span { display: flex; justify-content: space-between; gap: 2mm; font-weight: 700; font-size: var(--t-s); }
.ml .tria { white-space: nowrap; padding: 1.2mm 3mm; border: var(--gruix) solid var(--linia); border-radius: 999px; background: color-mix(in srgb, var(--realce) 40%, var(--paper)); }

.mal-u { display: grid; grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 3mm; }
.mm-f { display: grid; grid-template-columns: 80mm 8mm minmax(0, 1fr) 8mm 58mm; align-items: center; }
.mm-c { grid-column: 1; height: 100%; display: grid; grid-template-columns: 36mm minmax(0, 1fr); align-items: center; gap: 3mm; padding: 1.5mm; border: var(--gruix) solid var(--linia); border-radius: var(--radi); background: color-mix(in srgb, var(--realce) 40%, var(--paper)); }
.mm-c .im { height: 100%; }
.mm-c b { font-size: var(--t-m); line-height: 1.15; }
.mm-f .punt:nth-of-type(1) { grid-column: 2; justify-self: center; }
.mm-f .punt:nth-of-type(2) { grid-column: 4; justify-self: center; }
.prob { grid-column: 5; font-weight: 700; font-size: var(--t-s); line-height: 1.2; padding: 2mm 3mm; border: var(--gruix) solid var(--linia); border-radius: var(--radi); background: var(--paper); }

.inventa { display: grid; grid-template-rows: minmax(0, 1fr) auto; gap: 2mm; }
.inventa .espai-obert.dibuix { min-height: 0; }

}
}
