.ccu-membership-password {
    position: relative;
    display: block;
}

.ccu-membership-password input[type="password"],
.ccu-membership-password input[type="text"] {
    box-sizing: border-box;
    width: 100%;
    padding-right: 2.75em;
}

.ccu-membership-password__toggle {
    position: absolute;
    top: 50%;
    right: 0.15em;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 2.25em;
    height: 2.25em;
    min-width: 0;
    min-height: 0;
    margin: 0;
    padding: 0;
    color: inherit;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    transform: translateY(-50%);
    cursor: pointer;
}

.ccu-membership-password__toggle:hover,
.ccu-membership-password__toggle:focus,
.ccu-membership-password__toggle:focus-visible {
    color: inherit;
    background: transparent;
    box-shadow: none;
}

.ccu-membership-password__toggle:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.ccu-membership-password__icon {
    display: none;
    width: 1.25em;
    height: 1.25em;
}

.ccu-membership-password__icon svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ccu-membership-password__icon--show {
    display: block;
}

.ccu-membership-password.is-visible .ccu-membership-password__icon--show {
    display: none;
}

.ccu-membership-password.is-visible .ccu-membership-password__icon--hide {
    display: block;
}
