/* Standalone registration only. Native JTL fields, errors and plugins stay intact. */
html body #content .rh-register-container { max-width: 1180px !important; }
html body #content .rh-register { color: var(--color-text, #0a1628); padding: 16px 0 48px; }
html body #content .rh-register-intro { margin: 0 0 26px; }
html body #content .rh-register .rh-register-eyebrow { margin: 0 0 8px; color: var(--blue-600, #116bb0); font: 600 12px/1.4 var(--font-body) !important; letter-spacing: .07em; text-transform: uppercase; }
html body #content .rh-register h1 { margin: 0 0 10px !important; font: 700 clamp(26px, 2.5vw, 36px)/1.2 var(--font-display) !important; letter-spacing: -.025em; }
html body #content .rh-register-intro > p:not(.rh-register-eyebrow) { margin: 0; font-size: 16px; line-height: 1.5; color: #52616e; }
html body #content .rh-register-perks { display: flex; flex-wrap: wrap; gap: 8px 24px; padding: 0; margin: 16px 0 0; list-style: none; }
html body #content .rh-register-perks li { display: flex; align-items: center; gap: 6px; font-size: 14px; line-height: 1.4; color: #314759; }
html body #content .rh-register-perks svg { width: 17px; height: 17px; flex: 0 0 auto; color: #28794c; }
html body #content .rh-register-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, 1fr); align-items: start; gap: 32px; }
html body #content .rh-register-card { min-width: 0; padding: 28px; background: #fff; border: 1px solid #dce5ed; border-radius: 8px; }
html body #content .rh-register-card-head { margin: 0 0 18px; }
html body #content .rh-register-card-head h2 { margin: 0 0 6px; font: 700 22px/1.3 var(--font-display) !important; letter-spacing: -.02em; }
html body #content .rh-register-card-head p { margin: 0; font-size: 14px !important; color: #52616e; }
html body #content .rh-register a { color: var(--blue-600, #116bb0); text-underline-offset: 3px; }
html body #content .rh-register a:hover { text-decoration: underline; }
html body #content .rh-register a:focus-visible,
html body #content .rh-register button:focus-visible { outline: 2px solid var(--blue-600, #116bb0) !important; outline-offset: 3px !important; }
html body #content .rh-register form.register-form { max-width: none; margin: 0; }
html body #content .rh-register form .required-info { margin: 0 0 14px !important; font-size: 12px !important; color: #52616e !important; }
html body #content .rh-register form .inc-billing-address-form > .row > .col-12:first-child { display: none; }
html body #content .rh-register form h2.h3 { margin: 16px 0 10px !important; font-size: 14px !important; line-height: 1.4; letter-spacing: 0 !important; text-transform: none !important; color: #153549 !important; }
html body #content .rh-register form .inc-billing-address-form > .row > .col-12:first-child + .col-md-4 h2 { margin-top: 0 !important; }
html body #content .rh-register form hr { margin: 12px 0 0 !important; border-color: #e8edf2 !important; }
/* Keep labels visible while typing, including when autofill has populated fields. */
html body #content .rh-register form .form-group.rh-ph > .flex-column-reverse { flex-direction: column !important; }
html body #content .rh-register form .form-group.rh-ph { display: flex; flex-direction: column; margin: 0 0 12px !important; }
html body #content .rh-register form .form-group.rh-ph label,
html body #content .rh-register form .form-group.rh-ph .col-form-label {
  position: static !important; order: -1; display: block !important; width: 100% !important; max-width: none !important; height: auto !important;
  margin: 0 0 5px !important; padding: 0 !important; overflow: visible !important; clip: auto !important; clip-path: none !important;
  white-space: normal !important; opacity: 1 !important; pointer-events: auto !important; transform: none !important;
  font: 500 13px/1.4 var(--font-body) !important; color: #314759 !important;
}
html body #content .rh-register form .form-control,
html body #content .rh-register form .custom-select { border-radius: 6px !important; font-size: 16px !important; }
html body #content .rh-register form .dh-tel-note { display: block; margin: -4px 0 4px; font-size: 12px !important; line-height: 1.45 !important; color: #52616e; }
html body #content .rh-register form .rh-register-password-title { margin-top: 20px !important; }
html body #content .rh-register form .rh-register-password-hint { margin: -4px 0 12px; color: #52616e; font-size: 12px !important; line-height: 1.45 !important; }
html body #content .rh-register-password-toggle { min-height: 36px; margin: -3px 0 8px; padding: 5px 0; border: 0; border-radius: 0; background: none; color: var(--blue-600, #116bb0); font: 500 13px/1.4 var(--font-body); box-shadow: none; cursor: pointer; }
html body #content .rh-register-password-toggle[hidden] { display: none !important; }
html body #content .rh-register #rb2b { border-radius: 6px; font-size: 13px; margin: 12px 0 0; }
html body #content .rh-register form .checkout-button-row { margin-top: 18px !important; padding-top: 16px !important; }
html body #content .rh-register form .checkout-register-form-buttons-privacy { text-align: left !important; margin-bottom: 14px; font-size: 12px; }
html body #content .rh-register form .checkout-button-row-submit .btn-primary {
  display: flex; align-items: center; justify-content: center; gap: 10px; max-width: none !important;
  width: 100%; height: auto !important; min-height: 52px !important; padding: 12px 14px !important;
  border-radius: 6px !important; font-size: 15px !important; line-height: 1.4 !important; box-shadow: none !important;
}
html body #content .rh-register form .checkout-button-row-submit .btn-primary svg { width: 18px; height: 18px; flex: 0 0 auto; }
html body #content .rh-register .rh-register-submit-note { margin: 10px 0 0; text-align: center; font-size: 12px !important; line-height: 1.45 !important; color: #52616e; }
/* Manufacturer, local presence and clear delivery expectations answer purchase concerns. */
html body #content .rh-register-trust { min-width: 0; }
html body #content .rh-register-trust-main { padding: 28px; background: #f2f7fb; border: 1px solid #e0eaf2; border-radius: 8px; }
html body #content .rh-register-trust h2 { margin: 0 0 12px; font: 700 25px/1.3 var(--font-display) !important; letter-spacing: -.025em; }
html body #content .rh-register .rh-register-range { margin: 0; color: #52616e; font-size: 14px !important; line-height: 1.55 !important; }
html body #content .rh-register-reasons { display: grid; gap: 24px; list-style: none; padding: 0; margin: 26px 0; }
html body #content .rh-register-reasons li { display: flex; gap: 12px; align-items: flex-start; }
html body #content .rh-register-icon { display: flex; align-items: center; justify-content: center; flex: 0 0 32px; width: 32px; height: 32px; color: var(--blue-600, #116bb0); }
html body #content .rh-register-trust h3 { margin: 0 0 5px; color: #153549; font: 700 15px/1.4 var(--font-body) !important; }
html body #content .rh-register-reasons p,
html body #content .rh-register-advice p { margin: 0; color: #52616e; font-size: 14px !important; line-height: 1.55 !important; }
html body #content .rh-register-reasons small { display: block; margin-top: 5px; color: #52616e; font-size: 12px !important; line-height: 1.4 !important; }
html body #content .rh-register-rating { display: flex; align-items: center; gap: 12px; border-top: 1px solid #dbe6ef; padding-top: 20px; }
html body #content .rh-register-rating > span { color: #b47606; font-size: 18px; letter-spacing: 1px; white-space: nowrap; }
html body #content .rh-register-rating strong { display: block; color: #153549; font-size: 14px; }
html body #content .rh-register-rating small { display: block; color: #52616e; font-size: 12px !important; line-height: 1.4 !important; }
html body #content .rh-register-advice { display: flex; align-items: flex-start; gap: 12px; margin-top: 16px; padding: 22px; border: 1px solid #dce5ed; border-radius: 8px; background: #fff; }
html body #content .rh-register-phone { display: inline-flex; align-items: center; min-height: 44px; margin-top: 6px; font: 700 21px/1.3 var(--font-body); text-decoration: none; }
html body #content .rh-register-hours { display: block; font-size: 12px; color: #52616e; }
html body #content .rh-register .rh-register-location { margin: 12px 0 0; text-align: center; color: #52616e; font-size: 12px !important; line-height: 1.4 !important; }
@media (max-width: 991.98px) {
  html body #content .rh-register-container { max-width: 700px !important; }
  html body #content .rh-register-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  html body #content .rh-register { padding-top: 8px; }
  html body #content .rh-register-intro { margin-bottom: 20px; }
  html body #content .rh-register-perks { gap: 7px 16px; margin-top: 12px; }
  html body #content .rh-register-perks li { font-size: 12px; }
  html body #content .rh-register-card, html body #content .rh-register-trust-main { padding: 22px; }
}
@media (max-width: 575.98px) {
  html body #content .rh-register-container { padding-left: 16px !important; padding-right: 16px !important; }
  html body #content .rh-register h1 { font-size: 26px !important; }
  html body #content .rh-register-intro > p:not(.rh-register-eyebrow) { font-size: 14px !important; }
  html body #content .rh-register-card { padding: 20px 16px; }
  html body #content .rh-register-card-head h2 { font-size: 20px !important; }
  html body #content .rh-register form .rh-row > .rh-narrow { min-width: 92px; }
  html body #content .rh-register form #create_account_data.rh-row > .rh-half { flex-basis: 100% !important; }
  html body #content .rh-register-trust-main { padding: 22px 18px; }
  html body #content .rh-register-trust h2 { font-size: 23px !important; }
  html body #content .rh-register-rating { flex-wrap: wrap; gap: 6px 12px; }
  html body #content .rh-register-advice { padding: 20px 16px; }
}
@media (prefers-reduced-motion: reduce) {
  html body #content .rh-register * { scroll-behavior: auto !important; transition: none !important; }
}
/* The B2B plugin adds its own asterisk to Firma when it becomes required. */
html body #content .rh-register .form-group:has(#firm:required) label[for='firm']::after { content:none !important; }
