/**
 * Minimal Drupal system CSS for standalone theme.
 * Messages, forms, pager, admin toolbar compatibility.
 */

.visually-hidden {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  height: 1px;
  width: 1px;
  word-wrap: normal;
}

.visually-hidden.focusable:focus {
  position: static !important;
  clip: auto;
  height: auto;
  width: auto;
  overflow: visible;
}

/* Drupal messages */
.messages { padding: 16px 24px; margin: 16px 0; border-radius: 4px; font-size: 15px; }
.messages--status { background: #e8f5e9; color: #2e7d32; border: 1px solid #c8e6c9; }
.messages--warning { background: #fff3e0; color: #e65100; border: 1px solid #ffe0b2; }
.messages--error { background: #ffebee; color: #c62828; border: 1px solid #ffcdd2; }

/* Tabs (local tasks) */
.tabs { margin: 0 0 24px; padding: 0; list-style: none; display: flex; gap: 0; border-bottom: 1px solid var(--sf-border); }
.tabs li { margin: 0; }
.tabs a { display: block; padding: 10px 20px; font-size: 14px; color: var(--sf-text-secondary); border-bottom: 2px solid transparent; }
.tabs a.is-active, .tabs a:hover { color: var(--sf-red); border-bottom-color: var(--sf-red); }

/* Forms */
input[type="text"], input[type="email"], input[type="password"], input[type="search"],
input[type="url"], input[type="tel"], textarea, select {
  font-family: var(--sf-font-body);
  font-size: 16px;
  padding: 10px 14px;
  border: 1px solid var(--sf-border);
  border-radius: 4px;
  width: 100%;
  max-width: 600px;
  background: var(--sf-bg);
  color: var(--sf-text);
  transition: border-color 0.2s;
}

input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: var(--sf-red);
}

/* Admin toolbar spacing */
body.toolbar-fixed { padding-top: 0 !important; }
