.jms-gallery-public{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.jms-gallery-public figure{margin:0}.jms-gallery-public img{width:100%;height:220px;object-fit:cover;border-radius:10px}.jms-gallery-public iframe{width:100%;min-height:260px}.jms-archive-year{padding:20px 0;border-bottom:1px solid #ddd}.jms-archive-programme{display:grid;gap:8px}.jms-archive-programme>div{padding:10px;border:1px solid #e5e7eb;border-radius:8px}.jms-attestations-embed iframe{width:100%;min-height:900px;border:0}.jms-v2-notice{padding:14px;border:1px solid #dcdcde;border-radius:8px;background:#fff}.jms-v2-notice.success{border-color:#00a32a}.jms-v2-notice.error{border-color:#d63638}.jms-booth-options{display:grid;gap:10px;margin:18px 0}.jms-booth-option{display:block;border:2px solid #dcdcde;border-radius:10px;padding:12px;cursor:pointer}.jms-booth-option:has(input:checked){border-color:#2271b1;background:#f0f6fc}.jms-v2-button{background:#2271b1;color:#fff;border:0;border-radius:6px;padding:12px 18px;font-weight:600;cursor:pointer}
.jms-public-stand-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin:18px 0}.jms-public-stand-legend span{display:inline-flex;align-items:center;gap:6px;font-size:.92rem}.jms-public-stand-legend span:before{content:"";width:14px;height:14px;border-radius:4px;border:1px solid rgba(0,0,0,.18);display:inline-block}.jms-public-stand-legend .free:before{background:#e7f8ed;border-color:#2e8b57}.jms-public-stand-legend .occupied:before{background:#f8e8e8;border-color:#b42318}.jms-public-stand-legend .blocked:before{background:#eceff1;border-color:#69757d}.jms-public-stand-legend .incompatible:before{background:#fff5d6;border-color:#b88400}.jms-public-stand-map{margin:22px 0;padding:16px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.jms-public-stand-map>img{display:block;max-width:100%;height:auto;margin:0 auto 14px}.jms-public-stand-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:8px}.jms-public-stand-tile{padding:10px;border-radius:9px;border:1px solid #dcdcde;text-align:center}.jms-public-stand-tile strong,.jms-public-stand-tile small{display:block}.jms-public-stand-tile small{margin-top:4px;font-size:.78rem}.jms-public-stand-tile.free{background:#e7f8ed;border-color:#2e8b57}.jms-public-stand-tile.occupied{background:#f8e8e8;border-color:#b42318}.jms-public-stand-tile.blocked{background:#eceff1;border-color:#69757d}.jms-public-stand-tile.incompatible{background:#fff5d6;border-color:#b88400}.jms-stand-choice h3{margin-top:24px}
