.cls-stall-form{max-width:760px;margin:0 auto;font-size:16px;}
.cls-stall-form fieldset.cls-fieldset{border:1px solid #d8d8d8;padding:16px 20px;margin:0 0 20px;border-radius:6px;}
.cls-stall-form legend{font-weight:600;padding:0 6px;}
.cls-stall-form .cls-question{margin:12px 0 6px;font-weight:500;}
.cls-stall-form .cls-help{margin:0 0 8px;color:#666;font-style:italic;font-size:.92em;}
.cls-stall-form .cls-note{background:#fff8e1;border-left:4px solid #f5b400;padding:10px 14px;margin:18px 0;border-radius:0 4px 4px 0;}
.cls-stall-form .cls-radio{display:inline-flex;align-items:center;margin:4px 18px 4px 0;cursor:pointer;}
.cls-stall-form .cls-radio input{margin-right:6px;}
.cls-stall-form .cls-option{display:block;margin:8px 0;}
.cls-stall-form .cls-option .cls-radio{margin:0;}
.cls-stall-form .cls-product-desc{margin:6px 0 0 24px;padding:8px 12px;background:#f6f6f6;border-left:3px solid #d0d0d0;border-radius:0 4px 4px 0;font-size:.92em;color:#444;}
.cls-stall-form .cls-product-desc p:first-child{margin-top:0;}
.cls-stall-form .cls-product-desc p:last-child{margin-bottom:0;}
.cls-stall-form .cls-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 20px;}
.cls-stall-form .cls-grid-full{grid-column:1/-1;}
.cls-stall-form input[type=text],.cls-stall-form input[type=email],.cls-stall-form input[type=tel],.cls-stall-form input[type=url],.cls-stall-form select,.cls-stall-form textarea{display:block;width:100%;padding:8px 10px;border:1px solid #cfcfcf;border-radius:4px;background:#fff;margin-top:4px;font:inherit;box-sizing:border-box;}
.cls-stall-form textarea{resize:vertical;}
.cls-stall-form .cls-agree{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0;}
.cls-stall-form .cls-agree label{display:inline-flex;align-items:center;gap:8px;}
.cls-stall-form .cls-reglement-link{font-weight:500;text-decoration:underline;}
.cls-stall-form .cls-submit{background:#a31a1a;color:#fff;padding:12px 28px;border:0;border-radius:4px;font-size:1em;cursor:pointer;}
.cls-stall-form .cls-submit:hover{background:#7d0e0e;}
.cls-notice{padding:14px 18px;border-radius:4px;margin:0 0 24px;}
.cls-notice--success{background:#e6f7e6;border-left:4px solid #2e7d32;color:#1b3d1f;}
.cls-notice--error{background:#fdecea;border-left:4px solid #c62828;color:#5b1414;}
.cls-stall-form .cls-photo-row{margin:18px 0;}
.cls-stall-form .cls-photo-row__label{display:block;font-weight:500;margin-bottom:6px;}
.cls-stall-form .cls-photo-widget{display:block;}
.cls-stall-form .cls-photo-widget [hidden]{display:none;}
.cls-stall-form .cls-photo-widget__idle input[type=file]{display:block;}
.cls-stall-form .cls-photo-widget__uploading{display:flex;align-items:center;gap:10px;color:#666;font-style:italic;padding:6px 0;}
.cls-stall-form .cls-photo-widget__spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(163,26,26,.25);border-top-color:#a31a1a;border-radius:50%;animation:cls-spin .8s linear infinite;flex:0 0 auto;}
@keyframes cls-spin{to{transform:rotate(360deg);}}
.cls-stall-form .cls-photo-widget__uploaded{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:6px 0;}
.cls-stall-form .cls-photo-widget__thumb{width:96px;height:96px;object-fit:cover;border-radius:6px;border:1px solid #d8d8d8;flex:0 0 auto;}
.cls-stall-form .cls-photo-widget__filename{flex:1 1 200px;font-size:.92em;color:#444;word-break:break-all;}
.cls-stall-form .cls-photo-widget__remove{background:#fff;color:#a31a1a;border:1px solid #a31a1a;padding:6px 12px;border-radius:4px;cursor:pointer;font:inherit;}
.cls-stall-form .cls-photo-widget__remove:hover{background:#a31a1a;color:#fff;}
.cls-stall-form .cls-photo-widget__notice{margin-top:6px;padding:8px 10px;background:#fdecea;border-left:3px solid #c62828;border-radius:0 4px 4px 0;color:#5b1414;font-size:.92em;}
@media (max-width:600px){.cls-stall-form .cls-grid{grid-template-columns:1fr;}}
