@layer ficha {

@scope (.cos-ficha) {

:scope { --realce: var(--il-blau); --realce-fosc: var(--il-blau-fosc); --realce-suau: var(--il-cel); }
.pg { height: 100%; display: grid; gap: 4mm; }
.pn-p1 { grid-template-rows: minmax(0, 2.5fr) minmax(0, 1fr); }
.pn-p2 { grid-template-rows: minmax(0, 2fr) minmax(0, 1fr); }
.pg > .ex { min-height: 0; }


.pn-frases { height: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 3mm 5mm; }
.pn-frase { min-height: 0; display: grid; grid-template-rows: auto auto minmax(0, 1fr); gap: 1.5mm; padding: 2mm 3mm; border: var(--gruix) solid var(--realce-fosc); border-radius: var(--radi); }
.pn-text { font-size: .95em; font-weight: 700; line-height: 1.3; padding: 1.5mm 2mm; background: var(--realce-suau); border-radius: 6px; }
.pn-text b { color: var(--realce-fosc); text-decoration: underline; text-decoration-thickness: 2px; }
.pn-q { font-weight: 800; font-size: .9em; line-height: 1.1; }
.pn-ops { display: grid; align-content: space-evenly; gap: .5mm; font-weight: 700; font-size: .85em; }
.pn-ops .tria { padding: .2mm 2mm; background: var(--paper); border-radius: 8px; }


.pn-pistes { height: 100%; display: grid; align-items: center; padding: 3mm 6mm; background: var(--realce-suau); border: var(--gruix) solid var(--realce); border-radius: var(--radi); }
.pn-linia { text-align: center; font-size: var(--t-xl); font-weight: 700; line-height: 1.9; }
button.pn-mot { font: inherit; padding: 0 .12em; background: transparent; border: 0; border-bottom: 2px solid transparent; border-radius: 4px; color: inherit; }
button.pn-mot.on { background: var(--realce-fosc); color: var(--paper); border-bottom-style: double; }


.pn-uneix { height: 100%; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 24mm; }
.pn-col { min-height: 0; display: grid; grid-template-rows: repeat(4, minmax(0, 1fr)); gap: 3mm; }
.pn-nova { display: flex; align-items: center; justify-content: space-between; gap: 3mm; padding: 0 6mm; font-size: var(--t-xl); background: var(--realce-suau); border: var(--gruix) solid var(--realce-fosc); border-radius: var(--radi); }
.pn-imatge { min-height: 0; display: flex; align-items: center; gap: 3mm; padding: 1mm 3mm; border: var(--gruix) solid var(--realce); border-radius: var(--radi); }
.pn-foto { width: 30mm; aspect-ratio: 1 / 1; display: grid; flex: none; margin: 0 auto; }

}
}
