/*
  Portal Shell (Non‑Landingpages)
  - Prevent theme containers from squeezing plugin UI.
  - Keep changes local to portal-side pages by targeting plugin classes.
*/

/* Full-width breakout helper (works inside any theme container) */
.scl-breakout,
.scl-global-nav.alignfull,
.scl-global-footer.alignfull {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* Stable inner frame width */
.scl-portal__container,
.scl-portal__containerWide,
.scl-portal-frame {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}

/* Reduce accidental theme top padding/margins around our modules */
.scl-portal-body,
.scl-portal-shortcode,
body .scl-breakout {
  box-sizing: border-box;
}

/* Block themes (e.g. Twenty Twenty‑Five) apply global body padding and
   constrained .wp-site-blocks widths. On portal pages we neutralize those
   so our shell controls layout consistently. */
body.scl-portal-body {
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.scl-portal-body .wp-site-blocks {
  padding: 0 !important;
}

body.scl-portal-body .wp-site-blocks > * {
  margin-block-start: 0 !important;
}

/* Ensure main blocks do not inherit theme max-width constraints */
body .scl-portal,
body .scl-auth-box,
body .scl_forum_app,
body .scl_promptdb_app {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

/* Provide consistent outer padding even when the theme has none */
body .scl-auth-box,
body .scl_forum_app,
body .scl_promptdb_app {
  padding-left: 24px;
  padding-right: 24px;
}

/* Account screen (/account) uses .scl-page-content + .scl-acc-accordion.
   Constrain to portal inner width and add a consistent left/right gutter. */
body.scl-portal-body .scl-page-content{
  max-width: var(--scl-nav-maxw, 1200px);
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}

body.scl-portal-body .scl-acc-accordion{
  max-width: var(--scl-nav-maxw, 1200px);
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 720px){
  body.scl-portal-body .scl-page-content{
    padding-left: 14px;
    padding-right: 14px;
  }
}

/* Plain WP pages inside the portal shell (e.g. Impressum/Datenschutz)
   should not render flush-left. Wrap them into a tile-like card for
   consistent portal UX. */
body.scl-portal-body .scl-portal-content {
  width: 100%;
  box-sizing: border-box;
}

body.scl-portal-body .scl-page-card {
  background: var(--scl-card-bg, rgba(255,255,255,.92));
  color: var(--scl-text, #111);
  border: 1px solid var(--scl-border, rgba(0,0,0,.12));
  border-radius: 18px;
  padding: 18px;
  box-sizing: border-box;
  margin: 18px 0 26px;
}

body.scl-portal-body .scl-page-card :where(h1,h2,h3) {
  margin-top: 0;
}

@media (max-width: 720px) {
  .scl-portal__container,
  .scl-portal__containerWide,
  .scl-portal-frame,
  body .scl-auth-box,
  body .scl_forum_app,
  body .scl_promptdb_app {
    padding-left: 14px;
    padding-right: 14px;
  }
}
