/**
 * Mshops cart
 * @authors: pmartins, dcalderon
 * @description: Styles for cart component (mobile first)
 */

/* Base
---------------------------------------------------------------*/
/**
 * Prefix `#ms-cart` to all rules in order to encapsulate the style
 */
#ms-cart {
    color: #333;
    background: #fff;
}

#ms-cart input[type='text'],
#ms-cart input[type='number'] {
    margin: -1px 0 0;
    height: 30px;
    padding: 0 5px;
    line-height: 27px;
    background: #fff;
    border: solid 2px #eee;
    border-radius: 5px;
}


/* Cart
---------------------------------------------------------------*/
#ms-cart .ms-cart_title {
    margin: 0;
    padding: 10px 20px;
    color: #333;
    font-weight: 700;
    text-transform: capitalize;
    background: #eee;
    border: 0;
    font-size: 15px;
}

#ms-cart .ms-cart_form {}

    #ms-cart ul.ms-cart_items-list {
        list-style: none;
    }

    #ms-cart .ms-cart_item {
        display: block;
        position: relative;
        margin: 0 0 5px;
        padding: 45px 20px 15px;
        border-bottom: dotted 1px #ddd;
    }
    	#ms-cart .ms-cart_item_close-mobile{display: none;}

        #ms-cart .ms-cart_item_close,
        #ms-cart .ms-cart_item_picture {
            display: block;
            position: absolute;
            left: 20px;
        }

        #ms-cart .ms-cart_item_close {
            top: 10px;
            line-height: 20px;
        }
        #ms-cart .ms-cart_item_close:before {
            content: '×';
            display: inline-block;
            margin: 0 5px 0 0;
            padding: 0 5px;
            color: #fff;
            font-size: 18px;
            font-family: monospace;
            text-shadow: rgba(0,0,0,0.25) 0 1px 1px ;
            background: #ccc;
            background: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#ccc));
            background: -webkit-linear-gradient(#eee, #ccc);
            background: linear-gradient(#eee, #ccc);
            border-radius: 5px;
        }

        #ms-cart .ms-cart_item_close:hover:before {
            background: #b94a48;
            background: -webkit-gradient(linear, left top, left bottom, from(#f5e6e6), to(#b94a48));
            background: -webkit-linear-gradient(#f5e6e6, #b94a48);
            background: linear-gradient(#f5e6e6, #b94a48);
        }

        #ms-cart .ms-cart_item_picture {
            top: 40px;
            width: 90px;
            border: solid 1px #ccc;
        }

        #ms-cart .ms-cart_item_title {
            margin: 0 0 0 110px;
            min-height: 110px;
            font-size: 14px;
        }
            #ms-cart .ms-cart_item_title span {
                display: block;
            }

            #ms-cart .ms-cart_item_title span.ms-promo-text {
                margin-top: 3px;
            }

            #ms-cart .ms-cart_item_title span.ms-layer__promo {
                display: inline-block;
                margin-top: 10px;
            }

            #ms-cart .ms-cart_item_title .ms-layer__promo + .ms-layer__promo {
                margin-left: 10px;
            }

            #ms-cart dt,
            #ms-cart dt label,
            #ms-cart dd {
                font-size: 14px;
            }

            #ms-cart dt,
            #ms-cart dd {
                display: block;
                padding: 15px 0;
                min-height: 48px;
                /*overflow: hidden;*/
            }

            #ms-cart dt,
            #ms-cart dt label {
                font-weight: 700;
            }

            #ms-cart dt {
                float: left;
                clear: both;
            }

            #ms-cart dd {
                float: right;
            }

            #ms-cart .ms-cart_item_price {
                width: 3.5em;
                text-align: right;
            }

            #ms-cart .ms-cart_item_price + span {
                line-height: 27px;
            }

            #ms-cart .ms-cart_update-qty {
                float: right;
                margin-left: 10px;
            }

            #ms-cart .ms-cart_update-qty.updateQtyAlert {
                background: #ff3b00;
            }

            #ms-cart .ms-cart_available-qty {
                display: block;
                position: relative;
                margin-top: 10px;
                padding: 4px 8px;
                color: #aa8749;
                font-size: 12px;
                background: #fff3c8;
                border-radius: 5px;
            }

            #ms-cart .ms-cart_available-qty:before {
                content: '';
                display: block;
                position: absolute;
                top: -14px;
                left: 15px;
                width: 0;
                height: 0;
                border-style: solid;
                border-width: 7px 7px 7px 7px;
                border-color: transparent transparent #fff3c8 transparent;
            }

            #ms-cart dt label,
            #ms-cart .ms-cart_item_price {
                line-height: 27px;
            }

            #ms-cart .ms-cart_details,
            #ms-cart .ms-cart_total {
                padding: 0 20px;
            }

            #ms-cart .ms-cart_item_details .ms-price,
            #ms-cart .ms-cart_details .ms-price,
            #ms-cart .ms-cart_total .ms-price {
                font-size: 16px;
            }

            #ms-cart .ms-cart-coupon {
                margin-bottom: 10px;
            }

            #ms-cart .ms-cart-coupon dd {
                padding-top: 10px;
                text-align: right;
            }

            #ms-cart .ms-cart-coupon input[type='button'] {
                margin: 0 0 0 5px;
            }

            #ms-cart .ms-cart-coupon input[type='text'] {
                width: 160px;
            }

            #ms-cart .ms-cart-coupon-code {
                display: inline-block;
                margin: 6px 10px 3px 0;
                color: #999;
            }

            #ms-cart .ms-cart-coupon-layer {
                display: block;
                position: relative;
                color: #359902;
                font-size: 13px;
                line-height: 24px;
                padding: 10px 20px;
                margin: 7px -20px -15px 0;
                background: #f7f7f7;
                border-radius: 5px;
            }

            #ms-cart .ms-cart-coupon-layer .ms-price {
                color: #359902;
                display: inline-block;
                margin-left: 10px;
            }

            #ms-cart .ms-cart-coupon-layer:before {
                content: '';
                display: block;
                position: absolute;
                top: -7px;
                right: 150px;
                width: 0;
                height: 0;
                border-style: solid;
                border-width: 0 7px 7px 7px;
                border-color: transparent transparent #f7f7f7 transparent;
            }

            #ms-cart .ms-layer.ms-cart-coupon-error {
                display: inline-block;
                float: left;
                max-width: 240px;
                text-align: center;
                margin-top: 7px;
            }

            #ms-cart dl + .ms-cart-shipping {
                margin-top: 15px;
                border-top: dotted 1px #ddd;
            }

            #ms-cart .ms-cart-subtotal dd:last-child {
                width: 150px;
            }

            #ms-cart .ms-cart_total {
                background: #f7f7f7;
            }

            #ms-cart .ms-cart_actions {
                padding: 30px 20px 20px;
                text-align: center;
                font-size: 14px;
            }
                #ms-cart .ms-cart_actions input[type='submit'] {
                    width: 100%;
                    margin: 0 0 20px;
                }

/**
 * Cart shipping calculator
 */
#ms-cart .ms-shipping-calculator {
    position: relative;
    margin-bottom: 20px;
    padding: 20px;
    background: #f7f7f7;
}

#ms-cart .ms-shipping-calculator:before {
    content: '';
    display: block;
    position: absolute;
    top: -10px;
    right: 40px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 7.5px 10px 7.5px;
    border-color: transparent transparent #f7f7f7 transparent;
}

    #ms-cart .ms-shipping-calculator-link {
        margin: 0 20px 0 0;
        color: #359902;
    }

    #ms-cart .ms-shipping-calculator-link:before,
    #ms-cart .ms-shipping-calculator-link-before {
        content: '▸';
        color: #ccc;
        margin-right: 5px;
    }

    #ms-cart .ms-shipping-calculator .ms-form-row + * {
        margin-top: 20px;
    }

    #ms-cart .ms-shipping-calculator .ms-form-row label {
        color: #999;
        margin-right: 10px;
    }

    #ms-cart #destinationCEP {
        width: 130px;
    }

    #ms-cart #destinationCEPError {
        margin: 5px 0 0 40px;
        left: 25px;
    }

    #ms-cart [for='destinationCEP'] {
        line-height: 30px;
    }

    #ms-cart #destinationError {
        margin: 10px 0 0 60px;
    }

    #ms-cart #itemQtyError {
        position: absolute;
        margin: 10px 0 0;
    }

    #ms-cart .ms-shipping-calculator h4 {
        color: #999;
        margin: 0 0 5px;
        padding: 0;
        font-size: 13px;
        font-weight: normal;
        text-transform: none;
        text-decoration: none;
        border: 0;
    }

    #ms-cart .ms-shipping-option {
        position: relative;
        margin: 0 0 10px;
    }

    #ms-cart .ms-shipping-option input[type='radio'] {
        display: block;
        position: absolute;
        top: 5px;
        left: 10px;
    }

    #ms-cart .ms-shipping-option label {
        display: inline-block;
        width: 100%;
        padding: 7px 10px 7px 30px;
        background: #fff;
    }

    #ms-cart .ms-shipping-option dt,
    #ms-cart .ms-shipping-option dd {
        padding: 0;
        min-height: 0;
        font-size: 13px;
        color: #999;
    }

    #ms-cart .ms-shipping-option dt {
        font-weight: normal;
    }

    #ms-cart .ms-shipping-option .ms-price {
        font-size: 13px;
    }

    .cart-loading-spinner {
        position: relative;
        top: 5px;
        left: 10px;
        color: #666;
        font-size: 1.5em;
        line-height: 1em;
        padding-bottom: 20px;
    }

/**
 * Cart shipping component overwrites
 */
.ms-shp-calculator {
    text-align: right;
}
.ms-shp-calculator_wrapper {
    text-align: left;
}
.ms-shp-calculator__collapsible .ms-shp-calculator_wrapper:before {
    left: auto;
    right: 40px;
}

#calcCostShippCart-submit {
    float: right;
    margin-top: 20px;
}

.ms-cart_item_close_mobile{display: none;}

@media all and (min-width: 990px) {
    .ms-shp-calculator {
        padding-right: 20px;
        margin-left: 45%;
        width: -webkit-calc(55% - 20px);
        width: calc(55% - 20px);
    }
    .ms-shp-calculator_wrapper {
        width: 100%;
    }
}
/* ************************************* < 340px ************************************* */
@media (max-width: 410px) {
	#ms-cart .ms-cart_item{padding: 10px 0 0 0;margin: 0;border-bottom: 1px solid #000;}
	#ms-cart .ms-cart_title {
    padding: 10px 0px;
    font-weight: 100;
    background: #fff;
	}
	#ms-cart .ms-cart_item_picture{top:10px;left: 0;}
	#ms-cart .ms-cart_item_close_mobile{display:block;position: absolute;right: 0px;top:13px;}
	#ms-cart .ms-cart_item_close_mobile:hover{opacity:0.4;}
	#ms-cart .ms-cart_item_close{display: none;}
	#ms-cart .ms-cart_item_title{width: 160px;}
	.de_item_stock{display: none;}
	#ms-cart input{height: 44px !important;}
	#ms-cart #ms-shp-calculator_shp-options_content{font-size: 14px;}
	#ms-cart #ms-shp-calculator_shp-options_content input{height: auto !important;}
	#ms-cart #cartFormShpCost input{height: auto !important;}
	#ms-cart #ms-shp-calculator_shp-options_content label{padding:2px 0 0 4px;}
	.ms_cart_line {width: 100%;height:1px;border-bottom: 1px solid #ccc;clear: both;}
	#ms-cart dt label, #ms-cart .ms-cart_item_price {line-height: 44px;}
	#ms-cart .ms-cart_details, #ms-cart .ms-cart_total{padding: 0px;}
	#ms-cart #cartFormShpCostCal{padding-bottom: 20px;}
	#ms-cart .ms-shipping-calculator{background-color: transparent;padding: 0;}
	#ms-cart .ms-shipping-calculator label{display: block;}
	#ms-cart .ms-shipping-calculator select{background-color: #fff;width: 100%;height: 44px;margin-bottom: 10px;-moz-appearance: none;padding: 10px;margin: 0px;box-sizing: border-box;border: 1px solid rgb(166, 166, 166);border-radius: 5px;-webkit-border-radius: 3px;-moz-border-radius: 3px;}
	#ms-cart .ms-cart_total{background-color: transparent;border-bottom: 1px solid #000;}
	#ms-cart .ms-cart_actions{padding: 30px 0px 20px;border-bottom: 1px solid #000;}
	#ms-cart .ms-cart_details {border-top: 1px solid #000;padding: 10px 0 0 0;}
	#ms-cart .ms-cart_details .ms-promo-text-item{width: 250px;}
	#ms-cart .ms-cart-coupon-layer {background-color: transparent;padding: 0;margin: 0;    border-top: solid 1px #d4d4d4;margin-top: 12px;padding: 10px 0 0 0;}
	#ms-cart .ms-cart-coupon-layer:before {
    content: '';
    display: block;
    position: absolute;
    top: -11px;
    left: 20px !important;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 10px 10px 10px;
    border-color: transparent transparent #d4d4d4 transparent;}
    .ms-cart-coupon-layer-desc{padding: 0;}
    .ms-cart-coupon-layer-amount{padding: 0;text-align: right;}

    #ms-cart .ms-cart_total{border-top: 1px solid #000;}

}

/* Larger screens
---------------------------------------------------------------*/
@media all and (max-width: 540px) {
    #ms-cart .ms-cart-coupon dd{
        width: 100%;
    }

    #ms-cart .ms-cart-coupon input[type='text'] {
        width: calc(100% - 72px);
    }

    #ms-cart .ms-cart-coupon input[type='button'] {
        width: 63px;
    }

    #ms-cart .ms-cart_available-qty {
        max-width: 170px;
    }

    #ms-cart .ms-cart-coupon dt {
        padding: 0;
        min-height: 0;
    }

    #ms-cart .ms-cart-coupon dd {
        text-align: left;
    }

    #ms-cart .ms-cart-coupon-layer:before {
        left: 40px;
    }
}

@media all and (min-width: 541px) {
    #ms-cart .ms-cart-coupon dd {
        position: relative;
        width: 70%;
    }

    #ms-cart .ms-cart-coupon-layer {
        position: absolute;
        top: 42px;
        right: 0;
    }

    #ms-cart #changeCoupon {
        display: inline-block;
        margin-bottom: 42px;
    }

    #ms-cart .ms-layer.ms-cart-coupon-error {
        float: right;
        margin-right: 90px
        ;
    }
}

@media all and (min-width: 800px) {
    #ms-cart .ms-cart_items-list {
        padding-top: 10px;
    }

    #ms-cart .ms-cart_item {
        padding-top: 15px;
    }

    #ms-cart .ms-cart_item_title {
        width: -webkit-calc(55% - 140px);
        width: calc(55% - 140px);
        min-height: 85px;
        margin: 0 0 0 140px;
        padding-right: 20px;
    }

    #ms-cart .ms-cart_item_close {
        width: 21px;
        height: 20px;
        overflow: hidden;
    }

    .ms-cart_item_close_mobile{display: none;}

    #ms-cart .ms-cart_item_picture {
        top: 10px;
        left: 50px;
    }

    #ms-cart .ms-cart_item_price {
        margin-top: -3px;
    }

    #ms-cart .ms-cart_item dt {
        display: none;
    }

    #ms-cart .ms-cart_item:first-child dt {
        display: block;
        position: absolute;
        top: -55px;
        right: 40px;
        font-size: 15px;
    }

    #ms-cart .ms-cart_item:first-child dt:first-child {
        left: 60%;
    }

    #ms-cart .ms-cart_item_title,
    #ms-cart .ms-cart_item dd {
        float: left;
    }

    #ms-cart .ms-cart_item dd {
        width: 30%;
        padding-top: 0;
        overflow: visible;
    }

    #ms-cart .ms-cart_item dd:last-child {
        text-align: right;
        padding-right: 20px;
        width: 130px;
    }

#ms-cart .ms-cart_available-qty {
    display: inline-block;
    max-width: none;
}

    #ms-cart .ms-cart_details,
    #ms-cart .ms-cart_total,
    #ms-cart .ms-cart_actions {
        padding-right: 40px;
        padding-bottom: 10px;
    }

    #ms-cart .ms-cart-subtotal dd:last-child {
        width: 180px;
    }

        #ms-cart .ms-cart_actions input[type='submit'],
        #ms-cart .ms-cart_actions a,
        #ms-cart .ms-cart_actions .cart-loading-spinner {
            float: right;
        }

        #ms-cart .ms-cart_actions input[type='submit'] {
            width: auto;
            margin-bottom: 0px;
        }

        #ms-cart .ms-cart_actions a {
            line-height: 40px;
            margin-right: 20px;
        }

    /**
     * Cart shipping calculator
     */
    #ms-cart .ms-shipping-options {
        position: relative;
        margin: 0 0 20px;
    }

    #ms-cart .ms-shipping-option {
        margin: 0 0 2px;
    }

    #ms-cart .ms-shipping-option input[type='radio'] {
        left: 15px;
    }

    #ms-cart .ms-shipping-option label {
        padding: 7px 15px 7px 40px;
    }

    #ms-cart .ms-shipping-option dt {
        display: none;
    }

    #ms-cart .ms-shipping-option:first-of-type dt {
        display: block;
        position: absolute;
        top: -22px;
        width: 35%;
    }

    #ms-cart .ms-shipping-option:first-of-type dt:first-child {
        left: 33%;
        text-align: center;
    }

    #ms-cart .ms-shipping-option:first-of-type dt:last-of-type {
        right: 25px;
        text-align: right;
    }

    #ms-cart .ms-shipping-option strong,
    #ms-cart .ms-shipping-option dd {
        display: block;
        float: left;
        width: 33%;
    }

    #ms-cart .ms-shipping-option dd {
        text-align: center;
    }
    #ms-cart .ms-shipping-option dd:last-of-type {
        text-align: right;
    }
}

@media all and (min-width: 990px) {
    #ms-cart .ms-cart_item:first-child dt:first-child {
        left: 70%;
    }

    #ms-cart .ms-cart_item_title {
        width: calc(100% - 480px);
    }

    #ms-cart .ms-cart_item dd {
        max-width: 210px;
    }

    #ms-cart .ms-cart_item {
        margin: 0 20px 5px;
        padding: 15px 0;
    }

    #ms-cart .ms-cart_item_close {
        left: 0;
    }

    #ms-cart .ms-cart_item_picture {
        left: 30px;
    }

    #ms-cart .ms-cart_details,
    #ms-cart .ms-cart_total,
    #ms-cart .ms-cart_actions {
        width: -webkit-calc(55% - 20px);
        width: calc(55% - 20px);
        padding-right: 20px;
        margin-left: 45%;
    }

    #ms-cart .ms-cart_total {
        border-radius: 5px;
    }

    /**
     * Cart shipping calculator
     */
    #ms-cart .ms-shipping-calculator {
        width: 52.5%;
        margin-left: 45%;
        border-radius: 5px;
    }
}

/* Empty cart message
---------------------------------------------------------------*/
#ms-cart .ms-cart_message {
    padding: 20px;
}

#empty-cart-wrap {
    margin: 60px 0 70px;
}
    #empty-cart-wrap h4 {
        border-bottom: none;
        text-transform: none;
        margin-bottom: -10px;
    }
    #empty-cart-wrap p {
        margin-bottom: 20px;
    }

/* Secure Payment Box
---------------------------------------------------------------*/
#securePayment {
    margin-right: 20px;
}

@media (max-width: 410px) {
    #securePayment {
        margin-top: -1px;
        margin-right: 0px;
    }
}

@media all and (min-width: 800px) {
    #securePayment {
        margin-right: 40px;
    }
}