/* Core supplies the state and actions. These rules only present its approved UI. */
.quvent-registration-details {
  clear: both;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 1rem;
  width: 100%;
  min-width: 0;
  margin: .75rem 0 .35rem;
  color: var(--quvent-dark-100, #182c3b);
}
#register-for-event .event-reg-heading { margin: 0 0 1rem; font-size: 1.25rem; line-height: 1.35; }
.quvent-registration-page .registration-form > .event-reg-heading { display: none; }
.quvent-registration-details > :is(.quvent-details-heading, .quvent-details-summary, .form-field) { grid-column: 1 / -1; }
.quvent-registration-details > .form-field.col-2,
.quvent-registration-details > .form-field:has(#billing_company),
.quvent-registration-details > .form-field:has(#billing_title) { grid-column: auto; width: 100%; float: none; }
.quvent-details-heading { display: flex; align-items: center; flex-wrap: wrap; gap: .3rem .75rem; margin: 0 0 .7rem; }
.quvent-form .quvent-registration-details .quvent-details-heading h3 { flex: 1 1 auto; margin: 0; padding: 0; font-size: 1rem; font-weight: 600; line-height: 1.4; text-transform: none; }
.quvent-registration-details :is(.quvent-details-toggle, .quvent-details-cancel),
.quvent-review-details {
  width: auto;
  min-height: 30px;
  padding: .1rem 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--main-button-color, #1468a8);
  font: inherit;
  font-size: .8rem;
  font-weight: 500;
  letter-spacing: normal;
  text-transform: none;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.quvent-registration-details :is(.quvent-details-toggle, .quvent-details-cancel):hover { color: var(--main-button-hover-color, #095383); background: transparent; }
.quvent-registration-details .quvent-details-cancel { color: var(--quvent-dark-60, #52616e); }
.quvent-details-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem 1.4rem; margin: 0 0 1rem; padding: 0; }
.quvent-details-summary > div { min-width: 0; }
.quvent-details-summary dt { margin: 0 0 .1rem; color: var(--quvent-dark-60, #52616e); font-size: .75rem; font-weight: 400; line-height: 1.4; }
.quvent-details-summary dd { margin: 0; color: inherit; font-size: .9rem; font-weight: 500; line-height: 1.45; overflow-wrap: anywhere; white-space: pre-line; }
.quvent-details-summary [data-detail-name="user_email"] { grid-column: 1 / -1; }
.quvent-registration-details [hidden] { display: none !important; }
.quvent-registration-details .form-field { margin-bottom: .8rem; }
.quvent-registration-signed-in .quvent-registration-footer:empty { display: none; }
.quvent-registration-details .form-field :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
.quvent-registration-details :is(button, input, select, textarea):focus-visible { outline: 2px solid var(--main-button-color, #1468a8); outline-offset: 3px; }
@media (max-width: 380px) { .quvent-details-summary { gap: .6rem .8rem; } }
:where(.quvent-registration-auth, .quvent-checkout-auth, .quvent-account-actions, .quvent-registration-confirmation) {
  --qv-auth-ink: var(--quvent-dark-100, #182c3b);
  --qv-auth-muted: var(--quvent-dark-60, #52616e);
  --qv-auth-line: var(--quvent-light-90, #dce3e9);
  --qv-auth-radius: var(--global-card-border-radius, 12px);
  color: var(--qv-auth-ink);
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 1rem;
  line-height: 1.55;
}

.quvent-registration-auth,
.quvent-checkout-auth {
  display: grid;
  gap: .25rem;
  padding: 0;
  border: 0;
  background: transparent;
}
.quvent-registration-auth > .quvent-auth-actions { width: auto; max-width: 100%; justify-self: start; }
.quvent-registration-entry,
.quvent-registration-auth .quvent-signed-in-identity {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .35rem .75rem;
  padding: .45rem .65rem;
  border: 1px solid var(--qv-auth-line);
  border-radius: var(--global-button-border-radius, 8px);
  background: var(--quvent-light-95, #f4f7fa);
  font-size: .85rem;
}
.quvent-registration-auth .quvent-signed-in-identity p { flex: 1 1 170px; margin: 0; font-size: .85rem; line-height: 1.4; }
.quvent-registration-auth .quvent-identity-actions { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .5rem; }
.quvent-registration-auth .quvent-edit-account {
  width: auto;
  min-height: 36px;
  padding: .25rem 0;
  border: 0;
  background: transparent;
  color: var(--main-button-color, #1468a8);
  box-shadow: none;
  font: inherit;
  font-size: .85rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: normal;
  text-transform: none;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.quvent-registration-auth .quvent-edit-account:hover { background: transparent; color: var(--main-button-hover-color, #095383); }
.quvent-registration-auth.quvent-signin-mode > .quvent-registration-entry { display: none; }
.woocommerce .quvent-checkout-account-band {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .35rem .75rem;
  margin: 0 0 1rem;
  padding: .45rem .65rem;
  border: 1px solid var(--quvent-light-90, #dce3e9);
  border-radius: var(--global-button-border-radius, 8px);
  background: var(--quvent-light-95, #f4f7fa);
  color: var(--quvent-dark-100, #182c3b);
  font-size: .85rem;
  line-height: 1.4;
}
.woocommerce .quvent-checkout-account-band a.showlogin {
  flex: 0 0 auto;
  min-height: 36px;
  padding: .35rem .7rem;
  border: 1px solid var(--quvent-dark-60, #52616e);
  border-radius: var(--global-button-border-radius, 8px);
  background: var(--quvent-light-100, #fff);
  color: inherit;
  font-weight: 500;
  line-height: 1.4;
  text-decoration: none;
}
.woocommerce .quvent-checkout-account-band a.showlogin:hover { color: var(--main-button-color, #1468a8); border-color: currentColor; }
.quvent-checkout-account-entry { display: flow-root; }
.woocommerce #customer_details > .quvent-checkout-auth:not([data-quvent-checkout-draft]) { margin-bottom: 1rem; }
.quvent-checkout-account-entry .quvent-checkout-account-band:has(.showlogin[aria-expanded="true"]) { margin-bottom: .5rem; }
.woocommerce .quvent-checkout-account-entry .quvent-checkout-login > form.woocommerce-form-login { margin-top: 0; }
@media (min-width: 1101px) {
  .quvent-checkout-account-entry { position: relative; z-index: 1; }
  .woocommerce form.checkout.quvent-checkout-left-signin { margin-top: calc(-1 * var(--quvent-signin-height, 0px)); }
  .woocommerce .quvent-checkout-left-signin #customer_details { padding-top: var(--quvent-signin-height, 0px); }
}
@media (max-width: 1100px) {
  .quvent-checkout-account-entry { width: 100% !important; }
  .quvent.woocommerce-page.woocommerce-checkout form :is(#customer_details, #order_review_heading, #order_review) {
    float: none;
    clear: both;
    width: 100%;
  }
}
@media (max-width: 480px) {
  /* Preserve room for the native 300px verification widget across nested cards. */
  .quvent.woocommerce-checkout { --quvent-checkout-gutter: clamp(0px, calc((100vw - 320px) / 6), 8px); }
  .quvent.woocommerce-checkout #main-wrapper,
  .quvent.woocommerce-checkout #main-wrapper .box-container,
  .quvent.woocommerce-page.woocommerce-checkout #main .woocommerce form :is(#order_review_heading, #order_review) {
    padding-left: var(--quvent-checkout-gutter);
    padding-right: var(--quvent-checkout-gutter);
  }
}
.woocommerce .quvent-checkout-discount {
  margin: 0 0 .75rem;
  padding: 0;
  font-size: .85rem;
}
.quvent.woocommerce-checkout #order_review table.shop_table { margin-bottom: .65rem; }
.quvent-checkout-discount summary { width: fit-content; cursor: pointer; color: var(--main-button-color, #1468a8); }
.quvent-checkout-discount-fields { padding-top: .6rem; }
.quvent-checkout-discount-fields label { display: block; margin-bottom: .3rem; }
.quvent-checkout-discount-row { display: flex; align-items: stretch; gap: .5rem; }
.quvent-checkout-discount-row input { flex: 1 1 0; min-width: 0; width: 100%; }
.woocommerce .quvent-checkout-discount-row button { flex: 0 0 auto; min-height: 40px; padding: .45rem .8rem; font-size: .85rem; text-transform: none; letter-spacing: normal; }
.quvent-checkout-discount-notice:not(:empty) { margin-top: .6rem; }
.quvent-checkout-discount-notice :is(.woocommerce-error, .woocommerce-message) { margin: 0; font-size: .85rem; }
.quvent-checkout-account-band a:focus-visible,
.quvent-checkout-discount :is(summary, input, button):focus-visible { outline: 3px solid var(--main-theme-color, #2465a0); outline-offset: 3px; }
.quvent-registration-auth :is([data-quvent-show-signin], .quvent-change-account) {
  flex: 0 0 auto;
  width: auto;
  min-height: 36px;
  padding: .35rem .7rem;
  border: 1px solid var(--qv-auth-muted);
  border-radius: var(--global-button-border-radius, 8px);
  background: var(--quvent-light-100, #fff);
  color: var(--qv-auth-ink);
  font: inherit;
  font-size: .85rem;
  line-height: 1.4;
  font-weight: 500;
  text-transform: none;
  letter-spacing: normal;
  cursor: pointer;
}
.quvent-registration-auth :is([data-quvent-show-signin], .quvent-change-account):hover { border-color: var(--main-button-color, #1468a8); color: var(--main-button-color, #1468a8); background: var(--quvent-light-100, #fff); }
.quvent-registration-auth [data-quvent-show-registration] {
  min-height: 36px;
  padding: .25rem 0;
  border: 0;
  background: transparent;
  color: var(--main-button-color, #1468a8);
  font: inherit;
  font-size: .85rem;
  text-transform: none;
  letter-spacing: normal;
  text-align: left;
}
#quvent-reg-form.quvent-registration-signed-in .form-field,
#quvent-reg-form.quvent-registration-signed-in .woocommerce-billing-fields__field-wrapper > .form-row {
  width: 100%;
  max-width: 100%;
  float: none;
  clear: both;
}
.quvent-existing-signin { width: 100%; }
.quvent-signin-primary { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr)); align-items: stretch; gap: .5rem; width: 100%; max-width: 440px; }
.quvent-signin-primary .quvent-auth-actions { width: 100%; }
.quvent-signin-primary :is(.quvent-google-button, .quvent-auth-google, .quvent-email-choice) { width: 100%; min-width: 0; height: 100%; }
.quvent-signin-primary .quvent-auth-login { min-width: 0; margin: 0; padding: 0; border: 0; }
.quvent-signin-primary > div:empty { display: none; }
.quvent-signin-primary > p { margin: 0; }
.quvent-signin-magic .quvent-email-help { display: block; margin-top: .3rem; color: var(--main-button-color, #1468a8); font-size: .75rem; }
#quvent-reg-form [hidden], form.checkout [hidden], .quvent-existing-signin[hidden],
.quvent-account-magic-login[hidden], .quvent-account-magic-login form[hidden],
form.woocommerce-form-login[hidden], .woocommerce-form-login > [hidden],
[data-quvent-login-heading][hidden] { display: none !important; }
.quvent-signin-mode [data-quvent-signin-email-slot] { margin: .45rem 0 .65rem; }
.quvent-registration-auth .quvent-existing-signin { max-width: 350px; }
.quvent-registration-auth .quvent-signin-primary { grid-template-columns: minmax(0, 1fr); max-width: 350px; gap: .5rem; }
.quvent-registration-auth .quvent-signin-primary .quvent-auth-actions { display: block; }
.quvent-registration-auth .quvent-signin-primary .quvent-auth-actions:empty { display: none; }
.quvent-registration-auth .quvent-signin-primary .quvent-google-button,
.quvent-registration-auth .quvent-method-choice {
  width: 100%;
  min-height: 42px;
  padding: .5rem .85rem;
  border-radius: var(--global-button-border-radius, 8px);
  font-family: inherit;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: normal;
}
.quvent-registration-auth .quvent-method-choice {
  border: 1px solid var(--qv-auth-line);
  background: var(--quvent-light-100, #fff);
  color: var(--qv-auth-ink);
}
.quvent-registration-auth .quvent-method-choice:hover { background: var(--quvent-light-95, #f4f7fa); border-color: var(--qv-auth-muted); }
.quvent-registration-auth .quvent-other-signin {
  min-height: 36px;
  padding: .25rem 0;
  border: 0;
  background: transparent;
  color: var(--main-button-color, #1468a8);
  font: inherit;
  font-size: .85rem;
  text-transform: none;
  letter-spacing: normal;
}
.quvent-registration-auth .quvent-signin-method-heading { margin: .2rem 0 .5rem; font-size: 1rem; font-weight: 600; }
.quvent-registration-auth .quvent-signin-heading { margin: .15rem 0 .65rem; }

.quvent-registration-auth > :last-child,
.quvent-checkout-auth > :last-child,
.quvent-account-actions > :last-child,
.quvent-registration-confirmation > :last-child { margin-bottom: 0; }

:where(.quvent-registration-auth, .quvent-checkout-auth, .quvent-account-actions) :is(h2, h3, h4) {
  color: var(--qv-auth-ink);
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.4;
  margin: 0 0 .5rem;
}

:where(.quvent-registration-auth, .quvent-checkout-auth, .quvent-account-actions) p {
  margin: 0 0 .75rem;
  font-size: 1rem;
}

.quvent-auth-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .7rem;
  width: 100%;
}
.quvent-auth-actions:empty { display: none; }

.quvent-auth-actions :is(button, .button),
.quvent-signin-primary .quvent-email-choice,
.quvent-signin-magic button,
.quvent-password-login button,
.quvent-account-magic-login :is(button, input[type="submit"]),
:is(.quvent-account-action-form, .quvent-account-action-fields) :is(button, .button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  min-height: 44px;
  padding: .5rem .85rem;
  border: 1px solid var(--main-button-color, #1468a8);
  border-radius: var(--global-button-border-radius, 8px);
  background: var(--main-button-color, #1468a8);
  color: var(--quvent-light-100, #fff);
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  letter-spacing: normal;
  text-transform: none;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
}
.quvent-auth-actions :is(button, .button):hover,
.quvent-signin-primary .quvent-email-choice:hover,
.quvent-signin-magic button:hover,
.quvent-password-login button:hover,
.quvent-account-magic-login :is(button, input[type="submit"]):hover,
:is(.quvent-account-action-form, .quvent-account-action-fields) :is(button, .button):hover {
  background: var(--main-button-hover-color, #095383);
  border-color: var(--main-button-hover-color, #095383);
  color: var(--quvent-light-100, #fff);
}

.quvent-auth-actions [name="quvent_auth_action"][value="google"],
.quvent-auth-actions .quvent-google-button {
  flex: 0 1 auto;
  width: 210px;
  min-width: 0;
  max-width: 100%;
  color: #1f1f1f;
  background: #fff;
  border: 1px solid #747775;
  box-shadow: none;
  font-family: "Google Sans", Arial, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: normal;
  text-transform: none;
}

.quvent-auth-actions [name="quvent_auth_action"][value="google"]:hover,
.quvent-auth-actions .quvent-google-button:hover {
  color: #1f1f1f;
  background: #f3f6fb;
  border-color: #444746;
}
.quvent-signin-primary .quvent-auth-actions .quvent-google-button { width: 100%; }

.quvent-auth-actions :is(svg, img) {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  object-fit: contain;
}

.quvent-auth-divider {
  display: flex;
  align-items: center;
  gap: .85rem;
  width: 100%;
  color: var(--qv-auth-muted, #52616e);
  font-size: .875rem;
  text-align: center;
}

.quvent-auth-divider::before,
.quvent-auth-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--qv-auth-line, #dce3e9);
}

.quvent-auth-identity {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .5rem 1rem;
  width: 100%;
  overflow-wrap: anywhere;
}

.quvent-auth-identity p { margin: 0; }
.quvent-auth-hint { color: var(--qv-auth-muted, #52616e); font-size: .9rem; }
.quvent-passwordless-hint { color: var(--qv-auth-muted); }
.quvent-registration-auth .quvent-passwordless-hint { margin: 0; font-size: .9rem; }

.quvent-password-login { width: 100%; padding-top: .25rem; }
.quvent-password-login summary,
.quvent-account-password-choice > summary { min-height: 44px; padding: .55rem 0; cursor: pointer; font-size: .9rem; font-weight: 500; }
.quvent-account-password-choice { max-width: 540px; }
.quvent-account-password-choice form.woocommerce-form-login { padding: .25rem 0 0; margin: 0; border: 0; }
.quvent-account-password-choice form.woocommerce-form-login .lost_password { margin-bottom: 0; }
.quvent-password-login[open] summary { margin-bottom: .4rem; }
.quvent-password-login label { display: block; font-size: .95rem; margin-bottom: .4rem; }
.quvent-password-login input[type="password"],
.quvent-password-login input[type="text"] {
  display: block;
  width: 100%;
  min-height: 44px;
  padding: .65rem .8rem;
  margin-bottom: .8rem;
  border: 1px solid var(--qv-auth-line);
  border-radius: 6px;
  font-size: 1rem;
}
.quvent-auth-notice,
.quvent-account-notice { padding: .85rem 1rem; border-left: 3px solid var(--main-theme-color, #1468a8); background: #f1f6fb; }

.quvent-registration-confirmation {
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--qv-auth-line);
  border-top: 3px solid var(--success-color, #287548);
  border-radius: var(--qv-auth-radius);
  background: var(--quvent-light-100, #fff);
}

.quvent-registration-confirmation > :is(h2, h3) {
  margin: 0 0 .75rem;
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  line-height: 1.3;
}

.quvent-registration-confirmation :is(p, li) { overflow-wrap: anywhere; }

.quvent-account-actions {
  display: grid;
  gap: .65rem;
  margin: .65rem 0;
  padding: 0;
  border: 0;
}
.registration-form.registered > .quvent-account-actions { grid-column: 1 / -1; }

:is(.quvent-account-action-form, .quvent-account-action-fields) { margin: 0; }
:is(.quvent-account-action-form, .quvent-account-action-fields) label { display: block; margin-bottom: .4rem; font-weight: 500; }
:is(.quvent-account-action-form, .quvent-account-action-fields) :is(input[type="email"], input[type="password"], input[type="text"]) {
  width: 100%;
  min-height: 44px;
  padding: .65rem .8rem;
  margin-bottom: .75rem;
  border: 1px solid var(--qv-auth-line);
  border-radius: 6px;
  font-size: 1rem;
}

.quvent-account-actions details {
  padding: .85rem;
  border: 1px solid var(--qv-auth-line);
  border-radius: 8px;
}
.quvent-account-actions summary { cursor: pointer; font-weight: 600; }
.quvent-account-actions details[open] > summary { margin-bottom: 1rem; }
.quvent-account-actions .quvent-first-password { padding: 0; border: 0; background: transparent; }
.quvent-account-actions .quvent-first-password-heading { margin: 0 0 .4rem; font-size: .9rem; font-weight: 600; }
.quvent-first-password-heading span { color: var(--qv-auth-muted); font-weight: 400; }
.quvent-save-time > .quvent-first-password-heading { margin: 0 0 .45rem; font-size: .9rem; font-weight: 600; }
.quvent-save-time [hidden] { display: none !important; }
.quvent-save-time [data-quvent-account-options] { display: flex; flex-wrap: wrap; gap: .4rem; }
.quvent-save-time [data-quvent-account-options] > form { margin: 0; padding: 0; border: 0; background: transparent; }
.quvent-save-time :is([data-quvent-account-method], [data-quvent-account-google]),
.quvent #main .woocommerce .quvent-save-time :is([data-quvent-account-method], [data-quvent-account-google]) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  width: auto;
  min-height: 40px;
  padding: .4rem .7rem;
  border: 1px solid #747775;
  border-radius: var(--global-button-border-radius, 8px);
  background: #fff;
  color: #1f1f1f;
  font-family: inherit;
  font-size: .85rem;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: normal;
  text-transform: none;
  cursor: pointer;
}
.quvent-save-time [data-quvent-account-method]:is(:hover, [aria-expanded="true"]),
.quvent #main .woocommerce .quvent-save-time [data-quvent-account-method]:is(:hover, [aria-expanded="true"]) { background: #f3f6fb; border-color: #444746; color: #1f1f1f; }
.quvent-save-time [data-quvent-account-google],
.quvent #main .woocommerce .quvent-save-time [data-quvent-account-google] { border-color: #747775; background: #fff; color: #1f1f1f; font-family: "Google Sans", Arial, sans-serif; }
.quvent-save-time [data-quvent-account-google]:hover,
.quvent #main .woocommerce .quvent-save-time [data-quvent-account-google]:hover { background: #f3f6fb; border-color: #444746; color: #1f1f1f; }
.quvent-save-time :is([data-quvent-account-method], [data-quvent-account-google]) img { flex: 0 0 20px; width: 20px; height: 20px; }
.quvent-save-time [data-quvent-account-panel] { margin-top: .55rem; }
.quvent-first-password :is(.quvent-account-action-form, .quvent-account-action-fields) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: end; gap: .5rem; }
.quvent-save-time .quvent-first-password :is(.quvent-account-action-form, .quvent-account-action-fields) { grid-template-columns: minmax(0, 1fr) auto; max-width: 440px; }
.quvent-first-password :is(.quvent-account-action-form, .quvent-account-action-fields) p { margin: 0; min-width: 0; }
.quvent-first-password :is(.quvent-account-action-form, .quvent-account-action-fields) input { margin-bottom: 0; }
.quvent-first-password :is(.quvent-account-action-form, .quvent-account-action-fields) label { font-size: .8rem; }
.quvent-account-actions .quvent-correct-email {
  padding: 0;
  border: 0;
}
.quvent-account-actions .quvent-correct-email > summary {
  min-height: 44px;
  padding: .55rem 0;
  font-size: .95rem;
  font-weight: 500;
}
.quvent-account-actions .quvent-correct-email > summary {
  display: grid;
  gap: 0;
  text-align: left;
  list-style: none;
}
.quvent-correct-email > summary::-webkit-details-marker { display: none; }
.quvent-registration-email-label { font-size: .8rem; font-weight: 500; color: var(--qv-auth-muted); }
.quvent-registration-email-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: .35rem .6rem;
  min-width: 0;
}
.quvent-registration-email-value { overflow-wrap: anywhere; }
.quvent-registration-email-row .quvent-email-change {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: .4rem .75rem;
  border: 1px solid var(--qv-auth-line);
  border-radius: 6px;
  color: var(--main-button-color, #1468a8);
  font-size: .9rem;
  font-weight: 500;
  background: var(--quvent-light-100, #fff);
}
.quvent-correct-email[open] .quvent-email-change { background: #edf4f9; }

/* Free-registration receipts keep the reviewed email and optional action compact. */
.quvent-account-actions-compact { gap: .5rem; margin: .55rem 0; }
.quvent-account-actions-compact .quvent-correct-email > summary { display: block; min-height: 0; padding: 0; line-height: 1.5; }
.quvent-account-actions-compact .quvent-registration-email-label { display: block; }
.quvent-account-actions-compact .quvent-registration-email-row { display: inline; }
.quvent-account-actions-compact .quvent-email-change {
  display: inline;
  min-height: 0;
  margin-left: .35rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: 13px;
  line-height: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
  white-space: nowrap;
}
.quvent-account-actions-compact .quvent-correct-email[open] .quvent-email-change { background: transparent; }
.quvent-account-actions-compact .quvent-correct-email[open] > summary { margin-bottom: .5rem; }
.quvent-account-actions-compact .quvent-first-password-heading { margin: 0 0 .3rem; font-size: .85rem; }
.quvent-account-actions-compact .quvent-first-password :is(.quvent-account-action-form, .quvent-account-action-fields) { display: flex; flex-wrap: wrap; gap: .4rem; }
.quvent-account-actions-compact .quvent-first-password :is(.quvent-account-action-form, .quvent-account-action-fields) p { flex: 1 1 11rem; }
.quvent-account-actions-compact .quvent-first-password :is(input, button) { min-height: 40px; padding: .45rem .65rem; font-size: .9rem; }
.quvent-account-actions-compact .quvent-first-password :is(.quvent-account-action-form, .quvent-account-action-fields) button { flex: 0 0 auto; width: auto; }
.registration-form.registered .quvent-receipt-name,
.registration-form.registered .quvent-receipt-email { margin: 0 0 .45rem; font-size: .9rem; line-height: 1.5; }
.flat-style .sidebar-top .registration-form.registered .quvent-receipt-links { display: flex; flex-direction: row; flex-wrap: wrap; gap: .3rem .8rem; margin-top: .65rem; }
.flat-style .sidebar-top .registration-form.registered .quvent-receipt-links a { margin: 0; font-size: .8rem; line-height: 1.5; }
.quvent-registration-confirmation .quvent-receipt-links,
.flat-style .sidebar-top .registration-form.registered .quvent-receipt-links { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: .85rem; }
.quvent-registration-confirmation .quvent-receipt-links .quvent-receipt-button,
.flat-style .sidebar-top .registration-form.registered .quvent-receipt-links .quvent-receipt-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  min-height: 0;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--main-button-color, #1468a8);
  font-size: .85rem;
  font-weight: 500;
  line-height: 1.4;
  text-decoration: none;
}
.quvent-registration-confirmation .quvent-receipt-links .quvent-receipt-button:hover,
.flat-style .sidebar-top .registration-form.registered .quvent-receipt-links .quvent-receipt-button:hover { background: transparent; color: var(--main-button-hover-color, #095383); text-decoration: underline; text-underline-offset: 3px; }
.quvent-receipt-button i { font-size: .85em; }
.quvent-receipt-links .logout-link { padding: .25rem; }

.quvent-account-magic-login {
  max-width: 540px;
  margin-bottom: .75rem;
  padding: 0;
  border: 0;
}
.quvent-account-magic-login h2 { margin: 0 0 .5rem; font-size: 1.1rem; line-height: 1.4; }
.quvent-account-magic-login > p { margin: 0 0 .65rem; color: var(--quvent-dark-60, #52616e); font-size: .9rem; }
.quvent-account-magic-login form { margin: 0; }
.quvent-account-magic-login form p { margin: 0 0 .65rem; }
.quvent-account-magic-login label { display: block; margin-bottom: .35rem; }
.quvent-account-magic-login :is(input[type="email"], input[type="text"]) {
  width: 100%;
  min-height: 44px;
  padding: .65rem .8rem;
  border: 1px solid var(--quvent-light-90, #dce3e9);
  border-radius: 6px;
  font-size: 1rem;
}
.quvent-account-magic-login :is(a, button, input):focus-visible {
  outline: 3px solid var(--main-theme-color, #2465a0);
  outline-offset: 3px;
}

.quvent-account-signin { width: 100%; max-width: 350px; }
.quvent-account-signin [hidden] { display: none !important; }
.quvent-account-signin-choices { display: grid; gap: .5rem; }
.quvent-account-signin-choices .quvent-auth-login { margin: 0; }
.quvent-account-signin h3 { margin: .2rem 0 .6rem; font-size: 1.1rem; font-weight: 600; line-height: 1.4; }
.quvent-account-method-choice {
  width: 100%;
  min-height: 42px;
  padding: .5rem .85rem;
  border: 1px solid var(--quvent-light-90, #dce3e9);
  border-radius: var(--global-button-border-radius, 8px);
  background: var(--quvent-light-100, #fff);
  color: var(--quvent-dark-100, #182c3b);
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  text-transform: none;
  letter-spacing: normal;
}
.quvent-account-method-choice:hover { background: var(--quvent-light-95, #f4f7fa); border-color: var(--quvent-dark-60, #52616e); }
.quvent-account-other-methods {
  min-height: 36px;
  padding: .25rem 0;
  border: 0;
  background: transparent;
  color: var(--main-button-color, #1468a8);
  font: inherit;
  font-size: .85rem;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-transform: none;
  letter-spacing: normal;
}
.woocommerce .quvent-account-signin > form.woocommerce-form-login { margin: 0; padding: 0; border: 0; }
.quvent-account-signin .woocommerce-form-login .form-row { margin: 0 0 .6rem; padding: 0; }
.quvent-account-signin .woocommerce-form-login__submit {
  min-height: 42px;
  padding: .5rem .85rem;
  border: 1px solid var(--main-button-color, #1468a8);
  border-radius: var(--global-button-border-radius, 8px);
  background: var(--main-button-color, #1468a8);
  color: var(--quvent-light-100, #fff);
  font: inherit;
  font-size: .9rem;
  text-transform: none;
  letter-spacing: normal;
}
.quvent-account-signin :is(a, button, input):focus-visible { outline: 3px solid var(--main-theme-color, #2465a0); outline-offset: 3px; }

/* Preserve Woo's returning-customer toggle; each provider retains its own form. */
.quvent-checkout-login { max-width: 350px; }
.quvent-checkout-login [hidden] { display: none !important; }
.woocommerce .quvent-checkout-login > form.woocommerce-form-login,
.quvent-checkout-magic-login form { margin: .75rem 0; padding: 0; border: 0; }
.quvent-checkout-signin-choices { display: grid; gap: .5rem; }
.quvent-checkout-signin-choices .quvent-auth-login { margin: 0; }
.quvent-checkout-signin-choices .quvent-auth-google { min-height: 42px; }
.quvent-checkout-login h3 { margin: .2rem 0 .6rem; font-size: 1.1rem; font-weight: 600; line-height: 1.4; }
.quvent-checkout-method-choice {
  width: 100%;
  min-height: 42px;
  padding: .5rem .85rem;
  border: 1px solid var(--quvent-light-90, #dce3e9);
  border-radius: var(--global-button-border-radius, 8px);
  background: var(--quvent-light-100, #fff);
  color: var(--quvent-dark-100, #182c3b);
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  text-transform: none;
  letter-spacing: normal;
}
.quvent-checkout-method-choice:hover { background: var(--quvent-light-95, #f4f7fa); border-color: var(--quvent-dark-60, #52616e); }
.quvent-checkout-other-methods {
  min-height: 36px;
  padding: .25rem 0;
  border: 0;
  background: transparent;
  color: var(--main-button-color, #1468a8);
  font: inherit;
  font-size: .85rem;
  text-transform: none;
  letter-spacing: normal;
}
.quvent-checkout-login .quvent-checkout-password .form-row { float: none; clear: both; width: 100%; padding: 0; margin: 0 0 .6rem; }
.quvent-checkout-magic-login form p { margin: 0 0 .6rem; }
.quvent-checkout-magic-login label { display: block; margin-bottom: .35rem; }
.quvent-checkout-magic-login :is(input[type="email"], input[type="text"]) { width: 100%; min-height: 44px; border: 1px solid var(--quvent-light-90, #dce3e9); border-radius: 6px; }
.quvent-checkout-login :is(.woocommerce-form-login__submit, .quvent-checkout-magic-login button, .quvent-checkout-magic-login input[type="submit"]) {
  width: auto;
  min-height: 42px;
  padding: .5rem .85rem;
  border: 1px solid var(--main-button-color, #1468a8);
  border-radius: var(--global-button-border-radius, 8px);
  background: var(--main-button-color, #1468a8);
  color: var(--quvent-light-100, #fff);
  font: inherit;
  font-size: .9rem;
  text-transform: none;
  letter-spacing: normal;
}
.quvent-checkout-login :is(a, button, input):focus-visible { outline: 3px solid var(--main-theme-color, #2465a0); outline-offset: 3px; }
.quvent-signin-primary :is(a, button):focus-visible,
.quvent-account-password-choice > summary:focus-visible { outline: 3px solid var(--main-theme-color, #2465a0); outline-offset: 3px; }
.flat-style .sidebar-top .sidebar-container .registration-form.registered { display: block; }
.flat-style .registration-form.registered .register-heading { margin: 0 0 .65rem; font-size: 1.1rem; line-height: 1.35; }
.registration-form.registered .quvent-receipt-next { margin: .65rem 0 0; font-size: .9rem; }

:where(.quvent-registration-auth, .quvent-checkout-auth, .quvent-account-actions, .quvent-registration-confirmation) :is(a, button, input, summary):focus-visible,
#quvent_errors:focus {
  outline: 3px solid var(--main-theme-color, #2465a0);
  outline-offset: 3px;
}

.registration-form #quvent_errors:not(:empty) {
  padding: 1rem 1.15rem;
  border: 1px solid var(--risk-color, #a72c36);
  border-radius: 8px;
  background: #fff6f5;
  color: #73232b;
}
.registration-form #quvent_errors p { margin: 0 0 .4rem; font-weight: 600; }
.registration-form #quvent_errors ul { margin: 0; padding-left: 1.25rem; }
.registration-form #quvent_errors li { margin-bottom: .3rem; }
.registration-form #quvent_errors a { color: inherit; text-decoration: underline; }
.registration-form [aria-invalid="true"] { border-color: var(--risk-color, #a72c36); }
.registration-form .field-error { color: #8b2630; font-size: .875rem; margin-top: .35rem; }

.form-field button.password-toggle-icon {
  min-height: 36px;
  min-width: 36px;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: inherit;
}

:where(#quvent-reg-form, form.checkout, :is(.quvent-account-action-form, .quvent-account-action-fields))[aria-busy="true"] .is-loading { cursor: wait; opacity: .7; }
:where(#quvent-reg-form, form.checkout, :is(.quvent-account-action-form, .quvent-account-action-fields))[aria-busy="true"] .is-loading::after {
  content: "";
  display: inline-block;
  flex: 0 0 auto;
  width: 1em;
  height: 1em;
  margin-left: .5em;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: quvent-registration-spin .8s linear infinite;
}
@keyframes quvent-registration-spin { to { transform: rotate(360deg); } }

/* Core alone supplies this class for an account awaiting its first chosen password. */
.quvent-needs-first-password .woocommerce-EditAccountForm fieldset:has(input[name="password_current"]) { display: none; }

@media (max-width: 600px) {
  .quvent-auth-actions { align-items: flex-start; flex-direction: column; flex-wrap: nowrap; }
  .quvent-auth-actions [name="quvent_auth_action"][value="google"],
  .quvent-auth-actions .quvent-google-button { flex-basis: auto; }
  .quvent-auth-actions .quvent-email-help { align-self: flex-start; }
  :is(.quvent-account-action-form, .quvent-account-action-fields) :is(button, .button) { width: 100%; }
  .quvent-first-password :is(.quvent-account-action-form, .quvent-account-action-fields) { grid-template-columns: 1fr; }
  .quvent-first-password :is(.quvent-account-action-form, .quvent-account-action-fields) button { width: auto; justify-self: start; }
}

@media (prefers-reduced-motion: reduce) {
  :where(#quvent-reg-form, form.checkout, :is(.quvent-account-action-form, .quvent-account-action-fields))[aria-busy="true"] .is-loading::after { animation: none; }
}

/* Visible controls may belong to a protected sibling form through HTML form=. */
.quvent-account-external-form { display: none; }
.quvent-password-control { display: block; position: relative; width: 100%; min-width: 0; }
.quvent-account-actions .quvent-password-control > input,
.quvent-registration-auth .quvent-password-control > input,
.quvent .woocommerce .quvent-password-control > input { padding-right: 4rem; margin-bottom: 0; }
.quvent-password-control > button.quvent-password-reveal,
.quvent #main .woocommerce .quvent-password-control > button.quvent-password-reveal {
  position: absolute;
  top: 50%;
  right: .3rem;
  transform: translateY(-50%);
  width: auto;
  min-width: 44px;
  min-height: 32px;
  height: 32px;
  margin: 0;
  padding: .25rem .35rem;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--quvent-dark-60, #52616e);
  box-shadow: none;
  font: inherit;
  font-size: .75rem;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  cursor: pointer;
}
.quvent-password-control > button.quvent-password-reveal:hover,
.quvent #main .woocommerce .quvent-password-control > button.quvent-password-reveal:hover { background: transparent; color: var(--main-button-color, #1468a8); }
:is(.quvent-account-action-fields, .quvent-account-google-form) .is-loading[aria-disabled="true"] { cursor: wait; opacity: .7; }

/* Both free-registration placements share this compact footer. */
#quvent-reg-form .quvent-registration-footer { grid-column: 1 / -1; width: 100%; }
#quvent-reg-form .quvent-registration-verification .cf-turnstile { line-height: 0; }
#quvent-reg-form .quvent-registration-terms { margin: 14px 0 0; padding: 0; }
#quvent-reg-form .quvent-registration-terms label {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  margin: 0;
  font-size: 11px;
  line-height: 18px;
  font-weight: 400;
}
#quvent-reg-form .quvent-registration-terms input[type="checkbox"] {
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
  margin: 2px 0 0;
}
