/* Sulina Core — inquiry & contact forms (theme-neutral; the Sulina theme refines these). */
.sulina-form { --sf-line: rgba(59, 35, 20, .18); --sf-accent: var(--c-accent, #8a5418); --sf-paper: var(--c-paper, #fff); --sf-text: var(--c-primary, #3b2314); color: var(--sf-text); }
.sulina-form .sf-group { border: 0; margin: 0 0 26px; padding: 0; min-width: 0; }
.sulina-form legend { font-weight: 800; font-size: 1.15rem; margin-bottom: 14px; padding: 0; display: flex; align-items: center; gap: .5em; }
.sulina-form legend::before { content: ""; width: 26px; height: 3px; border-radius: 3px; background: var(--sf-accent); }
.sulina-form .sf-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 18px; }
.sulina-form .sf-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.sulina-form .sf-field--message, .sulina-form .sf-field--packaging, .sulina-form .sf-field--files, .sulina-form .sf-field--full { grid-column: 1 / -1; }
.sulina-form .sf-field[hidden] { display: none; }
.sulina-form label { font-weight: 600; font-size: .93rem; }
.sulina-form .sf-req { color: #b3262e; }
.sulina-form input[type="text"], .sulina-form input[type="email"], .sulina-form input[type="tel"], .sulina-form select, .sulina-form textarea {
	width: 100%; box-sizing: border-box; font: inherit; color: inherit; background: var(--sf-paper);
	border: 1px solid var(--sf-line); border-radius: 14px; padding: .72em 1em; min-height: 48px;
}
.sulina-form textarea { min-height: 110px; resize: vertical; }
.sulina-form input:focus, .sulina-form select:focus, .sulina-form textarea:focus { outline: none; border-color: var(--sf-accent); box-shadow: 0 0 0 4px rgba(138, 84, 24, .16); }
.sulina-form .is-invalid input, .sulina-form .is-invalid select, .sulina-form .is-invalid textarea { border-color: #b3262e; box-shadow: 0 0 0 3px rgba(179, 38, 46, .12); }
.sulina-form .sf-help { color: rgba(59, 35, 20, .65); font-size: .82rem; }
.sulina-form .sf-inline { display: inline-flex; align-items: center; gap: .4em; font-weight: 500; font-size: .85rem; margin-top: 2px; }
.sulina-form .sf-hp { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.sulina-form .sf-drop { position: relative; border: 1.5px dashed var(--sf-line); border-radius: 16px; padding: 22px; text-align: center; background: var(--sf-paper); transition: border-color .2s, background-color .2s; }
.sulina-form .sf-drop.is-over { border-color: var(--sf-accent); background: rgba(138, 84, 24, .06); }
.sulina-form .sf-drop input[type="file"] { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; }
.sulina-form .sf-drop__text { display: block; font-size: .9rem; color: rgba(59, 35, 20, .7); pointer-events: none; }
.sulina-form .sf-drop__text::before { content: "⇪"; display: block; font-size: 1.6rem; color: var(--sf-accent); margin-bottom: 4px; }
.sulina-form .sf-files { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
.sulina-form .sf-files li { background: rgba(138, 84, 24, .1); border-radius: 99px; padding: .25em .8em; font-size: .82rem; }
.sulina-form .sf-files li.is-error { background: rgba(179, 38, 46, .12); color: #b3262e; }
.sulina-form .sf-footer { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; border-top: 1px solid var(--sf-line); padding-top: 20px; }
.sulina-form .sf-consent { display: flex; gap: .5em; align-items: flex-start; font-weight: 500; font-size: .9rem; flex: 1 1 280px; }
.sulina-form .sf-consent.is-invalid { color: #b3262e; }
.sulina-form .sf-submit { position: relative; }
.sulina-form .sf-submit[disabled] { opacity: .7; cursor: progress; }
.sulina-form .sf-status { flex-basis: 100%; font-weight: 600; }
.sulina-form .sf-status:empty { display: none; }
.sulina-form .sf-status.is-error { color: #b3262e; }
.sf-notice { border-radius: 16px; padding: 18px 20px; margin-bottom: 20px; font-weight: 600; }
.sf-notice.is-success { background: #e8f3ea; color: #1d5a32; border: 1px solid #b9dcc1; }
.sf-notice.is-error { background: #fbeaea; color: #8a1c22; border: 1px solid #f0c4c6; }
.sulina-form.is-sent .sf-group, .sulina-form.is-sent .sf-grid, .sulina-form.is-sent .sf-consent, .sulina-form.is-sent .sf-submit { display: none; }
.sulina-form.is-sent .sf-footer { border: 0; padding: 0; }
.sulina-form.is-sent .sf-status { background: #e8f3ea; color: #1d5a32; border: 1px solid #b9dcc1; border-radius: 16px; padding: 22px; font-size: 1.05rem; }
@media (max-width: 640px) { .sulina-form .sf-grid { grid-template-columns: 1fr; } .sulina-form .sf-submit { width: 100%; } }
