/*
 * Auth UI — beat Elementor kit global button/input rules.
 * Kit uses `.elementor-kit-6 button { background:#0088D4; padding:… }`.
 * Every auth control needs equal-or-higher specificity + !important.
 */

body.elementor-kit-6 .rq-auth,
.rq-auth {
  width: 100%;
  max-width: 32rem;
  margin-inline: auto;
}

/* Login / reset: hide redundant Elementor heading clutter. */
body.page-id-1804 .elementor-element-ea868ab,
body.page-id-1804 .elementor-widget-heading h4.elementor-heading-title,
body.page-id-1922 .elementor-widget-heading h4.elementor-heading-title {
  display: none !important;
}

body.page-id-1804 .page-header,
body.page-id-1922 .page-header {
  margin: 0;
  padding: 0;
}

/*
 * Page title sits above the split layout. Constrain it to the left column
 * width and center it over the form (foundation.css forces 75px h1).
 */
body.page-id-1804 .entry-title,
body.page-id-1804 h1.entry-title,
body.page-id-1922 .entry-title,
body.page-id-1922 h1.entry-title {
  box-sizing: border-box;
  width: min(100%, 36rem);
  max-width: 50%;
  margin: 1.25rem auto 0.25rem 0;
  padding-inline: 1.5rem;
  text-align: center;
  font-size: clamp(1.75rem, 3vw, 2.25rem) !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em;
}

@media (max-width: 1024px) {
  body.page-id-1804 .entry-title,
  body.page-id-1804 h1.entry-title,
  body.page-id-1922 .entry-title,
  body.page-id-1922 h1.entry-title {
    max-width: 100%;
    margin-inline: auto;
  }
}

/* Center the form block inside the white left column (login + reset). */
body.page-id-1804 .elementor-1804 .elementor-element.elementor-element-7029d73,
body.page-id-1804 .elementor-1804 .elementor-element.elementor-element-7029d73.e-con,
body.page-id-1804 .auth_left_box,
body.page-id-1804 .auth_left_box.e-con,
body.page-id-1922 .auth_left_box,
body.page-id-1922 .auth_left_box.e-con {
  --align-items: center !important;
  align-items: center !important;
  --justify-content: flex-start !important;
  justify-content: flex-start !important;
  --align-self: stretch !important;
  align-self: stretch !important;
  --padding-top: 1.5rem;
  --padding-bottom: 2.5rem;
  padding-block: 1.5rem 2.5rem !important;
  padding-inline: 1.5rem !important;
}

body.page-id-1804 .auth_box,
body.page-id-1804 .auth_box.e-con,
body.page-id-1922 .auth_box,
body.page-id-1922 .auth_box.e-con {
  width: 100% !important;
  max-width: 32rem;
  margin-inline: auto;
  --padding-top: 0;
  padding-block-start: 0 !important;
  --align-items: stretch !important;
  align-items: stretch !important;
}

@media (max-width: 767px) {
  body.page-id-1804 .elementor-1804 .elementor-element.elementor-element-7029d73,
  body.page-id-1804 .elementor-1804 .elementor-element.elementor-element-7029d73.e-con,
  body.page-id-1804 .auth_left_box,
  body.page-id-1804 .auth_left_box.e-con,
  body.page-id-1922 .auth_left_box,
  body.page-id-1922 .auth_left_box.e-con {
    --padding-top: 1rem;
    --padding-bottom: 1.5rem;
    padding-block: 1rem 1.5rem !important;
    padding-inline: 1rem !important;
    min-height: 0;
  }
}

.rq-auth__already-in {
  text-align: center;
  color: var(--rq-muted-foreground, oklch(55% 0 0));
}

/* ── Tabs (filled segmented buttons) ──────────────────── */

body.elementor-kit-6 .rq-auth .rq-auth__tabs,
.rq-auth__tabs {
  display: flex;
  gap: 0.375rem;
  border-bottom: none;
  margin-block-end: 1.5rem;
  padding: 0.25rem;
  border-radius: 0.75rem;
  background: color-mix(in oklab, var(--rq-muted, oklch(96% 0.01 255)) 85%, white);
}

body.elementor-kit-6 .rq-auth button.rq-auth__tab,
.rq-auth button.rq-auth__tab,
.rq-auth__tab {
  flex: 1;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem !important;
  padding: 0.625rem 1rem !important;
  margin: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: none !important;
  border-radius: 0.55rem !important;
  box-shadow: none !important;
  font: inherit !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: var(--rq-muted-foreground, oklch(45% 0.02 255)) !important;
  cursor: pointer;
  transition: color 0.15s, background 0.15s, box-shadow 0.15s;
}

body.elementor-kit-6 .rq-auth button.rq-auth__tab:hover,
body.elementor-kit-6 .rq-auth button.rq-auth__tab:focus,
.rq-auth button.rq-auth__tab:hover,
.rq-auth button.rq-auth__tab:focus {
  background: color-mix(in oklab, white 70%, transparent) !important;
  background-color: color-mix(in oklab, white 70%, transparent) !important;
  background-image: none !important;
  color: var(--rq-foreground, oklch(15% 0 0)) !important;
  box-shadow: none !important;
}

body.elementor-kit-6 .rq-auth button.rq-auth__tab[aria-selected="true"],
.rq-auth button.rq-auth__tab[aria-selected="true"],
.rq-auth__tab[aria-selected="true"] {
  color: #fff !important;
  background-color: #0088d4 !important;
  background-image: linear-gradient(90deg, oklch(42% 0.22 255), oklch(52% 0.2 200)) !important;
  box-shadow: 0 1px 2px color-mix(in oklab, oklch(42% 0.22 255) 35%, transparent) !important;
}

.rq-auth__panel[hidden] {
  display: none;
}

.rq-auth__message {
  min-height: 1.5em;
  margin-block-end: 1rem;
  font-size: 0.875rem;
}

.rq-auth__message:empty {
  display: none;
}

.rq-auth__message--error {
  color: oklch(50% 0.18 27);
}

.rq-auth__message--success {
  color: oklch(42% 0.15 150);
}

.rq-auth__form {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.rq-auth__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

@media (max-width: 520px) {
  .rq-auth__row {
    grid-template-columns: 1fr;
  }
}

.rq-auth__field {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

.rq-auth__field label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--rq-foreground, oklch(15% 0 0));
}

body.elementor-kit-6 .rq-auth .rq-auth__field input,
.rq-auth__field input,
.rq-auth__field select,
.rq-auth__field textarea {
  height: 2.75rem;
  padding-inline: 0.875rem;
  border: 1.5px solid var(--rq-border, oklch(82% 0 0));
  border-radius: 0.5rem;
  font: inherit;
  font-size: 0.875rem;
  color: var(--rq-foreground, oklch(15% 0 0));
  background: #fff;
  transition: border-color 0.15s;
  width: 100%;
  box-sizing: border-box;
}

.rq-auth__field select {
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, oklch(55% 0 0) 50%),
    linear-gradient(135deg, oklch(55% 0 0) 50%, transparent 50%);
  background-position: calc(100% - 1.1rem) calc(50% - 0.15rem),
    calc(100% - 0.75rem) calc(50% - 0.15rem);
  background-size: 0.35rem 0.35rem, 0.35rem 0.35rem;
  background-repeat: no-repeat;
  padding-inline-end: 2rem;
}

.rq-auth__field textarea {
  height: auto;
  min-height: 5rem;
  padding-block: 0.75rem;
  resize: vertical;
}

body.elementor-kit-6 .rq-auth .rq-auth__field input:focus,
.rq-auth__field input:focus,
.rq-auth__field select:focus,
.rq-auth__field textarea:focus {
  outline: none;
  border-color: var(--rq-primary, oklch(52% 0.2 255));
}

/* ── Password toggle (icon only — not a kit button) ───── */

.rq-auth__password-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.rq-auth__password-wrap input {
  padding-inline-end: 2.75rem;
}

body.elementor-kit-6 .rq-auth button.rq-auth__toggle-pw,
.rq-auth button.rq-auth__toggle-pw,
.rq-auth__toggle-pw {
  position: absolute !important;
  inset-inline-end: 0.65rem !important;
  inset-block: auto !important;
  top: 50% !important;
  transform: translateY(-50%);
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0.25rem !important;
  margin: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: none !important;
  border-radius: 0.25rem !important;
  box-shadow: none !important;
  color: var(--rq-muted-foreground, oklch(55% 0 0)) !important;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  line-height: 1 !important;
  font-size: 0 !important;
}

body.elementor-kit-6 .rq-auth button.rq-auth__toggle-pw:hover,
body.elementor-kit-6 .rq-auth button.rq-auth__toggle-pw:focus,
.rq-auth button.rq-auth__toggle-pw:hover,
.rq-auth button.rq-auth__toggle-pw:focus {
  background: transparent !important;
  color: var(--rq-foreground, oklch(15% 0 0)) !important;
  box-shadow: none !important;
}

.rq-auth__toggle-pw svg {
  width: 1.125rem;
  height: 1.125rem;
  display: block;
}

/* ── Primary submit ───────────────────────────────────── */

body.elementor-kit-6 .rq-auth button.rq-auth__submit,
.rq-auth button.rq-auth__submit,
.rq-auth__submit {
  width: 100% !important;
  height: 2.875rem !important;
  min-height: 2.875rem !important;
  padding: 0 1.25rem !important;
  margin: 0 !important;
  border: none !important;
  border-radius: var(--rq-radius-brand, 6px) !important;
  box-shadow: none !important;
  font: inherit !important;
  font-weight: 600 !important;
  font-size: 0.9375rem !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  justify-content: center !important;
  align-items: center !important;
  display: inline-flex !important;
  cursor: pointer;
  color: #fff !important;
  background-color: #0088d4 !important;
  background-image: linear-gradient(
    90deg,
    oklch(0.42 0.22 255),
    oklch(0.52 0.2 200)
  ) !important;
  transition: filter 0.15s, opacity 0.15s;
}

body.elementor-kit-6 .rq-auth button.rq-auth__submit:hover,
body.elementor-kit-6 .rq-auth button.rq-auth__submit:focus,
.rq-auth button.rq-auth__submit:hover,
.rq-auth button.rq-auth__submit:focus {
  color: #fff !important;
  background-color: #0088d4 !important;
  background-image: linear-gradient(
    90deg,
    oklch(0.42 0.22 255),
    oklch(0.52 0.2 200)
  ) !important;
  filter: brightness(1.05);
  box-shadow: none !important;
}

.rq-auth__submit:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  filter: none !important;
}

/* ── Text links (forgot / back) ───────────────────────── */

.rq-auth__links {
  display: flex;
  justify-content: flex-end;
  margin-block-start: -0.35rem;
}

body.elementor-kit-6 .rq-auth button.rq-auth__link-btn,
body.elementor-kit-6 .rq-auth button.rq-auth__back-btn,
.rq-auth button.rq-auth__link-btn,
.rq-auth button.rq-auth__back-btn,
.rq-auth__link-btn,
.rq-auth__back-btn {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  width: auto !important;
  font: inherit !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  color: var(--rq-primary, oklch(52% 0.2 255)) !important;
  cursor: pointer;
  text-decoration: underline !important;
  text-underline-offset: 2px;
  display: inline-flex !important;
  align-items: center;
  gap: 0.375rem;
}

body.elementor-kit-6 .rq-auth button.rq-auth__link-btn:hover,
body.elementor-kit-6 .rq-auth button.rq-auth__back-btn:hover,
.rq-auth button.rq-auth__link-btn:hover,
.rq-auth button.rq-auth__back-btn:hover {
  background: transparent !important;
  color: var(--rq-logo-blue-deep, oklch(0.29 0.1 268)) !important;
  box-shadow: none !important;
}

.rq-auth__legal {
  font-size: 0.8125rem;
  color: var(--rq-muted-foreground, oklch(55% 0 0));
  margin: 0;
  text-align: center;
}

.rq-auth__legal a {
  color: var(--rq-primary, oklch(52% 0.2 255));
}

.rq-auth__panel-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-block-end: 1.5rem;
}

.rq-auth__panel-title {
  font-size: 1.125rem;
  font-weight: 700;
  margin: 0;
}

.rq-auth__back-btn svg {
  width: 1rem;
  height: 1rem;
}

/* Phone / selects used on register */
.rq-auth__field .iti {
  position: relative !important;
  display: block;
  width: 100%;
}

.rq-auth__field .iti__flag-container {
  position: absolute !important;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  width: auto !important;
}

.rq-auth__field .iti__selected-flag {
  display: flex !important;
  align-items: center;
  height: 100%;
  padding: 0 0.5rem 0 0.75rem;
  background: transparent !important;
}

.rq-auth__field .iti input[name="visible-phone"],
.rq-auth__field .iti input.iti__tel-input {
  padding-left: 3.25rem !important;
}

.rq-auth__field .iti__country-list {
  z-index: 20;
  border-radius: 0.5rem;
  border: 1px solid var(--rq-border, oklch(82% 0 0));
}

.rq-auth__field .iti__country-list.iti__hide,
.rq-auth__field .iti__hide {
  display: none !important;
}

.rq-auth__check {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: var(--rq-foreground, oklch(15% 0 0));
  line-height: 1.4;
}

.rq-auth__check a {
  color: var(--rq-primary, oklch(52% 0.2 255));
}

.rq-auth__check input {
  margin-top: 0.2rem;
  accent-color: var(--rq-primary, #0088d4);
  flex-shrink: 0;
}

.rq-auth__file {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  border: 1.5px dashed var(--rq-border, oklch(82% 0 0));
  border-radius: 0.5rem;
  padding: 0.85rem 1rem;
  background: oklch(98% 0 0);
  font-size: 0.875rem;
  color: var(--rq-muted-foreground, oklch(55% 0 0));
  cursor: pointer;
}

.rq-auth__file input[type="file"] {
  height: auto;
  padding: 0;
  border: none;
  background: transparent;
  font-size: 0.875rem;
}
