:root {
  --lv-brand-50: #fef3ec;
  --lv-brand-100: #fdddc8;
  --lv-brand-500: #ea580c;
  --lv-brand-600: #c2470a;
  --lv-brand-700: #9a3a0c;
  --lv-ink-900: #111827;
  --lv-ink-800: #1f2937;
  --lv-ink-600: #4b5563;
  --lv-gray-50: #f8fafc;
  --lv-gray-100: #f3f4f6;
  --lv-gray-200: #e5e7eb;
  --lv-gray-300: #d1d5db;
  --lv-white: #ffffff;
  --lv-danger: #b42318;
  --lv-shadow-auth: 0 18px 48px rgba(17, 24, 39, 0.14);
  --lv-radius-sm: 6px;
  --lv-radius-md: 8px;
  --lv-font-head: "Poppins", "Hind Siliguri", system-ui, sans-serif;
  --lv-font-body: "Inter", "Hind Siliguri", system-ui, sans-serif;
}

body.lv-auth-page #page-title {
  display: none;
}

body.lv-auth-page #primary {
  width: 100%;
}

body.lv-auth-page #primary > article > .entry-content > .woocommerce {
  display: flex;
  justify-content: center;
  padding: 32px 16px 48px;
}

.pressmart-login-signup.lv-auth-system {
  width: min(460px, calc(100vw - 32px)) !important;
  max-width: 460px !important;
  min-height: 0 !important;
  overflow: hidden;
  color: var(--lv-ink-800);
  background: var(--lv-white) !important;
  border: 1px solid var(--lv-gray-200);
  border-radius: var(--lv-radius-md);
  box-shadow: var(--lv-shadow-auth);
  font-family: var(--lv-font-body);
}

.lv-auth-system .customer-login,
.lv-auth-system .customer-signup {
  width: 100% !important;
  min-height: 0 !important;
  background: var(--lv-white) !important;
}

.lv-auth-system .customer-login.active,
.lv-auth-system .customer-signup.active {
  display: block !important;
}

.lv-auth-system .customer-login-left,
.lv-auth-system .customer-signup-left {
  display: none !important;
}

.lv-auth-system .customer-login-right,
.lv-auth-system .customer-signup-right {
  width: 100% !important;
  min-height: 0 !important;
  padding: 28px !important;
  background: var(--lv-white) !important;
}

.lv-auth-header {
  margin: 0 0 20px;
  text-align: center;
}

.lv-auth-header h2 {
  margin: 0;
  color: var(--lv-ink-900);
  font-family: var(--lv-font-head);
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.25;
}

.lv-auth-header p {
  display: grid;
  gap: 2px;
  margin: 8px 0 0;
  color: var(--lv-ink-600);
  font-size: 14px;
  line-height: 1.6;
}

.lv-auth-system form > p,
.lv-auth-system .form-row {
  margin: 0 0 14px !important;
}

.lv-auth-system input[type="text"],
.lv-auth-system input[type="email"],
.lv-auth-system input[type="password"] {
  width: 100% !important;
  height: 48px !important;
  padding: 0 14px !important;
  color: var(--lv-ink-900) !important;
  background: var(--lv-white) !important;
  border: 1px solid var(--lv-gray-300) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  font-family: var(--lv-font-body) !important;
  font-size: 14px !important;
  line-height: 48px !important;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

.lv-auth-system input::placeholder {
  color: #6b7280;
  opacity: 1;
}

.lv-auth-system input:focus {
  border-color: var(--lv-brand-600) !important;
  box-shadow: 0 0 0 3px var(--lv-brand-100) !important;
  outline: none !important;
}

.lv-auth-system .password-input {
  position: relative;
}

.lv-auth-system .show-password-input {
  top: auto !important;
  right: 0 !important;
  bottom: 0 !important;
  display: grid !important;
  width: 48px !important;
  height: 48px !important;
  place-items: center;
  padding: 0 !important;
  color: var(--lv-ink-600) !important;
  background: var(--lv-gray-50) !important;
  border: 1px solid var(--lv-gray-300) !important;
  border-left: 0 !important;
  border-radius: 0 999px 999px 0 !important;
  box-shadow: none !important;
}

.lv-auth-system .show-password-input:hover,
.lv-auth-system .show-password-input:focus-visible {
  color: var(--lv-brand-700) !important;
  background: var(--lv-brand-50) !important;
}

.lv-auth-system .show-password-input svg,
.lv-preview-close svg {
  width: 18px;
  height: 18px;
  stroke-width: 2;
}

.lv-auth-system .lv-auth-options {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 2px 0 20px !important;
}

.lv-auth-system .woocommerce-form__label-for-checkbox,
.lv-auth-system .woocommerce-LostPassword {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  color: var(--lv-ink-600) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

.lv-auth-system .woocommerce-LostPassword {
  color: var(--lv-brand-700) !important;
  text-decoration: none;
}

.lv-auth-system .woocommerce-LostPassword:hover {
  text-decoration: underline;
}

.lv-auth-system input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  margin: 0 8px 0 0 !important;
  accent-color: var(--lv-brand-600);
  vertical-align: middle;
}

.lv-auth-system button[name="login"],
.lv-auth-system button[name="register"],
.lv-auth-system .woocommerce-form-login__submit,
.lv-auth-system .woocommerce-form-register__submit {
  width: 100% !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 12px 20px !important;
  color: var(--lv-white) !important;
  background: var(--lv-brand-600) !important;
  border: 1px solid var(--lv-brand-600) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  font-family: var(--lv-font-head) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

.lv-auth-system button[name="login"]:hover,
.lv-auth-system button[name="register"]:hover,
.lv-auth-system .woocommerce-form-login__submit:hover,
.lv-auth-system .woocommerce-form-register__submit:hover {
  background: var(--lv-brand-700) !important;
  border-color: var(--lv-brand-700) !important;
}

.lv-auth-system .lv-social-sep {
  display: flex !important;
  align-items: center;
  gap: 12px;
  margin: 20px 0 14px !important;
  color: var(--lv-ink-600) !important;
  font-size: 12px !important;
  line-height: 1.5;
  text-align: center;
}

.lv-auth-system .lv-social-sep::before,
.lv-auth-system .lv-social-sep::after {
  flex: 1 1 auto;
  height: 1px;
  background: var(--lv-gray-200);
  content: "";
}

.lv-auth-system .lv-gbtn {
  display: flex !important;
  width: 100% !important;
  min-height: 44px;
  justify-content: center !important;
  margin: 0 !important;
}

.lv-auth-system .lv-gbtn > div {
  width: 100% !important;
  max-width: 100% !important;
}

.lv-auth-system .lv-gbtn iframe {
  width: calc(100% + 20px) !important;
  max-width: none !important;
}

.lv-google-preview,
.lv-auth-system .lv-fbtn {
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  height: 44px !important;
  min-height: 44px !important;
  align-items: center;
  justify-content: center;
  gap: 10px !important;
  margin: 0 !important;
  padding: 10px 14px !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  font-family: var(--lv-font-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  white-space: nowrap;
}

.lv-google-preview {
  color: var(--lv-ink-800);
  background: var(--lv-white);
  border: 1px solid var(--lv-gray-300);
}

.lv-google-preview:hover {
  background: var(--lv-gray-50);
}

.lv-auth-system .lv-fbtn {
  margin-top: 12px !important;
  color: var(--lv-white) !important;
  background: #1877f2 !important;
  border: 1px solid #1877f2 !important;
}

.lv-auth-system .lv-fbtn:hover {
  background: #0f66d9 !important;
  border-color: #0f66d9 !important;
}

.lv-social-mark {
  display: inline-grid;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  place-items: center;
  border-radius: 50%;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}

.lv-social-mark--google {
  color: #4285f4;
  background: var(--lv-white);
  border: 1px solid var(--lv-gray-200);
}

.lv-social-mark--facebook {
  color: #1877f2;
  background: var(--lv-white);
}

.lv-auth-system .lv-auth-switch {
  margin: 16px 0 0 !important;
  color: var(--lv-ink-600);
  font-size: 13px;
  line-height: 1.5;
  text-align: center;
}

.lv-auth-system .new-signup.button,
.lv-auth-system .existing-user.button,
.lv-auth-system .user-signin.button,
.lv-auth-system .new-signup,
.lv-auth-system .existing-user,
.lv-auth-system .user-signin {
  display: inline !important;
  width: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--lv-brand-700) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: var(--lv-font-body) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: inherit !important;
  text-decoration: none;
}

.lv-auth-system .new-signup:hover,
.lv-auth-system .existing-user:hover,
.lv-auth-system .user-signin:hover {
  text-decoration: underline;
}

.lv-auth-system .woocommerce-privacy-policy-text {
  margin: 0 0 20px;
  color: var(--lv-ink-600);
  font-size: 12px;
  line-height: 1.6;
}

#pressmart-signin-up-popup .pressmart-login-signup.lv-auth-system,
.mfp-content .pressmart-login-signup.lv-auth-system {
  max-height: calc(100dvh - 32px);
  overflow-y: auto;
}

#pressmart-signin-up-popup {
  width: min(460px, calc(100vw - 32px)) !important;
  max-width: 460px !important;
  background: transparent !important;
}

#pressmart-signin-up-popup > .woocommerce {
  width: 100% !important;
}

#pressmart-signin-up-popup .mfp-close {
  top: 12px !important;
  right: 12px !important;
}

#pressmart-signin-up-popup .lv-auth-header {
  padding-right: 0;
  padding-left: 0;
}

#pressmart-signin-up-popup .lv-auth-header h2 {
  padding-right: 36px;
  padding-left: 36px;
}

#pressmart-signin-up-popup .mfp-close,
.mfp-content .mfp-close,
.lv-preview-close {
  display: grid !important;
  width: 44px !important;
  height: 44px !important;
  place-items: center;
  color: var(--lv-ink-800) !important;
  background: var(--lv-white) !important;
  border: 1px solid var(--lv-gray-200) !important;
  border-radius: 50% !important;
  box-shadow: 0 8px 24px rgba(17, 24, 39, 0.14) !important;
}

.lv-auth-system a:focus-visible,
.lv-auth-system button:focus-visible,
.lv-preview-close:focus-visible {
  outline: 3px solid var(--lv-brand-100) !important;
  outline-offset: 2px;
}

.lv-auth-error {
  margin: 0 0 16px;
  padding: 10px 12px;
  color: var(--lv-danger);
  background: #fff4f2;
  border: 1px solid #fecdca;
  border-radius: var(--lv-radius-sm);
  font-size: 13px;
  line-height: 1.5;
}

@media (max-width: 767px) {
  body.lv-auth-page #primary > article > .entry-content > .woocommerce {
    padding: 24px 16px 40px;
  }

  .pressmart-login-signup.lv-auth-system {
    width: min(100%, calc(100vw - 32px)) !important;
    box-shadow: 0 10px 32px rgba(17, 24, 39, 0.1);
  }

  .lv-auth-system .customer-login-right,
  .lv-auth-system .customer-signup-right {
    padding: 24px 20px !important;
  }

  .lv-auth-header {
    margin-bottom: 20px;
  }

  .lv-auth-header h2 {
    font-size: 22px;
  }
}

@media (max-width: 359px) {
  .lv-auth-header h2 {
    font-size: 20px;
    white-space: nowrap;
  }

  .lv-auth-system .lv-auth-options {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lv-auth-system *,
  .lv-auth-system *::before,
  .lv-auth-system *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
