.newsletter-form{
    display:flex;
    gap:16px;
    align-items:center;
    flex-wrap:wrap;
}

.newsletter-field{
    flex:1;
    min-width:220px;
}

.newsletter-field input{
    width:100%;
    height:54px;
    padding:0 18px;
    border:1px solid #ddd;
    border-radius:8px;
    font-size:16px;
    box-sizing:border-box;
}

.newsletter-submit{
    display:flex;
}

.newsletter-submit input{
    height:54px;
    padding:0 35px;
    border:none;
    border-radius:8px;
    background:#5C2A57;
    color:#fff;
    font-weight:600;
    cursor:pointer;
    transition:.3s;
}

.newsletter-submit input:hover{
    background:#FF6F61;
}

@media(max-width:767px){

.newsletter-form{
    flex-direction:column;
}

.newsletter-field,
.newsletter-submit{
    width:100%;
}

.newsletter-submit input{
    width:100%;
}

}

/* ==========================
   Contact Form 7
========================== */

.cf7-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px;
}

.cf7-field{
    display:flex;
    flex-direction:column;
}

.cf7-field.full-width{
    grid-column:1/-1;
}

/* Labels */

.cf7-field label{
    font-size:15px;
    font-weight:600;
    color:#4B2A52;
    margin-bottom:10px;
    line-height:1.4;
}

/* Inputs */

.cf7-field input,
.cf7-field textarea,
.cf7-field select{
    width:100%;
    height:60px;
    padding:0 20px;
    border:1px solid #E6DED4;
    border-radius:14px;
    background:#fff;
    color:#333;
    font-size:16px;
    font-family:inherit;
    transition:.3s ease;
    box-sizing:border-box;
}

/* Textarea */

.cf7-field textarea{
    height:220px;
    padding:18px 20px;
    resize:vertical;
}

/* Select */

.cf7-field select{
    appearance:none;
    -webkit-appearance:none;
    cursor:pointer;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='%235B2A57' viewBox='0 0 16 16'%3E%3Cpath d='M1.5 5l6.5 6 6.5-6' stroke='%235B2A57' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 18px center;
}

/* Focus */

.cf7-field input:focus,
.cf7-field textarea:focus,
.cf7-field select:focus{
    outline:none;
    border-color:#5B2A57;
    box-shadow:0 0 0 4px rgba(91,42,87,.08);
}

/* Placeholder */

.cf7-field input::placeholder,
.cf7-field textarea::placeholder{
    color:#9A9A9A;
}

/* Acceptance */

.cf7-field .wpcf7-list-item{
    margin:0;
}

.cf7-field .wpcf7-list-item label{
    display:flex;
    align-items:flex-start;
    gap:12px;
    font-size:15px;
    font-weight:400;
    color:#555;
    cursor:pointer;
}

.cf7-field input[type="checkbox"]{
    width:18px;
    height:18px;
    margin-top:3px;
    accent-color:#5B2A57;
}

/* Submit Button */

.cf7-field .wpcf7-submit{
    background:#5B2A57;
    color:#fff;
    border:none;
    border-radius:999px;
    padding:18px 42px;
    font-size:16px;
    font-weight:600;
    cursor:pointer;
    transition:.3s ease;
    width:auto;
    min-width:200px;
}

.cf7-field .wpcf7-submit:hover{
    background:#6D3670;
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(91,42,87,.25);
}

/* Validation */

.wpcf7-not-valid-tip{
    color:#d63638;
    font-size:13px;
    margin-top:8px;
}

.wpcf7-spinner{
    margin-left:15px;
}

/* Response Output */

.wpcf7-response-output{
    margin-top:25px !important;
    border-radius:12px;
    padding:15px 20px !important;
}

/* Mobile */

@media (max-width:767px){

.cf7-grid{
    grid-template-columns:1fr;
    gap:22px;
}

.cf7-field.full-width{
    grid-column:auto;
}

.cf7-field input,
.cf7-field textarea,
.cf7-field select{
    height:56px;
    font-size:15px;
}

.cf7-field textarea{
    height:180px;
}

.cf7-field .wpcf7-submit{
    width:100%;
}

}