/* UNIVERSAL FORM COMPONENT STYLES */
/* Used by tb-input, tb-select, tb-textarea components throughout the application */

.tb-input,
.tb-select,
.tb-textarea {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.tb-input label,
.tb-select label,
.tb-textarea label {
  margin-bottom: 0;
  font-size: 13px;
  font-weight: 400;
  color: var(--text-color-label, #333);
}

.tb-input input,
.tb-select select,
.tb-textarea textarea {
  padding: var(--padding-y-inner-elements, 8px) 12px;
  border: var(--border-input-elements);
  border-radius: var(--border-radius-1);
  font-size: 14px;
  transition: border-color 0.2s ease;
}

.tb-input input:focus,
.tb-select select:focus,
.tb-textarea textarea:focus {
  outline: none;
  border-color: var(--primary-color);
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

.tb-textarea textarea {
  resize: vertical;
  min-height: 80px;
  font-family: inherit;
}

.tb-select select {
  background-color: white;
  cursor: pointer;
  appearance: none;
  background-image: url('data:image/svg+xml;utf8,<svg fill="%23333" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>');
  background-repeat: no-repeat;
  background-position: right 5px center;
  background-size: 20px;
  padding-right: 35px;
}

/* Radio and checkbox groups - universal layout pattern */
.tb-radio-group,
.tb-checkbox-group {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-top: 30px;
  margin-bottom: 20px;
}
