.ast365-modal-open { overflow: hidden; }
.ast365-sample-open {
  appearance: none;
  border: 0;
  border-radius: 8px;
  padding: 13px 22px;
  background: #1f8a5b;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}
.ast365-sample-modal { position: fixed; inset: 0; z-index: 999999; }
.ast365-sample-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.75); }
.ast365-sample-dialog {
  position: relative;
  width: min(1100px, 94vw);
  height: min(92vh, 980px);
  margin: 4vh auto;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 24px 80px rgba(0,0,0,.35);
  overflow: hidden;
  animation: ast365ModalIn .2s ease;
}
@keyframes ast365ModalIn { from { opacity: 0; transform: scale(.98); } to { opacity: 1; transform: scale(1); } }
.ast365-sample-close {
  position: absolute; top: 12px; right: 14px; z-index: 2;
  width: 40px; height: 40px; border: 0; border-radius: 50%;
  background: #eef2f5; color: #142b43; font-size: 28px; cursor: pointer;
}
.ast365-sample-header { padding: 24px 70px 18px 26px; border-bottom: 1px solid #e6eaee; }
.ast365-sample-header h2 { margin: 0 0 6px; color: #142b43; font-size: clamp(21px, 3vw, 30px); }
.ast365-sample-header p { margin: 0; color: #52606d; }
.ast365-sample-status { padding: 28px; text-align: center; color: #52606d; }
.ast365-sample-frame { flex: 1; width: 100%; min-height: 420px; border: 0; background: #eef2f5; }
.ast365-sample-disclaimer { margin: 0; padding: 12px 24px; font-size: 13px; color: #5f6b76; background: #f7f9fa; }
.ast365-sample-footer { display: flex; justify-content: flex-end; gap: 12px; padding: 16px 24px; border-top: 1px solid #e6eaee; }
.ast365-sample-primary, .ast365-sample-secondary {
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 8px; padding: 12px 18px; font-weight: 700; text-decoration: none;
}
.ast365-sample-primary { background: #1f8a5b; color: #fff; }
.ast365-sample-secondary { border: 1px solid #cdd5dc; background: #fff; color: #142b43; cursor: pointer; }
@media (max-width: 640px) {
  .ast365-sample-dialog { width: 96vw; height: 94vh; margin: 3vh auto; }
  .ast365-sample-header { padding: 20px 58px 14px 18px; }
  .ast365-sample-disclaimer { padding: 10px 16px; }
  .ast365-sample-footer { flex-direction: column-reverse; padding: 12px 16px; }
  .ast365-sample-primary, .ast365-sample-secondary { width: 100%; box-sizing: border-box; }
}

/* AST brand CTA overrides — intentionally scoped to this plugin only. */
.ast365-sample-open,
.ast365-sample-modal .ast365-sample-secondary {
  background: #1f8a5b !important;
  border: 1px solid #1f8a5b !important;
  color: #ffffff !important;
  box-shadow: none !important;
  transition: transform .2s ease, background-color .2s ease, border-color .2s ease;
}
.ast365-sample-open:hover,
.ast365-sample-open:focus-visible,
.ast365-sample-modal .ast365-sample-secondary:hover,
.ast365-sample-modal .ast365-sample-secondary:focus-visible {
  background: #176f49 !important;
  border-color: #176f49 !important;
  color: #ffffff !important;
  transform: translateY(-1px);
}
.ast365-sample-open:focus-visible,
.ast365-sample-modal .ast365-sample-secondary:focus-visible,
.ast365-sample-close:focus-visible {
  outline: 3px solid rgba(31, 138, 91, .3);
  outline-offset: 2px;
}
