/* ==========================================================================
   MIMSHACK FORGE — CONTACT FORM + FAQ ACCORDION
   ========================================================================== */

.ms-contact-form{ max-width: 640px; }
.ms-form-row{ margin-bottom: var(--ms-space-sm); display:flex; flex-direction:column; gap:0.3rem; }
.ms-form-row-group{ display:grid; grid-template-columns: 1fr 1fr; gap: var(--ms-space-sm); }
.ms-form-row label{ font-weight:600; font-size:0.9rem; }
.ms-form-row input[type="text"], .ms-form-row input[type="email"], .ms-form-row input[type="tel"],
.ms-form-row textarea, .ms-form-row select{
  padding: 0.65rem 0.8rem; border:1px solid var(--ms-color-border); border-radius: var(--ms-radius-sm);
  font: inherit; width:100%;
}
.ms-form-checkboxes{ display:flex; flex-wrap:wrap; gap: 0.6rem 1rem; }
.ms-checkbox{ font-weight:400 !important; display:flex; align-items:center; gap:0.4rem; font-size:0.9rem; }
.ms-contact-notice{ padding: var(--ms-space-sm) var(--ms-space-md); border-radius: var(--ms-radius-sm); margin-bottom: var(--ms-space-md); }
.ms-contact-notice.is-success{ background: #E7F6EC; color: #14532D; }
.ms-contact-notice.is-error{ background: #FDEDED; color: #7A1E1E; }
.ms-contact-form__whatsapp{ margin-top: var(--ms-space-md); font-weight:600; }
.ms-contact-form__whatsapp a{ color: var(--ms-color-primary-blue); text-decoration:none; }

.ms-faq-accordion{ max-width: 760px; }
.ms-faq-item{ border-bottom: 1px solid var(--ms-color-border); }
.ms-faq-question{
  width:100%; text-align:left; background:none; border:none; cursor:pointer;
  display:flex; justify-content:space-between; align-items:center;
  padding: var(--ms-space-sm) 0; font-size:1rem; font-weight:600; color: var(--ms-color-deep-navy);
}
.ms-faq-answer{ max-height:0; overflow:hidden; transition: max-height var(--ms-duration-menu) var(--ms-ease); color: var(--ms-color-text-muted); }
.ms-faq-answer.is-open{ max-height: 600px; padding-bottom: var(--ms-space-sm); }

/* Inline CTA + FAQ bands (appear on singles and archives) */
.ms-inline-cta{
  margin: var(--ms-space-xl) 0; padding: var(--ms-space-lg);
  background: linear-gradient(135deg, var(--ms-color-deep-navy), #141B24);
  color: var(--ms-color-white); border-radius: var(--ms-radius-lg); text-align:center;
}
.ms-inline-cta h3{ color: var(--ms-color-white); margin: 0 0 0.4rem; }
.ms-inline-cta p{ margin: 0 0 var(--ms-space-md); color: rgba(255,255,255,0.8); }

.ms-inline-faq{ margin: var(--ms-space-xl) 0; }
.ms-inline-faq h3{ margin-bottom: var(--ms-space-md); }

/* Quick quote form */
.ms-quote-form{ max-width: 720px; margin: 0 auto; display:flex; flex-direction:column; gap: var(--ms-space-md); }
.ms-quote-form__grid{ display:grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap: var(--ms-space-md); }
.ms-quote-field{ display:flex; flex-direction:column; gap:0.35rem; font-size:0.92rem; color: var(--ms-color-text); }
.ms-quote-field span{ font-weight:600; }
.ms-quote-field input, .ms-quote-field select, .ms-quote-field textarea{
  font: inherit; padding: 0.7rem 0.85rem; border-radius: 8px;
  border: 1px solid var(--ms-color-border); background: var(--ms-color-white); color: var(--ms-color-text);
}
.ms-quote-field input:focus, .ms-quote-field select:focus, .ms-quote-field textarea:focus{
  outline: 2px solid var(--ms-color-primary-blue); outline-offset: 1px; border-color: var(--ms-color-primary-blue);
}
.ms-quote-consent{ display:flex; gap:0.6rem; align-items:flex-start; font-size:0.88rem; color: var(--ms-color-text-muted); }
.ms-quote-consent input{ margin-top:0.25rem; }
.ms-quote-form__submit{ align-self:flex-start; }
.ms-quote-form__fine{ font-size:0.8rem; color: var(--ms-color-text-muted); margin:0; }
.ms-quote-form__honeypot{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.ms-quote-notice{ padding: 0.9rem 1.1rem; border-radius: 8px; margin-bottom: var(--ms-space-md); font-size:0.95rem; }
.ms-quote-notice.is-success{ background: rgba(11,94,215,0.08); border:1px solid var(--ms-color-primary-blue); color: var(--ms-color-deep-navy); }
.ms-quote-notice.is-error{ background: rgba(180,40,40,0.07); border:1px solid #B42828; color:#7A1B1B; }
