body.vatfr-open { overflow: hidden !important; }
.vatfr-overlay[hidden] { display: none !important; }
.vatfr-overlay {
    position: fixed; inset: 0; z-index: 100000;
    display: flex; align-items: center; justify-content: center;
    box-sizing: border-box; padding: 16px;
    background: rgba(4, 9, 25, .76);
    overscroll-behavior: contain;
}
.vatfr-panel {
    position: relative; box-sizing: border-box;
    width: 560px; max-width: 100%;
    max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px);
    margin: 0; padding: 30px 26px 20px;
    overflow-y: auto; overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    border-radius: 14px; border: 1px solid #dbe0e8;
    background: #fff; color: #252b36;
    box-shadow: 0 18px 70px rgba(0, 0, 0, .34);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px; line-height: 1.45; text-align: left;
}
.vatfr-panel .vatfr-title {
    margin: 0 38px 10px 0; color: #192065;
    font-size: 25px; line-height: 1.2; font-weight: 700; letter-spacing: normal;
}
.vatfr-panel .vatfr-intro { margin: 0 0 16px; color: #4d5665; font-size: 14px; line-height: 1.45; }
.vatfr-panel .vatfr-close {
    position: absolute; top: 10px; right: 10px;
    display: flex; align-items: center; justify-content: center;
    width: 44px; height: 44px; min-width: 44px;
    margin: 0; padding: 0; border: 0; border-radius: 8px;
    background: #f0f3f7; color: #192065;
    box-shadow: none; cursor: pointer; font-size: 30px; line-height: 1;
}
.vatfr-panel .vatfr-close::after { display: none; }
.vatfr-panel .vatfr-close:hover { background: #e2e9f2; }
.vatfr-panel :focus-visible { outline: 3px solid #1267bc; outline-offset: 3px; }
.vatfr-panel .wpcf7 { margin: 0; color: #252b36; }
.vatfr-panel .wpcf7 p { margin: 0 0 11px; color: inherit; }
.vatfr-panel .wpcf7 label { display: block; margin-bottom: 4px; color: #252b36; font-size: 14px; line-height: 1.4; }
.vatfr-panel .wpcf7 input[type="text"],
.vatfr-panel .wpcf7 input[type="email"],
.vatfr-panel .wpcf7 input[type="tel"],
.vatfr-panel .wpcf7 input[type="number"],
.vatfr-panel .wpcf7 textarea,
.vatfr-panel .wpcf7 select {
    box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0;
    margin: 5px 0 0; padding: 10px 12px;
    border: 1px solid #aab5c4; border-radius: 6px;
    background: #fff; color: #17202c;
    font: 16px/1.35 Arial, Helvetica, sans-serif; box-shadow: none;
}
.vatfr-panel .wpcf7 input::placeholder, .vatfr-panel .wpcf7 textarea::placeholder { color: #627082; opacity: 1; }
.vatfr-panel .wpcf7 textarea { min-height: 78px; height: 88px; resize: vertical; }
.vatfr-panel .wpcf7 input[type="submit"] {
    box-sizing: border-box; width: 100%; min-height: 46px;
    margin: 10px 0 0; padding: 12px 16px; border: 0; border-radius: 6px;
    background: #087daf; color: #fff; box-shadow: none;
    font: 700 16px/1.35 Arial, Helvetica, sans-serif; cursor: pointer;
}
.vatfr-panel .wpcf7 input[type="submit"]:hover { background: #06698f; }
.vatfr-panel .wpcf7 input[type="submit"]:disabled { opacity: .6; cursor: wait; }
.vatfr-panel .wpcf7 .wpcf7-not-valid { border-color: #bd2424; }
.vatfr-panel .wpcf7 .wpcf7-not-valid-tip { color: #b51d1d; font-size: 13px; }
.vatfr-panel .wpcf7 .wpcf7-response-output { margin: 12px 0; padding: 10px 12px; color: #252b36; background: #f7f9fc; }
.vatfr-panel .wpcf7 .wpcf7-spinner { margin: 7px 0 0; }
.vatfr-panel .vatfr-fallback { margin: 12px 0 0; color: #596474; font-size: 13px; line-height: 1.45; }
.vatfr-panel .vatfr-fallback a { color: #075d91; text-decoration: underline; }
@media (max-width: 600px) {
    .vatfr-overlay { padding: 8px; }
    .vatfr-panel { max-height: calc(100vh - 16px); max-height: calc(100dvh - 16px); padding: 26px 18px 18px; border-radius: 10px; }
    .vatfr-panel .vatfr-title { font-size: 22px; }
}
@media (max-width: 360px) {
    .vatfr-panel { padding-left: 12px; padding-right: 12px; }
    .vatfr-panel .wpcf7-recaptcha { transform: scale(.87); transform-origin: left top; margin-bottom: -10px; }
}
/* Preserve the existing honeypot's visual hiding; never remove its field or validation. */
.vatfr-panel .wpcf7 .addr-wrap { position: absolute !important; left: -10000px !important; top: auto !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
