/* ==============================================
   LAYOUT — Page wrap, grid rows, responsive
   ============================================== */

/* ── Main page wrapper ── */
.iw-page-wrap {
  max-width: var(--iw-max-width);
  margin: 0 auto;
  padding: 16px var(--iw-pad) 28px;
}

/* ── Two-column layout: content + sidebar ── */
.iw-layout {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.iw-content {
  flex: 1;
  min-width: 0;          /* prevent flex overflow */
  display: flex;
  flex-direction: column;
  gap: var(--iw-gap);
}

.iw-sidebar {
  width: 290px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: var(--iw-gap);
}

/* ── Card row grids ── */
.iw-row-1 {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: var(--iw-gap);
}

.iw-row-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--iw-gap);
}

.iw-row-4 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--iw-gap);
}

/* ── Inner-page wrap (archive, single, 404) ── */
.iw-inner-wrap {
  max-width: var(--iw-max-width);
  margin: 0 auto;
  padding: 28px var(--iw-pad) 48px;
}

/* Two-column layout for inner pages with sidebar */
.iw-inner-layout {
  display: flex;
  gap: 28px;
  align-items: flex-start;
}

.iw-inner-main {
  flex: 1;
  min-width: 0;
}

.iw-inner-sidebar {
  width: 290px;
  flex-shrink: 0;
}

/* ── Responsive breakpoints ── */
@media (max-width: 1060px) {
  .iw-sidebar { width: 265px; }
  .iw-inner-sidebar { width: 250px; }
}

@media (max-width: 820px) {
  .iw-layout { flex-direction: column; }
  .iw-sidebar { width: 100%; }
  .iw-row-1 { grid-template-columns: 1fr; }
  .iw-row-2 { grid-template-columns: 1fr; }
  .iw-row-4 { grid-template-columns: 1fr; }
  .iw-inner-layout { flex-direction: column; }
  .iw-inner-sidebar { width: 100%; }
}

@media (max-width: 560px) {
  .iw-page-wrap    { padding: 12px 16px 20px; }
  .iw-inner-wrap   { padding: 20px 16px 36px; }
}
