/*
I wanted to go with a mobile first approach, but it actually lead to more verbose CSS in this case, so I've gone web first. Can't always force things...

Side note: I know that this style of nesting in SASS doesn't result in the most performance efficient CSS code... but on the OCD/organizational side, I like it. So for CodePen purposes, CSS selector performance be damned.
*/
/* Global settings */
/* Global "table" column settings */
.product-image {
    float: left;
    width: 11%;
}

.product-nom, .product-poids {
    float: left;
    width: 26%;
}

.product-quantity {
    float: left;
    width: 12%;
}

.product-offre-quantity {
    float: left;
    width: 6%;
}

.product-price {
    float: left;
    width: 7%;
    text-align: right;
}

.product-removal {
    float: left;
    width: 4%;
    text-align: right;
}

.product-removal img {
    cursor: pointer;
}

.product-removal-categorie {
    float: left;
    width: 4%;
    text-align: right;
    margin-top: 2px;
}

.column-labels .product-removal {
    text-align: left!important;
}


@media (max-width: 1100px) {
    .product-image {
        width: 100px;
    }

    .product-nom, .product-price {
        float: none;
        margin-left: 110px;
        width: auto;
    }

    .product-quantity {
        margin-left: 0;
        width: 90px!important;
    }

    .product-quantity, .product-poids, .product-removal {
        float: left;
        width: auto;
        margin-top: 12px;
    }

    .product-poids {
        min-width: 180px;
    }

    .product-poids, .product-removal {
        margin-left: 20px;
    }

    .product-price {
        min-width: 200px;
        min-height: 25px;
        text-align: left;
    }

    .price-moblie {
        float: left;
        margin-bottom: 0;
    }

    .card-mobile {
        float: none;
        height: 85px;
    }

    .mobile-strike {
        float: left;
        padding-right: 5px;
    }
}




.detail-nom {
    float: left;
    width: 28%;
}

.detail-quantity {
    float: left;
    width: 11%;
}

.detail-price {
    float: left;
    width: 11%;
    text-align: right;
}

.detail-image {
    float: right;
    width: 3%;
    min-width: 22px;
    cursor: pointer;
}

.detail-etat {
    float: right;
    text-align: right;
    width: 15%;
    font-weight: normal;
    font-size: 1rem;
    min-width: 150px;
}


.total-nom {
    float: left;
    width: 93%;
}

.total-valeur {
    float: left;
    width: 7%;
    min-width: 30px;

}

.total-valeur-sans-remise {
    float: left;
    width: 14%;
    text-align: right;
}

.product-line-price {
    float: left;
    width: 12%;
    text-align: right;
}

/* This is used as the traditional .clearfix class */
.group:before, .shopping-cart:before, .details:before, .column-labels:before, .product:before, .totals-item:before,
.group:after,
.shopping-cart:after,
.details:after,
.column-labels:after,
.product:after,
.totals-item:after {
    content: '';
    display: table;
}

.group:after, .shopping-cart:after, .details:after, .column-labels:after, .product:after, .totals-item:after {
    clear: both;
}

.group, .shopping-cart, .details, .column-labels, .product, .totals-item {
    zoom: 1;
}

label {
    color: #aaa;
    font-size: 14px;
}

.shopping-cart {
}

.details {
    min-width: 1000px;
    padding: 10px 30px 0 30px;
}

.total-result {
    display: none;
}

@media (max-width: 1100px) {
    .details {
        min-width: 300px;
        padding: 0;
    }

    .detail-nom {
        float: none;
    }
    .detail-nom, .detail-price, .detail-quantity {
        width: auto;
    }
    .detail-quantity {
        float: none;
    }
    .detail-price {
        float: none;
        text-align: left;
    }
    .total-nom, .total-valeur {
        width: auto;
    }
    .total-result {
        display: inline;
    }
}

.column-labels {
    display: block;
}


@media (max-width: 1100px) {
    .column-labels {
        display: none;
    }
}


/* Column headers */
.column-labels label {
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: 1px solid #eee;
}

.column-labels .product-image, .column-labels .product-details, .column-labels .product-removal, .column-labels  .detail-image {
    text-indent: -9999px;
}


/* Product entries */
.product {
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
}
.product .product-image {
    text-align: center;
}
.product .product-image img {
    max-width: 100px;
    max-height: 78px;
}

.product .detail-image {
    text-align: center;
}
.product .detail-image img {
    width: 20px;
}

.product .product-details .product-title {
    margin-right: 20px;
    font-family: "HelveticaNeue-Medium", "Helvetica Neue Medium";
}
.product .product-details .product-description {
    margin: 5px 20px 5px 0;
    line-height: 1.4em;
}
.product .product-quantity input {
    width: 80px;
}
.product .remove-product {
    border: 0;
    padding: 4px 8px;
    background-color: #c66;
    color: #fff;
    font-family: "HelveticaNeue-Medium", "Helvetica Neue Medium";
    font-size: 12px;
    border-radius: 3px;
}
.product .remove-product:hover {
    background-color: #a44;
}

/* Totals section */
.totals .totals-item {
    float: right;
    clear: both;
    width: 100%;
    margin-bottom: 10px;
}
.totals .totals-item label {
    float: left;
    clear: both;
    width: 82%;
    text-align: right;
}
.totals .totals-item .totals-value {
    float: left;
    width: 7%;
    text-align: right;
    min-width: 50px;
}
.totals .totals-item-total {
    font-family: "HelveticaNeue-Medium", "Helvetica Neue Medium";
}

.totals {
    font-family: "HelveticaNeue-Medium", "Helvetica Neue Medium";
}

.totals .total-nom {
    float: left;
    clear: both;
    text-align: right;
    padding-right: 20px;
    margin-bottom: 10px;
    color: #aaa;
    font-size: 14px;
}
.totals .total-valeur {
    float: left;
    text-align: right;
}

.checkout {
    float: right;
    border: 0;
    margin-top: 20px;
    padding: 6px 25px;
    color: #fff;
    font-size: 25px;
    border-radius: 3px;
    margin-bottom: 50px;
    margin-left: 20px;
}

.checkout-link {
    float: right;
    border: 0;
    margin-top: 20px;
    padding: 6px 25px;
    font-size: 25px;
    border-radius: 3px;
    margin-bottom: 50px;
    margin-left: 20px;
}

@media (max-width: 1100px) {
    .checkout {
        margin-bottom: 0;
    }
}

.green {
    background-color: #6b6;
}

.green:hover {
    background-color: #494;
}

/* Make adjustments for tablet */
/*
@media screen and (max-width: 650px) {
    .shopping-cart {
        margin: 0;
        padding-top: 20px;
        border-top: 1px solid #eee;
    }

    .column-labels {
        display: none;
    }

    .product-image {
        float: right;
        width: auto;
    }
    .product-image img {
        margin: 0 0 10px 10px;
    }

    .product-nom {
        float: none;
        margin-bottom: 10px;
        width: auto;
    }

    .product-price {
        clear: both;
        width: 70px;
    }

    .product-quantity {
        width: 100px;
    }
    .product-quantity input {
        margin-left: 20px;
    }

    .product-quantity:before {
        content: 'x';
    }

    .product-removal {
        width: auto;
    }

    .product-line-price {
        float: right;
        width: 70px;
    }
}*/
/* Make more adjustments for phone */
/*
@media screen and (max-width: 350px) {
    .product-removal {
        float: right;
    }

    .product-line-price {
        float: right;
        clear: left;
        width: auto;
        margin-top: 10px;
    }

    .totals .totals-item label {
        width: 60%;
    }
    .totals .totals-item .totals-value {
        width: 40%;
    }
}
*/