/**
 * NM-D Theme — global FO overrides (loads after theme.css)
 * Author: Paweł Nosko / Design Cart
 */

/* Bootstrap primary → brand purple */
.btn-primary,
.btn-primary:link,
.btn-primary:visited {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--nmd-purple, #5b3fc8);
  --bs-btn-border-color: var(--nmd-purple, #5b3fc8);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--nmd-purple-dark, #3d2990);
  --bs-btn-hover-border-color: var(--nmd-purple-dark, #3d2990);
  --bs-btn-focus-shadow-rgb: 91, 63, 200;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--nmd-purple-dark, #3d2990);
  --bs-btn-active-border-color: var(--nmd-purple-dark, #3d2990);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--nmd-purple, #5b3fc8);
  --bs-btn-disabled-border-color: var(--nmd-purple, #5b3fc8);
  background-color: var(--nmd-purple, #5b3fc8);
  border-color: var(--nmd-purple, #5b3fc8);
  color: #fff;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.btn-primary.show {
  background-color: var(--nmd-purple-dark, #3d2990);
  border-color: var(--nmd-purple-dark, #3d2990);
  color: #fff;
}

.btn-primary:disabled,
.btn-primary.disabled,
fieldset:disabled .btn-primary {
  background-color: var(--nmd-hero-gray, #d5d7e4);
  border-color: var(--nmd-hero-gray, #d5d7e4);
  color: var(--nmd-muted, #6b6d8a);
  opacity: 1;
}

.btn-outline-primary {
  --bs-btn-color: var(--nmd-purple, #5b3fc8);
  --bs-btn-border-color: var(--nmd-purple, #5b3fc8);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--nmd-purple, #5b3fc8);
  --bs-btn-hover-border-color: var(--nmd-purple, #5b3fc8);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--nmd-purple, #5b3fc8);
  --bs-btn-active-border-color: var(--nmd-purple, #5b3fc8);
  --bs-btn-focus-shadow-rgb: 91, 63, 200;
  color: var(--nmd-purple, #5b3fc8);
  border-color: var(--nmd-purple, #5b3fc8);
}

/* Alerts under header — shared top gap (danger / success / warning / info) */
body:not(#index) #notifications:has(.alert) {
  padding-top: 16px;
}

body:not(#index) #notifications:has(.alert) > .container > .alert:last-child {
  margin-bottom: 0;
}

/* Order confirmation — modest space; avoid stacking with #notifications */
body#order-confirmation .columns-container.container {
  padding-top: 16px;
  padding-bottom: 48px;
}

body#order-confirmation .alert.alert-success,
body#order-confirmation .order-confirmation > .alert.alert-success {
  margin-top: 0;
}

/*
 * blockwishlist: inactive Bootstrap backdrops/modals sit as fixed full-viewport
 * layers (opacity:0) and intercept clicks. Hide them until .show is applied.
 */
.wishlist-share .modal-backdrop:not(.show),
.wishlist-rename .modal-backdrop:not(.show),
.wishlist-create .modal-backdrop:not(.show),
.wishlist-delete .modal-backdrop:not(.show),
.wishlist-login .modal-backdrop:not(.show),
.wishlist-add-to .modal-backdrop:not(.show),
.wishlist-modal.modal.fade:not(.show) + .modal-backdrop {
  display: none !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

.wishlist-share .wishlist-modal.modal.fade:not(.show),
.wishlist-rename .wishlist-modal.modal.fade:not(.show),
.wishlist-create .wishlist-modal.modal.fade:not(.show),
.wishlist-delete .wishlist-modal.modal.fade:not(.show),
.wishlist-login .wishlist-modal.modal.fade:not(.show),
.wishlist-add-to .wishlist-modal.modal.fade:not(.show) {
  display: none !important;
  pointer-events: none !important;
}

/*
 * blockwishlist listing button:
 * Hummingbird puts width/height:inherit !important inside @layer ps-modules.
 * Layered !important beats unlayered overrides — fix must live in the same layer.
 */
@layer ps-modules {
  .product-miniature .thumbnail-container,
  .nmd-pcard .thumbnail-container {
    position: relative;
  }

  .product-miniature .wishlist-button-add,
  .nmd-pcard .wishlist-button-add,
  .products article .wishlist-button-add,
  .thumbnail-container > .wishlist-button-add {
    position: absolute !important;
    top: 0.5rem !important;
    right: 0.5rem !important;
    left: auto !important;
    bottom: auto !important;
    inset: 0.5rem 0.5rem auto auto !important;
    z-index: 4;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 2rem !important;
    height: 2rem !important;
    min-width: 2rem !important;
    max-width: 2rem !important;
    max-height: 2rem !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    color: var(--nmd-purple, #5b3fc8) !important;
    cursor: pointer;
  }

  .product-miniature .wishlist-button-add:hover,
  .nmd-pcard .wishlist-button-add:hover,
  .products article .wishlist-button-add:hover,
  .thumbnail-container > .wishlist-button-add:hover {
    opacity: 1 !important;
    background: transparent !important;
    background-color: transparent !important;
    color: var(--nmd-purple-dark, #3d2990) !important;
    border: 0 !important;
  }

  .product-miniature .wishlist-button-add i,
  .nmd-pcard .wishlist-button-add i,
  .products article .wishlist-button-add i,
  .thumbnail-container > .wishlist-button-add i {
    font-size: 1.35rem !important;
    color: inherit !important;
    line-height: 1;
  }

  /*
   * Wishlist toasts render inside footer markup; .footer__main p { color: cyan }
   * makes success (green) + cyan text unreadable. Force clear contrast.
   */
  .wishlist-toast {
    border-radius: 10px !important;
    border: 1px solid transparent !important;
    box-shadow: 0 10px 28px rgba(26, 28, 46, 0.18) !important;
    font-family: var(--nmd-font-sans, 'DM Sans', sans-serif);
  }

  .wishlist-toast .wishlist-toast-text,
  .footer__main .wishlist-toast .wishlist-toast-text,
  #footer .wishlist-toast .wishlist-toast-text {
    margin: 0 !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    color: var(--nmd-dark, #1a1c2e) !important;
  }

  .wishlist-toast.success {
    background: var(--nmd-purple, #5b3fc8) !important;
    background-color: var(--nmd-purple, #5b3fc8) !important;
    border-color: var(--nmd-purple, #5b3fc8) !important;
  }

  .wishlist-toast.success .wishlist-toast-text,
  .footer__main .wishlist-toast.success .wishlist-toast-text,
  #footer .wishlist-toast.success .wishlist-toast-text {
    color: #fff !important;
  }

  .wishlist-toast.error {
    background: #c62828 !important;
    background-color: #c62828 !important;
    border-color: #c62828 !important;
  }

  .wishlist-toast.error .wishlist-toast-text,
  .footer__main .wishlist-toast.error .wishlist-toast-text,
  #footer .wishlist-toast.error .wishlist-toast-text {
    color: #fff !important;
  }

  /* Wishlist view — delete control next to add-to-cart (same class as heart) */
  body#view .wishlist-product .wishlist-button-add,
  body#module-blockwishlist-view .wishlist-product .wishlist-button-add {
    position: static !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    bottom: auto !important;
    inset: auto !important;
    width: 2.25rem !important;
    height: 2.25rem !important;
    min-width: 2.25rem !important;
    max-width: 2.25rem !important;
    max-height: 2.25rem !important;
    border-radius: 8px !important;
    border: 1px solid #d5d7e4 !important;
    background: #fff !important;
    background-color: #fff !important;
    box-shadow: none !important;
    color: #6b6d8a !important;
  }

  body#view .wishlist-product .wishlist-button-add:hover,
  body#module-blockwishlist-view .wishlist-product .wishlist-button-add:hover {
    border-color: #c62828 !important;
    color: #c62828 !important;
    background: #fff !important;
    opacity: 1 !important;
  }
}
