/* MYAZM Quote Form Styles */
.myazm-qf { font-family: var(--myazm-font, 'Figtree', sans-serif); }
.myazm-qf--modal { position: fixed; inset: 0; display: none; z-index: 9999; }
.myazm-qf--modal.show { display: block; }
.myazm-qf__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.45); }
.myazm-qf__card { position: relative; max-width: 720px; margin: 5vh auto; background: #fff; border-radius: 18px; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,.2); }
.myazm-qf--inline .myazm-qf__card { margin: 0; }
.myazm-qf__close { position: absolute; right: 10px; top: 8px; background: transparent; border: 0; font-size: 28px; line-height: 1; color: #fff; cursor: pointer; }
.myazm-qf__header { padding: 28px 28px 18px; }
.myazm-qf__header h2 { margin: 0 0 6px; font-weight: 700; }
.myazm-qf__header p { margin: 0; opacity: .9; }

.myazm-qf__form { padding: 22px; }
.myazm-qf__field { margin-bottom: 16px; }
.myazm-qf__field label { display:block; font-weight:600; margin-bottom:6px; color: #22232D; }
.myazm-qf__field input, .myazm-qf__field select, .myazm-qf__field textarea {
  width: 100%; padding: 12px 14px; border: 1px solid #e3e3e7; border-radius: 10px; font-size: 16px;
}
.myazm-qf__field input:focus, .myazm-qf__field select:focus, .myazm-qf__field textarea:focus {
  outline: 2px solid var(--myazm-primary, #AE8539);
  border-color: transparent;
}

.myazm-qf__options { display:flex; gap: 10px; align-items:center; }
.myazm-qf__radio { display:flex; gap:8px; align-items:center; padding:8px 10px; border:1px solid #e3e3e7; border-radius:10px; }

.myazm-qf__actions { display:flex; justify-content: flex-end; gap: 10px; margin-top: 10px; }
.myazm-qf__btn { background: var(--myazm-primary, #AE8539); color:#fff; border:0; padding:12px 18px; border-radius: 999px; font-weight:600; cursor:pointer; }
.myazm-qf__btn--ghost { background: transparent; color: var(--myazm-primary, #AE8539); border: 2px solid var(--myazm-primary, #AE8539); }

.myazm-qf__message { margin-top: 12px; font-weight:600; }

/* Utility: attach to any button/link to open modal */
a.myazm-quote-button, button.myazm-quote-button { background:#AE8539; color:#fff; padding:10px 16px; border-radius:999px; border:0; cursor:pointer; }



/* Inline sms/checkbox styling and tighter spacing */
.myazm-qf__field--radio .myazm-qf__options {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.myazm-qf__field--radio .myazm-qf__radio {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 10px;
  margin: 0;
  border: 1px solid #e9e9ec;
}
.myazm-qf__field--radio input[type="checkbox"], .myazm-qf__field--radio input[type="radio"] {
  margin: 0;
  width: 18px;
  height: 18px;
}

/* Invalid field visual */
.myazm-qf__invalid {
  box-shadow: 0 0 0 3px rgba(224,47,47,0.06);
  border-color: #e02f2f !important;
}

/* Message default style (will be overridden when showing success) */
.myazm-qf__message {
  color: #22232D;
  text-align: center;
  font-weight: 600;
}

/* Reduce spacing for tighter UI */
.myazm-qf__field { margin-bottom: 12px; }
.myazm-qf__form { padding: 18px; }
.myazm-qf__header { padding: 18px 18px 12px; }



/* THANK YOU MESSAGE */
.myazm-qf__message { 
  color: #000 !important; 
  font-weight: 700; 
  font-size: 20px; 
  text-align: center; 
  padding: 40px 0; 
}

/* SMS checkbox inline & tidy */
.myazm-qf__field--checkbox .myazm-qf__checkbox {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid #eaeaea;
}

.myazm-qf__field--checkbox input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--myazm-primary, #AE8539); /* modern browsers use this */
}

/* Invalid / required visual */
.myazm-qf__invalid {
  border-color: #d93025 !important; /* red edge for invalid fields */
  box-shadow: 0 0 0 3px rgba(217,48,37,0.06);
}

/* Small inline error note */
.myazm-qf__error {
  color: #d93025;
  font-size: 13px;
  margin-top: 6px;
}

/* Thank you centered black text and hide whitespace */
.myazm-qf__thankyou {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
  font-weight: 700;
  font-size: 20px;
  padding: 40px 20px;
  text-align: center;
  background: transparent;
}

/* Ensure steps container collapses after hide (prevents whitespace) */
.myazm-qf__steps { transition: height .22s ease; }
.myazm-qf__steps.hidden { display: none; }