/* Form controls. Enquiry forms are rendered by the iTrobes Settings plugin. */
.amx-field { display: grid; gap: var(--amx-space-1); margin-bottom: var(--amx-space-3); }
.amx-field label { font-weight: 600; font-size: .95rem; }
.amx-field input, .amx-field select, .amx-field textarea { width: 100%; padding: .7rem .9rem; border: 1px solid var(--amx-line); border-radius: var(--amx-radius); background: #fff; }
.amx-field input:focus, .amx-field select:focus, .amx-field textarea:focus { border-color: var(--amx-blue); outline: none; box-shadow: 0 0 0 3px rgba(27,110,243,.15); }
.amx-field__hint { font-size: .85rem; color: var(--amx-muted); }
.amx-field__error { font-size: .85rem; color: var(--amx-red); }

/* Success message: shown under the form, which stays ready for another enquiry. */
.its-form-done { margin-top: 20px; padding: 16px 20px; color: #13693a; font-size: 16px; line-height: 24px; font-weight: 500; background: #edf9f1; border: 1px solid #cdebd8; border-radius: 10px; scroll-margin-block: 110px; }
.its-form-done p { margin: 0; color: inherit; font: inherit; }
.its-form-done { font-family: var(--amx-font); }
.its-form-done:focus { outline: 2px solid #087ddd; outline-offset: 2px; }

/* Request a Quote popup */
.amx-quote-pop { width: 640px; max-width: 100%; max-height: 100dvh; padding: 30px 30px 50px; overflow-y: auto; color: var(--amx-ink); background: #dff1ff; border: 0; border-radius: 30px; box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, .2); }
.amx-quote-pop::backdrop { background: rgba(0, 0, 0, .8); }
.amx-quote-pop[open] { animation: amx-pop-in .5s cubic-bezier(.22, .61, .36, 1) both; }
.amx-quote-pop[open]::backdrop { animation: amx-pop-fade-in .5s ease both; }
.amx-quote-pop[open].is-closing { animation: amx-pop-out .3s ease both; }
.amx-quote-pop[open].is-closing::backdrop { animation: amx-pop-fade-out .3s ease both; }
@keyframes amx-pop-in { from { opacity: 0; transform: translateY(30px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes amx-pop-out { from { opacity: 1; transform: none; } to { opacity: 0; transform: translateY(20px) scale(.98); } }
@keyframes amx-pop-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes amx-pop-fade-out { from { opacity: 1; } to { opacity: 0; } }
.amx-quote-pop__close { position: absolute; top: 49px; right: 38px; display: grid; place-items: center; width: 40px; height: 40px; padding: 0; color: #fff; background: #2e3192; border: 0; border-radius: 50%; cursor: pointer; }
.amx-quote-pop__close svg { width: 20px; height: 20px; }
.amx-quote-pop__title { margin: 0 0 20px; padding-right: 50px; color: var(--amx-ink); font-size: 50px; line-height: 60px; font-weight: 500; letter-spacing: -2px; }
.amx-quote-pop .its-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px 50px; }
.amx-quote-pop .its-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.amx-quote-pop .its-form input:not([type=checkbox]):not([type=radio]), .amx-quote-pop .its-form select, .amx-quote-pop .its-form textarea { display: block; height: 45px; padding: 8px 0; color: #0c112b; font-family: var(--amx-font); font-size: 18px; line-height: 28px; font-weight: 400; background-color: transparent; border: 0; border-bottom: 1px solid #000; border-radius: 0; }
.amx-quote-pop .its-field--half { grid-column: span 1; }
.amx-quote-pop .its-field--select { align-self: center; }
.amx-quote-pop .its-form input[type=tel]:not([type=checkbox]):not([type=radio]) { padding-left: 52px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='14'%3E%3Cpath fill='%23fff' d='M0 0h21v14H0z'/%3E%3Cpath fill='%23009639' d='M0 0h21v4.67H0z'/%3E%3Cpath d='M0 9.33h21V14H0z'/%3E%3Cpath fill='%23f00' d='M0 0h6v14H0z'/%3E%3C/svg%3E") no-repeat left center / 21px 14px; }
.amx-quote-pop .its-form select { height: 40px; padding: 0 30px 0 0; background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' fill='none'%3E%3Cpath d='M1 1l7 7 7-7' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 8px center; appearance: none; }
.amx-quote-pop .its-form textarea { height: 123px; min-height: 123px; resize: vertical; }
.amx-quote-pop .its-form ::placeholder { color: #0c112b; opacity: .6; }
.amx-quote-pop .its-form input:focus, .amx-quote-pop .its-form select:focus, .amx-quote-pop .its-form textarea:focus { border-bottom-color: var(--amx-blue); box-shadow: none; }
.amx-quote-pop .its-actions { margin-top: 26px; }
.amx-quote-pop .its-btn { width: 202px; min-height: 0; padding: 12px 25px; color: #fff; font-family: var(--amx-font); font-size: 16px; line-height: 26px; font-weight: 500; background: #087ddd; border: 0; border-radius: 9px; cursor: pointer; }
.amx-quote-pop .its-btn:hover { background: var(--amx-navy); }

@media (max-width: 1400px) {
  .amx-quote-pop__title { font-size: 38px; line-height: 48px; }
  .amx-quote-pop__close { top: 48px; }
}
@media (max-width: 1024px) {
  .amx-quote-pop__title { font-size: 32px; line-height: 42px; }
}
@media (max-width: 767px) {
  .amx-quote-pop__title { font-size: 28px; line-height: 38px; }
  .amx-quote-pop .its-fields { grid-template-columns: minmax(0, 1fr); }
  .amx-quote-pop .its-field--half { grid-column: 1 / -1; }
  .amx-quote-pop .its-btn { width: 100%; }
  .amx-quote-pop__close { top: 61px; right: 23px; }
}
