@charset "UTF-8";
/* Registration pages styling: matches The Talking Dog theme. Visual only; the registration form and its logic are untouched. */
body.ttd-register-page { background: linear-gradient(180deg, #EBF0F7 0, #F7F9FC 520px) no-repeat, #F7F9FC; }
body.ttd-register-page .content-bg,
body.ttd-register-page .entry-content-wrap,
body.ttd-register-page .content-container,
body.ttd-register-page .site-container { background: transparent; box-shadow: none; }
body.ttd-register-page .entry-content-wrap { padding: 0; }
body.ttd-register-page .content-area { margin-top: 0; margin-bottom: 56px; }
body.ttd-register-page .entry-content { margin: 0; }

/* Banner */
body.ttd-register-page .entry-hero.page-hero-section {
  background: radial-gradient(620px 240px at 88% -10%, rgba(91, 159, 230, .38), transparent 70%),
              radial-gradient(520px 220px at 6% 120%, rgba(91, 159, 230, .22), transparent 70%),
              linear-gradient(135deg, #0F2A4A 0%, #1E5AA8 100%);
  overflow: hidden;
}
body.ttd-register-page .entry-hero .hero-section-overlay { display: none; }
body.ttd-register-page .entry-hero .entry-hero-container-inner { min-height: 0 !important; background: transparent; }
body.ttd-register-page .entry-hero .hero-container { padding: 48px 20px 76px; }
body.ttd-register-page .entry-hero .entry-header { text-align: center; min-height: 0; }
body.ttd-register-page .entry-hero h1.entry-title {
  font-family: Inter, Nunito, system-ui, sans-serif; font-size: clamp(30px, 5vw, 46px); font-weight: 800; letter-spacing: -.02em; line-height: 1.1; color: #fff; margin: 0;
}
body.ttd-register-page .entry-hero h1.entry-title::before {
  content: "NEW ACCOUNT"; display: block; margin-bottom: 14px; font-size: 12.5px; font-weight: 700; letter-spacing: .16em; color: #9CC6F5;
}
body.ttd-register-page .entry-hero .entry-header::after {
  content: "Create your account to get started"; display: block; margin-top: 16px;
  font-family: Inter, Nunito, system-ui, sans-serif; font-size: 15px; font-weight: 500; color: rgba(255, 255, 255, .85);
}

/* Card */
body.ttd-register-page #tutor-registration-wrap {
  --rg-primary: #1E5AA8; --rg-primary-dark: #003882; --rg-dark: #0F2A4A; --rg-text: #243746; --rg-muted: #5A6B7A; --rg-border: #D8E4EF;
  width: 100% !important; max-width: 560px !important; margin: -40px auto 0 !important; padding: 0 !important; position: relative; z-index: 2;
  background: #fff; border: 1px solid var(--rg-border); border-radius: 24px; box-shadow: 0 8px 32px rgba(30, 90, 168, .12);
  font-family: Inter, Nunito, system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--rg-text);
}
body.ttd-register-page #tutor-registration-wrap *, body.ttd-register-page #tutor-registration-wrap *::before, body.ttd-register-page #tutor-registration-wrap *::after { box-sizing: border-box; }
body.ttd-register-page #tutor-registration-form { padding: 40px !important; margin: 0; }
body.ttd-register-page #tutor-registration-wrap div, body.ttd-register-page #tutor-registration-wrap p, body.ttd-register-page #tutor-registration-wrap span { color: inherit; }

/* Labels and fields */
body.ttd-register-page #tutor-registration-wrap label { display: block; font-size: 13.5px; font-weight: 600; color: var(--rg-text); margin: 0 0 6px !important; }
body.ttd-register-page #tutor-registration-wrap .tutor-input-field { margin-bottom: 18px !important; position: relative; }
body.ttd-register-page #tutor-registration-wrap .tutor-form-control,
body.ttd-register-page #tutor-registration-wrap input[type="text"],
body.ttd-register-page #tutor-registration-wrap input[type="email"],
body.ttd-register-page #tutor-registration-wrap input[type="password"] {
  width: 100%; height: 52px !important; padding: 0 16px !important; font-family: inherit; font-size: 15px; font-weight: 500; color: var(--rg-text) !important;
  background: #fff !important; border: 1.5px solid var(--rg-border) !important; border-radius: 12px !important; box-shadow: none !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body.ttd-register-page #tutor-registration-wrap input::placeholder { color: #8A99A8; font-weight: 400; opacity: 1; }
body.ttd-register-page #tutor-registration-wrap .tutor-form-control:hover, body.ttd-register-page #tutor-registration-wrap input[type="text"]:hover, body.ttd-register-page #tutor-registration-wrap input[type="password"]:hover { border-color: #B6C9DD !important; }
body.ttd-register-page #tutor-registration-wrap .tutor-form-control:focus, body.ttd-register-page #tutor-registration-wrap input[type="text"]:focus, body.ttd-register-page #tutor-registration-wrap input[type="password"]:focus {
  outline: none; border-color: var(--rg-primary) !important; box-shadow: 0 0 0 4px rgba(30, 90, 168, .15) !important;
}
body.ttd-register-page #tutor-registration-wrap .tutor-input-field > span { color: var(--rg-muted); }

/* Terms checkbox */
body.ttd-register-page #tutor-registration-wrap .tutor-input-wrapper { display: flex; align-items: flex-start; gap: 10px; }
body.ttd-register-page #tutor-registration-wrap input[type="checkbox"] { accent-color: var(--rg-primary); width: 18px; height: 18px; margin-top: 2px; flex: none; }
body.ttd-register-page #tutor-registration-wrap .tutor-input-wrapper label { display: inline; margin: 0 !important; font-size: 14.5px; font-weight: 400; line-height: 1.5; color: var(--rg-muted); }
body.ttd-register-page #tutor-registration-wrap a { color: var(--rg-primary); font-weight: 600; text-decoration: none; }
body.ttd-register-page #tutor-registration-wrap a:hover { text-decoration: underline; }

/* Register button */
body.ttd-register-page #tutor-registration-wrap button[type="submit"], body.ttd-register-page #tutor-registration-wrap .tutor-btn-primary {
  width: 100%; height: 54px; margin-top: 8px; font-family: inherit; font-size: 17px; font-weight: 700; letter-spacing: 0; color: #fff;
  background: var(--rg-primary); border: 0; border-radius: 12px; box-shadow: 0 8px 22px rgba(30, 90, 168, .30);
  transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
body.ttd-register-page #tutor-registration-wrap button[type="submit"]:hover, body.ttd-register-page #tutor-registration-wrap .tutor-btn-primary:hover { background: var(--rg-primary-dark); transform: translateY(-2px); box-shadow: 0 12px 28px rgba(30, 90, 168, .34); }
body.ttd-register-page #tutor-registration-wrap button[type="submit"]:focus-visible { outline: 3px solid #5B9FE6; outline-offset: 3px; }
body.ttd-register-page #tutor-registration-wrap .tutor-btn-link { width: auto; height: auto; margin: 0; padding: 0; background: transparent; box-shadow: none; color: var(--rg-primary); font-size: 15px; font-weight: 600; }
body.ttd-register-page #tutor-registration-wrap .tutor-btn-link:hover { background: transparent; box-shadow: none; transform: none; text-decoration: underline; }
body.ttd-register-page #tutor-registration-wrap .tutor-small { font-size: 15px; color: var(--rg-muted); }

/* Messages */
body.ttd-register-page #tutor-registration-wrap .tutor-alert, body.ttd-register-page #tutor-registration-wrap .tutor-error-msg { border-radius: 10px; font-size: 14px; }

@media (max-width: 600px) {
  body.ttd-register-page .entry-hero .hero-container { padding: 32px 16px 64px; }
  body.ttd-register-page #tutor-registration-wrap { width: calc(100% - 32px) !important; margin-top: -32px !important; border-radius: 20px; }
  body.ttd-register-page #tutor-registration-form { padding: 28px 22px !important; }
}
@media (prefers-reduced-motion: reduce) {
  body.ttd-register-page #tutor-registration-wrap button[type="submit"], body.ttd-register-page #tutor-registration-wrap .tutor-form-control { transition: none; }
  body.ttd-register-page #tutor-registration-wrap button[type="submit"]:hover { transform: none; }
}
