.menu-form .wpcf7-form{
  --gold:#bb8238; --goldh:#a06d2c; --teal:#22a1c4;
  --ink:#3a3f44; --line:#e2ddd3; --muted:#8a8f94;
  max-width:440px; display:flex; flex-direction:column;
}
.menu-form h4{ margin:-70px 0 8px; }
.menu-form h3{ margin:0 0 22px; }
.menu-form .wpcf7-form .form-group{ position:relative; margin-bottom:13px; order:1; }
.menu-form .wpcf7-form .form-group label{
  display:block; position:static;
  font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted); font-weight:700; margin:0 0 5px; line-height:1.2;
}
.menu-form .wpcf7-form input[type=text],
.menu-form .wpcf7-form input[type=email],
.menu-form .wpcf7-form input[type=tel],
.menu-form .wpcf7-form textarea{
  width:100%; border:1px solid var(--line); border-radius:6px;
  background:#fff; color:var(--ink); font-size:14px; padding:0 12px 0 38px;
  box-sizing:border-box; transition:border-color .18s ease, box-shadow .18s ease;
}
.menu-form .wpcf7-form input[type=text],
.menu-form .wpcf7-form input[type=email],
.menu-form .wpcf7-form input[type=tel]{ height:40px; }
.menu-form .wpcf7-form textarea{ height:96px; padding:10px 12px 10px 38px; line-height:1.45; resize:none; }
.menu-form .wpcf7-form input::placeholder,
.menu-form .wpcf7-form textarea::placeholder{ color:#bdc0c3; }
.menu-form .wpcf7-form input:focus,
.menu-form .wpcf7-form textarea:focus{
  outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(187,130,56,.12);
}
.menu-form .wpcf7-form .wpcf7-form-control-wrap{ display:block; position:relative; }
.menu-form .wpcf7-form .wpcf7-form-control-wrap::before{
  content:""; position:absolute; left:12px; top:12px; width:16px; height:16px;
  background:var(--gold); -webkit-mask-size:contain; mask-size:contain;
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; z-index:2; pointer-events:none;
}
.menu-form .wpcf7-form .wpcf7-form-control-wrap:has(#f_name)::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3Cpath d='M6 21v-2a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v2'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3Cpath d='M6 21v-2a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v2'/%3E%3C/svg%3E");
}
.menu-form .wpcf7-form .wpcf7-form-control-wrap:has(#f_email)::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");
}
.menu-form .wpcf7-form .wpcf7-form-control-wrap:has(#f_tel)::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-3 2a11 11 0 0 0 5 5l2-3 5 2v4a2 2 0 0 1-2 2A18 18 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-3 2a11 11 0 0 0 5 5l2-3 5 2v4a2 2 0 0 1-2 2A18 18 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E");
}
.menu-form .wpcf7-form .wpcf7-form-control-wrap:has(#f_message)::before{
  top:12px;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v10H8l-4 4z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v10H8l-4 4z'/%3E%3C/svg%3E");
}
.menu-form .wpcf7-form .cf-turnstile,
.menu-form .wpcf7-form .wpcf7-turnstile,
.menu-form .wpcf7-form [data-sitekey]{ order:2; margin:6px 0 0; }
/* submit uses parent .btn - our styling removed */
.menu-form .wpcf7-form .wpcf7-not-valid-tip{ color:#c0392b; font-size:11px; margin-top:3px; order:1; }
.menu-form .wpcf7-form input.wpcf7-not-valid,
.menu-form .wpcf7-form textarea.wpcf7-not-valid{ border-color:#e0a0a0; }
.menu-form .wpcf7-form .wpcf7-response-output{
  border:0 !important; color:var(--gold); font-size:13px; margin:12px 0 0; padding:0; order:4;
}

/* === FIXES: kill flex reorder mess + close label gap === */
/* stop the form from being flex (it put submit on top) - back to normal flow */
.menu-form .wpcf7-form{ display:block !important; }
.menu-form .wpcf7-form .form-group,
.menu-form .wpcf7-form .cf-turnstile,
.menu-form .wpcf7-form .wpcf7-turnstile,
.menu-form .wpcf7-form [data-sitekey],
.menu-form .wpcf7-form #submit,
.menu-form .wpcf7-form .wpcf7-submit,
.menu-form .wpcf7-form .wpcf7-response-output{ order:0 !important; }

/* close the 29px label gap - the wrapper was adding space */
.menu-form .wpcf7-form .wpcf7-form-control-wrap{
  display:block !important; margin:0 !important; line-height:0 !important; font-size:0 !important;
}
/* keep inputs their normal size (wrapper font-size:0 would shrink them) */
.menu-form .wpcf7-form input,
.menu-form .wpcf7-form textarea{ font-size:14px !important; line-height:normal !important; }



/* labels: one size bigger, sit tight to their field */
.menu-form .wpcf7-form .form-group label{
  font-size:13px !important;
  margin:0 0 7px !important;
  line-height:1.3 !important;
}

/* message box a bit taller */
.menu-form .wpcf7-form textarea{ height:120px !important; }

/* remove CF7's red validation tip - keep the gray LABEL.error instead */
.menu-form .wpcf7-form .wpcf7-not-valid-tip{ display:none !important; }

/* === MOBILE: space Say Hello below nav + kill nav's bottom line === */
@media (max-width: 768px){
  /* undo the desktop pull-up and push the form section down below PRESS */
  .menu-form h4{ margin-top:40px !important; }
  /* kill the nav bottom border that shows as a line above Say Hello on mobile */
  #menu-wrapper nav,
  .menu-wrapper nav,
  #menu nav,
  .full-menu nav{ border-bottom:0 !important; }
}
