/*
 *  ____                _        ____
 * |  _ \ _ __ ___  ___| |_ __ _|  _ \  _____   __
 * | |_) | '__/ _ \/ __| __/ _` | | | |/ _ \ \ / /
 * |  __/| | |  __/\__ \ || (_| | |_| |  __/\ V /
 * |_|   |_|  \___||___/\__\__,_|____/ \___| \_/
 *
 * PrestaDev.pl - PD Omnibus Price Pro
 *
 * NOTICE OF LICENSE
 *
 * This source file is licensed under the PrestaDev Proprietary License
 * shipped with this package in the file LICENSE.md.
 * If you did not receive a copy of the license, please contact: info@prestadev.pl
 *
 * DISCLAIMER
 *
 * Do not edit, modify or copy this file.
 * If you wish to customize it, contact us at info@prestadev.pl.
 *
 * @author    Patryk Marek <info@prestadev.pl>
 * @copyright 2012-2026 Patryk Marek - PrestaDev.pl
 *
 * @see      https://prestadev.pl
 *
 * @version   1.0.40
 *
 * @license   PrestaDev.pl Patryk Marek Proprietary License
 *
 * @date      2026-01-27
 */




/* --------------------------------------------------------------------------
 * Chart appearance (optional)
 * You can override these CSS variables in your theme when using "Auto" theme.
 * -------------------------------------------------------------------------- */
#pdomnibuspricepro-modal,
.pdomnibuspricepro-modal {
  --pdomnibuspricepro-chart-accent-1: #0d6efd;
  --pdomnibuspricepro-chart-accent-2: #6ea8fe;
  --pdomnibuspricepro-skeleton: rgba(0,0,0,0.06);
}

/* Dark mode styling (when selected in module configuration) */
#pdomnibuspricepro-modal.pdomnibuspricepro-theme-dark,
#pdomnibuspricepro-modal.pdomnibuspricepro-theme-auto[data-pdomnibus-scheme="dark"] {
  --pdomnibuspricepro-chart-bg: #0f172a;
  --pdomnibuspricepro-chart-text: #f8f9fa;
  --pdomnibuspricepro-chart-grid: rgba(248,249,250,0.18);
  --pdomnibuspricepro-skeleton: rgba(255,255,255,0.07);
}

#pdomnibuspricepro-modal.pdomnibuspricepro-theme-dark .modal-content,
#pdomnibuspricepro-modal.pdomnibuspricepro-theme-auto[data-pdomnibus-scheme="dark"] .modal-content {
  background-color: #0f172a;
  color: #f8f9fa;
}

#pdomnibuspricepro-modal.pdomnibuspricepro-theme-dark .modal-header,
#pdomnibuspricepro-modal.pdomnibuspricepro-theme-dark .modal-footer,
#pdomnibuspricepro-modal.pdomnibuspricepro-theme-auto[data-pdomnibus-scheme="dark"] .modal-header,
#pdomnibuspricepro-modal.pdomnibuspricepro-theme-auto[data-pdomnibus-scheme="dark"] .modal-footer {
  border-color: rgba(248,249,250,0.18);
}

#pdomnibuspricepro-modal.pdomnibuspricepro-theme-dark .btn-secondary,
#pdomnibuspricepro-modal.pdomnibuspricepro-theme-auto[data-pdomnibus-scheme="dark"] .btn-secondary {
  background-color: rgba(248,249,250,0.14);
  border-color: rgba(248,249,250,0.25);
  color: #f8f9fa;
}

#pdomnibuspricepro-modal.pdomnibuspricepro-theme-dark .btn-secondary:hover,
#pdomnibuspricepro-modal.pdomnibuspricepro-theme-auto[data-pdomnibus-scheme="dark"] .btn-secondary:hover {
  background-color: rgba(248,249,250,0.22);
}

/* Bootstrap 5 close button uses an SVG background that is dark by default */
#pdomnibuspricepro-modal.pdomnibuspricepro-theme-dark .btn-close,
#pdomnibuspricepro-modal.pdomnibuspricepro-theme-auto[data-pdomnibus-scheme="dark"] .btn-close {
  filter: invert(1) grayscale(100%);
  opacity: 0.85;
}


.pdomnibuspricepro-block {
  margin: 0.25rem 0;
  font-size: 0.85rem;
  line-height: 1.3;
}

.pdomnibuspricepro-line {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: baseline;
}

.pdomnibuspricepro-label {
  opacity: 0.80;
}

.pdomnibuspricepro-open {
  margin-left: auto;
  text-decoration: underline;
  cursor: pointer;
}

.pdomnibuspricepro-chart-wrap {
  position: relative;
  width: 100%;
  --pdomnibuspricepro-chart-height: 320px;
  height: var(--pdomnibuspricepro-chart-height);
  min-height: var(--pdomnibuspricepro-chart-height);
}

@media (max-width: 575.98px) {
  .pdomnibuspricepro-chart-wrap {
    --pdomnibuspricepro-chart-height: 240px;
  }
}

.pdomnibuspricepro-chart-wrap canvas {
  display: block;
  width: 100% !important;
  height: 100% !important;
  opacity: 0;
  transform: translateY(2px);
  transition: opacity 180ms ease, transform 180ms ease;
}

.pdomnibuspricepro-chart-wrap.is-ready canvas {
  opacity: 1;
  transform: none;
}

.pdomnibuspricepro-chart-wrap.is-loading::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 0.25rem;
  background: var(--pdomnibuspricepro-skeleton);
  animation: pdomnibuspricepro-pulse 1.1s ease-in-out infinite;
  pointer-events: none;
}

@keyframes pdomnibuspricepro-pulse {
  0% { opacity: 0.65; }
  50% { opacity: 0.25; }
  100% { opacity: 0.65; }
}

/* When opened from another modal (e.g. Quick View), we show our modal manually without a new backdrop.
 * Keep it above the underlying modal.
 */
#pdomnibuspricepro-modal.pdomnibuspricepro-stacked {
  z-index: 2000;
}

/* When we stack our modal on top of Quick View, center it in the viewport (both axes) */
#pdomnibuspricepro-modal.pdomnibuspricepro-stacked.show {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

#pdomnibuspricepro-modal.pdomnibuspricepro-stacked .modal-dialog {
  margin: 0.75rem;
  width: calc(100% - 1.5rem);
}

.pdomnibuspricepro-loading {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  text-align: center;
  opacity: 0.85;
  pointer-events: none;
}

.pdomnibuspricepro-meta {
  margin-bottom: 0.75rem;
}

.pdomnibuspricepro-meta-row {
  display: flex;
  gap: 0.5rem;
  align-items: baseline;
}

.pdomnibuspricepro-meta-label {
  opacity: 0.85;
}


/* Compact label for product lists */
.pdomnibuspricepro-compact {
  font-size: 0.80em;
  line-height: 1.2;
  margin: 0.25rem 0;
  display: flex;
  gap: 0.35rem;
  flex-wrap: wrap;
  align-items: baseline;
}

.pdomnibuspricepro-compact-label {
  opacity: 0.85;
}

.pdomnibuspricepro-compact-value {
  white-space: nowrap;
}
