.crs-customer-auth-card {
    width: min(100%, 760px);
    margin-inline: auto;
    display: grid;
    gap: 24px;
}

.crs-customer-auth-heading {
    display: grid;
    gap: 12px;
}

.crs-customer-auth-heading h1 {
    margin: 0;
    font-size: clamp(30px, 5vw, 46px);
    line-height: 1.2;
}

.crs-customer-auth-heading .lead {
    margin: 0;
}

.crs-customer-auth-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
}

.crs-phone-control {
    display: grid;
    grid-template-columns:
        minmax(170px, .8fr)
        minmax(0, 1.4fr);
    gap: 10px;
    align-items: stretch;
}

.crs-phone-control > input,
.crs-phone-control > select {
    min-width: 0;
}

.crs-recaptcha {
    min-height: 78px;
    overflow: hidden;
}

.crs-customer-auth-actions,
.crs-customer-auth-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.crs-customer-auth-actions > *,
.crs-customer-auth-footer > * {
    flex: 1 1 190px;
}

.crs-sms-notice {
    margin: 0;
    font-size: 13px;
    line-height: 1.8;
}

.crs-customer-profile-loading {
    min-height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: var(--muted);
}

.crs-customer-spinner {
    width: 28px;
    height: 28px;
    border: 3px solid var(--line);
    border-top-color: var(--g);
    border-radius: 999px;
    animation: crs-customer-spin .8s linear infinite;
}

.crs-verified-phone {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
}

.crs-verified-phone input[readonly],
.crs-phone-control input[readonly],
.crs-phone-control select:disabled {
    background: #f3f7f5 !important;
    color: var(--text);
    cursor: not-allowed;
}

.crs-phone-hint--verified {
    color: var(--g);
    font-weight: 800;
}

@keyframes crs-customer-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 620px) {
    .crs-phone-control {
        grid-template-columns: minmax(0, 1fr);
    }

    .crs-customer-auth-actions,
    .crs-customer-auth-footer {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .crs-customer-auth-actions > *,
    .crs-customer-auth-footer > * {
        width: 100%;
    }

    .crs-verified-phone {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (prefers-reduced-motion: reduce) {
    .crs-customer-spinner {
        animation: none;
    }
}

/* CRS R17 customer profile loader hidden-state fix */
.crs-customer-profile-loading[hidden] {
    display: none !important;
}


/* RCD_CUSTOMER_COUNTRY_PICKER_V1 — full 246-country searchable calling-code picker. */
.rcd-country-picker{
    position:relative;
    min-width:0;
}
.rcd-country-picker.is-enhanced > #customerCountry{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    min-width:1px!important;
    margin:0!important;
    padding:0!important;
    opacity:0!important;
    pointer-events:none!important;
    overflow:hidden!important;
    clip:rect(0 0 0 0)!important;
    white-space:nowrap!important;
}
.rcd-country-picker__trigger{
    display:flex;
    align-items:center;
    gap:10px;
    width:100%;
    min-width:0;
    min-height:48px;
    padding:0 14px;
    border:1px solid #cfe1d8;
    border-radius:13px;
    background:#fff;
    color:#173b2f;
    box-shadow:none;
    cursor:pointer;
    text-align:start;
    transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.rcd-country-picker__trigger:hover,
.rcd-country-picker__trigger:focus-visible,
.rcd-country-picker.is-open .rcd-country-picker__trigger{
    border-color:#68b68e;
    box-shadow:0 0 0 3px rgba(8,120,70,.08);
    outline:none;
}
.rcd-country-picker__flag{
    flex:0 0 auto;
    font-size:18px;
    line-height:1;
}
.rcd-country-picker__selected{
    flex:1 1 auto;
    min-width:0;
    overflow:hidden;
    color:#24483a;
    font-size:14px;
    font-weight:650;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.rcd-country-picker__chevron{
    flex:0 0 auto;
    width:8px;
    height:8px;
    border-right:2px solid #315c4b;
    border-bottom:2px solid #315c4b;
    transform:rotate(45deg) translateY(-2px);
    transition:transform .18s ease;
}
.rcd-country-picker.is-open .rcd-country-picker__chevron{
    transform:rotate(225deg) translate(-1px,-1px);
}
.rcd-country-picker__panel{
    position:absolute;
    z-index:120;
    top:calc(100% + 8px);
    inset-inline-start:0;
    width:min(390px,calc(100vw - 40px));
    max-width:max(100%,390px);
    overflow:hidden;
    border:1px solid #d6e4dc;
    border-radius:18px;
    background:#fff;
    box-shadow:0 24px 58px rgba(10,61,42,.18);
}
.rcd-country-picker__search-wrap{
    position:sticky;
    top:0;
    z-index:3;
    display:flex;
    align-items:center;
    gap:9px;
    padding:10px;
    border-bottom:1px solid #e3ece7;
    background:#fff;
}
.rcd-country-picker__search-icon{
    position:absolute;
    inset-inline-start:22px;
    width:15px;
    height:15px;
    border:2px solid #5b7469;
    border-radius:50%;
    pointer-events:none;
}
.rcd-country-picker__search-icon::after{
    content:"";
    position:absolute;
    width:7px;
    height:2px;
    background:#5b7469;
    border-radius:99px;
    transform:rotate(45deg);
    inset-inline-start:10px;
    top:11px;
}
.rcd-country-picker__search{
    width:100%;
    min-height:44px!important;
    padding-inline:42px 13px!important;
    border:1px solid #cfe1d8!important;
    border-radius:12px!important;
    background:#f8fbf9!important;
    color:#173b2f!important;
    font-size:14px!important;
    outline:none!important;
}
.rcd-country-picker__search:focus{
    border-color:#68b68e!important;
    box-shadow:0 0 0 3px rgba(8,120,70,.08)!important;
}
.rcd-country-picker__list{
    max-height:min(390px,52vh);
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:6px;
    scrollbar-width:thin;
}
.rcd-country-picker__option{
    display:grid;
    grid-template-columns:28px minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    width:100%;
    min-height:44px;
    padding:8px 10px;
    border:0;
    border-radius:11px;
    background:transparent;
    color:#24483a;
    cursor:pointer;
    text-align:start;
}
.rcd-country-picker__option:hover,
.rcd-country-picker__option:focus-visible{
    background:#eff8f3;
    outline:none;
}
.rcd-country-picker__option.is-selected{
    background:#e5f5ec;
    color:#087846;
}
.rcd-country-picker__option-flag{
    font-size:18px;
    line-height:1;
    text-align:center;
}
.rcd-country-picker__option-name{
    min-width:0;
    overflow:hidden;
    font-size:13px;
    font-weight:700;
    line-height:1.3;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.rcd-country-picker__option-code{
    direction:ltr;
    color:#62756c;
    font-size:12px;
    font-weight:800;
    white-space:nowrap;
}
.rcd-country-picker__empty{
    padding:24px 16px;
    color:#6b7b73;
    font-size:13px;
    text-align:center;
}
html[dir="rtl"] .rcd-country-picker__panel{
    direction:rtl;
}
html[dir="ltr"] .rcd-country-picker__panel{
    direction:ltr;
}
@media(max-width:620px){
    .rcd-country-picker__panel{
        width:100%;
        max-width:100%;
    }
    .rcd-country-picker__list{
        max-height:min(360px,48vh);
    }
}
/* RCD_CUSTOMER_COUNTRY_PICKER_V1_END */

/* Preserve authentication step visibility against explicit grid/flex rules. */
#customerAuthApp [hidden] {
    display: none !important;
}
