/* =========================================================
   Alericos · Modal (padrão do plugin principal)
   ========================================================= */

/* Paleta base (herda do site quando possível) */
#alx-modal{
  --bg:#001219;
  --panel:#ffffff;
  --text:#001219;
  --muted:rgba(0,0,0,.72);
  --line:#e6eef5;
  --brand:#219EBC;
  --brand-hover:#023047;
  --ok:#10b981; --warn:#f59e0b; --err:#ef4444;

  position:fixed; inset:0; z-index:99999;
  display:none; place-items:center;
  background:rgba(0,0,0,.45);
  padding:24px;
}

/* abrir modal */
#alx-modal.is-open,
#alx-modal[aria-hidden="false"],
#alx-modal[data-open="true"]{ display:grid; }

/* caixa */
#alx-modal .alx-modal__dialog{
  background:var(--panel);
  color:var(--text);
  width:min(570px, 92vw);
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 12px 40px rgba(0,0,0,.18);
  overflow:hidden;
  animation:alxModalPop .14s ease-out;
}

/* header */
#alx-modal .alx-modal__head{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:14px 16px; border-bottom:1px solid var(--line);
}
#alx-modal .alx-modal__title{
  margin:0; font:700 18px/1.2 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto;
  color:var(--text);
}

/* body */
#alx-modal .alx-modal__body{ padding:14px 16px; color:var(--text); }
#alx-modal .alx-modal__muted{ color:var(--muted); }

/* footer */
#alx-modal .alx-modal__actions{
  display:flex; gap:10px; justify-content:flex-end; align-items:center;
  padding:12px 16px; border-top:1px solid var(--line);
}

/* Botões (repetimos aqui para fugir do hover do tema) */
#alx-modal .alx-btn{
  -webkit-appearance:none; appearance:none;
  background:var(--brand) !important;
  color:#fff !important;
  border:none; border-radius:10px;
  padding:10px 14px; cursor:pointer; font-weight:600;
  transition:background-color .2s ease, transform .02s ease, box-shadow .2s ease;
  box-shadow:none;
}
#alx-modal .alx-btn:hover,
#alx-modal .alx-btn:focus{ background:var(--brand-hover) !important; color:#fff !important; }
#alx-modal .alx-btn:active{ transform:translateY(1px) }
#alx-modal .alx-btn[disabled]{ opacity:.5; cursor:not-allowed }

/* Secundário / Ghost (cancelar) */
#alx-modal .alx-btn--ghost{
  background:#fff !important; color:var(--brand) !important;
  border:1px solid var(--brand); box-shadow:none;
}
#alx-modal .alx-btn--ghost:hover,
#alx-modal .alx-btn--ghost:focus{
  background:var(--brand) !important; color:#fff !important;
}

/* Botão fechar (X) */
#alx-modal #alx-modal-close{
  -webkit-appearance:none; appearance:none;
  background:#000; color:#fff; border:0;
  width:28px; height:28px; padding:0; margin:0;
  border-radius:12px; font:600 18px/1 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto;
  display:inline-flex; align-items:center; justify-content:center;
  cursor:pointer; box-shadow:none; transform:none;
}
#alx-modal #alx-modal-close:hover,
#alx-modal #alx-modal-close:focus{ background:var(--brand-hover) }

/* Ajudas */
#alx-modal .sr-only{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* Mobile */
@media (max-width:680px){
  #alx-modal{ padding:16px; }
  #alx-modal .alx-btn{ padding:8px 12px; font-size:14px; border-radius:8px; }
}

/* Dark (opcional) */
#alx-modal[data-theme="dark"],
body[data-theme="dark"] #alx-modal{
  --panel:#0f202a; --text:#e8f6fb; --muted:#b9dbe7; --line:#2A4459;
  background:rgba(0,0,0,.55);
}
#alx-modal[data-theme="dark"] .alx-modal__dialog{ border-color:var(--line) }

/* Animações */
@keyframes alxModalPop{
  from{ transform:translateY(4px) scale(.98); opacity:0 }
  to  { transform:translateY(0)   scale(1);   opacity:1 }
}
#alx-modal{
  backdrop-filter: saturate(120%) blur(2px); /* efeito de fundo */
  display:grid; place-items:center; padding:24px; /* margem lateral no viewport */
}

/* Remarcar: calendário + 2 colunas */
#alx-modal .alx-rmk{display:grid;grid-template-columns:260px 1fr;gap:50px;align-items:flex-start}
#alx-modal .alx-rmk__cols .alx-week{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}

/* Cabeçalho do dia com contraste */
#alx-modal .alx-resched-day__head{
  display:inline-block;background:#163044;color:#fff;border-radius:10px;
  padding:6px 10px;margin:0 0 8px
}

/* Chips/horários */
#alx-modal .alx-resched-day__slots{display:flex;flex-wrap:wrap;gap:8px}
#alx-modal .alx-pill{display:inline-block}
#alx-modal .alx-pill input{display:none}
#alx-modal .alx-pill span{display:inline-block;padding:6px 12px;border-radius:999px;background:#0F2A3A;color:#fff}
#alx-modal .alx-pill input:checked + span{outline:2px solid var(--brand,#219EBC)}

/* Responsivo */
@media (max-width:700px){
  #alx-modal .alx-rmk{grid-template-columns:1fr}
  #alx-modal .alx-rmk__cols .alx-week{grid-template-columns:1fr}
}
