/* Scoped checkout styles remain readable when the theme restyles .button. */
.ropc-registration {
    box-sizing: border-box;
    max-width: 680px;
    margin: 24px auto;
    padding: clamp(20px, 4vw, 36px);
    border: 1px solid #d6e2dc;
    border-radius: 16px;
    background: #fff;
    color: #183b30;
    line-height: 1.65;
    overflow-wrap: anywhere;
}
.ropc-registration *, .ropc-registration *::before, .ropc-registration *::after {
    box-sizing: border-box;
}
.ropc-registration h2 {
    margin: 0 0 16px;
    color: #123b2d !important;
    font-size: clamp(23px, 4vw, 30px);
    line-height: 1.25;
}
.ropc-registration p { margin: 0 0 18px; color: #183b30; }
.ropc-registration p:last-child { margin-bottom: 0; }
.ropc-registration label { display: block; color: #183b30; font-weight: 600; }
.ropc-registration a:not(.button) { color: #075238 !important; text-decoration: underline; }
.ropc-registration input[type="text"], .ropc-registration input[type="email"] {
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 48px;
    margin-top: 7px;
    padding: 11px 14px;
    border: 1px solid #708a7f;
    border-radius: 8px;
    background: #fff !important;
    color: #183b30 !important;
    font: inherit;
    font-size: 16px;
}
.ropc-registration input::placeholder { color: #536a60; opacity: 1; }
.ropc-registration .button,
a.ropc-action,
button.ropc-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    max-width: 100%;
    margin: 0;
    padding: 13px 22px;
    border: 2px solid #124b36 !important;
    border-radius: 8px;
    background: #124b36 !important;
    background-image: none !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff;
    font: inherit;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    text-decoration: none !important;
    text-shadow: none;
    white-space: normal;
    cursor: pointer;
}
.ropc-registration .button:hover,
a.ropc-action:hover,
button.ropc-action:hover {
    border-color: #093724 !important;
    background: #093724 !important;
    color: #fff !important;
}
.ropc-registration a:focus-visible,
.ropc-registration button:focus-visible,
.ropc-registration input:focus-visible,
.ropc-action:focus-visible {
    outline: 3px solid #966700 !important;
    outline-offset: 4px;
}
.ropc-registration [role="alert"] {
    padding: 12px 14px;
    border-left: 4px solid #8b4f00;
    border-radius: 4px;
    background: #fff4df;
    color: #583400;
}
@media (max-width: 480px) {
    .ropc-registration { margin: 16px 0; padding: 20px; }
    .ropc-registration .button, a.ropc-action, button.ropc-action { width: 100%; }
}
