.rhigi-phone-live-status{
    display:block;
    min-height:19px;
    margin-top:6px;
    font-size:12px;
    font-weight:750;
    transition:color .2s ease;
}
.rhigi-phone-checking .rhigi-phone-live-status{color:#92400e}
.rhigi-phone-valid .rhigi-phone-live-status{color:#166534}
.rhigi-phone-invalid .rhigi-phone-live-status{color:#b91c1c}
.rhigi-phone-valid input{
    border-color:#22c55e!important;
    box-shadow:0 0 0 3px rgba(34,197,94,.1)!important;
}
.rhigi-phone-invalid input{
    border-color:#ef4444!important;
    box-shadow:0 0 0 3px rgba(239,68,68,.1)!important;
}
.rhigi-phone-checking .rhigi-phone-live-status:before{
    content:"";
    display:inline-block;
    width:10px;
    height:10px;
    margin-right:6px;
    border:2px solid rgba(146,64,14,.25);
    border-top-color:#92400e;
    border-radius:50%;
    vertical-align:-1px;
    animation:rhigi-phone-spin .7s linear infinite;
}
.rhigi-phone-valid .rhigi-phone-live-status:before{
    content:"✓";
    display:inline-block;
    margin-right:5px;
}
.rhigi-phone-invalid .rhigi-phone-live-status:before{
    content:"!";
    display:inline-grid;
    place-items:center;
    width:15px;
    height:15px;
    margin-right:5px;
    border-radius:50%;
    background:#b91c1c;
    color:#fff;
    font-size:10px;
}
.rhigi-phone-required-notice{
    display:grid;
    gap:4px;
    margin:0 0 18px;
    padding:17px 19px;
    border:2px solid #f97316;
    border-radius:16px;
    background:#fff7ed;
    box-shadow:0 12px 30px rgba(249,115,22,.12);
}
.rhigi-phone-required-notice strong{
    color:#9a3412;
    font-size:17px;
}
.rhigi-phone-required-notice span{
    color:#7c2d12;
}
#account_billing_phone,
#reg_billing_phone{
    min-height:48px;
    border-radius:12px;
}
@keyframes rhigi-phone-spin{to{transform:rotate(360deg)}}
@media(max-width:600px){
    .rhigi-phone-required-notice{padding:15px}
}
.wc-block-components-address-form__phone .wc-block-components-text-input__optional,
.wc-block-components-address-form__phone .optional,
#billing_phone_field .optional,
.rhigi-phone-field .optional{display:none!important}
.wc-block-components-address-form__phone label::after,
#billing_phone_field>label::after{content:" *";color:#b91c1c;font-weight:900}


/* 8.16.8 — strict but non-invasive Checkout Block phone validation */
.rhigi-checkout-phone-alert{
    position:fixed;
    z-index:1000000;
    inset:0;
    padding:18px;
    display:grid;
    place-items:center;
    background:rgba(2,6,23,.62);
    opacity:0;
    visibility:hidden;
    transition:opacity .16s ease,visibility .16s ease;
}
.rhigi-checkout-phone-alert.is-visible{
    opacity:1;
    visibility:visible;
}
.rhigi-checkout-phone-alert-card{
    width:min(430px,100%);
    padding:26px;
    border-radius:22px;
    background:#fff;
    box-shadow:0 30px 90px rgba(0,0,0,.3);
    text-align:center;
}
.rhigi-checkout-phone-alert-icon{
    width:56px;
    height:56px;
    margin:0 auto 13px;
    border-radius:18px;
    display:grid;
    place-items:center;
    color:#fff;
    background:linear-gradient(135deg,#ff7a00,#ff4d00);
    font-size:30px;
    font-weight:950;
}
.rhigi-checkout-phone-alert-card h3{
    margin:0;
    color:#0f172a;
    font-size:23px;
}
.rhigi-checkout-phone-alert-card p{
    margin:9px 0 17px;
    color:#64748b;
    line-height:1.55;
}
.rhigi-checkout-phone-alert-card button{
    min-height:48px;
    padding:0 20px;
    border:0;
    border-radius:13px;
    color:#fff;
    background:linear-gradient(135deg,#ff7a00,#ff4d00);
    font-weight:900;
    cursor:pointer;
}
