$card-color: v("text") !default
$card-background-color: v("scheme-main") !default
$card-shadow: 0 0.5em 1em -0.125em vAlphaChange("scheme-invert", 0.1), 0 0px 0 1px vAlphaChange("scheme-invert", 0.02) !default

$card-header-background-color: transparent !default
$card-header-color: v("text-strong") !default
$card-header-padding: 0.75rem 1rem !default
$card-header-shadow: 0 0.125em 0.25em vAlphaChange("scheme-invert", 0.1) !default
$card-header-weight: v("weight-bold") !default

$card-content-background-color: transparent !default
$card-content-padding: 1.5rem !default

$card-footer-background-color: transparent !default
$card-footer-border-top: 1px solid v("border-light") !default
$card-footer-padding: 0.75rem !default

$card-media-margin: v("block-spacing") !default

+register(card-background-color,$card-background-color, true)
+register(card-shadow,$card-shadow, true)
+register(card-color,$card-color, true)
+register(card-header-background-color,$card-header-background-color, true)
+register(card-header-shadow,$card-header-shadow, true)
+register(card-header-color,$card-header-color, true)
+register(card-header-weight,$card-header-weight, true)
+register(card-header-padding,$card-header-padding, true)
+register(card-content-background-color,$card-content-background-color, true)
+register(card-content-padding,$card-content-padding, true)
+register(card-footer-background-color,$card-footer-background-color, true)
+register(card-footer-border-top,$card-footer-border-top, true)
+register(card-footer-padding,$card-footer-padding, true)
+register(card-media-margin,$card-media-margin, true)

.card
  background-color: v("card-background-color")
  box-shadow: v("card-shadow")
  color: v("card-color")
  max-width: 100%
  position: relative

.card-header
  background-color: v("card-header-background-color")
  align-items: stretch
  box-shadow: v("card-header-shadow")
  display: flex

.card-header-title
  align-items: center
  color: v("card-header-color")
  display: flex
  flex-grow: 1
  font-weight: v("card-header-weight")
  padding: v("card-header-padding")
  &.is-centered
    justify-content: center

.card-header-icon
  align-items: center
  cursor: pointer
  display: flex
  justify-content: center
  padding: v("card-header-padding")

.card-image
  display: block
  position: relative

.card-content
  background-color: v("card-content-background-color")
  padding: v("card-content-padding")

.card-footer
  background-color: v("card-footer-background-color")
  border-top: v("card-footer-border-top")
  align-items: stretch
  display: flex

.card-footer-item
  align-items: center
  display: flex
  flex-basis: 0
  flex-grow: 1
  flex-shrink: 0
  justify-content: center
  padding: v("card-footer-padding")
  &:not(:last-child)
    +ltr-property("border-right", v("card-footer-border-top"))

// Combinations

.card
  .media:not(:last-child)
    margin-bottom: v("card-media-margin")
