.ttwo-form {
  --ttwo-accent: #aa2745;
  --ttwo-button-text: #fff;
  --ttwo-text: #292929;
  --ttwo-input-bg: #fff;
  --ttwo-border: #d6c8cc;
  --ttwo-radius: 8px;
  color: var(--ttwo-text);
  font: inherit;
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
}
.ttwo-form *, .ttwo-form *::before, .ttwo-form *::after { box-sizing: border-box; }
/* Complete popup copy is part of the shortcode / Elementor widget, not separate headings. */
.ttwo-form .ttwo-intro {
  display: flex; flex-direction: column; gap: 8px;
  text-align: var(--ttwo-intro-align, center);
  padding: 0 0 6px;
}
.ttwo-form .ttwo-eyebrow {
  margin: 0; color: var(--ttwo-accent);
  font: inherit; font-size: 11px; font-weight: 600;
  line-height: 1.45; letter-spacing: .14em; text-transform: uppercase;
}
.ttwo-form .ttwo-title {
  margin: 0; padding: 0; color: var(--ttwo-text);
  font-family: inherit; font-size: clamp(23px, 5vw, 32px);
  font-weight: 700; line-height: 1.16; letter-spacing: -.025em;
}
.ttwo-form .ttwo-subtitle {
  margin: 0; color: var(--ttwo-text);
  font: inherit; font-size: 14px; font-weight: 400; line-height: 1.6;
}
.ttwo-form .ttwo-footnote {
  margin: -3px 0 0; font: inherit; font-size: 11px;
  line-height: 1.5; color: var(--ttwo-text); opacity: .72;
  text-align: center;
}
.ttwo-form .ttwo-field { width: 100%; }
.ttwo-form .ttwo-label { display: block; margin-bottom: 6px; font-weight: 500; }
.ttwo-form .ttwo-sr-only { position: absolute!important; width: 1px!important; height: 1px!important; padding: 0!important; margin: -1px!important; overflow: hidden!important; clip: rect(0,0,0,0)!important; white-space: nowrap!important; border: 0!important; }
.ttwo-form input[type="email"], .ttwo-form input[type="password"], .ttwo-form input[type="text"][name^="ttwo_password"] {
  width: 100%; min-height: 48px; display: block;
  padding: 12px 16px; border: 1px solid var(--ttwo-border);
  border-radius: var(--ttwo-radius); background: var(--ttwo-input-bg);
  color: var(--ttwo-text); font: inherit; line-height: 1.5;
  box-shadow: none;
}
.ttwo-form input[type="email"]:focus-visible, .ttwo-form input[type="password"]:focus-visible { outline: 2px solid var(--ttwo-accent); outline-offset: 2px; }
.ttwo-form .ttwo-consent { display: flex; align-items: flex-start; gap: 9px; margin: 0; font-size: 12px; line-height: 1.6; color: var(--ttwo-text); cursor: pointer; }
.ttwo-form .ttwo-consent input[type="checkbox"] { margin: 3px 0 0; width: 15px; height: 15px; min-width: 15px; flex: 0 0 15px; accent-color: var(--ttwo-accent); cursor: pointer; }
.ttwo-form .ttwo-consent a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.ttwo-form .ttwo-submit {
  display: block; width: 100%; min-height: 48px;
  border: 1px solid transparent; border-radius: var(--ttwo-radius);
  padding: 12px 16px; margin: 0; background: var(--ttwo-accent);
  color: var(--ttwo-button-text); font: inherit; font-size: 13px; font-weight: 600;
  text-align: center; line-height: 1.35; white-space: nowrap;
  cursor: pointer; transition: opacity .18s ease, background-color .18s ease;
}
.ttwo-form .ttwo-submit:hover { opacity: .88; }
.ttwo-form .ttwo-submit:focus-visible { outline: 2px solid var(--ttwo-text); outline-offset: 3px; }
.ttwo-form .ttwo-submit:disabled { opacity: .65; cursor: wait; }
.ttwo-form .ttwo-response { font-size: 13px; line-height: 1.5; }
.ttwo-form .ttwo-response:empty { display: none; }
.ttwo-form .ttwo-response.ttwo-error { color: #b42332; }
.ttwo-form .ttwo-coupon-code { display: block; font-size: 16px; letter-spacing: .03em; margin-top: 6px; overflow-wrap: anywhere; }
.ttwo-form.ttwo-success .ttwo-field, .ttwo-form.ttwo-success .ttwo-consent, .ttwo-form.ttwo-success .ttwo-submit { display: none; }
.ttwo-form .ttwo-trap { position: absolute!important; left: -99999px!important; width: 1px!important; height: 1px!important; overflow: hidden!important; }

.ttwo-form .ttwo-password-wrap { position: relative; }
.ttwo-form .ttwo-password-wrap input { padding-right: 76px; }
.ttwo-form .ttwo-password-wrap .ttwo-reveal {
  position: absolute; inset-inline-end: 12px; top: 50%; transform: translateY(-50%);
  background: transparent; border: 0; color: var(--ttwo-text); cursor: pointer;
  font: inherit; font-size: 12px; padding: 7px;
}
.ttwo-form .ttwo-password-hint, .ttwo-form .ttwo-account-note, .ttwo-form .ttwo-existing-account {
  margin: 0; font-size: 11px; line-height: 1.5; color: var(--ttwo-text);
}
.ttwo-form .ttwo-existing-account { text-align: center; }
.ttwo-form .ttwo-existing-account a { color: inherit; text-decoration: underline; }
.ttwo-form .ttwo-resend { font: inherit; color: inherit; border: 0; background: none; cursor: pointer; text-decoration: underline; padding: 0; }

/* v1.7.0: centered popup feedback, independently of Elementor's intro alignment. */
.ttwo-form .ttwo-response { text-align: center; margin-inline: auto; width: 100%; }
.ttwo-form.ttwo-completed { text-align: center; align-items: center; }
.ttwo-form.ttwo-completed > :not(.ttwo-result) { display: none !important; }
.ttwo-form .ttwo-result[hidden], .ttwo-form .ttwo-result-actions[hidden] { display: none !important; }
.ttwo-form .ttwo-result {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  width: 100%; margin: 0 auto; padding: 26px 12px 22px;
  gap: 12px; text-align: center !important; color: var(--ttwo-text);
}
.ttwo-form .ttwo-result-symbol {
  display: flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; border: 1px solid var(--ttwo-accent);
  border-radius: 50%; color: var(--ttwo-accent); font-size: 23px;
  line-height: 1; font-weight: 600; margin: 0 auto 5px;
}
.ttwo-form .ttwo-result-eyebrow {
  color: var(--ttwo-accent); font-size: 11px; font-weight: 600;
  letter-spacing: .14em; line-height: 1.4; text-transform: uppercase;
}
.ttwo-form .ttwo-result-title {
  margin: 0; padding: 0; color: var(--ttwo-text); font: inherit;
  font-size: clamp(20px, 5vw, 28px); font-weight: 700; line-height: 1.2;
  text-align: center !important;
}
.ttwo-form .ttwo-result-message {
  margin: 0; max-width: 440px; color: var(--ttwo-text);
  font: inherit; font-size: 14px; line-height: 1.7;
  text-align: center !important; overflow-wrap: anywhere;
}
.ttwo-form .ttwo-result-actions {
  display: flex; flex-direction: column; align-items: center;
  justify-content: center; gap: 12px; width: 100%; padding-top: 6px;
}
.ttwo-form .ttwo-result-login {
  display: block; width: min(100%, 300px); border-radius: var(--ttwo-radius);
  padding: 13px 18px; color: var(--ttwo-button-text); background: var(--ttwo-accent);
  font-size: 13px; font-weight: 600; text-decoration: none; text-align: center;
}
.ttwo-form .ttwo-result-reset, .ttwo-form .ttwo-result-retry {
  display: inline-block; color: var(--ttwo-text); border: 0; border-radius: 0;
  padding: 2px; margin: 0; background: transparent; font: inherit;
  font-size: 12px; line-height: 1.5; text-decoration: underline;
  text-underline-offset: 3px; cursor: pointer;
}
.ttwo-form .ttwo-result:focus { outline: none; }
.ttwo-form .ttwo-result-login:focus-visible, .ttwo-form .ttwo-result-reset:focus-visible,
.ttwo-form .ttwo-result-retry:focus-visible { outline: 2px solid var(--ttwo-accent); outline-offset: 3px; }
@media (max-width: 480px) {
  .ttwo-form .ttwo-result { padding: 20px 4px; }
  .ttwo-form .ttwo-result-title { font-size: 22px; }
}
