/* Notify modal — email capture popup triggered by clicking any
 * Divi button (or any anchor) whose URL is "#fdm-notify-<slug>".
 *
 * Defensive styling: themes (Divi/global element rules) were able to
 * inflate the card and restyle inputs/headings, so every structural
 * property that matters is locked with !important and the card is
 * box-sizing-sealed. Per-offer accent via --fdm-notify-accent. */

.fdm-notify { font-family: "Raleway", "Inter", system-ui, -apple-system, sans-serif; }
.fdm-notify[hidden] { display: none !important; }
.fdm-notify,
.fdm-notify * { box-sizing: border-box !important; }
.fdm-notify {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483646;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  margin: 0 !important;
  animation: fdmNotifyBgIn 220ms ease both;
}
@keyframes fdmNotifyBgIn  { from { opacity: 0; } to { opacity: 1; } }
@keyframes fdmNotifyCardIn { from { transform: translateY(22px) scale(0.985); opacity: 0; } to { transform: none; opacity: 1; } }

.fdm-notify__bg {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(8,5,2,0.8);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.fdm-notify__card {
  position: relative !important;
  width: 100% !important;
  max-width: 460px !important;
  background: #17120d !important;
  color: #ffffff;
  padding: 40px 36px 32px !important;
  margin: 0 !important;
  border-radius: 16px !important;
  box-shadow: 0 30px 90px rgba(0,0,0,0.55), 0 0 0 1px rgba(228,175,84,0.14);
  border: 0 !important;
  text-align: left;
  animation: fdmNotifyCardIn 320ms cubic-bezier(0.2,0.8,0.2,1) both;
}
.fdm-notify__x {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: rgba(255,255,255,0.55);
  cursor: pointer;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  transition: color 160ms ease, transform 160ms ease;
}
.fdm-notify__x:hover { color: #ffffff; transform: rotate(90deg); }

.fdm-notify__title {
  font-family: inherit !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.01em;
  text-align: left !important;
}
.fdm-notify__desc {
  font-size: 14.5px !important;
  line-height: 1.55 !important;
  color: rgba(255,255,255,0.68) !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  text-align: left !important;
}

.fdm-notify__field {
  display: block !important;
  text-align: left !important;
  margin: 0 0 10px !important;
}
.fdm-notify__field-label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #d4b870;
  margin-bottom: 7px;
}
.fdm-notify__req { color: #b8963e; }
.fdm-notify__field input {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: block !important;
  width: 100% !important;
  padding: 15px 18px !important;
  margin: 0 !important;
  background: #ffffff !important;
  color: #14100a !important;
  font-family: inherit !important;
  font-size: 16px !important;
  line-height: 1.3 !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  border-radius: 10px !important;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}
.fdm-notify__field input:focus {
  outline: 0 !important;
  border-color: var(--fdm-notify-accent, #b8963e) !important;
  box-shadow: 0 0 0 3px rgba(184,150,62,0.35) !important;
}
/* Beat Chrome/Safari autofill tinting (keep dark text on white input). */
.fdm-notify__field input:-webkit-autofill,
.fdm-notify__field input:-webkit-autofill:hover,
.fdm-notify__field input:-webkit-autofill:focus {
  -webkit-text-fill-color: #14100a;
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset !important;
  box-shadow:        0 0 0 1000px #ffffff inset !important;
  caret-color: #14100a;
}

.fdm-notify__error {
  margin: 0 0 12px !important;
  font-size: 13px !important;
  color: #ff8b8b !important;
}
.fdm-notify__error[hidden] { display: none !important; }

.fdm-notify__submit {
  display: block !important;
  width: 100% !important;
  margin: 10px 0 0 !important;
  padding: 16px 18px !important;
  border: 0 !important;
  border-radius: 999px !important;
  /* Per-offer button color via --fdm-notify-accent (set inline by the JS
     when an offer defines one); falls back to the FDE orange default. */
  background: var(--fdm-notify-accent, #ed5c2e) !important;
  color: #ffffff !important;
  font: inherit !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase;
  line-height: 1.3 !important;
  cursor: pointer;
  transition: filter 160ms ease, transform 160ms ease, box-shadow 160ms ease;
  box-shadow: 0 6px 20px rgba(0,0,0,0.3);
}
.fdm-notify__submit:hover:not(:disabled) {
  filter: brightness(1.08);
  transform: translateY(-1px);
  box-shadow: 0 10px 26px rgba(0,0,0,0.35);
}
.fdm-notify__submit:disabled {
  background: rgba(255,255,255,0.08) !important;
  color: rgba(255,255,255,0.4) !important;
  cursor: not-allowed;
}

.fdm-notify__view[hidden] { display: none !important; }
.fdm-notify__view--thanks {
  text-align: center !important;
  padding: 14px 0 6px;
}
.fdm-notify__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 999px;
  background: rgba(228,175,84,0.12);
  border: 1px solid rgba(228,175,84,0.4);
  color: var(--fdm-notify-accent, #b8963e);
  margin-bottom: 16px;
}
.fdm-notify__thanks {
  font-size: 17px !important;
  font-weight: 600;
  line-height: 1.45 !important;
  color: #ffffff !important;
  margin: 0 0 22px !important;
}

@media (max-width: 480px) {
  .fdm-notify { padding: 14px; }
  .fdm-notify__card { padding: 32px 22px 26px !important; }
  .fdm-notify__title { font-size: 21px !important; }
}
