:root {
  --products-padding: 88px;
  --products-width: 125px;
  --arrow-size: 32px; }

.products {
  position: relative; }
  .products .products__header {
    position: relative;
    width: 100vw;
    left: 50%;
    right: 50%;
    margin: 0 -50vw; }
    .products .products__header .block--hero {
      height: 75vh; }
      .products .products__header .block--hero .hero__levitate {
        position: relative;
        z-index: 2;
        transform: translateY(-75px); }
      .products .products__header .block--hero .hero__text {
        position: absolute;
        display: block;
        width: 100%;
        z-index: 2;
        text-align: center; }
        .products .products__header .block--hero .hero__text .hero__headline {
          margin: 0 auto; }
    @media screen and (max-width: 800px) {
      .products .products__header .block--hero .hero__levitate {
        transform: translateY(-50px) scale(0.75); }
      .products .products__header .block--hero .hero__text .hero__headline {
        font-size: 42px !important; } }
  .products .products__navigation {
    margin: 0 0 32px 0; }
    .products .products__navigation .products__types {
      position: relative;
      display: flex;
      gap: 60px;
      margin: -45px 0 32px 0;
      border-radius: 12px;
      backdrop-filter: blur(48px); }
      .products .products__navigation .products__types .products__arrow {
        display: flex;
        flex: 1 0 auto;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: calc(var(--products-padding) + (var(--products-width) / 2) - var(--arrow-size) / 2);
        width: var(--arrow-size);
        height: var(--arrow-size);
        border-radius: 100%;
        cursor: pointer;
        background-color: var(--c-white); }
        .products .products__navigation .products__types .products__arrow--left {
          left: var(--arrow-size);
          transform: rotate(180deg); }
        .products .products__navigation .products__types .products__arrow--right {
          right: var(--arrow-size); }
      .products .products__navigation .products__types .products__overflow {
        max-width: calc(100% - (var(--products-padding) * 2));
        width: 100%;
        margin: 0 auto;
        overflow-x: scroll; }
        .products .products__navigation .products__types .products__overflow::-webkit-scrollbar {
          height: 2px; }
        .products .products__navigation .products__types .products__overflow::-webkit-scrollbar-track {
          box-shadow: none;
          border-radius: 10px;
          background-color: var(--c-dark-40); }
        .products .products__navigation .products__types .products__overflow::-webkit-scrollbar-thumb {
          border-radius: 10px;
          background-color: var(--c-secondary-100); }
      .products .products__navigation .products__types .products__filters {
        display: flex;
        gap: 10px;
        padding: var(--products-padding) 0 24px 0; }
        .products .products__navigation .products__types .products__filters .products__filter {
          display: flex;
          flex-direction: column;
          justify-content: space-around;
          position: relative;
          flex: 1 0 var(--products-width);
          max-width: var(--products-width);
          height: auto;
          aspect-ratio: 1 / 1;
          text-align: center;
          order: 2;
          border-radius: 8px;
          background-color: var(--c-white);
          box-shadow: 4px 0px 8px 0px rgba(17, 17, 17, 0.04); }
          .products .products__navigation .products__types .products__filters .products__filter .products__image {
            width: auto;
            height: 70px; }
          .products .products__navigation .products__types .products__filters .products__filter .products__input {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            opacity: 0;
            margin: 0;
            cursor: pointer; }
          .products .products__navigation .products__types .products__filters .products__filter.checked {
            position: relative;
            order: 1;
            color: var(--c-white);
            background-color: var(--c-secondary-100);
            box-shadow: 4px 0px 8px 0px rgba(17, 17, 17, 0.25); }
    .products .products__navigation .products__bar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      border-radius: 8px;
      cursor: pointer;
      overflow: hidden;
      background-color: var(--c-white); }
      .products .products__navigation .products__bar .products__icon {
        display: flex;
        align-items: center;
        gap: 25px;
        border-radius: 8px;
        padding: 18px 24px;
        color: var(--c-white);
        background-color: var(--c-primary-100); }
      .products .products__navigation .products__bar .products__count {
        color: var(--c-dark-60);
        padding: 18px 24px; }
    .products .products__navigation .products__flyout {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      position: absolute;
      width: 100%;
      height: 0;
      z-index: 1;
      overflow: hidden;
      border-radius: 8px;
      background-color: var(--c-white);
      transition: height 350ms ease, box-shadow 350ms ease; }
      .products .products__navigation .products__flyout .products__filtering {
        flex: 0 1 auto;
        display: flex;
        gap: 50px;
        padding: 18px 24px;
        overflow: hidden; }
        .products .products__navigation .products__flyout .products__filtering .products__filters {
          display: flex;
          flex-direction: column;
          width: 25%;
          direction: rtl; }
          .products .products__navigation .products__flyout .products__filtering .products__filters > span {
            direction: ltr; }
          .products .products__navigation .products__flyout .products__filtering .products__filters .products__wrapper {
            overflow-y: scroll;
            padding: 0 0 0 15px; }
            .products .products__navigation .products__flyout .products__filtering .products__filters .products__wrapper::-webkit-scrollbar {
              width: 2px; }
            .products .products__navigation .products__flyout .products__filtering .products__filters .products__wrapper::-webkit-scrollbar-track {
              box-shadow: none;
              border-radius: 10px;
              background-color: var(--c-dark-40); }
            .products .products__navigation .products__flyout .products__filtering .products__filters .products__wrapper::-webkit-scrollbar-thumb {
              border-radius: 10px;
              background-color: var(--c-secondary-100); }
          .products .products__navigation .products__flyout .products__filtering .products__filters .products__filter {
            display: flex;
            flex-direction: row-reverse;
            gap: 24px;
            direction: ltr; }
            .products .products__navigation .products__flyout .products__filtering .products__filters .products__filter label {
              flex: 1 1 auto; }
            .products .products__navigation .products__flyout .products__filtering .products__filters .products__filter input[disabled] + label {
              color: var(--c-dark-60); }
            .products .products__navigation .products__flyout .products__filtering .products__filters .products__filter input {
              flex: 0 0 20px;
              width: 20px;
              height: 20px;
              border-color: var(--c-dark-60); }
      .products .products__navigation .products__flyout .products__additional {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 15px;
        flex: 0 0 auto;
        padding: 48px 24px; }
        .products .products__navigation .products__flyout .products__additional .products__buttons {
          display: flex;
          gap: 24px; }
      .products .products__navigation .products__flyout hr {
        width: 100%;
        height: 1px;
        border: none;
        margin: 15px 0;
        background-color: var(--c-dark-60); }
      .products .products__navigation .products__flyout.open {
        height: 800px;
        box-shadow: 0 50px 50px 0 rgba(0, 0, 0, 0.1); }
  .products .products__result .products__spinner {
    display: flex;
    justify-content: center; }
  .products .products__result .products__grid {
    width: 100%;
    height: 0;
    transition: height 350ms ease; }
    .products .products__result .products__grid .products__inner {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      grid-template-rows: auto;
      gap: 16px;
      padding: 0 0 80px 0; }
    .products .products__result .products__grid .products__item {
      padding: 16px;
      background-color: var(--c-white);
      opacity: 0;
      transform: translateY(10px);
      transition: transform 350ms ease, opacity 350ms ease;
      position: relative; }
      .products .products__result .products__grid .products__item.fadein {
        opacity: 1;
        transform: translateY(0); }
      .products .products__result .products__grid .products__item .products__item__bookmark {
        background-color: rgba(255, 255, 255, 0.4);
        border-radius: 20px;
        padding: 10px;
        position: absolute;
        top: 24px;
        right: 24px;
        z-index: 1; }
      .products .products__result .products__grid .products__item .products__item__header {
        position: relative; }
        .products .products__result .products__grid .products__item .products__item__header .products__item__image {
          width: 100%;
          height: auto;
          aspect-ratio: 1 / 1; }
          .products .products__result .products__grid .products__item .products__item__header .products__item__image > img {
            width: 100%;
            height: 100%;
            object-fit: cover; }
        .products .products__result .products__grid .products__item .products__item__header .products__item__artwork {
          display: flex;
          align-items: center;
          justify-content: center;
          position: absolute;
          right: 0;
          bottom: 0;
          width: 130px;
          height: 130px;
          transform: translateY(50%); }
          .products .products__result .products__grid .products__item .products__item__header .products__item__artwork:before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            border-radius: 100%;
            backdrop-filter: blur(48px); }
          .products .products__result .products__grid .products__item .products__item__header .products__item__artwork:after {
            content: '';
            position: absolute;
            right: 0;
            bottom: 0;
            width: 100%;
            height: 50%;
            background-color: var(--c-white); }
          .products .products__result .products__grid .products__item .products__item__header .products__item__artwork > img {
            position: relative;
            width: 100px;
            height: auto;
            z-index: 2; }
      .products .products__result .products__grid .products__item .products__item__title {
        position: relative;
        margin: 45px 0 30px 0;
        z-index: 1; }
      .products .products__result .products__grid .products__item.bookmarked .products__item__bookmark svg path {
        fill: var(--c-primary-100); }

@media screen and (max-width: 800px) {
  .products .products__header {
    position: relative;
    width: 100vw;
    height: 50vh;
    left: 50%;
    right: 50%;
    margin: 0 -50vw; }
    .products .products__header > img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .products .products__navigation {
    position: relative;
    width: 100vw;
    left: 50%;
    right: 50%;
    margin: 0 -50vw; }
    .products .products__navigation .products__types .products__arrow {
      display: none; }
    .products .products__navigation .products__types .products__overflow {
      max-width: 100%;
      margin: 0 15px; }
    .products .products__navigation .products__bar {
      max-width: calc(100% - 30px);
      margin: 0 auto; }
    .products .products__navigation .products__flyout {
      max-width: calc(100% - 30px);
      right: 15px; }
      .products .products__navigation .products__flyout .products__filtering {
        flex-direction: column;
        overflow-y: scroll; }
        .products .products__navigation .products__flyout .products__filtering .products__filters {
          width: 100%; }
          .products .products__navigation .products__flyout .products__filtering .products__filters .products__wrapper {
            overflow: hidden;
            padding: 0; }
      .products .products__navigation .products__flyout .products__additional {
        padding: 24px 10px; }
        .products .products__navigation .products__flyout .products__additional .products__buttons {
          gap: 12px; }
  .products .products__result {
    padding: 48px 0 0 0; }
    .products .products__result .products__grid .products__inner {
      grid-template-columns: repeat(1, 1fr); } }
