/* ============================================
   Block: Card Grid
   ============================================ */

.block-card-grid {

  & .grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--space-md);

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

  & .card {
    display: flex;
    flex-direction: column;
    border-radius: var(--border-radius);
    overflow: hidden;
    border: 2px solid var(--color-red);
    box-shadow: 3px 3px 0px var(--color-red);
    background:var(--color-red);
    color:white;
  }

  & .card-media {
    aspect-ratio: 16 / 9;
    overflow: hidden;

    & img,
    & video {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }

  & .card-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 1.5rem;
  }

  & .card-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 0.75rem;
  }

  & .card-text {
    margin-bottom: 1.25rem;
    line-height: 1.6;
  }

  & .card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: auto;
    margin-bottom: 1rem;
  }

  & .card-disclosure {
    margin-top: auto;
    font-size: 0.75rem;
    line-height: 1.4;
    opacity: 0.6;
  }

  &.pt-sm { padding-top: var(--space-sm); }
  &.pt-md { padding-top: var(--space-md); }
  &.pt-lg { padding-top: var(--space-lg); }
  &.pt-xl { padding-top: var(--space-xl); }

  &.pb-sm { padding-bottom: var(--space-sm); }
  &.pb-md { padding-bottom: var(--space-md); }
  &.pb-lg { padding-bottom: var(--space-lg); }
  &.pb-xl { padding-bottom: var(--space-xl); }
}
