/* path: core/static/ui/css/blocks/reviews.css */

/* =============================================================================
   Reviews
   ============================================================================= */

.Reviews__head{
  display:block;
  margin-bottom:var(--space-4);
}

.Reviews__intro{
  max-width:760px;
}

.Reviews__subtitle{
  margin:0;
}

.Reviews__nav{
  display:none;
  align-items:center;
  gap:var(--space-1);
  flex:0 0 auto;
}

.Reviews__arrow{
  width:54px;
  height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:var(--r-m);
  border:1px solid var(--divider-2);
  background:var(--surface);
  color:var(--text);
  font:inherit;
  font-size:1.15rem;
  cursor:pointer;
  transition:
    background .15s ease,
    border-color .15s ease,
    transform .08s ease,
    opacity .15s ease;
}

.Reviews__arrow:hover{
  background:var(--surface-2);
  border-color:var(--divider-3);
}

.Reviews__arrow:active{
  transform:translateY(1px);
}

.Reviews__arrow.is-disabled{
  opacity:.42;
  cursor:default;
  pointer-events:none;
}

.Reviews__body{
  margin-bottom:0;
}

.Reviews__viewport{
  position:relative;
}

.Reviews__scroller{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc(100% - 40px);
  gap:var(--space-4);
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x mandatory;
  padding:2px 20px 6px 0;
  scrollbar-width:none;
}

.Reviews__scroller::-webkit-scrollbar{
  display:none;
}

/* =============================================================================
   Review Card
   ============================================================================= */

.ReviewCard{
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:100%;
  scroll-snap-align:start;
  overflow:hidden;
}

.ReviewCard__media{
  position:relative;
  margin:var(--space-4) var(--space-4) 0;
  height:150px;
  border-radius:var(--r-m);
  background:var(--surface-2);
  overflow:hidden;
  flex:0 0 auto;
}

.ReviewCard__img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.ReviewCard__body{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:var(--space-4);
}

.ReviewCard__head{
  margin:0 0 var(--space-2);
}

.ReviewCard__name{
  margin:0 0 6px;
  color:var(--text);
  font-family:var(--font-head);
  font-size:1.1rem;
  line-height:1.15;
  font-weight:700;
  letter-spacing:-.02em;
}

.ReviewCard__meta{
  margin:0;
  color:var(--text-3);
  font-size:var(--small);
  line-height:1.3;
  font-family: var(--font-body);
  font-weight:400;
}

.ReviewCard__text{
  margin:0;
  color:var(--text-2);
  font-size:1rem;
  line-height:1.6;
}

@media (min-width:768px){
  .Reviews__head{
    margin-bottom:var(--space-5);
  }

  .Reviews__scroller{
    grid-auto-columns:minmax(360px, 48%);
    gap:var(--space-4);
    padding-right:40px;
  }

  .ReviewCard__media{
    height:170px;
  }

  .ReviewCard__body{
    padding:var(--space-4);
  }
}

@media (min-width:1200px){
  .Reviews__head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:var(--space-5);
    max-width:none;
  }

  .Reviews__intro{
    flex:0 1 760px;
    max-width:760px;
  }

  .Reviews__nav{
    display:flex;
    margin-left:auto;
    align-self:flex-end;
  }

  .Reviews__scroller{
    grid-auto-columns:minmax(360px, 32%);
    padding-right:56px;
  }

  .ReviewCard__media{
    height:190px;
  }
}