.resource-modal { border: 0; padding: 0; border-radius: 18px; width: min(480px, calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior-y: contain; color: #1d1d1f; background: #fff; box-shadow: 0 20px 80px #0004; }
.resource-modal::backdrop { background: #0009; }
.resource-modal__inner { padding: 44px 28px 24px; position: relative; }
.resource-modal__close { position: absolute; top: 4px; right: 4px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: #f5f5f6; font-size: 26px; cursor: pointer; }
.resource-modal h2 { font-size: 22px; font-weight: 800; text-align: center; line-height: 1.5; margin: 0 0 14px; }
.resource-modal section > p, .resource-consult p, .resource-entry > p { font-size: 13px; line-height: 1.8; text-align: center; margin: 0 0 20px; }
.resource-modal [hidden] { display: none !important; }
.resource-form { display: grid; gap: 14px; }
.resource-form#resource-consult-form { gap: 10px; }
.resource-form#resource-consult-form .resource-identity-fields { grid-template-columns: 1fr 1fr; gap: 10px; }
.resource-form#resource-consult-form .resource-identity-fields label { font-size: 11px; }
.resource-form#resource-consult-form input:not([type=checkbox]), .resource-form#resource-consult-form textarea { padding: 9px 10px; }
.resource-form#resource-consult-form textarea { min-height: 54px; }
.resource-form label { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; }
.resource-form b { color: #fff; background: #360e96; border-radius: 3px; padding: 0 4px; justify-self: start; font-size: 10px; }
.resource-form label > span { color: #7a7a7a; }
.resource-form input:not([type=checkbox]), .resource-form textarea { grid-column: 1 / -1; width: 100%; min-width: 0; box-sizing: border-box; border: 1px solid #ccc; border-radius: 8px; padding: 12px; color: #1d1d1f; background: #fafafc; font: inherit; font-weight: 400; }
.resource-form input[aria-invalid=true] { border-color: #bd2424; }
.resource-form textarea { resize: vertical; }
.resource-form .resource-privacy { display: flex; align-items: center; gap: 8px; font-weight: 400; }
.resource-privacy input { width: 16px; height: 16px; flex-shrink: 0; }
.resource-privacy a, .resource-purpose a { color: #360e96; text-decoration: underline; }
.resource-modal .cta, .resource-entry .cta { display: flex; justify-content: center; gap: 10px; width: 100%; padding: 16px; border: 0; border-radius: 10px; background: #360e96; color: white; font-size: 14px; cursor: pointer; text-decoration: none; box-sizing: border-box; }
.resource-form#resource-consult-form .cta { padding: 12px; }
.resource-modal button:disabled { background: #eeeaf7; color: #7a7a7a; cursor: default; }
.resource-outline { display: block; width: 100%; padding: 12px; border: 1px solid #360e96; border-radius: 8px; background: #fff; color: #360e96; cursor: pointer; font-size: 13px; font-weight: 600; margin-top: 12px; }
.resource-consult { padding: 18px; border: 1px solid #ddd6ef; border-radius: 10px; background: #f5f3fa; margin-top: 26px; }
.resource-consult p { margin: 0; font-weight: 700; color: #360e96; }
.resource-hint, .resource-purpose { font-size: 11px; line-height: 1.7; margin: 0; }
.resource-purpose { text-align: center; color: #7a7a7a; margin-top: 20px; }
.resource-error { color: #bd2424; font-size: 12px; line-height: 1.7; margin-top: 16px; }
.resource-text-button { display: block; margin: 18px auto 0; border: 0; background: none; color: #360e96; font-size: 13px; text-decoration: underline; cursor: pointer; }
.resource-success-icon { margin: 0 auto 18px; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: #008b58; font-size: 30px; }
.resource-cover { border: 1px solid #ddd6ef; background: #f5f3fa; border-radius: 10px; padding: 24px; margin-bottom: 20px; display: grid; gap: 8px; color: #360e96; }
.resource-cover strong { font-size: 26px; }
.resource-cover span, .resource-cover small { font-size: 12px; }
.resource-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.resource-review { margin-bottom: 24px; font-size: 13px; }
.resource-review dt { color: #7a7a7a; margin-top: 12px; }
.resource-review dd { margin: 4px 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.resource-modal :focus-visible { outline: 3px solid #9b82e0; outline-offset: 3px; }
.resource-modal [data-resource-panel="detailed"] > p { margin-bottom: 12px; font-size: 12px; line-height: 1.55; }
@media (max-width: 480px) { .resource-modal__inner { padding: 44px 20px 24px; } .resource-modal h2 { font-size: 20px; } .resource-fields { grid-template-columns: 1fr; } }
/* The existing LP action palette also applies inside the dialog. Keep disabled actions distinct. */
.lp-page .resource-modal button:disabled { background: #eeeaf7 !important; color: #7a7a7a !important; box-shadow: none !important; }
.lp-page .resource-modal .cta::after, .lp-page .resource-entry .resource-outline::after { display: none; animation: none; }

/* Match the supplied form concept while keeping these accents inside its dialog. */
.lp-page .resource-modal h2 { color: #0b2345; }
.lp-page .resource-modal .resource-form .cta,
.lp-page .resource-modal [data-material-link] { background: #00a875 !important; color: #fff !important; box-shadow: none !important; }
.lp-page .resource-modal form#resource-consult-form .cta { background: #0864d8 !important; color: #fff !important; }
.lp-page .resource-modal .resource-consult p { color: #0560cb; }
.lp-page .resource-modal .resource-consult { border-color: #bad7fb; background: #f0f6ff; }
.lp-page .resource-modal input:focus-visible, .lp-page .resource-modal textarea:focus-visible { outline-color: #00a875; }

/* Keep the detailed consultation path prominent and make the email-only path easy to resume. */
.lp-page .resource-modal .resource-consult {
  border: 2px solid #a9cffa;
  background: linear-gradient(145deg, #f3f8ff, #eaf3ff);
  box-shadow: 0 8px 20px rgba(8, 100, 216, .10);
}
.lp-page .resource-modal .resource-consult p {
  color: #084fa9;
  font-size: 14px;
  font-weight: 800;
}
.lp-page .resource-modal .resource-consult .resource-outline,
.lp-page .resource-modal [data-resource-panel="success"] .resource-outline {
  min-height: 48px;
  border: 0;
  background: #0864d8;
  color: #fff;
  box-shadow: 0 5px 12px rgba(8, 100, 216, .20);
  font-size: 14px;
  font-weight: 800;
}
.lp-page .resource-modal .resource-consult .resource-outline:hover,
.lp-page .resource-modal [data-resource-panel="success"] .resource-outline:hover {
  background: #064fae;
}
.lp-page .resource-modal .resource-back-top {
  position: absolute;
  top: 8px;
  left: 14px;
  z-index: 2;
  min-height: 44px;
  padding: 8px 10px;
  border: 0;
  background: transparent;
  color: #0759bd;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.lp-page .resource-modal .resource-back-top:hover,
.lp-page .resource-modal .resource-text-button[data-resource-back]:hover {
  text-decoration: underline;
}
.lp-page .resource-modal .resource-text-button[data-resource-back] {
  width: 100%;
  min-height: 44px;
  margin-top: 14px;
  padding: 10px;
  border: 1px solid #bad7fb;
  border-radius: 8px;
  color: #0759bd;
  font-weight: 700;
  text-decoration: none;
}
.lp-page .resource-modal .resource-text-button[data-resource-back]:hover {
  background: #f0f6ff;
}
