/* BROZ Login Lock - responsive modal + blurred background */

body.broz-locked {
  overflow: hidden;
}

/* Blur everything except the portal and wpadminbar */
body.broz-locked > *:not(#broz-lock-portal):not(#wpadminbar) {
  filter: blur(6px) saturate(0.9);
  pointer-events: none !important;
  user-select: none !important;
}

/* Portal (overlay + modal) */
.broz-lock-portal {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: grid;
  place-items: center;

  /* responsive padding so the modal never touches edges */
  padding: 16px;
  box-sizing: border-box;
}

.broz-lock-overlay {
  position: absolute;
  inset: 0;
  background: rgba(10, 16, 24, 0.45);
  backdrop-filter: blur(6px);
}

/* Responsive modal:
   - full width up to max-width
   - internal scroll if viewport height is small (e.g., keyboard open)
*/
.broz-lock-modal {
  position: relative;
  z-index: 1;

  width: 100%;
  max-width: 420px;

  max-height: calc(100svh - 32px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;

  overflow-x: hidden;
  word-break: break-word;

  background: #fff;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.25);
  padding: 24px 22px 22px;
  box-sizing: border-box;

  font: 14px/1.45 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

@media (min-width: 480px) {
  .broz-lock-portal { padding: 24px; }
  .broz-lock-modal {
    padding: 28px 26px 24px;
    max-height: calc(100vh - 48px);
  }
}

@media (max-height: 520px) {
  .broz-lock-portal { padding: 10px; }
  .broz-lock-modal  { max-height: calc(100svh - 20px); }
}

.broz-lock-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 10px;
}

.broz-lock-logo img {
  max-height: 56px;
  max-width: 100%;
  width: auto;
  height: auto;
}

.broz-lock-sitetitle {
  font-weight: 700;
  font-size: 18px;
}

#broz-lock-title {
  text-align: center;
  margin: 6px 0 16px;
  font-size: 18px;
}

/* WP login form tweaks */
#loginform-broz { display: grid; gap: 10px; }
#loginform-broz p { margin: 0; min-width: 0; }
#loginform-broz label {
  display: block;
  font-size: 13px;
  margin-bottom: 4px;
  color: #111827;
}

#loginform-broz input[type="text"],
#loginform-broz input[type="password"] {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;

  border: 1px solid #D1D5DB;
  border-radius: 10px;
  padding: 10px 12px;
  outline: none;
}

#loginform-broz input[type="text"]:focus,
#loginform-broz input[type="password"]:focus {
  border-color: #2563EB;
  box-shadow: 0 0 0 3px rgba(37,99,235,0.15);
}

#loginform-broz #wp-submit-broz {
  width: 100%;
  max-width: 100%;
  border: 0;
  border-radius: 10px;
  padding: 10px 14px;
  background: #2563EB;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}

#loginform-broz #wp-submit-broz:hover { filter: brightness(0.95); }

#loginform-broz p.forgetmenot {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
#loginform-broz p.forgetmenot input { margin: 0; }

.broz-lock-help {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-top: 10px;
  font-size: 13px;
  flex-wrap: wrap;
}

.broz-lock-help a { color: #2563EB; text-decoration: none; }
.broz-lock-help a:hover { text-decoration: underline; }


/* ============================================================
   NEW LOOK v3 — Login Lock
   ============================================================ */
body.broz-new-look.broz-locked>*:not(#broz-lock-portal):not(#wpadminbar){
  filter:blur(12px) saturate(0.7) brightness(0.92);
}
body.broz-new-look .broz-lock-overlay{
  background:rgba(30,27,75,.5);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
}
body.broz-new-look .broz-lock-modal{
  border-radius:24px;
  box-shadow:0 0 0 1px rgba(79,70,229,.08),0 24px 60px rgba(30,27,75,.2);
  padding:32px 28px 28px;
  animation:broz-ll3 400ms cubic-bezier(.16,1,.3,1);
}
@keyframes broz-ll3{from{opacity:0;transform:translateY(20px) scale(.95);}to{opacity:1;transform:translateY(0) scale(1);}}
body.broz-new-look .broz-lock-portal{animation:broz-llf3 400ms ease;}
@keyframes broz-llf3{from{opacity:0}to{opacity:1}}
body.broz-new-look #broz-lock-title{font-size:20px;font-weight:800;color:#1e1b4b;}
body.broz-new-look #loginform-broz{gap:14px;}
body.broz-new-look #loginform-broz label{font-weight:700;color:#4338ca;}
body.broz-new-look #loginform-broz input[type="text"],
body.broz-new-look #loginform-broz input[type="password"]{
  border:1.5px solid #e0e7ff;border-radius:12px;padding:12px 14px;
  background:#fafafe;transition:all 200ms cubic-bezier(.4,0,.2,1);
}
body.broz-new-look #loginform-broz input:hover{border-color:#c7d2fe;background:#fff;}
body.broz-new-look #loginform-broz input:focus{border-color:#4f46e5;background:#fff;box-shadow:0 0 0 4px rgba(79,70,229,.1);}
body.broz-new-look #loginform-broz #wp-submit-broz{
  border-radius:12px;padding:12px 16px;font-weight:800;
  background:#4f46e5;box-shadow:0 4px 14px rgba(79,70,229,.3);
  transition:all 200ms cubic-bezier(.4,0,.2,1);
}
body.broz-new-look #loginform-broz #wp-submit-broz:hover{
  background:#4338ca;box-shadow:0 6px 20px rgba(79,70,229,.4);transform:translateY(-1px);
}
body.broz-new-look .broz-lock-help a{color:#6366f1;font-weight:600;}
