.cb-tiles-wrapper {
  position: relative;
  letter-spacing: -0.02em;
  padding-inline: 0;
  --padding: 20px;
  --border-radius: 4px;
  --border: 1px solid #d9e6f3;
  --black: #131A22;
  --grey: #6D798A;
  --blue: #0075EB;
  --light-blue: #D9EAFC;
  --heading: Rubik,arial,sans-serif;
  --ribbon-height: 31px;
}

.shadow {
  box-shadow: 0px 2px 12px 0 #002E5D1A;
}

.cb-tiles-wrapper::after {
  content: '';
  position: absolute;
  width: var(--fade-padding);
  height: 100%;
  background: linear-gradient(to right,rgba(255,255,255,0) 0,rgba(255,255,255,.6) 70%,rgba(255,255,255,1) 100%);
  right: 0;
  top: 0;
  z-index: 2;
}

.cb-tiles-wrapper::before {
  content: '';
  position: absolute;
  width: var(--fade-padding);
  height: 100%;
  background: linear-gradient(to left,rgba(255,255,255,0) 0,rgba(255,255,255,.6) 70%,rgb(255,255,255) 100%);
  left: 0;
  top: 0;
  z-index: 2;
}

.cb-tiles {
  list-style: none;
  padding-block: 10px;
  display: flex;
}

.cb-tiles::-webkit-scrollbar {
  display: none;
}

.cb-tiles-item {
  border-radius: var(--border-radius);
  border: var(--border);
  position: relative;
  overflow: hidden;
}

.cb-tiles-item {
  flex-shrink: 0;
  padding-inline: var(--padding);
  padding-block: calc(var(--padding) + var(--ribbon-height)) var(--padding);
  border: var(--border);
  border-radius: var(--border-radius);
  scroll-snap-align: center;
  width: 23.7%;
  min-width: 240px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.cb-tiles-item.partner {
  background-color: var(--light-blue);
  border-color: var(--blue);
}

.cb-tiles-item-logo {
  object-fit: contain;
  height: 50px;
  max-width: 150px;
  margin-bottom: 10px;
}

.cb-tiles-item-name {
  color: var(--black);
  font-size: 15px;
  margin-block: 0;
}

.cb-tiles-item-subtitle {
  color: var(--grey);
  font-size: 14px;
}

.cb-tiles-item-cost {
  margin-block: 5px;
  font-family: var(--heading);
  font-size: 25px;
}

.featured .cb-tiles-item-cost, .partner .cb-tiles-item-cost {
  color: var(--blue);
}

.cb-tiles-item-cost span {
  font-size: 14px;
  color: #65A1E1;
}

.cb-tiles-item-details {
  font-size: 13px;
  color: var(--grey);
  margin-bottom: 20px;
}

.partner .cb-tiles-item-details {
  color: var(--black);
}

.cb-tiles-item-button {
  text-transform: capitalize;
  font-weight: 500;
  border-radius: 4px;
  color: white !important;
  background-color: var(--blue);
  text-align: center;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-width: 0;
  font-size: 16px;
  font-family: Rubik,sans-serif,helvetica;
  transition: all .25s;
  white-space: nowrap;
  max-width: 100%;
  padding: 6px 24px;
  margin-top: auto;
}

.cb-tiles-item-button.button-highlighted {
    background:#0ec18f;
}

.cb-tiles-item-button.button-highlighted:hover {
    background:#24d5a3;
}

.cb-tiles-item-button:hover {
  background-color:#66c7ff;
}

.partner .cb-tiles-item-button {
  background-color:#0ec18f;
}

.partner .cb-tiles-item-button:hover {
  background-color:#28d3a3;
}

.cb-tiles-item-under-button {
  color: #6D798A !important;
  font-size: 15px;
  margin-block: 10px -5px;
}

.cb-tiles-item-under-button:hover {
  color: #436088 !important;
}

.cb-item-rating {
    display: flex;
    align-items: center;
    gap:10px;
    padding: 10px 12px;
    margin-block: 15px;
    border-radius: var(--border-radius);
    background: #FFF9EA;
}

.cb-stars-wrapper {
  position: relative;
  display: flex;
}

.cb-stars  {
    height: 13px;
    fill: #FFC665;
    min-height: unset !important;
    min-width: unset !important;
    padding-inline: 0.5px;
}

.cb-stars.fill {
    clip-path: inset(0% calc(100% - (var(--rating)/5 * 100%)) 0% 0%);
    position: absolute;
}

.no-rating path {
    fill:#ddd;
}

.no-rating .fill {
    display: none;
}

.cb-item-score {
    font-size: 32px;
    font-family: var(--heading) !important;
    line-height: 1;
}

.cb-item-stars-text {
    font-size: 12px;
    color: var(--grey);
    line-height: 1;
    margin-top:5px;
    text-align: left;
}

.cb-tiles-wrapper {
    position: relative;
    padding-inline: var(--padding);
    margin-inline: calc(-1 * var(--padding));
}

.cb-tiles-wrapper::after {
    content: '';
    position: absolute;
    width: var(--padding);
    height: 100%;
    background: linear-gradient(to right,rgba(255,255,255,0) 0,rgba(255,255,255,.6) 70%,rgba(255,255,255,1) 100%);
    right: 0;
    top: 0;
    z-index: 2;
}

.cb-tiles-wrapper::before {
    content: '';
    position: absolute;
    width: var(--padding);
    height: 100%;
    background: linear-gradient(to left,rgba(255,255,255,0) 0,rgba(255,255,255,.6) 70%,rgb(255,255,255) 100%);
    left: 0;
    top: 0;
    z-index: 2;
}

.cb-tiles {
    display: flex;
    gap: var(--padding);
    overflow-x: scroll;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none; 
    padding-inline: var(--padding);
    margin-inline: calc(-1 * var(--padding));
}

.cb-tiles-item.featured, .featured .cb-tiles-item-ribbon,
.featured-card  {
  border-color: var(--blue);
}

.featured .cb-tiles-item-ribbon  {
  background-color: var(--light-blue);
  color:var(--blue);
}

.partner .cb-tiles-item-ribbon  {
  background-color: var(--blue);
  color:white;
}

.cb-tiles-item-ribbon {
  display: flex;
  justify-content: center;
  align-items: center;
  gap:3px;
  font-family: var(--heading);
  font-size: 14px;
  line-height: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  text-align: center;
  color: var(--grey);
  background: #F7F9FA;
  border-bottom: var(--border);
  padding-block: 8px 6px;
  min-height: var(--ribbon-height);
}

.cb-tiles-item-ribbon svg {
  --icon-size:14px;
  min-width: var(--icon-size);
  height: var(--icon-size);
  width: var(--icon-size);
  margin-bottom: 1px;
}

.cb-tiles-item-ribbon path {
  fill: var(--grey);
}

.partner .cb-tiles-item-ribbon path {
  fill: white;
}

.featured .cb-tiles-item-ribbon path{
  fill: var(--blue);
}

.cb-tiles-item-rating {
  display: flex;
  align-items: center;
  gap: 5px;
  line-height: 1;
  margin-top: 5px;
}

.cb-tiles-arrow {
  position: absolute;
  top: 50%;
  display: flex;
  background: #E1F0FF;
  border-radius: 100px;
  padding: 10px;
  z-index: 3;
  opacity: 0;
  transition: 0.25s opacity ease;
  pointer-events: none;
}

.cb-tiles-arrow.scroll {
  opacity: 1;
  pointer-events: unset;
}

.cb-tiles-arrow path {
  fill:var(--blue);
}

.cb-tiles-arrow-prev {
  left: 4px;
  transform: rotate(180deg);
}

.cb-tiles-arrow-next {
  right: 4px;
}

@media screen and (max-width:478px) {

  .cb-tiles-wrapper {
    --padding: 15px;
  }

  .cb-tiles-arrow {
    display: none;
  }
}