.card-wrapper {
  color:inherit;
  height:100%;
  position:relative;
  text-decoration:none
}

.card {
  text-align:var(--card-text-alignment);
  text-decoration:none
}

.card:not(.ratio) {
  display:flex;
  flex-direction:column;
  height:100%
}

.card--card {
  height:100%
}

.card--card,.card--standard .card__inner {
  border-radius:var(--card-corner-radius);
  border:var(--card-border-width) solid rgba(var(--color-foreground),var(--card-border-opacity));
  position:relative;
  box-sizing:border-box
}

.card--card:after,.card--standard .card__inner:after {
  content:"";
  position:absolute;
  width:calc(var(--card-border-width) * 2 + 100%);
  height:calc(var(--card-border-width) * 2 + 100%);
  top:calc(var(--card-border-width) * -1);
  left:calc(var(--card-border-width) * -1);
  z-index:-1;
  border-radius:var(--card-corner-radius);
  box-shadow:var(--card-shadow-horizontal-offset) var(--card-shadow-vertical-offset) var(--card-shadow-blur-radius) rgba(var(--color-shadow),var(--card-shadow-opacity))
}

.card .card__inner .card__media {
  overflow:hidden;
  z-index:0;
  border-radius:calc(var(--card-corner-radius) - var(--card-border-width) - var(--card-image-padding))
}

.card--card .card__inner .card__media {
  border-bottom-right-radius:0;
  border-bottom-left-radius:0
}

.card--standard.card--text {
  background-color:transparent
}

.card-information {
  text-align:var(--card-text-alignment)
}

.card__media,.card .media {
  bottom:0;
  position:absolute;
  top:0
}

.card .media {
  width:100%
}

.card__media {
  margin:var(--card-image-padding);
  width:calc(100% - 2 * var(--card-image-padding))
}

.card--standard .card__media {
  margin:var(--card-image-padding)
}

.card__inner {
  width:100%
}

.card--media .card__inner .card__content {
  padding:calc(var(--card-image-padding) + 1rem);
  position:relative
}

.card__content {
  display:grid;
  grid-template-rows:minmax(0,1fr) max-content minmax(0,1fr);
  padding:1rem;
  width:100%;
  flex-grow:1
}

.card__content--auto-margins {
  grid-template-rows:minmax(0,auto) max-content minmax(0,auto)
}

.card__information {
  grid-row-start:2;
  padding:1.3rem 1rem
}

.card:not(.ratio)>.card__content {
  grid-template-rows:max-content minmax(0,1fr) max-content auto
}

@media screen and (min-width: 750px) {
  .card__information {
    padding-bottom:1.7rem;
    padding-top:1.7rem
  }

}

.card__badge {
  align-self:flex-end;
  grid-row-start:3;
  justify-self:flex-start
}

.card__badge.top {
  align-self:flex-start;
  grid-row-start:1
}

.card__badge.right {
  justify-self:flex-end
}

.card>.card__content>.card__badge {
  margin:1.3rem
}

.card__media .media img {
  height:100%;
  object-fit:cover;
  object-position:center center;
  width:100%
}

.card__inner:not(.ratio)>.card__content {
  height:100%
}

.card__heading {
  margin-top:0;
  margin-bottom:0
}

.card__heading:last-child {
  margin-bottom:0
}

.card--card.card--media>.card__content {
  margin-top:calc(0rem - var(--card-image-padding))
}

.card--standard.card--text a:after,.card--card .card__heading a:after {
  bottom:calc(var(--card-border-width) * -1);
  left:calc(var(--card-border-width) * -1);
  right:calc(var(--card-border-width) * -1);
  top:calc(var(--card-border-width) * -1)
}

.card__heading a:after {
  bottom:0;
  content:"";
  left:0;
  position:absolute;
  right:0;
  top:0;
  z-index:1
}

.card__heading a:after {
  outline-offset:.3rem
}

.card__heading a:focus:after {
  box-shadow:0 0 0 .3rem rgb(var(--color-background)),0 0 .5rem .4rem rgba(var(--color-foreground),.3);
  outline:.2rem solid rgba(var(--color-foreground),.5)
}

.card__heading a:focus-visible:after {
  box-shadow:0 0 0 .3rem rgb(var(--color-background)),0 0 .5rem .4rem rgba(var(--color-foreground),.3);
  outline:.2rem solid rgba(var(--color-foreground),.5)
}

.card__heading a:focus:not(:focus-visible):after {
  box-shadow:none;
  outline:0
}

.card__heading a:focus {
  box-shadow:none;
  outline:0
}

@media screen and (min-width: 990px) {
  .card .media.media--hover-effect>img:only-child,.card-wrapper .media.media--hover-effect>img:only-child {
    transition:transform var(--duration-long) ease
  }
  .card:hover .media.media--hover-effect>img:first-child:only-child,.card-wrapper:hover .media.media--hover-effect>img:first-child:only-child {
    transform:scale(1.03)
  }
  .card-wrapper:hover .media.media--hover-effect>img:first-child:not(:only-child) {
    opacity:0
  }
  .card-wrapper:hover .media.media--hover-effect>img+img {
    opacity:1;
    transition:transform var(--duration-long) ease;
    transform:scale(1.03)
  }
  .underline-links-hover:hover a {
    text-decoration:underline;
    text-underline-offset:.3rem
  }

}

.card--standard.card--media .card__inner .card__information,.card--standard.card--text>.card__content .card__heading,.card--standard>.card__content .card__badge,.card--standard.card--text.article-card>.card__content .card__information,.card--standard>.card__content .card__caption {
  display:none
}

.card--standard>.card__content {
  padding:0
}

.card--standard>.card__content .card__information {
  padding-left:0;
  padding-right:0
}

.card--card.card--media .card__inner .card__information,.card--card.card--text .card__inner,.card--card.card--media>.card__content .card__badge {
  display:none
}

.card--extend-height {
  height:100%
}

.card--extend-height.card--standard.card--text,.card--extend-height.card--media {
  display:flex;
  flex-direction:column
}

.card--extend-height.card--standard.card--text .card__inner,.card--extend-height.card--media .card__inner {
  flex-grow:1
}

.card .icon-wrap {
  margin-left:.8rem;
  white-space:nowrap;
  transition:transform var(--duration-short) ease;
  overflow:hidden
}

.card-information>*+* {
  margin-top:.5rem
}

.card-information {
  width:100%
}

.card-information>* {
  line-height:calc(1 + .4 / var(--font-body-scale));
  color:rgb(var(--color-foreground))
}

.card-information>.price {
  color:rgb(var(--color-foreground))
}

.card-information>.rating {
  margin-top:.4rem
}

.card-information>*:not(.visually-hidden:first-child)+*:not(.rating) {
  margin-top:.7rem
}

.card-information .caption {
  letter-spacing:.07rem
}

.card-article-info {
  margin-top:1rem
}