/**
 * SML Forms, Breadcrumb, Pagination, Messages — responsive
 */

/* ── Forms ── */
.sl-form-item { margin-bottom: var(--sl-space-4); }
.sl-form-item label,
.sl-form-item .form-item__label {
  display: block;
  font-size: var(--sl-text-xs);
  font-weight: var(--sl-weight-medium);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--sl-color-text-muted);
  margin-bottom: var(--sl-space-2);
}
.sl-form-item input,
.sl-form-item select,
.sl-form-item textarea { font-size: var(--sl-text-md); padding: var(--sl-space-2) var(--sl-space-3); }
.sl-form-item textarea { resize: vertical; min-height: 100px; }
.sl-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sl-space-4); }
.sl-form__description,
.form-item__description { font-size: var(--sl-text-xs); color: var(--sl-color-text-muted); margin-top: var(--sl-space-1); }
.webform-submission-form .form-item { margin-bottom: var(--sl-space-4); }

/* Contact page two-col form */
.sl-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: var(--sl-border);
  border-radius: var(--sl-radius-lg);
  overflow: hidden;
}
.sl-contact-info { padding: var(--sl-space-6); border-right: var(--sl-border); }
.sl-contact-form { padding: var(--sl-space-6); }

/* ── Breadcrumb ── */
.sl-breadcrumb { padding-block: var(--sl-space-3); border-bottom: var(--sl-border-light); background: var(--sl-gray-ghost); }
.sl-breadcrumb__list { display: flex; align-items: center; flex-wrap: wrap; gap: var(--sl-space-2); }
.sl-breadcrumb__item { display: flex; align-items: center; gap: var(--sl-space-2); font-size: var(--sl-text-xs); color: var(--sl-color-text-muted); }
.sl-breadcrumb__item::after { content: '/'; color: var(--sl-gray-light); }
.sl-breadcrumb__item:last-child::after { display: none; }
.sl-breadcrumb__item a { color: var(--sl-navy); text-decoration: none; }
.sl-breadcrumb__item a:hover { text-decoration: underline; }

/* ── Pagination ── */
.sl-pager { display: flex; justify-content: center; align-items: center; gap: var(--sl-space-2); padding-block: var(--sl-space-6); flex-wrap: wrap; }
.sl-pager__item a,
.sl-pager__item span {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 36px; height: 36px; padding-inline: var(--sl-space-2);
  font-size: var(--sl-text-sm); border-radius: var(--sl-radius-sm);
  border: var(--sl-border); color: var(--sl-color-text);
  text-decoration: none; transition: background var(--sl-transition), border-color var(--sl-transition);
}
.sl-pager__item a:hover { background: var(--sl-navy-ghost); border-color: var(--sl-navy-mid); text-decoration: none; }
.sl-pager__item.is-active a,
.sl-pager__item.is-active span { background: var(--sl-navy); border-color: var(--sl-navy); color: #fff; }

/* ── Messages ── */
.sl-messages,
.messages { border-radius: var(--sl-radius-md); padding: var(--sl-space-3) var(--sl-space-4); font-size: var(--sl-text-sm); margin-bottom: var(--sl-space-4); border-left: 3px solid transparent; }
.messages--status,  .sl-messages--success { background: var(--sl-color-success-light); border-left-color: var(--sl-color-success); color: var(--sl-teal-dark); }
.messages--warning, .sl-messages--warning { background: var(--sl-color-warning-light); border-left-color: var(--sl-color-warning); color: #7B3A00; }
.messages--error,   .sl-messages--error   { background: var(--sl-color-error-light); border-left-color: var(--sl-color-error); color: var(--sl-color-error); }
.messages--info,    .sl-messages--info    { background: var(--sl-color-info-light); border-left-color: var(--sl-color-info); color: var(--sl-navy-dark); }

@media (max-width: 767px) {
  .sl-form__row { grid-template-columns: 1fr; }
  .sl-contact-grid { grid-template-columns: 1fr; }
  .sl-contact-info { border-right: none; border-bottom: var(--sl-border); }
  .sl-contact-info,
  .sl-contact-form { padding: var(--sl-space-4); }
}
