/* Urban Appliance Services - Elementor form skin.
   Self-sufficient: Elementor 4.x ships almost no base form-field CSS, and the
   per-document CSS for a shortcode-rendered template is never enqueued, so every
   layout rule the fields need is defined here. */

/* --- neutralise Elementor's section/column chrome inside our own cards --- */
.uas-modal__form--el .elementor,
.uas-contact__form--el .elementor{width:100%}
.uas-modal__form--el .elementor-section,
.uas-contact__form--el .elementor-section,
.uas-modal__form--el .elementor-container,
.uas-contact__form--el .elementor-container,
.uas-modal__form--el .elementor-column,
.uas-contact__form--el .elementor-column,
.uas-modal__form--el .elementor-widget-wrap,
.uas-contact__form--el .elementor-widget-wrap,
.uas-modal__form--el .elementor-widget,
.uas-contact__form--el .elementor-widget{padding:0 !important;margin:0 !important;max-width:100% !important;width:100% !important;min-width:0}
.uas-modal__form--el .elementor-container,
.uas-contact__form--el .elementor-container{display:block}

/* --- form grid --- */
.uas-form .elementor-form{width:100%;margin:0}
.uas-form .elementor-form-fields-wrapper{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:100%;margin:0;padding:0;list-style:none}
.uas-form .elementor-field-group{display:flex !important;flex-direction:column !important;align-items:stretch;justify-content:flex-start;gap:7px;grid-column:span 2;width:auto !important;max-width:100% !important;min-width:0;padding:0 !important;margin:0 !important;flex-wrap:nowrap}
.uas-form .elementor-col-50{grid-column:span 1}
/* honeypot wrapper carries no field-group class - keep it out of the grid */
.uas-form .elementor-form-fields-wrapper > .elementor-field-type-text:not(.elementor-field-group){display:none !important}

/* --- labels --- */
.uas-form .elementor-field-label{display:block;width:100%;flex:0 0 auto;font-family:var(--font-sans);font-weight:var(--fw-semibold);font-size:13px;line-height:1.3;color:var(--text-strong);padding:0;margin:0;text-align:left}
.uas-form .elementor-field-required .elementor-field-label:after{content:" *";color:var(--color-brand)}
.uas-form .elementor-field-label .elementor-mark-required{display:none}

/* --- inputs --- */
.uas-form .elementor-field,
.uas-form .elementor-field-textual,
.uas-form input[type=text],
.uas-form input[type=tel],
.uas-form input[type=email],
.uas-form input[type=number],
.uas-form select,
.uas-form textarea{width:100% !important;max-width:100% !important;min-width:0;box-sizing:border-box;display:block;font-family:var(--font-sans);font-size:15px;line-height:1.4;color:var(--text-strong);background:var(--surface-card);border:1.5px solid var(--border-default);border-radius:var(--radius-md);box-shadow:none;margin:0;-webkit-appearance:none;appearance:none;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}
.uas-form input[type=text],
.uas-form input[type=tel],
.uas-form input[type=email],
.uas-form input[type=number],
.uas-form select{height:46px;padding:0 14px}
.uas-form textarea{min-height:104px;padding:12px 14px;resize:vertical;line-height:1.55}
.uas-form input:focus,
.uas-form select:focus,
.uas-form textarea:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px rgba(43,80,240,.12)}
.uas-form ::placeholder{color:var(--text-faint);opacity:1}

/* --- select + caret --- */
.uas-form .elementor-select-wrapper{position:relative;display:block;width:100%;border:none;padding:0;background:none}
.uas-form .elementor-select-wrapper select{padding-right:42px;cursor:pointer}
.uas-form .elementor-select-wrapper .select-caret-down-wrapper{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:14px;height:14px;display:flex;align-items:center;justify-content:center;pointer-events:none;color:var(--text-muted);inset-inline-end:14px}
.uas-form .elementor-select-wrapper .select-caret-down-wrapper svg{width:14px;height:14px;fill:currentColor}

/* --- submit --- */
.uas-form .elementor-field-type-submit,
.uas-form .e-form__buttons{grid-column:span 2;display:flex;margin:6px 0 0;padding:0 !important;width:auto !important;max-width:100% !important}
.uas-form .elementor-button,
.uas-form button[type=submit]{height:50px;min-height:50px;width:auto;border:none;border-radius:var(--radius-md);background:var(--color-brand) !important;color:var(--color-on-brand) !important;font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:16px;letter-spacing:0;text-transform:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 26px;box-shadow:0 8px 20px rgba(43,80,240,.24);transition:background var(--dur-fast) var(--ease-out)}
.uas-form .elementor-button:hover,
.uas-form .elementor-button:focus{background:var(--color-brand-hover) !important;color:var(--color-on-brand) !important}
.uas-form .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:9px}

/* --- messages --- */
.uas-form .elementor-message{grid-column:span 2;font-family:var(--font-sans);font-size:14px;line-height:1.5;margin:10px 0 0;padding:10px 14px;border-radius:var(--radius-sm)}
.uas-form .elementor-message.elementor-message-success{background:var(--status-success-bg);color:var(--status-success-fg)}
.uas-form .elementor-message.elementor-message-danger{background:var(--status-danger-bg);color:var(--status-danger-fg)}
.uas-form .elementor-field-group.elementor-error input,
.uas-form .elementor-field-group.elementor-error select,
.uas-form .elementor-field-group.elementor-error textarea{border-color:var(--red-500)}
.uas-form .elementor-error-message{font-size:12.5px;color:var(--status-danger-fg)}

/* ============================================================
   Header booking modal
   ============================================================ */
.uas-modal__form--el{padding:16px 18px 20px;display:flex;flex-direction:column;gap:14px;overflow-x:hidden;overflow-y:auto;min-width:0}
.uas-modal__form--el .elementor-form-fields-wrapper{grid-template-columns:minmax(0,1fr);gap:12px}
.uas-modal__form--el .elementor-field-group,
.uas-modal__form--el .elementor-col-50,
.uas-modal__form--el .e-form__buttons,
.uas-modal__form--el .elementor-message{grid-column:span 1}
.uas-modal__form--el .elementor-button{width:100%}
.uas-modal__form--el .uas-modal__alt{margin:0}

/* ============================================================
   Contact page card
   ============================================================ */
.uas-contact__form--el{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:32px;box-shadow:var(--shadow-sm);min-width:0;overflow:hidden}
.uas-contact__form--el .uas-contact__eyebrow{display:block}
.uas-contact__form--el .uas-contact__h2{margin:8px 0 0}
.uas-contact__form--el .uas-contact__form-sub{margin:8px 0 22px}
.uas-contact__form--el .uas-contact__or{display:block;margin-top:16px}
.uas-contact__form--el .elementor-field,
.uas-contact__form--el .elementor-field-textual,
.uas-contact__form--el input,
.uas-contact__form--el select,
.uas-contact__form--el textarea{border-width:1px;border-color:var(--border-subtle);background:var(--surface-page)}
.uas-contact__form--el .elementor-button{height:var(--control-h-lg);min-height:var(--control-h-lg);font-size:15.5px;box-shadow:var(--shadow-brand)}

/* ============================================================
   Mobile
   ============================================================ */
@media (max-width:780px){
  .uas-form .elementor-form-fields-wrapper{grid-template-columns:minmax(0,1fr);gap:14px}
  .uas-form .elementor-field-group,
  .uas-form .elementor-col-50,
  .uas-form .e-form__buttons,
  .uas-form .elementor-field-type-submit,
  .uas-form .elementor-message{grid-column:span 1}
  .uas-form .elementor-button{width:100%}
  .uas-contact__form--el{padding:22px 18px}
  .uas-contact__form--el .uas-contact__h2{font-size:22px}
}
@media (max-width:420px){
  .uas-modal__form--el{padding:14px 14px 18px}
}
