/*! Fachowiec24 R25.8.8 — Marketplace modal, validation and mobile CTA dock */

html.f24-r2588-modal-open,
html.f24-r2588-modal-open body {
  overflow:hidden!important;
}

.f24-r2588-message-modal {
  position:fixed!important;
  inset:0!important;
  z-index:2147483646!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  padding:20px!important;
  background:rgba(15,23,42,.58)!important;
  backdrop-filter:blur(5px)!important;
  -webkit-backdrop-filter:blur(5px)!important;
}

.f24-r2588-message-dialog {
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  gap:5px 14px!important;
  width:min(100%,460px)!important;
  max-height:min(80dvh,620px)!important;
  padding:22px!important;
  overflow:auto!important;
  border:1px solid rgba(124,58,237,.18)!important;
  border-radius:22px!important;
  background:#fff!important;
  color:#172033!important;
  box-shadow:0 24px 70px rgba(15,23,42,.28)!important;
}

.f24-r2588-message-icon {
  grid-row:1/3!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:44px!important;
  height:44px!important;
  border-radius:14px!important;
  background:#ede9fe!important;
  color:#6d28d9!important;
  font-size:24px!important;
  font-weight:950!important;
}

.f24-r2588-message-modal.is-error .f24-r2588-message-icon {
  background:#fee2e2!important;
  color:#b91c1c!important;
}

.f24-r2588-message-dialog h2 {
  grid-column:2!important;
  margin:1px 0 0!important;
  color:#0f172a!important;
  font-size:19px!important;
  font-weight:900!important;
  line-height:1.25!important;
}

.f24-r2588-message-text {
  grid-column:2!important;
  margin:3px 0 0!important;
  color:#475569!important;
  font-size:14px!important;
  font-weight:600!important;
  line-height:1.55!important;
  white-space:pre-line!important;
}

.f24-r2588-message-ok {
  grid-column:1/-1!important;
  width:100%!important;
  min-height:48px!important;
  margin-top:15px!important;
  border:0!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#7c3aed,#6d28d9)!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:900!important;
  cursor:pointer!important;
  box-shadow:0 10px 24px rgba(109,40,217,.22)!important;
}

.f24-r2588-invalid-control,
.f24-r2588-invalid-field input,
.f24-r2588-invalid-field select,
.f24-r2588-invalid-field textarea {
  border-color:#ef4444!important;
  background:#fff7f7!important;
  box-shadow:0 0 0 3px rgba(239,68,68,.14)!important;
}

.f24-r2588-invalid-field {
  color:#991b1b!important;
}

.f24-r2588-field-error {
  display:block!important;
  width:100%!important;
  margin-top:5px!important;
  color:#b91c1c!important;
  font-size:11px!important;
  font-weight:850!important;
  line-height:1.35!important;
}

@media (max-width:1023px) {
  /* The legacy Marketplace CTA and the global navigation both used bottom:0
   * and z-index:120. Keep the CTA fully above the navigation. */
  body.f24-m3-pdp #f24-m3-mobile-bar {
    bottom:calc(4.25rem + env(safe-area-inset-bottom,0px))!important;
    z-index:121!important;
    padding-bottom:10px!important;
  }

  body.f24-m3-pdp {
    padding-bottom:calc(10.25rem + env(safe-area-inset-bottom,0px))!important;
  }

  body.f24-m3-pdp main.flex-1,
  body.f24-m3-pdp #root main.flex-1 {
    padding-bottom:calc(10.25rem + env(safe-area-inset-bottom,0px))!important;
  }

  .f24-r2588-message-modal {
    align-items:flex-end!important;
    padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px))!important;
  }

  .f24-r2588-message-dialog {
    width:100%!important;
    max-height:86dvh!important;
    padding:18px!important;
    border-radius:22px!important;
  }
}
