/*
 * UKMS Pastel Post UI Compatibility Fix v1.0.0
 *
 * Scope: only .ukms-ppui-shell and its descendants.
 * Goal: neutralize common theme/content-container rules that collapse the
 * desktop grid, cap article width, or apply generic margins/max-widths.
 */

.ukms-ppui-shell.ukms-ppui-compat-repair,
.ukms-ppui-shell.ukms-ppui-compat-repair * {
  box-sizing: border-box;
}

@media (min-width: 1051px) {
  /* Break out of generic theme content caps without disturbing the rest of the page. */
  .ukms-ppui-shell.ukms-ppui-compat-repair {
    display: block !important;
    width: min(1400px, calc(100vw - 32px)) !important;
    max-width: 1400px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-self: auto !important;
    align-self: auto !important;
    grid-column: auto !important;
    flex: 0 0 auto !important;
  }

  /* Some themes apply generic rules such as .entry-content div { ... }. */
  .ukms-ppui-shell.ukms-ppui-compat-repair .ukms-ppui-layout {
    display: grid !important;
    grid-template-columns: 220px minmax(0, 810px) !important;
    grid-auto-columns: auto !important;
    align-items: start !important;
    justify-content: center !important;
    gap: 42px !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    float: none !important;
    clear: both !important;
    position: relative !important;
  }

  .ukms-ppui-shell.ukms-ppui-compat-repair .ukms-ppui-rail {
    display: block !important;
    width: 220px !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    position: relative !important;
    grid-column: 1 !important;
  }

  .ukms-ppui-shell.ukms-ppui-compat-repair .ukms-ppui-article {
    display: block !important;
    width: 100% !important;
    max-width: 810px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    float: none !important;
    position: relative !important;
    grid-column: 2 !important;
    overflow-wrap: break-word;
  }

  /* Neutralize common theme constraints on the article's direct content. */
  .ukms-ppui-shell.ukms-ppui-compat-repair .ukms-ppui-original-content,
  .ukms-ppui-shell.ukms-ppui-compat-repair .ukms-ppui-original-content > *,
  .ukms-ppui-shell.ukms-ppui-compat-repair .ukms-ppui-pastel-sections > * {
    min-width: 0;
  }

  .ukms-ppui-shell.ukms-ppui-compat-repair .ukms-ppui-original-content {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Generic theme rules sometimes constrain paragraphs/headings/lists individually. */
  .ukms-ppui-shell.ukms-ppui-compat-repair .ukms-ppui-original-content > p,
  .ukms-ppui-shell.ukms-ppui-compat-repair .ukms-ppui-original-content > h2,
  .ukms-ppui-shell.ukms-ppui-compat-repair .ukms-ppui-original-content > h3,
  .ukms-ppui-shell.ukms-ppui-compat-repair .ukms-ppui-original-content > h4,
  .ukms-ppui-shell.ukms-ppui-compat-repair .ukms-ppui-original-content > ul,
  .ukms-ppui-shell.ukms-ppui-compat-repair .ukms-ppui-original-content > ol,
  .ukms-ppui-shell.ukms-ppui-compat-repair .ukms-ppui-original-content > blockquote,
  .ukms-ppui-shell.ukms-ppui-compat-repair .ukms-ppui-original-content > table,
  .ukms-ppui-shell.ukms-ppui-compat-repair .ukms-ppui-original-content > figure,
  .ukms-ppui-shell.ukms-ppui-compat-repair .ukms-ppui-original-content > section,
  .ukms-ppui-shell.ukms-ppui-compat-repair .ukms-ppui-section {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }

  /* Keep the original plugin's 4-card desktop header when a theme applies a
     generic flex/grid rule to .entry-content descendants. */
  .ukms-ppui-shell.ukms-ppui-compat-repair .ukms-ppui-meta-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .ukms-ppui-shell.ukms-ppui-compat-repair .ukms-ppui-hero,
  .ukms-ppui-shell.ukms-ppui-compat-repair .ukms-ppui-hero-title {
    max-width: none !important;
  }

  /* Fallback mode is activated by JS when a parent container prevents the
     shell from obtaining a genuinely wide desktop canvas. */
  .ukms-ppui-shell.ukms-ppui-compat-repair.ukms-ppui-compat-breakout {
    width: min(1400px, calc(100vw - 32px)) !important;
    max-width: 1400px !important;
    margin-left: calc(50% - 50vw + 16px) !important;
    margin-right: calc(50% - 50vw + 16px) !important;
  }
}

/* Never change the plugin's intended mobile/tablet behavior. */
@media (max-width: 1050px) {
  .ukms-ppui-shell.ukms-ppui-compat-repair .ukms-ppui-layout {
    width: 100% !important;
    max-width: none !important;
  }
}
