/*
 * Layouts Library bridge (OIC-CL-P3)
 * - Adds missing container classes
 * - Adds optional positioning helpers for Columns Blueprint
 */

.oic-container-full{
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: 0;
}

/*
 * OIC-LC-HF06: Container Modes
 * Applied site-wide via .oic-site-wrap wrapper.
 */
.oic-site-wrap{
  min-height: 100vh;
}

/* Boxed layout: whole site inside a centered box with outer background */
body.oic-cm-boxed{
  background: var(--oic-boxed-bg, #f2f2f2);
}
body.oic-cm-boxed .oic-site-wrap{
  max-width: var(--oic-container-max, 1280px);
  margin: 24px auto;
  background: var(--oic-color-bg-1, #ffffff);
  border: 1px solid rgba(0,0,0,.07);
  border-radius: var(--oic-radius-lg, 16px);
  overflow: hidden;
  box-shadow: 0 16px 44px rgba(0,0,0,.08);
}

/* Framed layout: equal padding on all sides + inner border */
body.oic-cm-framed{
  padding: 16px;
}
@media (min-width: 783px){
  body.oic-cm-framed{ padding: 24px; }
}
body.oic-cm-framed .oic-site-wrap{
  background: var(--oic-color-bg, #ffffff);
  border: 1px solid rgba(0,0,0,.10);
  border-radius: var(--oic-radius-lg, 16px);
  overflow: hidden;
}

/* Full width: make all common containers edge-to-edge */
body.oic-cm-full .container,
body.oic-cm-full .oic-container{
  max-width: none;
  margin-inline: 0;
  padding-inline: 0;
}

/* Optional wide (reserved) */
.oic-container-wide{
  width: 100%;
  max-width: calc(var(--oic-container-max) + 240px);
  margin-inline: auto;
  padding-inline: var(--oic-container-pad);
}

/* Sidebar positioning helper (Pages + future contexts) */
@media (min-width: 783px){
  .oic-cols--sidebar-left.oic-cols--two{
    grid-template-columns: var(--oic-col-sidebar) minmax(0, 1fr);
    grid-template-areas: "sidebar content";
  }

  .oic-cols--sidebar-left.oic-cols--three{
    grid-template-columns: var(--oic-col-sidebar) minmax(0, 1fr) var(--oic-col-list);
    grid-template-areas: "sidebar content list";
  }
}
