/* =============================================================================
   LAYOUT.CSS — Grid system, containers, and section helpers
   Pet Transfer Bodrum
   ============================================================================= */

/* ── Container ──────────────────────────────────────────── */
.container {
  width: 100%;
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--container-px);
}

.container--narrow { max-width: 760px; }
.container--wide   { max-width: 1360px; }

/* ── Sections ──────────────────────────────────────────── */
.section { padding: var(--space-section) 0; }
.section--sm      { padding: var(--space-section-sm) 0; }
.section--dark    { background: var(--color-bg-dark); }
.section--alt     { background: var(--color-bg-alt); }
.section--surface { background: var(--color-surface); }
.section--primary { background: var(--color-primary); }
.section--primary-dark { background: var(--color-primary-dark); }

/* Section header block */
.section-header {
  margin-bottom: 56px;
}
.section-header.centered {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* ── Grid utilities ─────────────────────────────────────── */
.grid { display: grid; gap: 24px; }
.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }
.grid-auto { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }

/* ── Split layout ──────────────────────────────────────── */
.split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.split--60-40 { grid-template-columns: 1.5fr 1fr; }
.split--40-60 { grid-template-columns: 1fr 1.5fr; }
.split--reversed > *:first-child { order: 2; }
.split--reversed > *:last-child  { order: 1; }

/* ── Flex utilities ─────────────────────────────────────── */
.flex         { display: flex; }
.flex-center  { display: flex; align-items: center; justify-content: center; }
.flex-between { display: flex; align-items: center; justify-content: space-between; }
.flex-col     { display: flex; flex-direction: column; }
.gap-8  { gap: 8px; }
.gap-16 { gap: 16px; }
.gap-24 { gap: 24px; }
.gap-32 { gap: 32px; }

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 1024px) {
  .grid-4         { grid-template-columns: repeat(2, 1fr); }
  .split          { gap: 48px; }
}

@media (max-width: 768px) {
  :root {
    --space-section:    80px;
    --space-section-sm: 48px;
    --container-px:     20px;
  }
  .grid-2,
  .grid-3,
  .grid-4          { grid-template-columns: 1fr; }
  .split,
  .split--60-40,
  .split--40-60    { grid-template-columns: 1fr; gap: 40px; }
  .split--reversed > *:first-child { order: unset; }
  .split--reversed > *:last-child  { order: unset; }
  .section-header  { margin-bottom: 40px; }
}
