@layer component.layout {
  .ticket {
    display: grid;
    gap: 2rem;
    align-items: center;
    grid-template: 
      '🎆 📄 .' 1fr / 
      1fr 2fr 0;
  }

  .ticket--flipped {
    grid-template: 
      '. 📄 🎆' 1fr / 
      0 2fr 1fr;
  }

  @media (max-width: 800px) {
    .ticket {
      grid-template: 
        '🎆 🎆 🎆' auto 
        '. 📄 .' auto / 
        0 1fr 0;
    }
  }

  .ticket__image img {
    width: 100%;
    display: block;
    object-fit: cover;
  }

  .ticket__image {
    grid-area: 🎆;
  }

  .ticket__body {
    grid-column: 📄;
    &::before {
      content: '';
      display: block;
      margin-bottom: 1em;
    }
    &::after {
      content: '';
      display: block;
      margin-top: 1em;
    }
  }
}
