/**
 * Portal Access front-end styles.
 *
 * Layout tweaks and styling for the login & register forms on the portal account page.
 */

/* Two-column responsive grid for both forms */
.portal-login-form,
.portal-register-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  column-gap: var(--wp--preset--spacing--50, 2rem);
  row-gap: var(--wp--preset--spacing--40, 1.5rem);
}

/* Spacing per field wrapper */
.portal-login-form > p,
.portal-register-form > p {
  margin: 0 0 1rem;
}

/* Labels above fields + use global text colour */
.portal-login-form label,
.portal-register-form label {
  display: block;
  margin-bottom: 0.35rem;
  color: var(--wp--preset--color--text) !important;
}

/* Inputs fill the available column width */
.portal-login-form input[type="text"],
.portal-login-form input[type="email"],
.portal-login-form input[type="tel"],
.portal-login-form input[type="password"],
.portal-register-form input[type="text"],
.portal-register-form input[type="email"],
.portal-register-form input[type="tel"],
.portal-register-form input[type="password"] {
  width: 100%;
  max-width: 100%;
}

/* Rows that should span the full width (both columns) */
.portal-login-form .portal-login-remember,
.portal-login-form .portal-login-submit,
.portal-login-form .portal-login-lost,
.portal-register-form .portal-register-confirm,
.portal-register-form .portal-register-submit {
  grid-column: 1 / -1;
}

/* Keep checkbox + label inline on their own row */
.portal-login-form .portal-login-remember label,
.portal-register-form .portal-register-confirm label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 0;
}

/* Primary-style buttons for Log in / Register */
.portal-login-submit button,
.portal-register-submit button {
  background: var(--wp--preset--color--primary) !important;
  color: var(--wp--preset--color--white) !important;
  border-radius: 8px !important;
  padding: 20px 40px !important;
  font-weight: 600 !important;
  transition: all 0.3s ease;
  border: none !important;
  text-transform: uppercase;
  cursor: pointer;
}

/* Hover state to match site buttons */
.portal-login-submit button:hover,
.portal-register-submit button:hover {
  background: var(--wp--preset--color--accent) !important;
  color: var(--wp--preset--color--white) !important;
}

/* field extra styling */
.portal-login-form input[type="text"],
.portal-login-form input[type="email"],
.portal-login-form input[type="tel"],
.portal-login-form input[type="password"],
.portal-register-form input[type="text"],
.portal-register-form input[type="email"],
.portal-register-form input[type="tel"],
.portal-register-form input[type="password"] {
  width: calc(100% - 20px);
  max-width: 100%;
  padding: 10px;
  border-radius: 3px;
  border: solid 1px black;
}

/* Resend verification email section */
.portal-resend-verification-form label {
  display: block;
  margin-bottom: 0.35rem;
  color: var(--wp--preset--color--text) !important;
}

.portal-resend-verification-form input[type="text"],
.portal-resend-verification-form input[type="email"],
.portal-resend-verification-form input[type="tel"],
.portal-resend-verification-form input[type="password"] {
  width: calc(100% - 20px);
  max-width: 100%;
  padding: 10px;
  border-radius: 3px;
  border: solid 1px black;
}

.portal-resend-verification-form button {
  background: var(--wp--preset--color--primary) !important;
  color: var(--wp--preset--color--white) !important;
  border-radius: 8px !important;
  padding: 20px 40px !important;
  font-weight: 600 !important;
  transition: all 0.3s ease;
  border: none !important;
  text-transform: uppercase;
  cursor: pointer;
}

.portal-resend-verification-form button:hover {
  background: var(--wp--preset--color--accent) !important;
  color: var(--wp--preset--color--white) !important;
}
