/*
 * EMGA runtime
 * Only what Elementor Atomic cannot express.
 * Visual style belongs on EMGA atomic classes, never on generic Elementor selectors.
 */

:root {
  --emga-jaune: #f9b206;
  --emga-noir: #111111;
}

html {
  max-width: 100%;
}

body {
  max-width: 100%;
  overflow-x: clip;
}

#demande,
#facture-numerique {
  scroll-margin-top: 88px;
}

/*
 * Elementor Atomic compiles .form-panel padding/border/radius and drops
 * background-color (global class and local style). The fill lives here.
 */
.elementor .form-panel {
  background-color: #ffffff;
}

/*
 * Native Elementor inputs cannot be painted by Atomic classes.
 * Do not regrid .e-con here: a field is label + control, not a 2-column row.
 */
#demande .form-field,
#facture-numerique .form-field {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  width: 100%;
}

#demande .form-field:not(.e-form-checkbox-row) > .e-form-label-base,
#demande .form-field:not(.e-form-checkbox-row) > [data-widget_type="e-form-label.default"],
#facture-numerique .form-field:not(.e-form-checkbox-row) > .e-form-label-base,
#facture-numerique .form-field:not(.e-form-checkbox-row) > [data-widget_type="e-form-label.default"] {
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #111111;
}

#demande input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="submit"]),
#demande textarea,
#demande select,
#facture-numerique input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="submit"]),
#facture-numerique textarea,
#facture-numerique select {
  width: 100%;
  min-height: 48px;
  box-sizing: border-box;
  border: 1px solid #e8eaed;
  border-radius: 8px;
  padding: 12px 14px;
  background: #fff;
  color: #111111;
  font-family: inherit;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  box-shadow: none;
}

#demande textarea,
#facture-numerique textarea {
  min-height: 140px;
  resize: vertical;
}

#demande input:focus,
#demande textarea:focus,
#demande select:focus,
#facture-numerique input:focus,
#facture-numerique textarea:focus,
#facture-numerique select:focus {
  outline: none;
  border-color: #111111;
}

#demande input[type="file"],
#facture-numerique input[type="file"] {
  width: 100%;
  min-height: 48px;
  box-sizing: border-box;
  border: 1px solid #e8eaed;
  border-radius: 8px;
  padding: 10px 12px;
  background: #fff;
  color: #6b7280;
  font-size: 13px;
}

#demande .e-form-checkbox-row,
#demande .form-field:has(input[type="checkbox"]),
#facture-numerique .e-form-checkbox-row,
#facture-numerique .form-field:has(input[type="checkbox"]) {
  flex-direction: row;
  align-items: flex-start;
  gap: 10px;
}

#demande .e-form-submit-button-base.button-primary:hover,
#demande .e-form-submit-button-base.button-primary:focus-visible,
#facture-numerique .e-form-submit-button-base.button-primary:hover,
#facture-numerique .e-form-submit-button-base.button-primary:focus-visible {
  background-color: #f9b206;
  color: #111111;
  transform: translate3d(0, -1px, 0);
}

#demande form[data-element_type="e-form"]:not(.form-state-success) [data-element_type="e-form-success-message"],
#demande form[data-element_type="e-form"]:not(.form-state-error) [data-element_type="e-form-error-message"],
#facture-numerique form[data-element_type="e-form"]:not(.form-state-success) [data-element_type="e-form-success-message"],
#facture-numerique form[data-element_type="e-form"]:not(.form-state-error) [data-element_type="e-form-error-message"] {
  display: none !important;
}

#demande form[data-element_type="e-form"].form-state-success [data-element_type="e-form-success-message"],
#demande form[data-element_type="e-form"].form-state-error [data-element_type="e-form-error-message"],
#facture-numerique form[data-element_type="e-form"].form-state-success [data-element_type="e-form-success-message"],
#facture-numerique form[data-element_type="e-form"].form-state-error [data-element_type="e-form-error-message"] {
  display: flex !important;
}

#demande .form-field:has(#e-form-domain),
#demande .form-field:has(#e-form-equipment),
#demande .form-field:has(> #e-form-domain),
#demande .form-field:has(> #e-form-equipment),
#demande [data-emga-routing],
#demande .form-field:has([name="e-form-domain"]),
#demande .form-field:has([name="e-form-equipment"]),
#demande .form-field:has([id*="form-domain"]),
#demande .form-field:has([id*="form-equipment"]) {
  display: none !important;
}

/* JetEngine listings: equal card height. Scoped to the listing, not to .e-con globally. */
.jet-listing-grid__item {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.jet-listing-grid__item > .jet-listing-dynamic-post-inner,
.jet-listing-grid__item > .elementor-widget-wrap,
.jet-listing-grid__item > .e-con,
.jet-listing-grid__item > .e-con-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  flex: 1 1 auto;
}

.jet-listing-dynamic-post-inner > .elementor-element:last-child,
.jet-listing-grid__item > .e-con > .elementor-element:last-child {
  margin-top: auto;
}

.jet-listing-grid__item img {
  display: block;
}

@media (max-width: 834px) {
  .jet-listing-grid__items {
    gap: 16px;
  }

  .jet-listing-grid__item {
    flex-basis: calc(50% - 8px);
    max-width: calc(50% - 8px);
  }
}

@media (max-width: 360px) {
  .jet-listing-grid__item {
    flex-basis: 100%;
    max-width: 100%;
  }
}

/*
 * Partner logos: optical calibration.
 * One height is not enough — stroke marks (CCI, Norbar) look weaker than solid
 * blocks (ASIT, Parker). Height is set per file so perceived ink mass matches.
 */
.logo-card,
.g-003289f {
  overflow: hidden;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}

.logo-card img,
.logo-card svg,
.g-003289f img,
.g-003289f svg {
  width: 100%;
  max-width: var(--emga-logo-width, 195px);
  height: var(--emga-logo-height, 38px);
  object-fit: contain;
  display: block;
  margin: 0 auto;
}

.logo-card img[src*="p-atlas-copco"],
.g-003289f img[src*="p-atlas-copco"] { --emga-logo-height: 40px; }
.logo-card img[src*="logo-airnet-official"],
.g-003289f img[src*="logo-airnet-official"] { --emga-logo-height: 43px; }
.logo-card img[src*="logo-bibus-official"],
.g-003289f img[src*="logo-bibus-official"] { --emga-logo-height: 24px; }
.logo-card img[src*="logo-nussbaum-official"],
.g-003289f img[src*="logo-nussbaum-official"] { --emga-logo-height: 24px; }
.logo-card img[src*="logo-sistag-official"],
.g-003289f img[src*="logo-sistag-official"] { --emga-logo-height: 30px; }
.logo-card img[src*="p-enerpac"],
.g-003289f img[src*="p-enerpac"] { --emga-logo-height: 24px; }
.logo-card img[src*="p-acf"],
.g-003289f img[src*="p-acf"] { --emga-logo-height: 37px; }
.logo-card img[src*="p-cejn"],
.g-003289f img[src*="p-cejn"] { --emga-logo-height: 44px; }
.logo-card img[src*="p-emiliana-serbatoi"],
.g-003289f img[src*="p-emiliana-serbatoi"] { --emga-logo-height: 30px; }
.logo-card img[src*="p-hawe"],
.g-003289f img[src*="p-hawe"] { --emga-logo-height: 41px; }
.logo-card img[src*="p-husqvarna"],
.g-003289f img[src*="p-husqvarna"] { --emga-logo-height: 38px; }
.logo-card img[src*="p-norbar"],
.g-003289f img[src*="p-norbar"] { --emga-logo-height: 50px; }
.logo-card img[src*="scrapair-min"],
.g-003289f img[src*="scrapair-min"] { --emga-logo-height: 31px; }
.logo-card img[src*="p-parker"],
.g-003289f img[src*="p-parker"] { --emga-logo-height: 31px; }
.logo-card img[src*="p-tecalto"],
.g-003289f img[src*="p-tecalto"] { --emga-logo-height: 28px; }
.logo-card img[src*="m-avenir-industrie_valais"],
.g-003289f img[src*="m-avenir-industrie_valais"] { --emga-logo-height: 30px; }
.logo-card img[src*="m-cci_valais"],
.g-003289f img[src*="m-cci_valais"] { --emga-logo-height: 50px; }
.logo-card img[src*="m-asit"],
.g-003289f img[src*="m-asit"] { --emga-logo-height: 48px; }
.logo-card img[src*="m-swiss-mechanic"],
.g-003289f img[src*="m-swiss-mechanic"] { --emga-logo-height: 29px; }

@media (max-width: 834px) {
  .logo-card img,
  .logo-card svg,
  .g-003289f img,
  .g-003289f svg {
    max-width: 150px;
    height: calc(var(--emga-logo-height, 38px) * 0.82);
  }
}
