@import '../base';
@import '../portrait';
@import '../landscape';
@import '../switcher';
@import '../magazine';
@import '../inline';

@mixin placeholder_landscape() {
    .c-card__image {
        margin-bottom: 0;
    }
    .c-card__title {
        margin-top: 0;
    }
    .c-card__meta {
        display: inline-block;
    }

    .c-card__obj__header {
        padding-right: 10px;
        width: 50%;

        @include card-portrait-to-landscape-size() {
            width: 33.33%;
        }
    }

    .c-card__obj__body {
        padding-left: 10px;
        width: 50%;

        @include card-portrait-to-landscape-size() {
            width: auto;
        }
    }
}

@mixin placeholder_portrait() {
    .c-card__image {
        margin-bottom: $MARGIN_SMALL;
    }
    .c-card__title {
        margin-top: $MARGIN_XX_SMALL;
    }
}

.c-card {}

.c-card__image {
    background: $COLOUR_BG_ACCENT1;
    margin-bottom: $MARGIN_SMALL;
    @include card-image-links-normal();
    @include transition(all 0.3s ease);
}

.c-card__image__icon {
    background-color: #fff;
    bottom: 0;
    height: 30px;
    left: 0;
    line-height: 30px;
    position: absolute;
    text-align: center;
    width: 30px;

    svg {
        display: block;
        height: 100%;
        margin: 0 auto;
        vertical-align: middle;
        width: 14px;
    }

    path {
        fill: $COLOR_TYPE_META;
    }

    @include card-portrait-to-landscape-size() {
        height: 40px;
        width: 40px;

        svg {
            width: 16px;
        }
    }
}

.c-card__title {
    margin: 0 0 6px 0;
    @include c-card-title;
    @include transition(all 0.3s ease);

    @include card-portrait-to-landscape-size() {
        margin: 0 0 $MARGIN_XX_SMALL 0;
    }
}

.c-card__desc {
    display: none;
    margin: $MARGIN_XX_SMALL 0;

    @include c-card-description;
    @include card-portrait-to-landscape-size() {
        display: block;
    }
}

.c-card__separator {
    display: none;
}

.c-card__rating {
    @include c-card-rating;
    margin-bottom: 8px;
    margin-top: 8px;

    li {
        display: inline-block;
        margin-right: 4px;
        vertical-align: middle;

        &:last-child {
            margin-left: 8px;
        }
    }
}

.c-card__rating-mark {
    background-color: $COLOUR_BG_ACCENT1;
    height: 8px;
    width: 8px;
}
.c-card__rating-mark--fill {
    background-color: $COLOUR_BG_DARK;
}

.c-card__byline,
.c-card__sponsor {
    @include c-card-byline;
    margin: 6px 0 8px 0;

    @include card-portrait-to-landscape-size() {
        margin: $MARGIN_XX_SMALL 0 $MARGIN_X_SMALL 0;
    }
}
.c-card__byline-prefix,
.c-card__sponsor-label {
    @include c-card-byline-prefix;
    margin-right: 2px;
}
.c-card__byline-name,
.c-card__sponsor-title {
    @include c-card-byline-name;
}

.c-card__meta {
    @include c-card-meta;
    @include card-portrait-to-landscape-size() {
        padding-top: 8px;
    }
}

.c-card__meta-item--tag {
    @include c-card-meta-tag;
}

// Need to be specific to overwrite global__list-reset
li.c-card__meta-item {
    &:not(:last-child) {
        padding-right: $PADDING_XX_SMALL;
    }

    & + li.c-card__meta-item {
        border-left: 1px solid $COLOR_BORDER_SOLID_ACCENT2;
        padding-left: $PADDING_XX_SMALL;
    }
}

.c-card__meta-item--gallery {
    svg {
        height: 10px;
        margin-right: 3px;
        margin-top: 0;
        width: 10px;
    }
    path {
        fill: $COLOR_TYPE_META;
    }
}

.c-card__meta-item--video {
    svg {
        height: 9px;
        margin-right: 3px;
        width: 9px;
    }

    path {
        fill: $COLOR_TYPE_META;
    }
}

.c-card__more {
    @include c-card-more;
}

.c-card__image__remaining {
    background-color: rgba(0, 0, 0, 0.38);
}

/**
 * ============================================================================
 * LANDSCAPE
 * ============================================================================
 */
.c-card--landscape {
    @include placeholder_landscape();
}

/**
 * ============================================================================
 * SWITCHER
 * ============================================================================
 */
.c-card--switcher {
    @include placeholder_landscape();

    @include card-portrait-to-landscape-size() {
        @include placeholder_portrait();

        .c-card__obj__header,
        .c-card__obj__body {
            display: block;
            padding-left: 0;
            padding-right: 0;
            width: 100%;
        }
    }
}

/**
 * ============================================================================
 * MAGAZINE
 * ============================================================================
 */
.c-card--magazine {
    .c-card__meta {
        display: none;
    }
}

/**
 * ============================================================================
 * INLINE
 * ============================================================================
 */
.c-card--inline {
    background-color: $COLOUR_BG_ADVERT;
    border: 1px solid $COLOR_BORDER_SOLID_ACCENT2;
    border-radius: 4px;
    box-sizing: border-box;
    clear: none;
    margin: $MARGIN_LARGE 0;
    padding: $PADDING_X_SMALL;

    .c-card__obj__header {
        width: 100px;
    }

    .c-card__obj__body {
        padding-left: $PADDING_XX_SMALL;
        width: auto;
    }

    .c-card__image {
        margin-bottom: 0;
    }

    .c-card__title {
        @include c-card-inline-title;
        margin-bottom: 6px;
    }

    .c-card__meta {
        padding-top: 0;
        border-top: 0;
    }

    .c-card__meta-item--date {
        display: none;
    }

    @include card-portrait-to-landscape-size() {
        background-color: $COLOUR_BG_ADVERT;
        float: none;
        margin: $MARGIN_LARGE 0;
        width: 100%;

        .c-card__obj__header {
            display: table-cell;
            width: 100px;
        }

        .c-card__obj__body {
            display: table-cell;
            width: auto;
        }
    }
}

/**
 * ============================================================================
 * THUMBNAIL
 * ============================================================================
 */
.c-card--thumbnail {

    .c-card__image-group {
        @extend .global__group;
    }

    .c-card__title {
        @include c-card-thumbnail-title;
        margin-top: 0;
    }

    .c-card__meta {
        @include c-card-thumbnail-meta;
    }

    .c-card__image__remaining {
        @include c-card-thumbnail-image-remaining;
    }
}

/**
 * ============================================================================
 * HERO
 * ============================================================================
 */
.c-card--hero {

    .c-card__image {
        padding-top: 66.67%;
    }

    .c-card__title {
        @include c-card-hero-title;
    }

    @include card-portrait-to-landscape-size() {
        .c-card__image {
            padding-top: 100%;
        }
    }

}

/**
 * ============================================================================
 * SHOW SUMMARY
 * ============================================================================
 */
.c-card--show-summary {
    .c-card__title {
        @include font('NOBEL', 12px, 'BOLD');
        margin: 0 0 $MARGIN_SMALL 0;
        text-transform: uppercase;
    }
}


/**
 * ============================================================================
 * SHOW
 * ============================================================================
 */
.c-card--show {

    .c-card__image {
        padding-top: 150%;
    }

    .c-card__title {
        text-align: center;
    }

    &.is-featured {
        .c-card__image:before {
            @include c-card-label($COLOR_TYPE_LINK, #fff, 'FEATURED', 0);
        }
    }

    &.is-latest {
        .c-card__image:before {
            @include c-card-label($COLOUR_BG_ACCENT2, $COLOR_TYPE_HEADING, 'LATEST', 0);
        }
    }

}


.c-card:hover,
.c-card:focus {
    .c-card__title,
    .c-card__byline-name {
        @include card-text-links-hover();
    }
    .c-card__image {
        @include card-image-links-hover();
    }
}

/**
 * ============================================================================
 * DARK THEME
 * ============================================================================
 */
.c-card--dark {
    &.c-card--inline {
        background-color: transparent;
    }

    &.c-card--landscape,
    &.c-card--portrait,
    &.c-card--switcher,
    &.c-card--inline,
    &.c-card--thumbnail {
        .c-card__title,
        .c-card__meta,
        .c-card__byline,
        .c-card__sponsor {
            color: $COLOR_MAIN_PAGE;
        }

        .c-card__image__icon {
            background-color: $COLOUR_BG_DARK;

            path {
                fill: $COLOR_MAIN_INACTIVE;
            }
        }

        .c-card__meta {
            border-top-color: $COLOR_MAIN_SECONDARY;
        }

        .c-card__separator {}

        .c-card__sponsor {
            .c-card__sponsor-label {
                color: #888;
            }
            .c-card__sponsor-title {
                color: $COLOR_MAIN_INACTIVE;
            }
        }

        // Need to be specific to overwrite global__list-reset
        li.c-card__meta-item {
            & + li.c-card__meta-item {
                border-left: 1px solid $COLOR_MAIN_SECONDARY;
            }

            color: $COLOR_TYPE_META;

            &--tag {
                color: $COLOR_MAIN_INACTIVE;
            }

            path {
                fill: $COLOR_TYPE_META;
            }
        }
    }
}