.ypi-flr-open-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:12px 22px;
    border:none;
    border-radius:8px;
    background:#c62828;
    color:#fff;
    font-size:14px;
    font-weight:700;
    letter-spacing:.4px;
    cursor:pointer;
    transition:transform .2s ease, opacity .2s ease;
}

.ypi-flr-open-btn:hover{
    opacity:.92;
    transform:translateY(-1px);
}

.ypi-flr-modal[hidden]{
    display:none !important;
}

.ypi-flr-modal{
    position:fixed;
    inset:0;
    z-index:99999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
}

.ypi-flr-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.55);
}

.ypi-flr-dialog{
    position:relative;
    z-index:2;
    width:min(92vw, 560px);
    margin:0;
    background:#fff;
    border-radius:8px;
    box-shadow:0 18px 60px rgba(0,0,0,.2);
    padding:28px;
    max-height:calc(100vh - 48px);
    overflow:auto;
}

.ypi-flr-close{
    position:absolute;
    top:10px;
    right:12px;
    border:none;
    background:transparent;
    font-size:28px;
    line-height:1;
    cursor:pointer;
    color:#777;
}

.ypi-flr-dialog h3{
    margin:0 0 8px;
    font-size:24px;
    line-height:1.2;
}

.ypi-flr-subtitle{
    margin:0 0 20px;
    color:#666;
    font-size:14px;
}

.ypi-flr-form label{
    display:block;
    margin-bottom:14px;
}

.ypi-flr-form label span{
    display:block;
    margin-bottom:6px;
    font-weight:600;
    font-size:14px;
    color:#222;
}

.ypi-flr-form input,
.ypi-flr-form select,
.ypi-flr-form textarea{
    width:100%;
    border:1px solid #d6d6d6;
    border-radius:8px;
    padding:12px 14px;
    font-size:14px;
    background:#fff;
}

.ypi-flr-form textarea{
    resize:vertical;
    min-height:120px;
}

.ypi-flr-form input:focus,
.ypi-flr-form select:focus,
.ypi-flr-form textarea:focus{
    outline:none;
    border-color:#111;
}

.ypi-flr-submit-btn{
    border:none;
    border-radius:8px;
    background:#111;
    color:#fff;
    padding:12px 22px;
    font-size:14px;
    font-weight:700;
    cursor:pointer;
}

.ypi-flr-submit-btn[disabled]{
    opacity:.7;
    cursor:not-allowed;
}

.ypi-flr-response{
    margin-top:14px;
    font-size:14px;
}

.ypi-flr-response.is-success{
    color:#116329;
    background:#edf8f1;
    border:1px solid #b7e2c4;
    border-radius:8px;
    padding:12px 14px;
    line-height:1.5;
}

.ypi-flr-response.is-error{
    color:#c62828;
    background:#fff1f1;
    border:1px solid #f1b5b5;
    border-radius:8px;
    padding:12px 14px;
    line-height:1.5;
}

body.ypi-flr-modal-open{
    overflow:hidden;
}

@media (max-width: 767px){
    .ypi-flr-dialog{
        width:min(94vw, 560px);
        margin:0;
        padding:22px 16px;
        max-height:calc(100vh - 24px);
        overflow:auto;
    }

    .ypi-flr-dialog h3{
        font-size:20px;
        padding-right:20px;
    }
}

.ypi-flr-wrap{
    position:relative;
}


.ypi-flr-hp{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
    clip:rect(1px, 1px, 1px, 1px) !important;
    clip-path:inset(50%) !important;
    white-space:nowrap !important;
}

/* v1.1.3 YPI.AE compact/regulatory variants */
.ypi-flr-open-btn--compact,
.ypi-flr-open-btn--regulatory,
.ypi-flr-open-btn--link{
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:#65736b;
    font-size:12px;
    font-weight:600;
    letter-spacing:0;
    text-decoration:underline;
    text-underline-offset:3px;
    box-shadow:none;
}

.ypi-flr-open-btn--compact:hover,
.ypi-flr-open-btn--regulatory:hover,
.ypi-flr-open-btn--link:hover{
    color:#2d8b73;
    opacity:1;
    transform:none;
}

.ypi-flr-wrap--regulatory,
.ypi-flr-wrap--compact,
.ypi-flr-wrap--link{
    display:inline-flex;
    align-items:center;
    min-width:0;
}

.ypi-flr-privacy{
    margin:-10px 0 18px;
    padding:10px 12px;
    border:1px solid #e3eee9;
    border-radius:8px;
    background:#f6fbf8;
    color:#52645b;
    font-size:12px;
    line-height:1.45;
}
