/* Nowoka — CF7 Contact Form. Scoped to .nowoka-contact-form. Single column. */

 /* Form is transparent — outer Elementor container provides the card chrome.
    If used standalone (no outer card), add bg/border on the Elementor container. */
 .nowoka-contact-form {
   background: transparent;
   padding: 0;
   width: 100%;
   box-sizing: border-box;
 }

 .nowoka-contact-form p { margin: 0; }
 .nowoka-contact-form br { display: none; }

 .nowoka-cf-field {
   margin-bottom: 20px;
   display: flex;
   flex-direction: column;
 }

 .nowoka-cf-field label {
   font-size: 14px;
   font-weight: 600;
   color: var(--nw-ink);
   margin-bottom: 10px;
   letter-spacing: 0.01em;
 }

 .nowoka-cf-field .req { color: var(--nw-pink); font-weight: 700; }

 .nowoka-contact-form .wpcf7-form-control-wrap { display: block; }

 .nowoka-contact-form input[type="text"],
 .nowoka-contact-form input[type="email"],
 .nowoka-contact-form input[type="tel"],
 .nowoka-contact-form input[type="url"],
 .nowoka-contact-form select,
 .nowoka-contact-form textarea {
    border: 1px solid var(--nw-border);
    border-radius: var(--nw-form-radius);
    line-height: 1;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    box-sizing: border-box;
 }

 .nowoka-contact-form textarea {
   min-height: 140px;
   resize: vertical;
 }

 .nowoka-contact-form input::placeholder,
 .nowoka-contact-form textarea::placeholder {
   color: #9aa0a6;
 }

 .nowoka-contact-form input:focus,
 .nowoka-contact-form textarea:focus {
   outline: none;
   border-color: var(--nw-form-ink);
   box-shadow: 0 0 0 3px var(--nw-card-soft);
 }

 .nowoka-cf-submit {
   margin-top: 8px;
 }

 .nowoka-contact-form input[type="submit"] {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   background: var(--nw-ink);
   color: #fff;
   border: 0;
   border-radius: 999px;
   padding: 14px 32px;
   font-size: 15px;
   font-weight: 600;
   letter-spacing: 0.01em;
   cursor: pointer;
   transition: transform 0.15s ease, background 0.15s ease;
 }

 .nowoka-contact-form input[type="submit"]:hover {
   background: var(--nw-accent);
   color: var(--nw-ink);
   transform: translateY(-1px);
 }

 .nowoka-contact-form input[type="submit"]:active {
   transform: translateY(0);
 }

 .nowoka-contact-form .wpcf7-spinner { margin-left: 12px; }

 .nowoka-contact-form .wpcf7-not-valid-tip {
   font-size: 12px;
   color: var(--nw-pink);
   margin-top: 6px;
 }

 .nowoka-contact-form .wpcf7-response-output {
   border-radius: var(--nw-radius);
   margin: 18px 0 0;
   padding: 12px 16px;
   font-size: 14px;
 }

 .nowoka-contact-form .wpcf7 form.invalid .wpcf7-response-output,
 .nowoka-contact-form .wpcf7 form.unaccepted .wpcf7-response-output {
   border-color: var(--nw-pink);
   color: var(--nw-pink);
 }

 .nowoka-contact-form .wpcf7 form.sent .wpcf7-response-output {
   border-color: var(--nw-accent);
   color: var(--nw-ink);
   background: rgba(217, 244, 95, 0.2);
 }

 @media (max-width: 640px) {
   .nowoka-contact-form { padding: 22px; }
   .nowoka-contact-form input[type="text"],
   .nowoka-contact-form input[type="email"],
   .nowoka-contact-form input[type="tel"],
   .nowoka-contact-form textarea { padding: 12px 14px; font-size: 14px; }
   .nowoka-contact-form input[type="submit"] { width: 100%; padding: 14px 24px; }
 }