/* modal.css — modal padrão dos produtos (card #167). Só tokens do tema (tema-logiccos: --cor-*, --raio-*,
   --brilho-*), com recuo para quem ainda não carregou o tema. Comportamento em modal.browser.js. */
.kit-modal{
  --kit-modal-largura:36rem;
  box-sizing:border-box;padding:0;margin:auto;
  width:min(var(--kit-modal-largura),calc(100vw - 2rem));height:fit-content;
  min-width:min(18rem,calc(100vw - 2rem));min-height:10rem;
  max-width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);
  resize:both;overflow:hidden;
  background:var(--cor-painel,#fff);color:var(--cor-texto,#0f172a);
  border:1px solid var(--cor-borda,#d5dde8);border-radius:var(--raio-painel,1rem);
  box-shadow:0 24px 48px -12px rgba(0,0,0,.45),var(--brilho-verde-fraco,0 0 0 transparent);
  font-family:var(--fonte-sans,system-ui,sans-serif);
}
.kit-modal[open]{display:flex;flex-direction:column;}
.kit-modal::backdrop{background:var(--scrim,rgba(0,0,0,.6));backdrop-filter:blur(2px);}
.kit-modal--sm{--kit-modal-largura:24rem;}
.kit-modal--md{--kit-modal-largura:36rem;}
.kit-modal--lg{--kit-modal-largura:56rem;}
.kit-modal--full{--kit-modal-largura:100vw;}

.kit-modal__cabecalho{
  flex:0 0 auto;display:flex;align-items:center;gap:.5rem;
  padding:.75rem .75rem .75rem 1rem;border-bottom:1px solid var(--cor-borda,#d5dde8);
  background:var(--cor-cartao-claro,#f8fafc);cursor:grab;user-select:none;touch-action:none;
}
.kit-modal--arrastando .kit-modal__cabecalho{cursor:grabbing;}
.kit-modal__alca{display:inline-flex;color:var(--cor-texto-suave,#475569);}
.kit-modal__titulo{flex:1 1 auto;min-width:0;margin:0;font-size:1rem;font-weight:600;line-height:1.3;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--cor-texto,#0f172a);}
.kit-modal__acoes{display:flex;gap:.25rem;flex:0 0 auto;}
.kit-modal__botao{
  display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;
  border:1px solid transparent;border-radius:var(--raio-item,.75rem);background:transparent;
  color:var(--cor-texto-suave,#475569);cursor:pointer;
}
.kit-modal__botao:hover{background:var(--cor-chip,#e6ecf4);color:var(--cor-texto,#0f172a);}
.kit-modal__botao:focus-visible{outline:2px solid var(--cor-verde,#41771a);outline-offset:2px;}

.kit-modal__corpo{flex:1 1 auto;min-height:0;overflow:auto;padding:1rem;overscroll-behavior:contain;}
.kit-modal__rodape{
  flex:0 0 auto;display:flex;gap:.5rem;padding:.75rem 1rem;
  border-top:1px solid var(--cor-borda,#d5dde8);background:var(--cor-cartao-claro,#f8fafc);
}

/* Regra de formulário: campos e botões ocupam a largura do corpo (o "campo num terço da tela" do card #167). */
.kit-modal__corpo form{display:flex;flex-direction:column;gap:.75rem;width:100%;margin:0;}
.kit-modal__corpo label{display:flex;flex-direction:column;gap:.25rem;width:100%;font-size:.875rem;color:var(--cor-texto-suave,#475569);}
.kit-modal__corpo :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  box-sizing:border-box;width:100%;max-width:none;
  padding:.625rem .75rem;border:1px solid var(--cor-borda,#d5dde8);border-radius:var(--raio-item,.75rem);
  background:var(--cor-fundo,#f3f6fa);color:var(--cor-texto,#0f172a);font:inherit;font-size:.9375rem;
}
.kit-modal__corpo :is(input,select,textarea):focus-visible{outline:2px solid var(--cor-verde,#41771a);outline-offset:1px;border-color:var(--cor-verde,#41771a);}
.kit-modal__corpo label:has(> input[type="checkbox"],> input[type="radio"]){flex-direction:row;align-items:center;gap:.5rem;}
.kit-modal__rodape > :is(button,a){flex:1 1 0;}
.kit-modal__rodape button,.kit-modal__corpo button{
  box-sizing:border-box;min-height:2.5rem;padding:.5rem 1rem;border-radius:var(--raio-item,.75rem);
  border:1px solid var(--cor-borda,#d5dde8);background:var(--cor-cartao,#fff);color:var(--cor-texto,#0f172a);
  font:inherit;font-weight:500;cursor:pointer;
}
.kit-modal__rodape .kit-modal__primario,.kit-modal__rodape button[type="submit"]{
  background:var(--cor-verde,#41771a);border-color:var(--cor-verde,#41771a);color:var(--cor-sobre-verde,#fff);
}
.kit-modal__rodape .kit-modal__primario:hover,.kit-modal__rodape button[type="submit"]:hover{
  background:var(--cor-verde-hover,#336116);box-shadow:var(--brilho-verde,none);
}

/* Maximizado e celular: tela toda, sem redimensionar. !important só aqui: vencem o left/top/width/height
   inline que o arraste e o redimensionar deixam (ex.: girou o celular depois de arrastar no tablet). */
.kit-modal--maximizado,.kit-modal--full{border-radius:0;}
.kit-modal--maximizado{
  inset:0 !important;margin:0 !important;width:100vw !important;height:100dvh !important;
  max-width:none;max-height:none;resize:none;border-radius:0;
}
@media (max-width:640px){
  .kit-modal{
    inset:0 !important;margin:0 !important;width:100vw !important;height:100dvh !important;
    min-width:0;max-width:none;max-height:none;resize:none;border-radius:0;border:0;
  }
  .kit-modal__cabecalho{cursor:default;}
  .kit-modal__alca,.kit-modal [data-kit-modal="maximizar"]{display:none;}
  .kit-modal__rodape{flex-direction:column-reverse;}
}
@media (prefers-reduced-motion:no-preference){
  .kit-modal[open]{animation:kit-modal-entra .16s ease-out;}
}
@keyframes kit-modal-entra{from{opacity:0;transform:translateY(8px) scale(.98);}to{opacity:1;transform:none;}}
