/* BlueQueen v0.9 — scoped enquiry form feedback only.
   This file intentionally does not change any other page or component. */
#enquiryForm .bq-field-error{
  margin:8px 0 0;
  color:#a3161b;
  font-size:12px;
  line-height:1.5;
  font-weight:600;
  letter-spacing:0;
  animation:bq-feedback-in .2s ease both;
}
#enquiryForm .field input.is-invalid,
#enquiryForm .field textarea.is-invalid{
  border-bottom:2px solid #b9202a;
  box-shadow:0 2px 0 rgba(185,32,42,.12);
}
#enquiryForm .field input.is-invalid:focus,
#enquiryForm .field textarea.is-invalid:focus{
  outline:2px solid rgba(185,32,42,.22);
  outline-offset:2px;
}
#enquiryForm .bq-field-shake{
  animation:bq-error-nudge .36s cubic-bezier(.2,.7,.3,1);
}
#enquiryForm .form-status.error{
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:11px 14px;
  border-left:3px solid #b9202a;
  border-radius:3px;
  background:#fbeaec;
  color:#8c1821;
  font-weight:600;
  max-width:420px;
  animation:bq-feedback-in .25s ease both;
}
#enquiryForm .form-status.error::before{
  content:'!';
  flex:0 0 18px;
  display:grid;
  place-items:center;
  width:18px;height:18px;
  margin-top:1px;
  background:#b9202a;
  color:white;
  border-radius:50%;
  font-size:12px;
  font-weight:700;
}
#enquiryForm .form-status:empty{display:none}
#enquiryForm.bq-sending .submit{
  cursor:wait;
  opacity:.88;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
#enquiryForm.bq-sending .submit::after{
  content:'';
  display:inline-block;
  width:13px;height:13px;
  border:2px solid rgba(255,255,255,.4);
  border-top-color:#fff;
  border-radius:50%;
  animation:bq-button-spin .7s linear infinite;
}
#enquiryForm.bq-sending .form-status.sending{
  color:#39475a;
  font-size:13px;
}
/* Appears only after WordPress confirms the enquiry was saved.
   Seamlessly integrated into the original navy contact-section gradient:
   no success-card outline, decorative top line or surrounding border. */
#enquiryForm.sent{
  position:relative;
  min-height:315px;
  background:transparent;
  color:#fff;
  border:0;
  box-shadow:none;
}
#enquiryForm.sent .form-done{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  min-height:235px;
  position:relative;
  outline:none;
  animation:bq-success-arrive .65s cubic-bezier(.16,1,.3,1) both;
}
#enquiryForm.sent .bq-success-eyebrow{
  display:flex;
  align-items:center;
  gap:13px;
  margin-bottom:20px;
}
#enquiryForm.sent .bq-success-check{
  display:inline-block;
  flex:none;
  color:#ed333d;
  font:500 32px/1 Arial,sans-serif;
  animation:bq-check-reveal .6s cubic-bezier(.16,1,.3,1) .1s both;
}
#enquiryForm.sent .form-done .kicker{
  color:#f07b82;
  margin:0;
  font-weight:700;
}
#enquiryForm.sent .form-done h3{
  color:#fff;
  font-size:clamp(30px,4vw,44px);
  font-weight:500;
  line-height:1.12;
  letter-spacing:-.04em;
  margin:0 0 13px;
}
#enquiryForm.sent .form-done p{
  color:#cbd3e0;
  font-size:15px;
  line-height:1.7;
  max-width:37ch;
}
@keyframes bq-error-nudge{
  0%,100%{transform:translateX(0)}
  22%{transform:translateX(-4px)}
  46%{transform:translateX(4px)}
  70%{transform:translateX(-2px)}
}
@keyframes bq-feedback-in{
  from{opacity:0;transform:translateY(-5px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes bq-button-spin{to{transform:rotate(360deg)}}
@keyframes bq-success-arrive{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes bq-check-reveal{
  from{opacity:0;transform:scale(.68)}
  to{opacity:1;transform:scale(1)}
}
@media(max-width:600px){
  #enquiryForm.sent{min-height:310px}
  #enquiryForm.sent .form-done{min-height:255px}
  #enquiryForm.sent .bq-success-eyebrow{margin-bottom:16px}
  #enquiryForm .form-status.error{flex-basis:100%;max-width:none}
}
@media(prefers-reduced-motion:reduce){
  #enquiryForm .bq-field-error,
  #enquiryForm .bq-field-shake,
  #enquiryForm .form-status.error,
  #enquiryForm.bq-sending .submit::after,
  #enquiryForm.sent .form-done,
  #enquiryForm.sent .bq-success-check{
    animation:none!important;
    transition:none!important;
    transform:none!important;
  }
}
