.l-container { max-width: var(--container-max); margin-inline: auto; padding-inline: var(--container-pad); }
.l-section { padding-block: var(--space-section); }
.l-section--sm { padding-block: var(--space-section-sm); }
.l-section--no-bottom { padding-block-end: 0; }
.l-section--sand { background: var(--color-sand-100); }
.l-section--plum { background: var(--color-primary); color: var(--color-white); }
.l-section--accent { background: var(--color-accent); color: var(--color-white); }
.l-section--plum-50 { background: var(--color-plum-50); }
.l-section--dark { background: var(--color-primary-dark); color: var(--color-white); }
.l-section--plum h1, .l-section--plum h2, .l-section--plum h3,
.l-section--accent h1, .l-section--accent h2, .l-section--accent h3,
.l-section--dark h1, .l-section--dark h2, .l-section--dark h3 { color: var(--color-white); }
.l-section--plum .l-section__head p, .l-section--dark .l-section__head p { color: var(--color-plum-300); }
.l-section--accent .l-section__head p, .l-section--accent .c-lead { color: var(--color-plum-50); }
.l-section--plum a:not(.c-btn), .l-section--dark a:not(.c-btn) { color: var(--color-plum-200); }
.l-section--accent a:not(.c-btn) { color: var(--color-white); }
.l-section--plum a:not(.c-btn):hover, .l-section--dark a:not(.c-btn):hover { color: var(--color-white); }
.l-section--accent a:not(.c-btn):hover { color: var(--color-plum-50); }
.l-section__head { display: flex; flex-direction: column; gap: var(--space-after-h2); margin-bottom: var(--space-after-lead); }
/* Lead na pelna szerokosc; weza miare zostawiamy tam, gdzie obok stoi przycisk (.l-between). */
.l-between .l-section__head { max-width: 70ch; }
.l-section__head p { margin: 0; color: var(--color-text-muted); font-size: var(--text-lead); }
.l-grid { display: grid; gap: var(--grid-gap); grid-template-columns: 1fr; }
@media (min-width: 768px) { .l-grid--2, .l-grid--3, .l-grid--4 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) {
  .l-grid--3 { grid-template-columns: repeat(3, 1fr); }
  .l-grid--4 { grid-template-columns: repeat(4, 1fr); gap: var(--grid-gap-lg); }
}
.l-content { display: grid; gap: var(--grid-gap-cols); align-items: start; }
@media (min-width: 1024px) { .l-content { grid-template-columns: 1.4fr .6fr; } }
.l-split { display: grid; gap: 40px; }
@media (min-width: 1024px) { .l-split { grid-template-columns: 1.05fr .95fr; gap: 64px; align-items: center; } }
.l-cluster { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.l-stack { display: flex; flex-direction: column; gap: var(--space-gap-md); }
.l-mobile-full .c-btn { width: 100%; }
@media (min-width: 768px) { .l-mobile-full .c-btn { width: auto; } }
ul.l-grid { list-style: none; padding-left: 0; }
.l-between { display: flex; flex-direction: column; gap: var(--space-gap-md); }
.l-between--head { margin-bottom: var(--space-after-lead); }
@media (min-width: 768px) {
  .l-between { flex-direction: row; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--grid-gap-lg); }
}
@media (min-width: 1024px) { .l-split--text { grid-template-columns: 1.2fr .8fr; } }
@media (min-width: 1024px) { .l-split--kontakt { grid-template-columns: 1fr 1fr; align-items: stretch; } }
.l-section__head--flush { margin-bottom: 0; }
.l-content--solo { grid-template-columns: 1fr; }
@media (min-width: 1024px) { .l-content--solo { grid-template-columns: minmax(0, 520px); } }

/* Task 8: Kim jesteśmy / Zgłoś szkodę / Kontakt */
.l-split--person { gap: var(--grid-gap-lg); }
@media (min-width: 1024px) {
  /* Kolumna tekstu jest tak szeroka jak jego miara czytania, wiec blok wypelnia ja w calosci:
     tekst trzyma sie krawedzi kontenera i odstep do zdjecia jest taki sam w obu wariantach. */
  .l-split--person { grid-template-columns: .42fr .58fr; gap: var(--grid-gap-cols); align-items: start; }
  .l-split--person.l-split--reverse { grid-template-columns: .58fr .42fr; }
  .l-split--person .c-person-body { max-width: none; }
  .l-split--reverse > :first-child { order: 2; }
  .l-content--reverse { grid-template-columns: .6fr 1.4fr; }
}
