.cf7-popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.cf7-popup-overlay.active {
    display: flex;
    opacity: 1;
}

.cf7-popup-container {
    position: relative;
    background: #333;
    border-radius: 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    max-width: 730px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    transform: scale(0.7);
    transition: transform 0.3s ease;
}

.cf7-popup-overlay.active .cf7-popup-container {
    transform: scale(1);
}

.cf7-popup-close {
    position: absolute;
    top: 10px;
    right: 10px;
    background: none;
    border: none;
    font-size: 39px;
    font-weight: 100;
    line-height: 1;
    color: #fff;
    cursor: pointer;
    padding: 5px 10px;
    z-index: 10;
    transition: color 0.2s ease;
    width: 44px;
    height: 44px;
}

.cf7-popup-close:hover {
    color: #ccc;
}

.cf7-popup-content {
    padding: 60px 115px;
}

.cf7-popup-title {
    margin: 0 0 30px 0;
    font-family: inherit;
    font-size: 38px;
    font-weight: 700;
    color: #fff;
    text-align: center;
}

.cf7-popup-form-wrapper p {
    margin: 0;
}

.cf7-popup-form-wrapper p>label>span:first-child {
    display: block;
    position: relative;
    z-index: 2;
    margin-bottom: -10px;
    font-family: inherit;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: #fff;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.cf7-popup-form-wrapper p>label.active>span:first-child {
    opacity: 1;
    transform: translateY(0);
}

.cf7-popup-form-wrapper span.wpcf7-form-control-wrap {
    display: block;
    position: relative;
    padding-bottom: 25px;
}

.cf7-popup-form-wrapper span.wpcf7-form-control-wrap > input,
.cf7-popup-form-wrapper span.wpcf7-form-control-wrap > textarea {
    width: 100%;
    padding: 10px 18px 10px 0;
    font-family: inherit;
    font-weight: 300;
    font-size: 18px;
    line-height: 1.5;
    color: #fff;
    background-color: transparent;
    border: none;
    border-bottom: 2px solid rgba(255, 255, 255, 0.3);
}

.cf7-popup-form-wrapper span.wpcf7-form-control-wrap > input::placeholder,
.cf7-popup-form-wrapper span.wpcf7-form-control-wrap > textarea::placeholder {
    font-family: inherit;
    font-weight: 400;
    font-size: 18px;
    line-height: 1;
    letter-spacing: 0.03em;
    color: rgba(255, 255, 255, 0.7);
    opacity: 1;
}

.cf7-popup-form-wrapper span.wpcf7-form-control-wrap > input:focus-visible,
.cf7-popup-form-wrapper span.wpcf7-form-control-wrap > input:focus,
.cf7-popup-form-wrapper span.wpcf7-form-control-wrap > textarea:focus-visible,
.cf7-popup-form-wrapper span.wpcf7-form-control-wrap > textarea:focus {
    outline: none;
    border-color: #fff;
}

.cf7-popup-form-wrapper span.wpcf7-form-control-wrap > input:focus-visible::placeholder,
.cf7-popup-form-wrapper span.wpcf7-form-control-wrap > input:focus::placeholder,
.cf7-popup-form-wrapper span.wpcf7-form-control-wrap > textarea:focus-visible::placeholder,
.cf7-popup-form-wrapper span.wpcf7-form-control-wrap > textarea:focus::placeholder {
    opacity: 0;
}

.cf7-popup-form-wrapper span.wpcf7-form-control-wrap > input {
    line-height: 1;
}

.cf7-popup-form-wrapper span.wpcf7-form-control-wrap > input.wpcf7-not-valid,
.cf7-popup-form-wrapper span.wpcf7-form-control-wrap > textarea.wpcf7-not-valid {
    border-color: red;
}

.cf7-popup-form-wrapper span.wpcf7-form-control-wrap .wpcf7-not-valid-tip {
    position: absolute;
    left: 0;
    bottom: 0;
    font-family: inherit;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.1;
    letter-spacing: 0.02em;
    color: #f44336;
}

.cf7-popup-form-wrapper .wpcf7-checkbox input[type=checkbox]:checked + .wpcf7-list-item-label:before {
    content: url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M5 3H19C20.11 3 21 3.9 21 5V19C21 20.1 20.11 21 19 21H5C3.89 21 3 20.1 3 19V5C3 3.9 3.89 3 5 3ZM5 12L10 17L19 8L17.59 6.58L10 14.17L6.41 10.59L5 12Z" fill="white"/></svg>');
}

.cf7-popup-form-wrapper .wpcf7-list-item-label {
    display: flex;
    align-items: center;
    font-family: inherit;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: color 0.2s ease;
}

.cf7-popup-form-wrapper .wpcf7-list-item-label:before {
    content: url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M5 3H19C20.1 3 21 3.9 21 5V19C21 20.1 20.1 21 19 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3ZM19 19V5H5V19H19Z" fill="white" fill-opacity="0.5"/></svg>');
    display: block;
    width: 24px;
    height: 24px;
    margin-right: 10px;
    transition: all 0.2s ease;
}

.cf7-popup-form-wrapper .wpcf7-list-item-label:hover {
    color: #fff;
}

.cf7-popup-form-wrapper .wpcf7-checkbox input[type=checkbox]:focus + .wpcf7-list-item-label {
    color: #fff;
}

.cf7-popup-form-wrapper .wpcf7-checkbox input[type=checkbox]:focus + .wpcf7-list-item-label:before {
    outline: 2px solid rgba(255, 255, 255, 0.8);
    outline-offset: 2px;
    border-radius: 4px;
}

.cf7-popup-form-wrapper .wpcf7-list-item {
    margin: 0;
}

.cf7-popup-form-wrapper input[type=checkbox],
.cf7-popup-form-wrapper input[type=file] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.cf7-popup-form-wrapper .form__file-wrap {
    margin-top: 35px;
}

.cf7-popup-form-wrapper .form__file-wrap label {
    cursor: pointer;
}

.cf7-popup-form-wrapper .form__file-wrap label > b {
    display: flex;
    align-items: center;
    font-family: inherit;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.5);
}

.cf7-popup-form-wrapper .form__file-wrap label > b:before {
    content: url('data:image/svg+xml,<svg width="23" height="23" viewBox="0 0 23 23" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.8931 18.0267L8.93707 19.9827C8.14185 20.778 7.08445 21.2156 5.95946 21.2152C4.83425 21.2149 3.77614 20.7761 2.97995 19.98C2.18376 19.1838 1.74471 18.126 1.74391 17.0016C1.74311 15.8768 2.18098 14.819 2.97717 14.0228L8.77817 8.22183C9.5734 7.4266 10.6308 6.98873 11.7556 6.9891C12.8807 6.98937 13.9389 7.4282 14.7353 8.2246L15.9534 9.44273C16.1619 9.65121 16.1622 9.98896 15.954 10.1971C15.7459 10.4053 15.4081 10.405 15.1997 10.1965L13.9815 8.97837C12.7547 7.75151 10.7592 7.75076 9.53317 8.97682L3.73216 14.7778C2.50621 16.0038 2.50686 17.9993 3.73372 19.2262C4.96058 20.453 6.95602 20.4538 8.18208 19.2277L10.1381 17.2717C10.3463 17.0636 10.684 17.0638 10.8925 17.2723C11.101 17.4808 11.1012 17.8186 10.8931 18.0267Z" fill="white" fill-opacity="0.5"/><path d="M19.9529 8.96652L14.1519 14.7675C13.3567 15.5627 12.2993 16.0006 11.1745 16.0002C10.0494 16 8.9912 15.5611 8.19479 14.7647L6.84573 13.4157C6.63725 13.2072 6.63697 12.8694 6.84512 12.6613C7.05327 12.4532 7.39102 12.4534 7.5995 12.6619L8.94856 14.011C10.1754 15.2378 12.1709 15.2386 13.3969 14.0125L19.198 8.21142C20.424 6.98547 20.4233 4.98992 19.1965 3.76306C17.9696 2.5362 15.9742 2.53544 14.7481 3.7615L12.7921 5.71753C12.5839 5.92568 12.2462 5.9254 12.0377 5.71692C11.8292 5.50843 11.8288 5.17079 12.037 4.96265L13.993 3.00662C14.7882 2.21139 15.8456 1.77374 16.9706 1.77411C18.0958 1.77448 19.1539 2.2132 19.9501 3.0094C20.7463 3.80559 21.1854 4.86337 21.1862 5.98772C21.187 7.1125 20.749 8.17043 19.9529 8.96652Z" fill="white" fill-opacity="0.5"/></svg>');
    display: block;
    margin-right: 10px;
    margin-bottom: -5px;
}

.cf7-popup-form-wrapper .form__file-wrap label > b:hover {
    color: rgba(255, 255, 255, 0.75);
}

.cf7-popup-form-wrapper input[type=submit] {
    display: flex;
    min-width: 250px;
    padding: 18px 1.2em 18px;
    font-family: inherit;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    text-align: center;
    color: #fff;
    background-color: #aaa;
    border: 1px solid #aaa;
    border-radius: 40px;
}

.cf7-popup-form-wrapper input[type=submit]:hover {
    color: #fff;
    background-color: #bbb;
}

.cf7-popup-form-wrapper input[type=submit]:focus,
.cf7-popup-form-wrapper input[type=submit]:focus-visible {
    border: none;
    background-color: #000;
}

.cf7-popup-form-wrapper input[type=submit]:disabled {
    background-color: #ccc;
}

.cf7-popup-form-wrapper .wpcf7-response-output {
    padding: 0;
    margin: 20px 0 0 0;
    font-family: inherit;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.1;
    letter-spacing: 0.02em;
    color: #fff;
    border: none;
}

.cf7-popup-form-wrapper form.failed .wpcf7-response-output,
.cf7-popup-form-wrapper form.aborted .wpcf7-response-output {
    color: red;
}

.cf7-popup-form-wrapper input:-webkit-autofill,
.cf7-popup-form-wrapper input:-webkit-autofill:hover,
.cf7-popup-form-wrapper input:-webkit-autofill:focus,
.cf7-popup-form-wrapper textarea:-webkit-autofill,
.cf7-popup-form-wrapper textarea:-webkit-autofill:hover,
.cf7-popup-form-wrapper textarea:-webkit-autofill:focus,
.cf7-popup-form-wrapper select:-webkit-autofill,
.cf7-popup-form-wrapper select:-webkit-autofill:hover,
.cf7-popup-form-wrapper select:-webkit-autofill:focus {
    background-color: transparent !important;
    -webkit-text-fill-color: #fff !important;
    -webkit-box-shadow: 0 0 0 1000px #333 inset !important;
}

.cf7-popup-success-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.85);
    z-index: 10000;
    display: none;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.cf7-popup-success-overlay.active {
    display: flex;
    opacity: 1;
}

.cf7-popup-success-container {
    position: relative;
    background: #333;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
    max-width: 500px;
    width: 90%;
    max-width: 730px;
    padding: 60px 40px;
    text-align: center;
    transform: scale(0.7);
    transition: transform 0.3s ease;
    color: #fff;
}

.cf7-popup-success-overlay.active .cf7-popup-success-container {
    transform: scale(1);
}

.cf7-popup-success-close {
    position: absolute;
    top: 10px;
    right: 10px;
    background: none;
    border: none;
    font-size: 39px;
    font-weight: 100;
    line-height: 1;
    color: #fff;
    cursor: pointer;
    padding: 5px 10px;
    z-index: 10;
    transition: color 0.2s ease;
    width: 44px;
    height: 44px;
}

.cf7-popup-success-close:hover {
    color: #ccc;
}

.cf7-popup-success-title {
    font-family: inherit;
    font-weight: 700;
    font-size: 36px;
    line-height: 100%;
    letter-spacing: 0%;
    color: #fff;
    margin-bottom: 24px;
}

.cf7-popup-success-message {
    font-family: inherit;
    font-weight: 300;
    font-size: 16px;
    line-height: 25px;
    letter-spacing: 0%;
    color: #fff;
    margin-bottom: 0;
}

@media screen and (max-width: 768px) {
    .cf7-popup-container {
        width: 95%;
        max-height: 95vh;
    }
    
    .cf7-popup-content {
        padding: 20px;
    }
    
    .cf7-popup-title {
        font-size: 20px;
    }
    
    .cf7-popup-form-wrapper .wpcf7-checkbox {
        display: flex;
        justify-content: center;
    }
    
    .cf7-popup-form-wrapper input[type=submit] {
        margin: 0 auto;
    }
    
    .cf7-popup-success-container {
        padding: 40px 30px;
    }
    
    .cf7-popup-success-title {
        font-size: 28px;
    }
    
    .cf7-popup-success-message {
        font-size: 16px;
    }
}

@media screen and (max-width: 576px) {
    .cf7-popup-form-wrapper .wpcf7-list-item-label:before {
        margin-right: 30px;
    }
}
