/* IMPORT AND MORE
--------------------------------------------------------- */
@use 'sass:color';
/* --------------------------------------------------------- */
/* Reboot */
a:not([href]):not([class]), a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

[role=button] {
  cursor: pointer;
}

select:disabled {
  opacity: 1;
}

[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
  display: none !important;
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
  padding: 0;
}

::-webkit-inner-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

::-webkit-color-swatch-wrapper {
  padding: 0;
}

/* Forms */
.form-control:focus {
  color: var(--theme-body-color);
  background-color: var(--theme-body-bg2);
  border-color: var(--theme-focus-ring-border-color);
  outline: 0;
  box-shadow: 0 0 0 4px var(--theme-focus-ring-color);
}

.form-control::-webkit-date-and-time-value {
  min-width: 85px;
  height: 1.5em;
  margin: 0;
}

.form-control::-webkit-datetime-edit {
  display: block;
  padding: 0;
}

.form-control:disabled {
  background-color: var(--theme-bg-secondary);
  opacity: 1;
}

.form-select:focus {
  border-color: var(--theme-focus-ring-border-color);
  outline: 0;
  box-shadow: 0 0 0 4px var(--theme-focus-ring-color);
}

.form-select[multiple], .form-select[size]:not([size="1"]) {
  padding-right: 12px;
  background-image: none;
}

.form-select:disabled {
  background-color: var(--theme-bg-secondary);
}

.form-check-input:active {
  filter: brightness(90%);
}

.form-check-input:focus {
  border-color: var(--theme-focus-ring-border-color);
  outline: 0;
  box-shadow: 0 0 0 4px var(--theme-focus-ring-color);
}

.form-check-input:checked {
  background-color: #0d6efd;
  border-color: #0d6efd;
}

.form-check-input:checked[type=checkbox] {
  --hdl-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}

.form-check-input[type=checkbox]:indeterminate {
  background-color: #dc3545;
  border-color: #dc3545;
  --hdl-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}

.form-check-input:disabled {
  pointer-events: none;
  filter: none;
  opacity: 0.5;
}

/***********************/
/* Components */
/* Buttons */
.btn:first-child:active, .btn.active {
  color: var(--hdl-btn-active-color);
  background-color: var(--hdl-btn-active-bg);
  border-color: var(--hdl-btn-active-border-color);
}

.btn:disabled, .btn.disabled {
  color: var(--hdl-btn-disabled-color);
  pointer-events: none;
  background-color: var(--hdl-btn-disabled-bg);
  border-color: var(--hdl-btn-disabled-border-color);
  opacity: var(--hdl-btn-disabled-opacity);
}

/* Badge */
.badge:empty {
  display: none;
}

.btn .badge {
  position: relative;
  top: -1px;
}
