.woocommerce.single-product {
    .product {
        & > .outofstock {
            display: none;
        }

        & > .badges {
            position: absolute;
            width: 48px;
            left: 12px;
            top: 12px;

            .hot, .onsale, .new {
                position: relative;
                display: block;
                border-radius: 50%;
                text-transform: uppercase;
                height: 48px;
                width: 48px;
                text-align: center;
                line-height: 48px;
                padding: 0;
                font-weight: 700;
                margin: 0;
                color: #fff;
                font-size: 12px;
                left: 0;
                top: 0;
                right: auto;
                margin-bottom: -10px;
            }

            .hot {
                background: #f76b6a;
                z-index: 98;
            }

            .onsale {
                background: #f7aa77;
                z-index: 97;
            }

            .new {
                background: #b9d9e9;
                z-index: 96;
            }
        }

        .woocommerce-product-gallery {
            .woocommerce-product-gallery__trigger {
                background-color: transparent;
                opacity: .5;

                img {
                    display: none;
                }
            }

            .flex-viewport {
                border: 2px solid #f1eeea;
            }

            ol {
                width: 100%;
                height: 0;
                overflow: hidden;
                margin: 0 auto;
                padding: 30px 25px 0 25px !important;

                &.slick-slider {
                    height: auto;
                }

                .slick-slide {
                    display: inline-block;
                    margin: 0 5px;
                    outline: none;
                    clear: none !important;
                    z-index: 6;

                    img {
                        width: 100%;
                        border: 2px solid $light-gray-color;
                        @include transit;

                        &:hover {
                            border-color: $primary-color;
                        }
                    }
                }

                .slick-arrow {
                    margin-top: 0;
                    z-index: 7;

                    &:before {
                        font-family: Ionicons;
                        font-size: 34px;
                        color: $gray-color;
                        width: 20px;
                        height: 20px;
                        font-weight: 400;
                    }

                    &.slick-prev {
                        left: 0;

                        &:before {
                            content: '\f3d5';
                        }
                    }

                    &.slick-next {
                        right: 0;

                        &:before {
                            content: '\f3d6';
                        }
                    }
                }
            }
        }

        .summary {
            .product_title {
                color: $gray-color;
                font-size: 34px;
                margin-bottom: 10px;
            }

            .woocommerce-product-rating {
                margin-bottom: 10px;

                .star-rating {
                    font-size: 16px !important;
                    overflow: hidden;
                    position: relative;
                    height: 1em;
                    line-height: 1;
                    font-size: 1em;
                    width: 83px;
                    margin-top: 7px;
                    margin-right: 5px;

                    &:before {
                        content: "\f3ae \f3ae \f3ae \f3ae \f3ae";
                        font-family: Ionicons;
                        letter-spacing: 3px;
                        padding: 0 3px;
                        color: #d3ced2;
                        float: left;
                        top: 0;
                        left: 0;
                        position: absolute
                    }

                    span {
                        color: #f5cc26;
                        overflow: hidden;
                        float: left;
                        top: 0;
                        left: 0;
                        position: absolute;
                        padding-top: 1.5em;

                        &:before {
                            content: "\f2fc \f2fc \f2fc \f2fc \f2fc";
                            font-family: Ionicons;
                            letter-spacing: 3px;
                            padding: 0 3px;
                            top: 0;
                            position: absolute;
                            left: 0;
                        }
                    }
                }

                .woocommerce-review-link {
                    font-style: italic;
                    color: #8e8b87;
                }
            }

            .out-of-stock {
                text-transform: uppercase;
                font-weight: 700;
                font-size: 1em;
                color: #f76b6a;

                &:before {
                    content: '\f29f';
                    font-family: Ionicons;
                    margin-right: 5px;
                    -webkit-font-smoothing: antialiased;
                    -moz-osx-font-smoothing: grayscale;
                }
            }

            .price {
                margin-top: 0;

                & > .amount {
                    font-size: 24px;
                    font-weight: 700;
                    color: $primary-color;
                }

                del {
                    color: #cfcecc;
                    font-size: 15px;

                    .amount {
                        color: #cfcecc;
                    }
                }

                ins {
                    font-size: 24px;
                    color: $primary-color;

                    .amount {
                        color: $primary-color;
                    }
                }
            }

            .wishlist-btn {
                display: inline-block;
                margin-top: 0;
                margin-right: 20px;
                font-weight: 700;

                .woosw-btn {
                    text-transform: uppercase;

                    &:before {
                        display: inline-block;
                        content: '\f387';
                        font-family: Ionicons;
                        margin-right: 5px;
                    }

                    &:after {
                        display: none;
                    }

                    &.woosw-adding {
                        &:before {
                            content: '\f459' !important;
                            -webkit-animation: spinner 1s linear infinite !important;
                            animation: spinner 1s linear infinite !important;
                        }
                    }

                    &.woosw-added {
                        &:before {
                            content: '\f388';
                        }
                    }
                }
            }

            a.compare, .wooscp-btn {
                padding: 0;
                background: none;
                text-transform: uppercase;
                font-weight: 700;
                border: none;
                color: #5e5a54;

                &:before {
                    content: '\f4a8';
                    font-family: Ionicons;
                    margin-right: 5px;
                }

                &:hover {
                    color: $primary-color;
                }
            }

            .product_meta_wrap {
                margin-top: 30px;
                padding-top: 30px;
                border-top: 1px solid $light-gray-color;

                .product_meta {
                    margin-bottom: 0;

                    .product_meta_item {
                        td {
                            padding: 10px 0;
                        }

                        .label {
                            text-transform: uppercase;
                            min-width: 120px;
                            display: inline-block;
                            font-weight: 700;
                        }

                        &.share {
                            a {
                                margin-right: 10px;
                            }
                        }

                        &:first-child {
                            td {
                                padding-top: 0;
                            }
                        }

                        &:last-child {
                            td {
                                padding-bottom: 0;
                            }
                        }
                    }
                }
            }

            div[itemprop="offers"], div.offers {
                margin-bottom: 30px;

                p {
                    margin: 0;
                }
            }

            div[itemprop="description"], div.description {
                margin-bottom: 30px;

                p {
                    margin: 0;
                }
            }

            form.cart {
                margin-bottom: 20px;
                padding: 30px 0 0 0;
                border-width: 1px 0 0 0;
                border-style: solid;
                border-color: $light-gray-color;

                .quantity {
                    max-width: 120px;
                    height: 40px;
                    line-height: 1;
                    border: 1px solid #f1eeea;
                    @include border-radius(2px);
                    padding: 10px;
                    background: #fbfaf9;
                    margin-right: 10px;
                    display: flex;
                    align-items: center;

                    span {
                        float: left;
                        cursor: pointer;
                    }

                    input {
                        float: left;
                        border: none;
                        line-height: 1;
                        height: auto;
                        padding: 0 10px;
                        background: none;
                        -moz-appearance: textfield;
                    }
                }

                button {
                    height: 40px;
                    line-height: 36px;
                    padding: 0 15px;
                    border: 2px solid $primary-color;
                    background: $primary-color;
                    color: #fff;
                    text-transform: uppercase;
                    font-weight: 700;
                    @include transit;

                    &:hover {
                        opacity: .8;
                    }
                }

                .variations {
                    select {
                        height: 40px;
                        line-height: 40px;
                        padding: 0 25px 0 15px;
                        background-color: transparent;
                        font-size: 15px;
                        -webkit-appearance: none;
                        -moz-appearance: none;
                        appearance: none;
                        @include border-radius(2px);
                        background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAFCAYAAACXU8ZrAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyppVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDOTFGN0FGMzVBREIxMUU2ODkyQzk2NDhEODlCMDI3RiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDOTFGN0FGNDVBREIxMUU2ODkyQzk2NDhEODlCMDI3RiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkM5MUY3QUYxNUFEQjExRTY4OTJDOTY0OEQ4OUIwMjdGIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkM5MUY3QUYyNUFEQjExRTY4OTJDOTY0OEQ4OUIwMjdGIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+szqgrQAAAEdJREFUeNpi7Otub2DAD54xAYnVeBR8B8kzFZZUXAUyNuNQsBgo/x5kEgOQcRZI7UFTBFLwDMRggokABY4gKVwEUwACAAEGADURF7aNEuOVAAAAAElFTkSuQmCC');
                        background-repeat: no-repeat;
                        background-position: right 15px top 50%;
                    }

                    label {
                        text-transform: capitalize;
                    }
                }
            }
        }

        .woocommerce-tabs {
            display: inline-block;
            width: 100%;
            margin-top: 60px;
            margin-bottom: 60px;
            padding-bottom: 0;
            border-top: 1px solid $light-gray-color;
            border-bottom: 1px solid $light-gray-color;

            &:before, &:after {
                display: none !important;
            }

            ul.tabs {
                border: 2px solid $light-gray-color;
                margin: -1px 0 30px 0;
                padding: 0;
                overflow: visible;

                &:before, &:after {
                    display: none !important;
                }

                li {
                    display: block !important;
                    border-width: 0 0 1px 0;
                    border-bottom-color: $light-gray-color !important;
                    border-style: solid;
                    border-radius: 0;
                    padding: 0;
                    margin: 0;
                    background-color: transparent;

                    a {
                        display: block;
                        padding: 20px;
                        text-transform: uppercase;
                        color: $gray-color;
                    }

                    &:before, &:after {
                        display: none;
                    }

                    &:last-child {
                        border-bottom-color: transparent !important;
                    }

                    &.active {
                        border-left: 2px solid $primary-color;
                        margin-left: -2px;

                        a {
                            color: $dark-gray-color;
                        }
                    }
                }
            }

            .woocommerce-Tabs-panel {
                padding-top: 30px;
                padding-bottom: 30px;

                h2, h3 {
                    font-size: 18px !important;
                    text-transform: uppercase !important;
                }

                table.shop_attributes {
                    margin-top: 15px;
                    margin-bottom: 0;
                    border-top: none;

                    th {
                        text-align: left;
                        padding-left: 0;
                        background: none;
                        border-left: none !important;
                        border-right: none !important;
                    }

                    td {
                        background: none;
                        border-left: none !important;
                        border-right: none !important;
                    }

                    tr:last-child {
                        th, td {
                            border-bottom: none;
                        }
                    }
                }

                ol.commentlist {
                    padding: 0;
                    margin: 15px 0 !important;

                    li {
                        .comment-text {
                            border-radius: 2px !important;
                            border: 1px solid $light-gray-color !important;
                            background: #fbfaf9;

                            .star-rating {
                                font-size: 16px !important;
                                overflow: hidden;
                                position: relative;
                                height: 1em;
                                line-height: 1;
                                font-size: 1em;
                                width: 83px;
                                margin-right: -3px;

                                &:before {
                                    content: "\f3ae \f3ae \f3ae \f3ae \f3ae";
                                    font-family: Ionicons;
                                    letter-spacing: 3px;
                                    padding: 0 3px;
                                    color: #d3ced2;
                                    float: left;
                                    top: 0;
                                    left: 0;
                                    position: absolute
                                }

                                span {
                                    color: #f5cc26;
                                    overflow: hidden;
                                    float: left;
                                    top: 0;
                                    left: 0;
                                    position: absolute;
                                    padding-top: 1.5em;

                                    &:before {
                                        content: "\f2fc \f2fc \f2fc \f2fc \f2fc";
                                        font-family: Ionicons;
                                        letter-spacing: 3px;
                                        padding: 0 3px;
                                        top: 0;
                                        position: absolute;
                                        left: 0;
                                    }
                                }
                            }
                        }

                        img.avatar {
                            padding: 0 !important;
                            border: none !important;
                            width: 40px !important;
                            background: none !important;
                            @include border-radius(2px !important);
                        }
                    }
                }

                textarea, input[type="text"], input[type="email"] {
                    @include border-radius(2px);

                    &:focus {
                        border-color: $primary-color;
                    }
                }

                input[type="submit"], button[type="submit"] {
                    height: 40px;
                    line-height: 40px;
                    text-transform: uppercase;
                    color: #fff !important;
                    background-color: $primary-color !important;
                    @include transit;

                    &:hover {
                        opacity: .8;
                    }
                }

                p.meta {
                    font-size: 15px !important;
                }

                p:last-child {
                    margin-bottom: 0;
                }

                #review_form #respond p.form-submit {
                    margin-bottom: 0;
                }
            }
        }
    }

    .woo-notice {
        padding: 0;
    }

    .up-sells, .viewed, .related {
        clear: both;

        .product {
            max-width: none;
        }

        > h2 {
            display: block;
            text-align: center;
            font-size: 24px;
            font-weight: 700;
            text-transform: uppercase;
            line-height: 1;
            margin-bottom: 40px;

            span {
                display: block;
                font-family: $font__second;
                color: $primary-color;
                font-size: 34px;
                font-weight: 400;
                text-transform: none;
            }
        }

        .product {
            margin-bottom: 0;
        }

        .slick-list {
            width: 100%;
        }

        .slick-dots {
            position: relative;
            bottom: 0;
            margin-bottom: 0 !important;
            margin-top: 10px !important;

            li {
                margin: 0;
            }
        }
    }

    .up-sells, .viewed {
        margin-bottom: 60px;
    }
}
