.zs-priorite { padding-block: var(--ecart); overflow-wrap: anywhere }
.zs-priorite :is(button, input, select) { font: inherit }
.zs-priorite :is(input, select) { max-width: 100%; color-scheme: dark }
.zs-priorite [hidden] { display: none !important }
.zs-priorite :is(button, .zsm-bt, .zs-lien__bouton) { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .6em .9em; border: 1px solid var(--filet); border-radius: .5rem; background: var(--surface); color: var(--encre); cursor: pointer }
.zs-priorite :is(button, a, input, summary):focus-visible { outline: 2px solid var(--aube); outline-offset: 3px }
.zs-priorite :is(details, nav) { border-top: 1px solid var(--filet); margin-block: 1.5rem; padding-top: 1rem }
.zs-priorite summary { cursor: pointer; font-weight: 650; padding-block: .5rem }
#zsmg { border: 1px solid var(--filet); border-radius: var(--rayon); padding: clamp(1rem,4vw,2rem); margin-block: 1.5rem 3rem }
#zsmg .k, #zsm .zsm-k { color: var(--voile); font-size: 1rem }
#zsmg .rep { border-inline-start: 2px solid var(--aube); margin-block: 1rem; padding-inline: 1rem }
#zsmg input, #zsm :is(input[type=date],input[type=time]) { width: auto; max-width: 100%; min-width: 0; padding: .5rem; color: var(--encre); background: var(--surface); border: 1px solid var(--filet); border-radius: .4rem }
#zsmg .portes, #zsm .zsm-actions, #zsm .zsm-outils { display: flex; flex-wrap: wrap; gap: .7rem; margin-block: 1rem }
#zsmg .po { flex: 1 1 12rem; display: grid; align-content: start; gap: .35rem; padding: .8rem; border: 1px solid var(--filet); border-radius: .4rem; text-decoration: none }
#zsmg .pn { text-decoration: underline; text-underline-offset: .2em; font-weight: 600 }
#zsmg .pd, #zsmg .sceau { color: var(--voile) }
#zsm .zsm-bloc { position: relative; display: grid; align-items: center; min-height: 13rem }
#zsm .zsm-phrase { font-family: var(--titre); font-size: clamp(1.8rem,6vw,3rem); line-height: 1.15; padding: .8rem 1rem }
#zsm .zsm-voile { position: absolute; inset: 0; display: flex; gap: .6rem; flex-direction: column; width: 100%; background: var(--surface); color: var(--encre); touch-action: pan-x; transition: opacity .25s }
#zsm .zsm-voile-t { font-family: var(--titre); font-size: clamp(1.5rem,5vw,2rem) }
#zsm .zsm-bloc.ouvert .zsm-voile { opacity: 0; pointer-events: none; visibility: hidden }
#zsm .zsm-deux, #zsm .zsm-colonnes { display: flex; flex-wrap: wrap; gap: 1.5rem }
#zsm .zsm-deux label { display: block }
#zsm .zsm-fait,#zsm .zsm-on,#zsm .zsm-form { padding-block: 1rem; border-block-start: 1px solid var(--filet) }
#zsm .zsm-grand, #zsm.zsm-grand :is(p,label,li,button,input) { font-size: 1.4rem }
#zsm.zsm-grand .zsm-phrase { font-size: clamp(2.2rem,9vw,4.5rem) }
#zsm .zsm-nuit { display: none }
.zsm-nuit #zsm { position: fixed; inset: 0; z-index: 100; padding: 2rem 1rem; overflow: auto; background: #05060a }
.zsm-nuit #zsm-jour { display: none }
.zsm-nuit #zsm .zsm-nuit { display: grid; align-content: center; max-width: 48rem; min-height: 85vh; margin-inline: auto }
@media (prefers-reduced-motion: reduce) { #zsm *, #zsmg * { animation: none !important; transition: none !important; scroll-behavior: auto !important } }
