/* Plain store pages in the luluwala clone's type, buttons, fields and cards. The FAQ page is excluded. */

body:is(.lw-page-cart, .lw-page-search, .lw-page-404, .lw-page-blog, .lw-page-article, .lw-page-list-collections, .lw-page-page):not(.lw-page-faq) main {
  color: #151515;
  background: #fff;
  font-family: 'Jost', sans-serif;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0;

  & :is(h1, h2, h3, h4, .h1, .h2, .h3, .h4, .title, .title--primary, .article-template__title) {
    color: #151515;
    font-family: 'Jost', sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    line-height: 1.25;
  }

  & :is(h1, .title--primary, .article-template__title) {
    font-size: 52.8px;
    line-height: 66px;
    margin: 0 0 24px;
  }

  & :is(.cart__warnings, .template-404, .template-search, .contact) .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 28px;
    border: 1px solid #151515;
    border-radius: 8px;
    background: #151515;
    color: #fff;
    box-shadow: none;
    font-family: 'Jost', sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none;
    transition: background-color .3s, border-color .3s;
  }

  & :is(.cart__warnings, .template-404, .template-search, .contact) .button:hover {
    background: #df8096;
    border-color: #df8096;
  }

  & .cart__checkout-button {
    min-height: 46px;
    border: 0;
    border-radius: 8px;
    background: #df8096;
    color: #fff;
    box-shadow: none;
    font-family: 'Jost', sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
  }

  & :is(.facets__summary, .facets__display, .button--secondary) {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 10px 20px;
    border: 1px solid #151515;
    border-radius: 8px;
    background: #fff;
    color: #151515;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
  }

  & :is(.field__input, .search__input, select) {
    min-height: 52px;
    height: 52px;
    padding: 12px 16px;
    border: 1px solid #d8bdc5;
    border-radius: 6px;
    background: #fff;
    color: #151515;
    box-shadow: none;
    font-family: 'Jost', sans-serif;
    font-size: 15px;
  }

  & textarea.field__input {
    height: auto;
    min-height: 140px;
  }

  & .field__label {
    color: #555;
    font-size: 14px;
  }

  & .cart__warnings {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding: 40px 0 80px;
    text-align: center;
  }

  & .cart__empty-text {
    margin: 0;
    font-size: 28px;
    line-height: 1.3;
    font-weight: 600;
  }

  & .cart__warnings a:not(.button) {
    color: #151515;
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  & .template-404 {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    padding: 80px 0 120px;
    text-align: center;
  }

  & .template-search__header {
    text-align: center;
    margin-bottom: 32px;
  }

  & .template-search--empty .template-search__header {
    padding: 40px 0 80px;
  }

  & :is(.template-search__results, .collection-list) {
    --grid-desktop-horizontal-spacing: 20px;
    --grid-desktop-vertical-spacing: 40px;
    --grid-mobile-horizontal-spacing: 16px;
    --grid-mobile-vertical-spacing: 32px;
  }

  & :is(.card, .card__inner, .article-card, .card-wrapper) {
    box-shadow: none;
  }

  & :is(.card__media, .article-card__image-wrapper, .article-card__image) {
    border-radius: 8px;
    overflow: hidden;
    background: #f4f4f2;
  }

  & :is(.card__heading, .article-card__heading, .article-card__title) {
    color: #151515;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0;
    text-transform: none;
  }

  & .price {
    color: #151515;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0;
  }

  & .article-card__info {
    color: #555;
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 0;
    text-transform: none;
  }

  & .caption-with-letter-spacing {
    color: #555;
    font-size: 12.8px;
    line-height: 1.5;
    letter-spacing: 1px;
    text-transform: uppercase;
  }

  & .rte {
    color: #151515;
    font-size: 16px;
    line-height: 1.6;

    & p,
    & ul,
    & ol {
      margin: 0 0 16px;
    }

    & ul,
    & ol {
      padding-left: 20px;
    }

    & li {
      margin-bottom: 6px;
    }

    & h2 {
      margin: 40px 0 16px;
      font-size: 36px;
      line-height: 45px;
    }

    & h3 {
      margin: 32px 0 12px;
      font-size: 24px;
      line-height: 1.25;
    }

    & a {
      color: #151515;
      text-decoration: underline;
      text-decoration-thickness: 1px;
      text-underline-offset: 3px;
    }
  }

  @media screen and (max-width: 749px) {
    & :is(h1, .title--primary, .article-template__title) {
      font-size: 39.6px;
      line-height: 49.5px;
    }

    & .rte h2 {
      font-size: 30px;
      line-height: 37.5px;
    }

    & :is(.card__heading, .article-card__heading, .article-card__title) {
      font-size: 16px;
    }

    & .cart__empty-text {
      font-size: 24px;
    }
  }
}
