/* Light-DOM host only — keeps layout width; widget CSS lives in the shadow root. */
.powr-dir-host {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.powr-dir-host[data-powr-shadow]:not([data-powr-ready]) {
  visibility: hidden;
}

.pd-page-loader {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.85);
}

.pd-page-loader.is-visible {
  display: flex;
}

.pd-page-loader__spinner {
  width: 48px;
  height: 48px;
  border: 4px solid #e2e5ea;
  border-top-color: #f97316;
  border-radius: 50%;
  animation: pd-spin 0.8s linear infinite;
}

@keyframes pd-spin {
  to {
    transform: rotate(360deg);
  }
}

@media print {
  .pd-page-loader {
    display: none !important;
  }

  .powr-dir-host {
    display: block !important;
    overflow: visible !important;
    height: auto !important;
    width: 100% !important;
  }

  /* Isolate plugin output from WordPress theme chrome. */
  html.pd-print-directory body *,
  html.pd-print-detail body * {
    visibility: hidden !important;
  }

  html.pd-print-directory .powr-dir-host.pd-print-active,
  html.pd-print-directory .powr-dir-host.pd-print-active *,
  html.pd-print-detail .powr-dir-host.pd-print-active,
  html.pd-print-detail .powr-dir-host.pd-print-active * {
    visibility: visible !important;
  }

  html.pd-print-directory .powr-dir-host.pd-print-active,
  html.pd-print-detail .powr-dir-host.pd-print-active {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
  }
}
