/* Shared form rhythm and touch-friendly controls. Loaded after page styles. */
.field { min-width: 0; line-height: 1.5; margin-block: 20px; }
.field input, .field select, .field textarea { max-width: 100%; box-sizing: border-box; margin-top: 8px; }
.field small { margin-top: 8px; line-height: 1.6; }
.studio-fields, .tryon-page .studio-fields, .form-grid { gap: 26px 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.studio-fields > .field, .form-grid > .field { margin: 0; }
.studio-fields + .studio-fields, .form-grid + .form-grid { margin-top: 28px; }
.tryon-upload > *, .tryon-review > *, .tryon-approved > * { min-width: 0; }
.tryon-upload { margin-block: 26px 32px; }
.field input:not([type=checkbox]):not([type=radio]), .field select, .measurement-field input { min-height: 46px; }
.field input[type=file] { white-space: normal; overflow-wrap: anywhere; }
.field input[type=file]::file-selector-button { min-height: 40px; margin-right: 12px; }
.skin-tones { border: 1px solid #dce2d8; border-radius: 12px; padding: 18px; margin-block: 28px; min-width: 0; }
.skin-tones > div { display: flex; flex-wrap: wrap; gap: 12px; }
.skin-tones label { display: flex; align-items: center; gap: 7px; min-height: 44px; padding: 6px 10px; border: 1px solid #dce2d8; border-radius: 8px; cursor: pointer; }
.skin-tones label:has(input:checked) { outline: 2px solid #365642; outline-offset: 1px; }
.skin-swatch { width: 22px; height: 22px; border-radius: 50%; background: var(--tone); border: 1px solid #0003; flex: none; }
#tryon-headshot-preview { display: grid; grid-template-columns: repeat(auto-fit,minmax(100px,1fr)); gap: 12px; }
#tryon-headshot-preview figure { margin: 0; }
#tryon-headshot-preview img { max-height: 240px; }
#tryon-draft-status { font-size: 13px; line-height: 1.6; color: #365642; padding-block: 10px; }
@media (max-width: 650px) {
  .studio-fields, .tryon-page .studio-fields, .form-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .field input, .field select, .field textarea, .measurement-field input,
  input[type=search], #owned-garment-name, #owned-garment-notes { font-size: 16px; }
  .field { font-size: 14px; }
  .field small { font-size: 12px; }
  .tryon-step { padding: 20px 16px; }
  .tryon-page .actions, .provider-actions { align-items: stretch; }
  .tryon-page .actions > button, .provider-actions > button { flex: 1 1 180px; }
  .tryon-page button, .provider-actions button, .family-card button, .personal-card form button { min-height: 44px; max-width: 100%; white-space: normal; }
  .tryon-outfit-picker .field { min-width: 0; flex-basis: 100%; }
  .tryon-gallery { grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr)); }
  .tryon-page .remember { padding-block: 8px; }
  .studio-global, .provider-body { padding: 18px 14px; }
}

#profile-model-settings .studio-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}#profile-form .profile-save{position:sticky;bottom:12px;background:#fff;padding:16px;border:1px solid #dce2d8;border-radius:12px;z-index:2;box-shadow:0 4px 18px #0000000a}#profile-form .photo-guide details{margin:16px 0}#profile-model-settings [hidden]{display:none!important}@media(max-width:650px){#profile-model-settings .studio-fields{grid-template-columns:1fr}}

.profile-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;border-bottom:1px solid #dce2d8;margin:24px 0}.profile-tabs [role=tab]{border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;min-height:48px;padding:12px 6px;color:#60695f;font-size:15px}.profile-tabs [aria-selected=true]{border-bottom-color:#365642;color:#263d30;font-weight:600}.profile-tabs [role=tab]:focus-visible{outline:2px solid #365642;outline-offset:-4px}#profile-form [data-profile-panel][hidden],[data-profile-extra][hidden]{display:none!important}#profile-form [data-profile-panel]{min-width:0}.profile-tabs+form>.profile-save{margin-top:24px}@media(max-width:420px){.profile-tabs [role=tab]{font-size:14px;padding-inline:3px}}

.default-model-preview{display:flex;gap:24px;align-items:center;margin:24px 0;padding:20px;background:#f7f8f5;border:1px solid #e0e5dd;border-radius:12px}.default-model-preview img{width:180px;max-width:40%;height:270px;object-fit:contain;background:#fff}.default-model-preview figcaption{min-width:0;flex:1}.default-model-preview p{font-size:14px;color:#60695f;line-height:1.6;margin:8px 0 0}@media(max-width:500px){.default-model-preview{display:block}.default-model-preview img{display:block;max-width:100%;margin:0 auto 16px}}

.colour-preview{padding:16px;border:1px solid #dddeda;border-radius:10px;background:#fafbf9;margin:16px 0 24px}.colour-preview h3{margin:0 0 12px}.colour-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.colour-preview-item{display:flex;align-items:center;gap:8px;min-width:0}.colour-preview-swatch{width:32px;height:32px;flex:0 0 32px;border:1px solid #c4c7c0;border-radius:50%;background:repeating-linear-gradient(135deg,#f4f3f0 0 5px,#dfded9 5px 10px)}.colour-preview-item strong,.colour-preview-item small{display:block;overflow-wrap:anywhere}.colour-preview-item small{font-size:12px;color:#62675e}.colour-preview .form-note{margin:12px 0 0}@media(max-width:620px){.colour-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

button.colour-preview-item{padding:8px;border:1px solid transparent;background:transparent;text-align:left;color:inherit;cursor:pointer;border-radius:8px}button.colour-preview-item:hover,button.colour-preview-item[aria-expanded=true]{background:#edf1e9;border-color:#bdc9b5}button.colour-preview-item:focus-visible{outline:2px solid #526c48;outline-offset:2px}[data-colour-editor]{margin-top:14px;padding-top:14px;border-top:1px solid #dddeda}[data-colour-editor] h4{margin:0 0 12px}[data-colour-editor] input[type=color]{width:88px;height:48px;padding:4px;cursor:pointer}

[data-colour-storage][hidden]{display:none!important}
