/**
 * Restrictly Admin Core Styles
 *
 * @package    Restrictly
 * @since      0.1.0
 */

/* ========================= */

/* COMMON FORM ELEMENTS */

/* ========================= */

/* Ensure all input types, selects, and textareas have the same border color */
.restrictly-input,
.restrictly-select,
.restrictly-textarea {
  width: 100%;
  max-width: 500px !important;
  padding: 5px 10px;
  border: 1px solid #8c8f94;
  border-radius: 4px;
  font-size: 14px;
  background-color: #fff;
  box-shadow: inset 0 1px 2px rgb(0 0 0 / 10%) !important;
  transition: border-color 0.2s ease-in-out;
}

/* Checkbox & Radio */
.restrictly-checkbox,
.restrictly-radio {
  border: 1px solid #8c8f94 !important;
  transform: scale(1.1) !important;
}

/* Focus State: Keep everything uniform */
.restrictly-input:focus,
.restrictly-select:focus,
.restrictly-textarea:focus,
.restrictly-checkbox:focus,
.restrictly-radio:focus {
  border-color: #0073aa !important;
  box-shadow: 0 0 4px rgb(0 115 170 / 50%) !important;
  outline: none;
}

/* ========================= */

/* CHECKBOX & RADIO GROUPS */

/* ========================= */

.restrictly-inline-checkbox-group {
  display: inline-flex;
}

.restrictly-checkbox-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 500px !important;
}

/* Label Styling */
.restrictly-label {
  gap: 8px;
  cursor: pointer;
}

/* Inline Labels for Checkbox & Radio */
.restrictly-inline-label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  margin-right: 15px !important;
}

/* ========================= */

/* BUTTON STYLING */

/* ========================= */

.restrictly-button {
  background: #0073aa;
  color: #fff;
  border: 1px solid #0073aa;
  border-radius: 4px;
  padding: 6px 12px;
  font-size: 14px;
  cursor: pointer;
  transition:
    background 0.2s ease-in-out,
    border-color 0.2s ease-in-out;
}

.restrictly-button:hover {
  background: #005177;
  border-color: #005177;
}

.restrictly-button:disabled {
  background: #ccc;
  border-color: #bbb;
  cursor: not-allowed;
}

/* ========================= */

/* ALIGNMENT & MARGINS */

/* ========================= */

.restrictly-form-row {
  display: flex;
  margin-bottom: 15px;
  align-items: center;
}

.restrictly-field {
  flex: 1;
}

.restrictly-p-t-0 {
  padding-top: 0 !important;
}

.restrictly-m-t-0 {
  margin-top: 0 !important;
}

.restrictly-m-b-0 {
  margin-bottom: 0 !important;
}

.restrictly-m-b-20 {
  margin-bottom: 20px !important;
}

/* Width: 100% */
.restrictly-w-100 {
  width: 100%;
}

/* Margin Bottom: 10px */
.restrictly-m-b-10 {
  margin-bottom: 10px;
}

/* Ensure labels align to the top */
.restrictly-w-100 td {
  display: flex;
  align-items: flex-start;
  padding-top: 4px;
}

/* ========================= */

/* RESTRICTLY ICON */

/* ========================= */

.restrictly-icon-16 {
  width: 16px;
  height: 16px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: inline-block;
  vertical-align: middle;
  margin-right: 5px;
}

.restrictly-icon-24 {
  width: 24px;
  height: 24px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: inline-block;
  vertical-align: middle;
  margin-right: 5px;
}

/* ========================= */

/* SCREEN READER TEXT */

/* ========================= */

/* Hide text visually but keep it accessible to screen readers */
.restrictly-screen-reader-span-140 {
  margin-right: 10px;
  width: 140px !important;
  display: inline-block;
}

/* ========================= */

/* MISC */

/* ========================= */

.restrictly-show-none {
  display: none;
}

.restrictly-subsection-heading {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 5px !important;
}

.restrictly-subsection-description {
  font-size: 14px;
  margin-top: 5px !important;
}
