/* ============================================================
   alertifyjs Viking theme overrides
   Core structural CSS is loaded from alertifyjs/build/css/alertify.min.css
   ============================================================ */

/* ---- Dimmer (overlay backdrop) ---- */

.alertify .ajs-dimmer {
  background-color: rgba(13, 27, 42, 0.5);
  backdrop-filter: blur(4px);
}

/* ---- Dialog ---- */

.alertify .ajs-dialog {
  font-family: var(--viking-font, 'Inter', sans-serif);
  background: var(--viking-white, #fff);
  border-radius: var(--viking-radius-lg, 12px);
  box-shadow: var(--viking-shadow-xl, 0 20px 40px -8px rgba(0,0,0,.2));
  border: 1px solid var(--viking-gray-200, #E5E7EB);
  background-clip: padding-box;
  max-width: 550px;
}

/* ---- Header (hidden when empty) ---- */

.alertify .ajs-header {
  display: none;
}

/* ---- Body / content ---- */

.alertify .ajs-body .ajs-content {
  padding: 28px 24px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--viking-text, #1C1C1C);
  text-align: center;
}

/* ---- Footer / buttons ---- */

.alertify .ajs-footer {
  padding: 16px 24px;
  background: var(--viking-gray-50, #F8F9FA);
  border-top: 1px solid var(--viking-gray-200, #E5E7EB);
  border-radius: 0 0 var(--viking-radius-lg, 12px) var(--viking-radius-lg, 12px);
}

.alertify .ajs-footer .ajs-buttons {
  text-align: center;
}

.alertify .ajs-footer .ajs-buttons .ajs-auxiliary,
.alertify .ajs-footer .ajs-buttons .ajs-primary {
  float: none;
  display: inline-block;
}

/* ---- OK button ---- */

.alertify .ajs-footer .ajs-buttons .ajs-button.ajs-ok,
.alertify .ajs-footer .ajs-buttons .ajs-button.ajs-ok:active,
.alertify .ajs-footer .ajs-buttons .ajs-button.ajs-ok:focus,
.alertify .ajs-footer .ajs-buttons .ajs-button.ajs-ok:hover,
.alertify .ajs-footer .ajs-buttons .ajs-button.ajs-ok:visited {
  background: var(--viking-red, #E30613) !important;
  background-image: none !important;
  border: none !important;
  border-radius: var(--viking-radius, 8px) !important;
  color: #fff !important;
  font-family: var(--viking-font, 'Inter', sans-serif);
  font-weight: 600;
  font-size: 14px;
  padding: 10px 24px;
  min-height: 44px;
  text-shadow: none;
  box-shadow: none;
  letter-spacing: 0.3px;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.alertify .ajs-footer .ajs-buttons .ajs-button.ajs-ok:hover,
.alertify .ajs-footer .ajs-buttons .ajs-button.ajs-ok:focus {
  background: var(--viking-red-hover, #C00511) !important;
  box-shadow: 0 4px 12px rgba(227, 6, 19, 0.3) !important;
}

.alertify .ajs-footer .ajs-buttons .ajs-button.ajs-ok:active {
  transform: translateY(1px);
}

/* ---- Cancel button ---- */

.alertify .ajs-footer .ajs-buttons .ajs-button.ajs-cancel,
.alertify .ajs-footer .ajs-buttons .ajs-button.ajs-cancel:active,
.alertify .ajs-footer .ajs-buttons .ajs-button.ajs-cancel:focus,
.alertify .ajs-footer .ajs-buttons .ajs-button.ajs-cancel:hover {
  background: var(--viking-white, #fff) !important;
  background-image: none !important;
  border: 1.5px solid var(--viking-gray-300, #D1D5DB) !important;
  border-radius: var(--viking-radius, 8px) !important;
  color: var(--viking-gray-700, #374151) !important;
  font-family: var(--viking-font, 'Inter', sans-serif);
  font-weight: 600;
  font-size: 14px;
  padding: 10px 24px;
  text-shadow: none;
  box-shadow: none;
}

.alertify .ajs-footer .ajs-buttons .ajs-button.ajs-cancel:hover,
.alertify .ajs-footer .ajs-buttons .ajs-button.ajs-cancel:focus {
  background: var(--viking-gray-50, #F8F9FA) !important;
  border-color: var(--viking-gray-400, #9CA3AF) !important;
}

/* ---- Notification toasts ---- */

.alertify-notifier .ajs-message {
  background: #1F1F1F;
  background: rgba(0, 0, 0, .9);
  padding: 15px;
  border-radius: 4px;
  color: #FFF;
  text-shadow: -1px -1px 0 rgba(0, 0, 0, .5);
}

.alertify-notifier .ajs-message.ajs-error {
  color: #B94A48;
  background: #F2DEDE;
  border: 1px solid #EED3D7;
  text-shadow: none;
}

.alertify-notifier .ajs-message.ajs-success {
  color: #468847;
  background: #DFF0D8;
  border: 1px solid #D6E9C6;
  text-shadow: none;
}
