/* StoreSuite – richiesta di consulenza. Colori dal tema (--sl-*) con valori di riserva. */
.ssc { max-width: 760px; }
.ssc-form { display: grid; gap: 28px; }
.ssc fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: 14px; min-width: 0; }
.ssc legend { display: flex; align-items: center; gap: 10px; font-family: var(--sl-serif, Georgia, serif); font-size: 1.3rem; margin-bottom: 6px; color: var(--sl-ink, #1b2330); }
.ssc legend span { display: inline-grid; place-items: center; width: 28px; height: 28px; border: 1px solid var(--sl-accent, #9a7b4f); color: var(--sl-accent, #9a7b4f); border-radius: 50%; font-size: .85rem; font-family: var(--sl-sans, system-ui, sans-serif); }
.ssc legend em { font-style: normal; font-size: .85rem; color: var(--sl-muted, #5c6470); font-family: var(--sl-sans, system-ui, sans-serif); }
.ssc-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.ssc label { display: flex; flex-direction: column; gap: 6px; font-size: .9rem; color: var(--sl-ink, #1b2330); font-weight: 500; }
.ssc input[type=text], .ssc input[type=email], .ssc input[type=tel], .ssc input[type=date], .ssc select, .ssc textarea {
	font: inherit; font-weight: 400; padding: 12px 14px; border: 1px solid var(--sl-line, #d7d1c6); background: var(--sl-bg, #fff); color: var(--sl-ink, #1b2330); border-radius: 2px; width: 100%;
}
.ssc input:focus, .ssc select:focus, .ssc textarea:focus { outline: 2px solid var(--sl-accent, #9a7b4f); outline-offset: 1px; border-color: var(--sl-accent, #9a7b4f); }
.ssc small { color: var(--sl-muted, #5c6470); font-weight: 400; }
.ssc-file input { padding: 16px; border: 1px dashed var(--sl-line, #d7d1c6); background: var(--sl-soft, #f6f3ee); }
.ssc-consenso { flex-direction: row !important; align-items: flex-start; gap: 10px !important; font-weight: 400 !important; line-height: 1.5; }
.ssc-consenso input { margin-top: 4px; width: 18px; height: 18px; flex: none; accent-color: var(--sl-accent, #9a7b4f); }
.ssc-invia { justify-self: start; font: inherit; font-weight: 600; padding: 14px 28px; border: 0; background: var(--sl-ink, #1b2330); color: var(--sl-bg, #fff); cursor: pointer; border-radius: 2px; }
.ssc-invia:hover { background: var(--sl-accent, #9a7b4f); }
.ssc-nota, .ssc-intro { color: var(--sl-muted, #5c6470); font-size: .9rem; }
.ssc-ok { padding: 20px 24px; border-left: 3px solid #2f7d4f; background: #eef6f0; color: #1d4d31; }
.ssc-err { padding: 16px 20px; border-left: 3px solid #b32d2e; background: #fbeeee; color: #7a1f1f; margin-bottom: 16px; }
.ssc-err ul { margin: 0; padding-left: 1.1em; }
.ssc-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
