/* dpc-layout.css — structural layout, containers, grids. Load order: 4th. */

.dpc-header__container,
.dpc-section__container,
.dpc-hero__container,
.dpc-footer__container,
.dpc-contact__container,
.dpc-related-tools__container,
.dpc-breadcrumbs,
.dpc-content,
.dpc-legal {
  max-width: var(--dpc-content-max);
  margin-inline: auto;
  padding-inline: var(--dpc-space-4);
}

main {
  display: block;
}

.dpc-hero {
  background-color: var(--dpc-bg-primary);
  padding-block: var(--dpc-space-10) var(--dpc-space-6);
  text-align: center;
}

.dpc-section {
  padding-block: var(--dpc-space-10);
}

.dpc-section--tinted {
  background-color: var(--dpc-bg-secondary);
}

.dpc-content {
  padding-block: var(--dpc-space-8);
}

.dpc-calc__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--dpc-space-6);
  max-width: var(--dpc-calc-width);
  margin-inline: auto;
}

.dpc-result__dates {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--dpc-space-4);
}

.dpc-card-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--dpc-space-6);
}

.dpc-timeline {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--dpc-space-4);
}

@media (min-width: 768px) {
  .dpc-result__dates {
    grid-template-columns: repeat(3, 1fr);
  }

  .dpc-card-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .dpc-card-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .dpc-timeline {
    grid-template-columns: repeat(2, 1fr);
  }
}
