.field { display: grid; gap: var(--s-2); margin-bottom: var(--s-4); }
.field label, .field .label { font-size: var(--t-xs); color: var(--c-mist); letter-spacing: .03em; }
.input, .select, .textarea {
  width: 100%; min-height: 46px; padding: var(--s-3) var(--s-4);
  background: var(--c-night); color: var(--c-linen);
  border: 1px solid var(--c-velvet-line); border-radius: var(--r-sm);
  font-size: var(--t-sm);
}
.textarea { min-height: 92px; resize: vertical; line-height: 1.5; }
.input:focus, .select:focus, .textarea:focus { outline: none; border-color: var(--c-champagne); box-shadow: 0 0 0 3px rgba(201,168,107,.18); }
.field-row { display: grid; gap: var(--s-4); grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.help { font-size: var(--t-xs); color: var(--c-mist); }
.form-error { color: var(--c-danger); font-size: var(--t-sm); min-height: 1.4em; }

/* Toggle switch */
.switch { position: relative; display: inline-flex; align-items: center; gap: var(--s-3); cursor: pointer; font-size: var(--t-sm); }
.switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.switch__track { width: 42px; height: 24px; border-radius: 999px; background: var(--c-velvet-line); position: relative; transition: background .2s; flex: none; }
.switch__track::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: var(--c-linen); transition: transform .2s var(--ease); }
.switch input:checked + .switch__track { background: var(--c-patina); }
.switch input:checked + .switch__track::after { transform: translateX(18px); }
.switch input:focus-visible + .switch__track { outline: 2px solid var(--c-champagne); outline-offset: 2px; }

/* Language tabs inside forms */
.lang-tabs { display: flex; gap: var(--s-2); margin-bottom: var(--s-3); }
.lang-tabs button { padding: var(--s-2) var(--s-4); border-radius: var(--arch-full); font-size: var(--t-xs); color: var(--c-mist); border: 1px solid var(--c-velvet-line); }
.lang-tabs button[aria-selected="true"] { border-color: var(--c-champagne); color: var(--c-champagne-2); }

/* Photo drop zone */
.dropzone {
  display: grid; place-items: center; gap: var(--s-2); text-align: center;
  min-height: 160px; padding: var(--s-5);
  border: 1px dashed var(--c-velvet-line); border-radius: var(--r-md);
  color: var(--c-mist); font-size: var(--t-sm); cursor: pointer;
}
.dropzone:hover, .dropzone.is-over { border-color: var(--c-champagne); color: var(--c-linen); }
.dropzone img { max-height: 220px; border-radius: var(--arch); }

@media (pointer: coarse) {
  .switch { min-height: 44px; }
  .lang-tabs button { min-height: 40px; }
}
