/* MAJLIS shared UI  -  toast notifications + modal dialog. Theme via the
   page's own --wine / --ivory / --line variables (all pages define them). */
.majlis-toast-wrap{position:fixed;z-index:9000;left:50%;bottom:26px;transform:translateX(-50%);display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}
.majlis-toast{pointer-events:auto;background:var(--wine,#540d00);color:var(--ivory,#fff8ea);padding:13px 18px;font-size:12px;letter-spacing:.04em;box-shadow:0 14px 34px rgba(36,26,20,.28);max-width:min(90vw,420px);opacity:0;transform:translateY(10px);transition:opacity .22s ease,transform .22s ease;border-radius:4px}
.majlis-toast.show{opacity:1;transform:translateY(0)}
.majlis-toast.err{background:#8b2418}

.majlis-modal{position:fixed;z-index:9100;inset:0;display:none;align-items:center;justify-content:center;padding:22px;background:rgba(36,26,20,.55);backdrop-filter:blur(2px)}
.majlis-modal.open{display:flex}
.majlis-modal-card{background:var(--ivory,#fff8ea);color:var(--ink,#241a14);width:min(560px,100%);max-height:90vh;overflow:auto;border:1px solid var(--line,rgba(84,13,0,.18));box-shadow:0 30px 80px rgba(36,26,20,.4);padding:30px clamp(22px,4vw,40px)}
.majlis-modal-card h3{font-family:"Brandon Grotesque","Brandon Text","Avenir Next",Arial,sans-serif;color:var(--wine,#540d00);font-weight:400;font-size:30px;letter-spacing:0;margin:0 0 6px;text-transform:uppercase}
.majlis-modal-card p.sub{margin:0 0 22px;font-size:13px;line-height:1.5;color:rgba(36,26,20,.66)}
.majlis-field{display:block;margin-bottom:14px}
.majlis-field[hidden]{display:none}
.majlis-field span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:var(--wine,#540d00);font-weight:700;margin-bottom:7px}
.majlis-field input,.majlis-field select,.majlis-field textarea{width:100%;border:1px solid var(--line,rgba(84,13,0,.25));background:#fff;padding:12px 13px;color:var(--ink,#241a14);font:inherit}
.majlis-field input:focus,.majlis-field select:focus,.majlis-field textarea:focus{outline:2px solid var(--cyan,#68d3e0);outline-offset:1px}
.majlis-modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.majlis-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border:1px solid var(--wine,#540d00);background:#fff;color:var(--wine,#540d00);text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:700;cursor:pointer;font-family:inherit}
.majlis-btn.fill{background:var(--wine,#540d00);color:var(--ivory,#fff8ea)}
.majlis-btn:disabled{opacity:.55;cursor:default}
.majlis-modal-close{float:right;border:0;background:none;color:var(--wine,#540d00);font-size:22px;line-height:1;cursor:pointer;margin:-8px -8px 0 0}
.majlis-modal-switch{margin-top:18px;font-size:12px;color:rgba(36,26,20,.66)}
.majlis-modal-switch button{border:0;background:none;color:var(--wine,#540d00);font:inherit;text-decoration:underline;cursor:pointer;padding:0}
.majlis-error{color:#8b2418;font-size:12px;margin:0 0 14px;min-height:1px}

/* Supabase authentication options */
.majlis-auth-options{display:grid;gap:10px;margin-top:12px}
.majlis-auth-options .majlis-btn{width:100%}
.majlis-field small{display:block;margin-top:6px;color:rgba(36,26,20,.62);font-size:11px;line-height:1.4;letter-spacing:0;text-transform:none;font-weight:400}
.majlis-pending-note{border:1px solid var(--line,rgba(84,13,0,.18));background:rgba(84,13,0,.045);padding:14px 16px;margin:0 0 24px;color:var(--wine,#540d00);font-size:13px;line-height:1.5}
.majlis-pending-note b{display:block;text-transform:uppercase;letter-spacing:.15em;font-size:10px;margin-bottom:5px}
@media(max-width:700px){.majlis-modal{align-items:flex-start;overflow:auto}.majlis-modal-card{margin-top:22px;margin-bottom:22px}}

/* Clean authentication dialog. */
.majlis-auth-modal-card{
  position:relative;
  width:min(492px,100%);
  padding:34px clamp(24px,4vw,38px) 32px;
  border-radius:8px;
  background:#fffaf1;
  box-shadow:0 24px 70px rgba(36,26,20,.26);
}
.majlis-auth-modal-card .majlis-modal-close{
  position:absolute;
  top:14px;
  right:14px;
  float:none;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  margin:0;
  border:1px solid rgba(84,13,0,.18);
  border-radius:50%;
  background:rgba(255,255,255,.72);
}
.majlis-auth-modal-card h3{
  max-width:340px;
  font-size:24px;
  font-weight:700;
  letter-spacing:.08em;
  line-height:1.05;
  margin-bottom:9px;
}
.majlis-auth-modal-card p.sub{
  max-width:380px;
  margin-bottom:22px;
  color:rgba(36,26,20,.68);
  font-size:13px;
}
.majlis-auth-modal-card .majlis-field{margin-bottom:12px}
.majlis-auth-modal-card .majlis-field input{
  height:48px;
  border-radius:6px;
  background:#fff;
  font-size:14px;
  text-transform:none!important;
}
.majlis-auth-modal-card .majlis-modal-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
  margin-top:10px;
}
.majlis-auth-modal-card .majlis-btn{
  width:100%;
  min-height:46px;
  border-radius:6px;
  justify-content:center;
  gap:10px;
  padding:0 16px;
  letter-spacing:.12em;
  font-size:10px;
  box-shadow:none;
}
.majlis-auth-modal-card .majlis-btn.fill{
  border-color:var(--wine,#540d00);
  background:var(--wine,#540d00);
}
.majlis-auth-modal-card .majlis-oauth{
  background:#fff;
  color:var(--ink,#241a14);
  border-color:rgba(36,26,20,.18);
}
.majlis-auth-modal-card .majlis-oauth:hover,
.majlis-auth-modal-card .majlis-oauth:focus-visible{
  border-color:var(--wine,#540d00);
  color:var(--wine,#540d00);
}
.majlis-provider-icon{
  width:18px;
  height:18px;
  flex:0 0 18px;
  display:block;
}
.majlis-auth-modal-card .majlis-open-account{
  background:transparent;
  border-color:transparent;
  min-height:36px;
  color:rgba(84,13,0,.84);
}
.majlis-auth-modal-card .majlis-error:not(:empty){
  min-height:0;
  margin-bottom:12px;
  padding:10px 12px;
  border:1px solid rgba(139,36,24,.22);
  border-radius:6px;
  background:rgba(139,36,24,.06);
}
