/* ============================================================
   LOOMAH DESIGN SYSTEM - BLINDAGEM DE CONTROLES
   Versao: 3.4.0

   ESTE ARQUIVO NAO USA @layer. E DE PROPOSITO.

   Motivo: na cascata, declaracao normal FORA de camada vence QUALQUER
   declaracao normal DENTRO de camada, independente de especificidade.
   Ou seja: um `input[type="checkbox"] { height: 2.25rem }` escrito por um
   tema ou pelo wp-admin (que nao usam @layer) vence o nosso
   `.lm-switch input { block-size: 1.5rem }` mesmo com especificidade igual.
   Medido em navegador, nao suposto.

   Consequencia pratica: os controles que dependem de geometria exata
   (switch, checkbox, radio, OTP, altura de campo) precisam de uma regra
   fora de camada para sobreviver. A especificidade aqui e deliberadamente
   um degrau acima do que temas costumam usar, para nao depender da ordem
   de enqueue. Nao ha `!important` — se um dia precisar, e sinal de que o
   tema esta usando `!important`, e ai o lugar e wordpress/admin-overrides.css.

   Escopo: SO geometria e aparencia de controle de formulario. Nada de cor,
   nada de layout, nada de componente novo. Este arquivo nao deve crescer.
   ============================================================ */

/* ---- Switch ------------------------------------------------------- */
.lm-switch > input[type="checkbox"] {
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  flex: none;
  inline-size: var(--_w, var(--lm-switch-width, 2.75rem));
  block-size: var(--_h, var(--lm-switch-height, 1.5rem));
  min-inline-size: var(--_w, var(--lm-switch-width, 2.75rem));
  max-inline-size: var(--_w, var(--lm-switch-width, 2.75rem));
  min-block-size: var(--_h, var(--lm-switch-height, 1.5rem));
  max-block-size: var(--_h, var(--lm-switch-height, 1.5rem));
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: var(--lm-radius-full, 9999px);
}

/* ---- Checkbox e radio -------------------------------------------- */
.lm-check > input[type="checkbox"],
.lm-check > input[type="radio"],
.lm-choice > input[type="checkbox"],
.lm-choice > input[type="radio"],
.lm-table > * > tr > * > input[type="checkbox"] {
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  flex: none;
  inline-size: var(--lm-control-box, 1.25rem);
  block-size: var(--lm-control-box, 1.25rem);
  min-inline-size: var(--lm-control-box, 1.25rem);
  max-inline-size: var(--lm-control-box, 1.25rem);
  min-block-size: var(--lm-control-box, 1.25rem);
  max-block-size: var(--lm-control-box, 1.25rem);
  padding: 0;
}

/* ---- Codigo de verificacao --------------------------------------- */
.lm-otp > input[type="text"],
.lm-otp > input:not([type]),
.lm-otp > input[type="tel"],
.lm-otp > input[type="number"] {
  box-sizing: border-box;
  block-size: 3.5rem;
  min-block-size: 3.5rem;
  padding: 0;
  text-align: center;
}

/* ---- Altura de campo --------------------------------------------- */
input.lm-input.lm-input,
select.lm-select.lm-select {
  box-sizing: border-box;
  block-size: var(--lm-field-height, 2.625rem);
  min-block-size: var(--lm-field-height, 2.625rem);
  line-height: normal;
}
textarea.lm-textarea.lm-textarea {
  box-sizing: border-box;
  block-size: auto;
  min-block-size: 6.5rem;
}

/* ---- Botao -------------------------------------------------------- */
.lm-btn.lm-btn {
  box-sizing: border-box;
  block-size: var(--lm-btn-height, 2.625rem);
  min-block-size: var(--lm-btn-height, 2.625rem);
  line-height: 1;
  text-decoration-line: none;
}
.lm-btn.lm-btn-xs { block-size: var(--lm-btn-height-xs, 1.75rem); min-block-size: var(--lm-btn-height-xs, 1.75rem); }
.lm-btn.lm-btn-sm { block-size: var(--lm-btn-height-sm, 2.125rem); min-block-size: var(--lm-btn-height-sm, 2.125rem); }
.lm-btn.lm-btn-lg { block-size: var(--lm-btn-height-lg, 3.125rem); min-block-size: var(--lm-btn-height-lg, 3.125rem); }
.lm-btn.lm-btn-link { block-size: auto; min-block-size: 0; text-decoration-line: underline; }
