/* shop style */
.fwpl-layout {
  display: grid;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;

  .fwpl-result {
    box-sizing: border-box;
    margin-bottom: 32px;
    @media (max-width: 768px) {
      margin-bottom: 16px;
    }

    .shop_thumbnail {
      img {
        aspect-ratio: 1 / 1;
        width: 100%;
        height: auto;
        object-fit: cover;
      }
    }

    .fwpl-btn {
      display: block;
      width: 100%;
      text-align: center;
      padding: 6px 8px;
      background-color: #20a2dc;
      color: #fff;
      font-weight: 600;
      text-decoration: none;
      transition: background-color 0.3s ease;
      margin-bottom: 8px;

      &:hover {
        background-color: #18aadf;
      }
    }

    .shop_title {
      font-size: 18px;
      font-weight: 600;

      @media (max-width: 768px) {
        padding: 0 20px;
      }
    }

    .feed_name,
    .feed_headline {
      font-size: 15px;
      font-weight: 600;

      @media (max-width: 768px) {
        padding: 0 20px;
      }
    }

    .dynamic-datetime-display {
      @media (max-width: 768px) {
        padding: 0 20px;
      }
    }

    .feed_description {
      font-size: 14px;
      line-height: 1.3;

      @media (max-width: 768px) {
        padding: 0 20px;
      }
    }

    .shop_category {
      margin-bottom: 8px;
      @media (max-width: 768px) {
        padding: 0 20px;
      }
      span {
        display: inline-block;
        padding: 2px 8px;
        background-color: #d9d9d9;
        border-radius: 16px;
        font-size: 12px;
        margin-right: 4px;
      }
    }
    .feed_category {
      margin-bottom: 4px;
      margin-top: -3px;
      @media (max-width: 768px) {
        padding: 0 20px;
      }
      span {
        display: inline-block;
        padding: 2px 8px;
        background-color: #ff4d4f;
        color: #fff;
        border-radius: 4px;
        font-size: 12px;
        margin-right: 4px;
      }
    }

    .shop_desc {
      font-size: 14px;
      line-height: 1.3;
      @media (max-width: 768px) {
        padding: 0 20px;
      }
    }
  }

  .datetime-range {
    font-size: 12px;
    font-weight: 600;
  }
}

@media (max-width: 768px) {
  .fwpl-layout {
    grid-template-columns: 1fr !important;
  }
}

@media (min-width: 767px) {
  .popular-shops {
    .facet-main-section {
      margin-left: auto !important;
      transition: none !important;
    }
    
    .facet-main-section-fixed {
      position: relative;
      transform: translateX(6px) !important;
    }
  }
}
