/* ============================================================
   Container — shared responsive layout constraint
   Provides 1024px max content width with responsive side padding.
   Import this in any component that uses the .container class.
   ============================================================ */

.container {
  position:   relative;
  width:      100%;
  max-width:  calc(1024px + 160px); /* 1024px content + 80px × 2 */
  padding:    0 80px;
  margin:     0 auto;
  box-sizing: border-box;
}

/* Tablet (≤991px): 60px sides */
@media (max-width: 991px) {
  .container {
    padding: 0 60px;
  }
}

/* Landscape mobile (≤767px): 2rem sides */
@media (max-width: 767px) {
  .container {
    padding: 0 2rem;
  }
}



/* ============================================================
   Wide container — 1360px content + 48px side padding
   Used for full-bleed section content blocks (slider, big cards)
   that need to be wider than the standard 1024px text container.
   ============================================================ */

.container-wide {
  width:      100%;
  max-width:  calc(1384px + 96px);   /* 1384px content + 48px × 2 */
  padding:    0 3rem;                /* 48px sides */
  margin:     0 auto;
  box-sizing: border-box;
}

/* Tablet (≤991px): 16px less than .container (60px → 44px) */
@media (max-width: 991px) {
  .container-wide {
    padding: 0 44px;
  }
}

/* Landscape mobile (≤767px): 16px less than .container (2rem → 1rem) */
@media (max-width: 767px) {
  .container-wide {
    padding: 0 1rem;
  }
}


/* ============================================================
   LawPracticeFeaturesSection — 3 × 4 icon + label grid

   Figma file VX9tmGCEcVnJ7Fo9Fk8gee, node 6130:6449.
   See LawPracticeFeaturesSection.figma.md.
   ============================================================ */

.law-practice-features {
  background: var(--background);
}

/* The rail convention keeps the header and the content in one `.container`, so
   this inner stack owns the header→grid rhythm. Flat 64px at every width —
   see docs/conventions.md → "Section header + sticky badge convention". */
.law-practice-features__content {
  display:        flex;
  flex-direction: column;
  gap:            4rem;                  /* 64px */
}


/* ---- Grid --------------------------------------------------
   Figma's grid frame is 1056 wide at x=228 while the heading sits in the
   1024px column at x=244: the card width is exactly 1024/3 and the two 16px
   gaps are added outside it, so the grid overhangs the container by 16px on
   each side. Reproduced with a negative margin, but only from 992px up — below
   that the container's padding is doing real work and the overhang would push
   cards off-screen. Flagged in the .figma.md as a possible design slip. */

.law-practice-features__grid {
  display:               grid;
  grid-template-columns: repeat(3, 1fr);
  gap:                   var(--spacing-4);   /* 16px both axes */
  margin:                0;
  padding:               0;
  list-style:            none;
}

@media (min-width: 992px) {
  .law-practice-features__grid {
    margin-left:  -1rem;
    margin-right: -1rem;
  }
}


/* ---- Card (shell comes from the shared .card-secondary) ---- */

.law-practice-features__card {
  display:     flex;
  align-items: center;
  gap:         0.625rem;                 /* 10px — Figma icon 24px, text at 34 */
  min-height:  80px;
  padding:     1.75rem;                  /* 28px */
}

.law-practice-features__icon {
  display:         flex;
  align-items:     center;
  justify-content: center;
  flex-shrink:     0;
  width:           1.5rem;               /* 24px */
  height:          1.5rem;
  color:           var(--foreground);
}

.law-practice-features__icon svg {
  width:  100%;
  height: 100%;
}

.law-practice-features__label {
  font-size:   var(--font-size-base);    /* 16px */
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-base);  /* 24px */
  color:       var(--foreground);
}


/* ============================================================
   Tablet (≤991px) — 2 columns
   ============================================================ */

@media (max-width: 991px) {
  .law-practice-features__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}


/* ============================================================
   Mobile (≤767px) — single column
   ============================================================ */

@media (max-width: 767px) {
  .law-practice-features__grid {
    grid-template-columns: 1fr;
  }

  .law-practice-features__card {
    padding: 1.25rem 1.5rem;
  }
}

