/* ShopoLah shared layout consistency: typography, spacing and form controls only.
   Intentionally does not override site colors, backgrounds, or theme. */
:root {
  --sl-layout-text: inherit;
  --sl-layout-muted: var(--muted, #8b7b86);
}
html { text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
body { min-height: 100vh; }
header, .nav:not(.bottom-nav) {
  font-family: inherit;
}
header .brand, .nav .brand, header .logo, .nav .logo {
  flex-shrink: 0;
}
header .brand, .nav .brand {
  font-size: 20px;
  line-height: 1.25;
  letter-spacing: -.35px;
}
header a, .nav:not(.bottom-nav) a {
  line-height: 1.45;
}
header .links a, .nav:not(.bottom-nav) .links a,
header .nav-links a, .nav:not(.bottom-nav) .nav-links a {
  font-size: 13px;
}
footer, .footer {
  font-family: inherit;
  font-size: 12px;
  line-height: 1.65;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 20px;
  width: 100%;
}
footer p, .footer p { margin: 0; }
footer a, .footer a { line-height: 1.6; }
form:not(.ai-compose) { min-width: 0; }
.field, .form-field, .form-group { min-width: 0; }
.field label, .form-field label, .form-group label,
form:not(.ai-compose) > label {
  display: block;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 600;
  margin-bottom: 7px;
}
.field input, .field select, .field textarea,
.form-field input, .form-field select, .form-field textarea,
.form-group input, .form-group select, .form-group textarea,
form:not(.ai-compose) input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
form:not(.ai-compose) select,
form:not(.ai-compose) textarea {
  box-sizing: border-box;
  max-width: 100%;
  min-height: 46px;
  padding: 12px 14px;
  border-radius: 12px;
  font: inherit;
  font-size: 14px;
  line-height: 1.45;
}
.field textarea, .form-field textarea, .form-group textarea,
form:not(.ai-compose) textarea {
  min-height: 104px;
  resize: vertical;
}
.field, .form-field, .form-group { gap: 8px; }
form button[type="submit"], form input[type="submit"] {
  min-height: 44px;
}
input:focus-visible, select:focus-visible, textarea:focus-visible,
button:focus-visible, a:focus-visible {
  outline: 2px solid var(--cyan, var(--indigo, #e879a6));
  outline-offset: 2px;
}
@media (max-width: 600px) {
  header .brand, .nav .brand { font-size: 18px; }
  footer, .footer {
    align-items: flex-start;
    gap: 8px;
  }
  .field input, .field select, .field textarea,
  .form-field input, .form-field select, .form-field textarea,
  .form-group input, .form-group select, .form-group textarea,
  form:not(.ai-compose) input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
  form:not(.ai-compose) select, form:not(.ai-compose) textarea {
    font-size: 16px;
  }
}
