/* Separate registration pages: visible labels, consent and verified fields. */
.orcelle-registration { max-width: 960px; margin-inline: auto; color: #142239; }
.orcelle-registration-steps { margin-bottom: 32px; }
.orcelle-registration-steps ol { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; padding: 0; list-style: none; border-bottom: 1px solid #d3dce7; }
.orcelle-registration-steps li { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 16px 8px; color: #8792a2; font-size: 13px; }
.orcelle-registration-steps li > span { font-size: 11px; font-variant-numeric: tabular-nums; }
.orcelle-registration-steps li[aria-current] { margin-bottom: -1px; border-bottom: 2px solid #142239; color: #142239; font-weight: 600; }
.orcelle-registration-section,
.orcelle-registration-policy { margin: 0 0 28px; border: 1px solid #d7dfe8; background: #fff; }
.orcelle-registration-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 24px 28px; }
.orcelle-registration-section-heading h2 { display: flex; align-items: center; gap: 12px; margin: 0; color: #142239; font-size: 19px; font-weight: 500; letter-spacing: -.025em; }
.orcelle-registration-section-heading > a { display: flex; gap: 8px; color: #687589; font-size: 12px; text-decoration: none; }
.orcelle-registration-required { color: #8e5656; font-size: 11px; font-weight: 500; }
.orcelle-registration-optional { color: #7c899c; font-size: 11px; font-weight: 400; }
.orcelle-registration-policy-text { height: 180px; margin: 0 28px; padding: 18px 20px; overflow-y: auto; border: 1px solid #e1e6ed; background: #f7f9fb; color: #687589; font-size: 12px; line-height: 1.9; }
.orcelle-registration-policy-text h1,
.orcelle-registration-policy-text h2,
.orcelle-registration-policy-text h3 { margin: 18px 0 10px; color: #465875; font-size: 13px; font-weight: 600; }
.orcelle-registration-policy-text p { margin-bottom: 12px; }
.orcelle-registration-policy-text > :first-child { margin-top: 0; }
.orcelle-registration-policy-text ul,
.orcelle-registration-policy-text ol { margin-left: 18px; }
.orcelle-registration-agreement,
.orcelle-registration-optional-consent { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 22px 28px; color: #465875; font-size: 13px; line-height: 1.8; }
.orcelle-registration input[type="checkbox"] { flex: 0 0 auto; width: 16px; height: 16px; margin-top: 3px; accent-color: #142239; }
.orcelle-registration-marketing { margin: 0 0 28px; border: 1px solid #d7dfe8; background: #fff; }
.orcelle-registration-marketing .orcelle-registration-agreement { padding-bottom: 8px; }
.orcelle-registration-marketing p { margin: 0; padding: 0 28px 22px 54px; color: #7c899c; font-size: 11px; line-height: 1.9; }
.orcelle-registration-fields { border-top: 1px solid #e0e6ed; }
.orcelle-registration-row { display: grid; grid-template-columns: 164px minmax(0, 1fr); border-bottom: 1px solid #e5eaf1; }
.orcelle-registration-row:last-child { border-bottom: 0; }
.orcelle-registration-row > label { margin: 0; padding: 25px 28px; background: #f7f9fb; color: #465875; font-size: 13px; font-weight: 500; }
.orcelle-registration-control { min-width: 0; padding: 18px 24px; }
.orcelle-registration input:not([type="checkbox"]):not([type="hidden"]),
.orcelle-registration select { width: 100%; max-width: 100%; height: 46px; min-width: 0; margin: 0; padding: 10px 12px; border: 1px solid #cdd8e5; border-radius: 2px; background: #fff; color: #142239; font-family: inherit; font-size: 14px; line-height: 1.6; box-shadow: none; }
.orcelle-registration input[readonly] { background: #f2f5f9 !important; color: #687589 !important; }
.orcelle-registration input:focus,
.orcelle-registration select:focus { border-color: #465875; }
.orcelle-registration input::placeholder { color: #8591a1; font-size: 12px; }
.orcelle-registration-control > input,
.orcelle-registration-control > select { max-width: 440px !important; }
.orcelle-registration-input-action { display: flex; gap: 10px; max-width: 540px; }
.orcelle-registration-input-action > input { flex: 1; min-width: 0; }
.orcelle-registration .orcelle-registration-secondary { flex: 0 0 auto; min-height: 46px; padding: 10px 15px; border: 1px solid #c5d1e0; border-radius: 2px; background: #f3f6fa; color: #354b68; font-size: 12px; font-weight: 500; line-height: 1.6; white-space: nowrap; }
.orcelle-registration .orcelle-registration-secondary:hover { border-color: #75869e; background: #eaf0f7; }
.orcelle-registration-help { margin: 9px 0 0; color: #7b889b; font-size: 11px; line-height: 1.8; }
.orcelle-registration-status { margin: 8px 0 0; color: #467768; font-size: 12px; line-height: 1.8; }
.orcelle-registration-status:empty { display: none; }
.orcelle-registration-status[data-error="true"] { color: #a05252; }
.orcelle-registration-email-code { max-width: 540px; margin-top: 18px; }
.orcelle-registration-email-code > label { display: block; margin-bottom: 7px; color: #687589; font-size: 12px; }
.orcelle-registration [hidden] { display: none !important; }
.orcelle-registration-address { display: grid; gap: 10px; }
.orcelle-registration-address > input { max-width: 100% !important; }
.orcelle-registration-address .orcelle-registration-status { margin: 0; }
.orcelle-registration-address .orcelle-registration-input-action { max-width: 300px; }
.orcelle-registration-business { margin-bottom: 24px; border: 1px solid #d7dfe8; background: #fff; }
.orcelle-registration-business > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 24px 28px; color: #142239; font-size: 19px; font-weight: 500; cursor: pointer; list-style: none; }
.orcelle-registration-business > summary::-webkit-details-marker { display: none; }
.orcelle-registration-business > summary > span:first-child { display: flex; align-items: center; gap: 12px; }
.orcelle-registration-business[open] > summary > span:last-child { transform: rotate(45deg); }
.orcelle-registration-optional-consent { margin-top: -8px; padding: 0 0 24px; }
.orcelle-registration-optional-consent > span > span { display: block; }
.orcelle-registration-consent-summary { display: flex; justify-content: space-between; gap: 16px; padding: 20px 0; border-top: 1px solid #d7dfe8; color: #7b889b; font-size: 12px; }
.orcelle-registration-consent-summary a { color: #465875; text-underline-offset: 4px; }
.orcelle-registration-actions { display: flex; justify-content: center; align-items: center; gap: 16px; margin-top: 30px; }
.orcelle-registration-actions > a:not(.button) { display: grid; place-items: center; min-width: 120px; min-height: 50px; padding: 12px 18px; border: 1px solid #ccd6e3; border-radius: 2px; color: #465875; font-size: 13px; text-decoration: none; }
.orcelle-registration .orcelle-registration-actions > .button { display: flex; justify-content: space-between; align-items: center; gap: 48px; min-width: 200px; min-height: 50px; margin: 0; padding: 13px 20px; border: 1px solid #142239; border-radius: 2px; background: #142239; color: #fff; font-size: 13px; font-weight: 500; text-decoration: none; }
.orcelle-registration-errors,
.orcelle-registration-notice { margin: 0 0 24px; padding: 18px 24px; border: 1px solid #d6e0eb; background: #ebf1f7; color: #344a67; font-size: 13px; line-height: 1.85; }
.orcelle-registration-errors { border-color: #e6cdcd; background: #fcf5f5; color: #995050; }
.orcelle-registration-errors ul { margin: 0; padding-left: 18px; }
.orcelle-registration-complete { padding: 60px 28px; border: 1px solid #d7dfe8; background: #fff; text-align: center; }
.orcelle-registration-complete > svg { margin: 0 auto 24px; color: #526987; }
.orcelle-registration-complete h2 { margin: 0; font-size: 26px; font-weight: 500; letter-spacing: -.035em; }
@media (max-width: 767px) {
  .orcelle-registration-steps { margin-bottom: 24px; }
  .orcelle-registration-steps li { gap: 6px; padding-inline: 2px; font-size: 12px; }
  .orcelle-registration-section-heading { padding: 20px; }
  .orcelle-registration-section-heading h2 { gap: 9px; font-size: 18px; }
  .orcelle-registration-policy-text { margin-inline: 20px; padding: 16px; }
  .orcelle-registration-agreement { padding: 18px 20px; font-size: 12px; }
  .orcelle-registration-marketing p { padding-inline: 46px 20px; }
  .orcelle-registration-row { grid-template-columns: minmax(0, 1fr); }
  .orcelle-registration-row > label { padding: 18px 20px 0; background: transparent; font-size: 12px; }
  .orcelle-registration-control { padding: 10px 20px 20px; }
  .orcelle-registration input:not([type="checkbox"]):not([type="hidden"]),
  .orcelle-registration select { font-size: 16px; }
  .orcelle-registration-input-action { gap: 8px; }
  .orcelle-registration .orcelle-registration-secondary { padding-inline: 11px; font-size: 11px; }
  .orcelle-registration-business > summary { padding: 20px; font-size: 18px; }
  .orcelle-registration-optional-consent { font-size: 12px; }
  .orcelle-registration-actions { gap: 10px; }
  .orcelle-registration-actions > a:not(.button) { min-width: 90px; }
  .orcelle-registration .orcelle-registration-actions > .button { min-width: 0; flex: 1; gap: 20px; max-width: 240px; }
  .orcelle-registration-complete { padding: 40px 20px; }
  .orcelle-registration-complete h2 { font-size: 22px; }
  .orcelle-registration-complete .orcelle-registration-actions { flex-direction: column; }
  .orcelle-registration-complete .orcelle-registration-actions > * { width: 100%; max-width: 240px; }
}
