/* -------------------------------------------------------------------
----------------------------------------------------------------------
								BOUTIQUE
----------------------------------------------------------------------
---------------------------------------------------------------------- */

:root {
	/* Flags boutique */
	--shop-flag-promo: #f15c84;
	--shop-flag-new: #ae1e3b;
	--shop-flag-best: #50bfd6;
	--shop-flag-date: #444;

	/* Types stock */
	--shop-stock-ok: var(--type-success);
	--shop-stock-low: var(--type-warning);
	--shop-stock-resupply: var(--type-warning);
	--shop-stock-out: var(--type-error);

	--overhead-height: 45px;
}

/* Adaptation style de base
---------------------------------------------------------------------- */
body > header .overHead > div { height: var(--overhead-height); }
body > header .overHead .areas li > a,
body > header .overHead .areas li > span { font-size: 15px; }
body > header .overHead .areas li > a i,
body > header .overHead .areas li > span i {font-size: 18px; margin-right: 5px; }

/* Vue générique
---------------------------------------------------------------------- */
.shop-view { display:flex; flex-direction: row; margin: 15px auto; max-width: 1400px; }
.shop-view > aside { flex: 1 1 320px; max-width: 320px; padding: 10px; }
.shop-view > section { flex: 1 1; }
.shop-view > .product-wrapper { flex: 1 1; padding-top: 15px; }
.shop-view > .basket-page { flex: 1 1; }


@media all and (min-width: 1200px) {
	.shop-view > aside { min-width: 320px; }
}

/* Affichage prix
---------------------------------------------------------------------- */
section.price { padding: 5px 0; display: flex; flex-direction: column; align-items: center; }
section.price > span { padding: 2px 5px; }
section.price > .actual { font-size: 1.3em; font-weight: bold; }
section.price > .public { margin-top: 5px; text-decoration: line-through; color: #aaa; }
section.price > .unit { font-size: 0.8em; font-weight: normal; }
section.price .amount:after { font-size: 0.7em; }
section.price .amount.ht:after { content: ' HT'; }
section.price.discount > .actual { color: var(--shop-flag-promo); }
section.price > .onquote { font-size: 1.3em; }

/* Affichage stock
---------------------------------------------------------------------- */
.prod .stock { font-size: 14px; text-align: center; margin: 10px 0; }
.prod .stock .nb { font-weight: bold; }
.prod .stock > .ok { color: var(--shop-stock-ok); }
.prod .stock > .low { color: var(--shop-stock-low); }
.prod .stock > .resupply { color: var(--shop-stock-resupply); }
.prod .stock > .out { color: var(--shop-stock-out); }

.prod-stock { font-size: 14px; text-align: center; margin: 10px 0; }
.prod-stock .nb { font-weight: bold; }
.prod-stock > .ok { color: var(--shop-stock-ok); }
.prod-stock > .low { color: var(--shop-stock-low); }
.prod-stock > .resupply { color: var(--shop-stock-resupply); }
.prod-stock > .out { color: var(--shop-stock-out); }

/* Affichage délai
---------------------------------------------------------------------- */
.prod .delay { font-size: 14px; font-weight: bold; text-align: center; margin: 5px 0; }
.prod .delay.normal { color: var(--shop-stock-ok); }
.prod .delay.delayed { color: var(--shop-stock-resupply); }

.prod-delay { font-size: 14px; font-weight: bold; text-align: center; margin: 5px 0; }
.prod-delay.normal { color: var(--shop-stock-ok); }
.prod-delay.delayed { color: var(--shop-stock-resupply); }

/* Affichage addresse
---------------------------------------------------------------------- */
address { padding: 15px; font-size:14px; font-style: normal; }
address .name { font-weight: bold; color: #555; margin: 8px 0; }

/* Affichage adresse commande
---------------------------------------------------------------------- */
.order-addresses { display: flex; justify-content: center; }
.order-addresses article { flex: 1 1; margin: 10px; max-width: 300px; border: 1px solid var(--border-color); }
.order-addresses article .title { display: flex; align-items: center; height: 45px; color: #000; font-size: 14px; font-weight: bold; padding: 0 15px; border-bottom: 1px solid var(--border-color); }
.order-addresses article .title > i { margin-right: 5px; }
.order-addresses article .title > button { margin-left: auto; }
.order-addresses article address { padding: 25px; background: #fefefe; }

/* Flags produits
---------------------------------------------------------------------- */
.prod-flags {position: absolute; top:8px; right:0;}
.prod-flags .flag {--flag-color: #bbb; background: var(--flag-color); color:#fff; position: relative; height: 20px; display: block; padding:3px 4px; margin-bottom: 5px;}
.prod-flags .flag::before {content:""; position:absolute; top:0; left:-10px; border-bottom: 10px solid var(--flag-color); border-top: 10px solid var(--flag-color); border-left: 10px solid transparent; }
.prod-flags .flag.new {--flag-color: var(--shop-flag-new); }
.prod-flags .flag.best {--flag-color: var(--shop-flag-best); }
.prod-flags .flag.promo {--flag-color: var(--shop-flag-promo); }
.prod-flags .flag.date {--flag-color: var(--shop-flag-date); }

/* Rubriques produits
---------------------------------------------------------------------- */

.shop-categories { display: flex; justify-content: center; flex-wrap: wrap; max-width: var(--wrap-width, 1200px); margin: 0 auto; }
.shop-categories > article { position: relative; flex: 1 1; min-width: 200px; max-width: 350px; margin: 5px; height: 150px; width: 183px; flex: 0 1 200px; }
.shop-categories > article .deadline { position: absolute; bottom: 0; left: 0; right: 0; padding: 10px; background: rgba(15, 43, 73, 0.7); color: #e4e14d; text-align: center; font-size: 14px; margin-top: 10px; }

.shop-categories > article > a {
	position: absolute; z-index: 2;
	top: 0; left:0; bottom: 0; right: 0;
	display: flex; flex-direction: column; justify-content: center;
	width: 100%; height: 100%;
	padding: 10px;
}
.shop-categories > article h2 { margin: 0; color: #fff; text-align: center; font-size: 18px; line-height: 1.2em; }
.shop-categories > article .chapo { margin-top: 10px; color: #fff; font-size: 14px; line-height: 1.2em; text-align: justify; }
.shop-categories > article.noimg { background-color: #888; }
.shop-categories > article.hasimg { background-size: cover; background-position: center center; }
.shop-categories > article > a::after {
	position: absolute; z-index: -1;
	top: 0; left:0; bottom: 0; right: 0;
	content: ''; background: var(--item-color, var(--main-color));
	opacity: 0.75;
	transition: opacity 0.6s ease;
}
.shop-categories > article > a:hover::after { opacity: 0.4; }

/* Produit - encart
---------------------------------------------------------------------- */

/* Liste de produits
---------------------------------------------------------------------- */
.prodsList { display: flex; flex-wrap: wrap; justify-content: center; }

/* Produit - Liste
---------------------------------------------------------------------- */
.shop-products .product-list {
	padding: 0 15px;
}
.shop-products .prodsList {padding-top:35px;}


.prodsList > .prod { box-shadow: 0px 3px 12px 0px rgba(0,0,0,0.18); border-radius: 5px; overflow: hidden; }
.prodsList > .prod .picture-frame { position: relative; }
.prodsList > .prod > .picture-frame img { display: block; object-fit: contain; object-position: center center; }
.prodsList > .prod > .picture-frame img.no-pic { padding: 30%; object-fit: contain; }
.prodsList > .prod header > h2 { font-size: 16px; text-transform: none; margin: 0 0 10px 0; line-height: 20px; text-align: center; }
.prodsList > .prod header > h2::after {	content: none;}
.prodsList > .prod header > h2 > a {font-size: 16px; text-align: center; }
.prodsList > .prod > .sell nav .btn { display: block; width: 100%; text-align: center; }

/* Produit - Liste (mosaïque)
----------------------------------------------------------------------- */
.prodsList.style-mosaic > .prod { display: flex; flex-direction: column; flex: 1 1 260px; max-width: 260px; margin: 15px; overflow: hidden; }
.prodsList.style-mosaic > .prod > .picture-frame img { width: 100%; height: 275px;}
.prodsList.style-mosaic > .prod > .desc { position: relative; display: flex; flex-direction: column; flex: 1 1; background: #fff; padding: 10px; }
.prodsList.style-mosaic > .prod .price > span { text-align: center; }
.prodsList.style-mosaic > .prod header { flex: 1 1; }
.prodsList.style-mosaic > .prod header > div {
	font-size: 13px;
	text-align: left;
	line-height: 1.1em;
	margin-bottom: 10px;
}

.prodsList.style-mosaic > .prod > .desc > section { text-align: center; user-select: none; -moz-user-select: none; -webkit-user-select: none; }

.prodsList.style-mosaic > .prod > .sell .quantity-modifier { display: none; }
.prodsList.style-mosaic > .prod > .sell nav .btn { border-radius: 0; }

/* Produit - Liste (liste)
------------------------------------------- */
.prodsList.style-list {display: flex; flex-direction: column;}
.prodsList.style-list > .prod {
	display: flex;
	flex-direction: row;
	align-items: center;

	max-width: 100%;
	width: 100%;
	height: 275px;

	margin: 15px 0;
}
.prodsList.style-list > .prod > .desc { flex: 1 1; padding: 10px 10px 10px 25px; }
.prodsList.style-list > .prod header > h2 { font-size: 22px; text-align: left;}
.prodsList.style-list > .prod header > h2 > a { font-size: 22px;}
.prodsList.style-list > .prod header > div { font-size: 16px; margin: 10px 0 20px 0;}
.prodsList.style-list > .prod > .picture-frame { height: 100%; }
.prodsList.style-list > .prod > .picture-frame figure { width: 275px; height: 100%; }
.prodsList.style-list > .prod > .picture-frame a { display: block; width: 100%; height: 100%;}
.prodsList.style-list > .prod > .picture-frame img { height: 100%; }
.prodsList.style-list > .prod > .picture-frame img.no-pic { width: 100%; }
.prodsList.style-list > .prod > .picture-frame .quantity-modifier { display: none;}
.prodsList.style-list > .prod > .desc { display: flex; flex-direction: column; height: 100%; }

.prodsList.style-list > .prod > .sell { display: flex; flex-direction: column; height: 100%; padding: 10px; }
.prodsList.style-list > .prod > .sell .price { flex-direction: column-reverse; }
.prodsList.style-list > .prod > .sell .add-to-basket { margin-top: auto; }
.prodsList.style-list > .prod > .sell nav { margin-top: 10px; }

@media (max-width: 799px) {
	.prodsList.style-list { align-items: center; }
	.prodsList.style-list > .prod { flex-direction: column; max-width: 400px; height: unset;  }
	.prodsList.style-list > .prod > .picture-frame { width: 100%; height: 300px; }
	.prodsList.style-list > .prod > .picture-frame figure { width: 100%; }
	.prodsList.style-list > .prod > .picture-frame img { width: 100%; }
	.prodsList.style-list > .prod > .picture-frame img.no-pic { padding: 15%; }
	.prodsList.style-list > .prod > .sell .price { flex-direction: column; }
}

/* Produit - Liste Mini
----------------------------------------------------------------------- */
.prodsList.mini {padding-left:15px;}
.prodsList.mini > .prod { display: flex; flex-direction: column; flex: 1; max-width: 180px; margin: 15px 15px 15px 0; overflow: hidden; }
.prodsList.mini > .prod .picture-frame img { width: 100%; height: 180px; }
.prodsList.mini > .prod > .desc { flex: 1 1; }
.prodsList.mini > .prod header > h2 { font-size: 14px; overflow: hidden;}
.prodsList.mini > .prod header > h2 > a {font-size: 14px; }
.prodsList.mini > .prod > .sell nav .btn { border-top-left-radius: 0; border-top-right-radius: 0; }

/* Produit - Fiche
---------------------------------------------------------------------- */
.product-wrapper { max-width: var(--wrap-width); margin: 0 auto; }
.product-wrapper > .prod { display: flex; flex-direction: row; border-style: solid; border-width: 0 1px 1px 1px; border-color: var(--border-color);}

.product-wrapper > .prod > .picture-frame { display: flex; flex-direction: column; flex: 1 1; }
.product-wrapper > .prod > .picture-frame > figure { position: relative; height: 100%;  }
.product-wrapper > .prod > .picture-frame > figure > img { display: block; width: 100%; height: 100%; max-height: 70vh; object-fit: contain; }
.product-wrapper > .prod > .picture-frame > figure > img.no-pic { padding: 120px; object-fit: contain; }
.product-wrapper > .prod > .picture-frame .gallery { display: flex; flex-direction: row; }
.product-wrapper > .prod > .picture-frame .gallery li { height: 100px; width: 100px; cursor: pointer; }
.product-wrapper > .prod > .picture-frame .gallery li > img { width: 100%; height: 100%; opacity: 0.6; transition: opacity 0.4s ease; }
.product-wrapper > .prod > .picture-frame .gallery li.on > img,
.product-wrapper > .prod > .picture-frame .gallery li:hover > img { opacity: 1; }

.product-wrapper > .prod > .details { display: flex; flex-direction: column; min-width: 300px; width: 30%; background: #fefefe; color: var(--text-color); padding: 15px; }
.product-wrapper > .prod > .details > .ref { font-size: 0.9em; }
.product-wrapper > .prod > .details > .ref > span { font-weight: bold; }
.product-wrapper > .prod > .details h1 { color: var(--text-color); font-size: 22px; line-height: 28px; padding: 0; margin: 0; text-align: left;  margin: 5px 0; }
.product-wrapper > .prod > .details > .desc { margin: 15px 0; font-size: 14px; line-height: 1.2em; }

.product-wrapper > .prod > .sell { display: flex; flex-direction: column; padding: 15px; max-width: 30%; }
.product-wrapper > .prod > .sell .add-to-basket { display: flex; flex-direction: column; align-items: center; padding: 15px 0; }
.product-wrapper > .prod > .sell .add-to-basket .quantity-modifier { padding: 10px; }
.product-wrapper > .prod > .sell .add-to-basket .addToBasket { width: 100%; }
.product-wrapper > .prod > .sell .price { font-size: 1.4em; flex-direction: column; }

.product-wrapper > article { }
.product-wrapper .subinfos > div { padding: 0 var(--medium-padding); }
.product-wrapper .subinfos > div:not(:last-child) { margin-bottom: var(--medium-padding); }
.product-wrapper .subinfos > .videos { width: 100%; }
.product-wrapper .subinfos > .videos > .bloc-video { width: 100%; padding: var(--medium-padding) 0; }
.product-wrapper .subinfos > .videos > .bloc-video iframe { width: 100%; max-height: 650px; }
.product-wrapper .subinfos > .docs { display: flex; flex-wrap: wrap; }
.product-wrapper .subinfos > .docs > .bloc-doc { margin: 10px; }
.product-wrapper .subinfos > .docs > .bloc-doc > a > i { display: block; margin: 10px auto; width: 40px; font-size: 26px; }
.product-wrapper .subinfos > .docs > .bloc-doc > a > span { display: block; text-align: center; width: 100%; }

.product-wrapper h2 { font-variant: none; font-size: 20px; line-height: 24px; margin: 0; padding: var(--medium-padding); }
.product-wrapper h3 { font-variant: none; font-size: 15px; line-height: 18px; margin: 0; padding: 5px 0; color: var(--main-txt-color); font-weight: bold; }

.product-wrapper .specs > table { border-collapse: collapse; border: 1px solid #ddd; width: 100%; }
.product-wrapper .specs > table td,
.product-wrapper .specs > table th { border: 1px solid #ddd; padding: 10px; }
.product-wrapper .specs > table td { width: 70%; }

.product-wrapper .recommended { background: #fefefe; margin-top: 50px; padding-bottom: 20px; }

@media (max-width: 899px) {
	.product-wrapper > .prod { flex-direction: column; }
	.product-wrapper > .prod > .picture-frame > figure > img { max-height: 40vh; }

	.product-wrapper > .prod > .details { width: 100%; padding: 30px; }
	.product-wrapper > .prod > .details .add-to-basket { display: flex; flex-direction: row; }
	.product-wrapper > .prod > .details .add-to-basket .quantity-modifier { flex: 1 1; }

	.product-wrapper > .prod > .sell { width: 100%; padding: 30px; max-width: unset; }

	.product-wrapper .specs > table td { width: 50%; }
}

/* Colonne boutique
---------------------------------------------------------------------- */
.shopColumn { padding: 10px; }
.shopColumn:empty { display: none; }
.shopColumn > section { box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.15); border-radius: 5px; margin: 10px 0; }
.shopColumn > section h3 { padding: 10px; background: #f0f0f0; font-size: 18px; line-height: 22px; margin: 0; color: #498fc8; font-weight: bold;}
.shopColumn > section > div { padding: 10px; }

/* Colonne boutique - Catalogue
---------------------------------------------------------------------- */
.shop-catalog { --level-pad: 15px; }
.shop-catalog li { display: flex; flex-direction: row; flex-wrap: wrap; }
.shop-catalog li > ul { flex: 1 1 100%; }
.shop-catalog li:not(.open) > ul { display: none; }
.shop-catalog li > a { flex: 1 1 calc(100% - 30px); display: block; font-size: 14px; text-transform: uppercase; padding: 8px 5px; }
.shop-catalog li > a.current { color: var(--main-color); }
.shop-catalog li > i.toggleCatalogMenu { display: inline-block; flex: 1 1 30px; width: 30px; height: 30px; display: flex; justify-content: center; align-items: center; cursor: pointer; font-size: 16px; transition: all 0.5s ease; }
.shop-catalog li.open > i.toggleCatalogMenu { transform: rotateX(180deg); }
.shop-catalog li.cat-level1 { padding-left: calc(1 * var(--level-pad)); }
.shop-catalog li.cat-level2 { padding-left: calc(2 * var(--level-pad)); }
.shop-catalog li.cat-level3 { padding-left: calc(3 * var(--level-pad)); }
.shop-catalog li.cat-level4 { padding-left: calc(4 * var(--level-pad)); }
.shop-catalog li.cat-level5 { padding-left: calc(5 * var(--level-pad)); }

/* Colonne boutique - Filtres
---------------------------------------------------------------------- */
.shopColumn > .shop-filters { }
.shopColumn > .shop-filters .filter-bloc:not(:last-child) { margin-bottom: 10px; }
.shopColumn > .shop-filters .filter-titre {
	color: #000;
	text-transform: uppercase;
	font-size: 13px;
	margin-bottom: 10px;
	font-weight: bold;
}


/* Barre de tri et disposition
---------------------------------------------------------------------- */
.listBar { display: flex; padding: 10px; margin-top: 25px; background-color: transparent; }
.listBar > .styles { margin-left: auto; }
.listBar > ul > li { display: inline-block; }
.listBar > ul > li > a,
.listBar > ul > li > i { display: inline-flex; justify-content: center; align-items: center; width: 38px; height: 38px; font-size: 16px; cursor: pointer; color: #333; border-radius: 50%; box-shadow: inset 0 0 4px 1px rgba(0 , 0, 0, 0); transition: all 0.3s ease; }
.listBar > ul > li.on > i,
.listBar > ul > li.on > a,
.listBar > ul > li:hover > i,
.listBar > ul > li:hover > a { background: #68b166; color: #fff; box-shadow: inset 0 0 4px 1px rgba(0 , 0, 0, 0.25); }
.listBar > ul > li.on > a { font-weight: bold; }
.listBar > ul.numbers { margin-left: auto; margin-right: auto; }
.listBar > ul.numbers > li > a { padding: 8px 10px; }

/* Moteur de recherche
---------------------------------------------------------------------- */
.header-container .header-right {text-align: center; display:flex; flex-direction: column; justify-content: center;}
.header-container .search {display:inline-block; max-width: 400px; align-self: center;}
.header-container .search form {display:flex;}
.header-container .search form input {background: #fff; box-shadow: none; border:1px solid #eee; font-size:12px; width:300px;}
.header-container .search form input::-webkit-input-placeholder{ color:#aaa; font-style: italic;}
.header-container .search form input::-moz-placeholder{ color:#aaa; font-style: italic;}
.header-container .search form input:-ms-input-placeholder { color:#aaa; font-style: italic;}
.header-container .search form input:-moz-placeholder{ color:#aaa; font-style: italic;}
.header-container .search form button {}



/* Modificateur de Quantité
---------------------------------------------------------------------- */
.quantity-modifier {
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 160px;
	transition: bottom 0.3s ease-in, background 0.3s ease-in;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
}

.quantity-modifier input {max-width:50px; text-align: center; vertical-align: middle;margin: 0 5px;}

.quantity-modifier .minus,
.quantity-modifier .plus {
	display: flex;
	justify-content: center;
	align-items: center;

	margin: 1%;
	background-color:var(--main-color);
	text-align: center;

	width: 26px;
	height: 26px;

	border-radius: 50%;
	font-size: 0;
	color: #fff;
	cursor:pointer;
}

.quantity-modifier .minus::before,
.quantity-modifier .plus::before {
	font-family: FontAwesome;
	font-size: 11px;
}

.quantity-modifier .minus::before { content: '\f068'; }
.quantity-modifier .plus::before { content: '\f067'; }

/* Processus de commande
---------------------------------------------------------------------- */
.processPage .content { padding: 0 15px;}
.processPage nav { display: flex; flex-direction: row; padding: 15px 0; }
.processPage nav .btn.next { margin-left: auto; }

.process-cmd {margin:20px 0; width:100%;}
.process-cmd ul {border:1px solid #eee; display:flex;}
.process-cmd ul li {border-right:1px solid #eee; padding:10px; text-align: center; font-size:14px; text-transform: uppercase; display: inline-block; flex:1; color:#888;}
.process-cmd ul li:last-child {border-right:none;}
.process-cmd ul li.on {font-weight: bold; background: #f9f9f9; color: var(--main-color);}
.process-cmd ul li.pass {font-weight: bold; background: #fbfbfb; color: #000; cursor: pointer;}

/* Sauvegarde panier
---------------------------------------------------------------------- */
.processPage .save-name { display: flex; }
.processPage .save-name-ok { display: flex; justify-content: center; align-items: center; }

/* Login & création compte
---------------------------------------------------------------------- */
.processPage .auth {display:flex; justify-content: space-between;}
.processPage .auth > article {width:calc(50% - 20px); background: #fbfbfb; border:1px solid #eee; padding:30px; display:flex; flex-direction: column; justify-content: space-between;}
.processPage .auth > article div {font-size:12px; line-height: 14px;}
.processPage .auth > article .digiForm {margin-top:10px;}
.processPage .auth > article .digiForm nav {text-align: center;}

/* Panier (page)
---------------------------------------------------------------------- */
.basket-page {	padding: 0 15px;}


/* Panier (bloc du panier)
---------------------------------------------------------------------- */
.basket-page .basket {width:100%; border:solid #eee; border-width: 0 0 1px 1px; }
.basket-page .basket.empty td {text-align: center; padding: 15px;}
.basket-page .basket thead {background: #fbfbfb;}
.basket-page .basket thead tr {}
.basket-page .basket thead tr td {border:solid #eee; border-width: 1px 1px 0 0; padding:12px; color:#000;}
.basket-page .basket thead tr td.price,
.basket-page .basket thead tr td.qtty {text-align: center;}
.basket-page .basket tbody {margin-bottom: 10px; background: #fbfbfb;}
.basket-page .basket tbody tr {}
.basket-page .basket tbody tr td {border:solid #eee; border-width: 1px 1px 0 0;}
.basket-page .basket tbody tr td.product figure {width:150px; display: inline-block; vertical-align: top;}
.basket-page .basket tbody tr td.product figure img {width:100%;}
.basket-page .basket tbody tr td.product figure img.no-pic {padding: 20%;}
.basket-page .basket tbody tr td.qtty {text-align: center;  padding:4px;}
.basket-page .basket tbody tr td.price {text-align: center;  padding:12px;}
.basket-page .basket tbody tr td.totalpriceHT {text-align: right; width:120px;}
.basket-page .basket tbody tr td.del {text-align: center;}
.basket-page .basket.foot {margin:20px 0; border:none;}
.basket-page .basket tfoot {}
.basket-page .basket tfoot td.corner {width:70%; border:none; border-right:1px solid #eee; vertical-align: top}
.basket-page .basket tfoot td.corner section.corner {display:flex;}
.basket-page .basket tfoot tr:first-child td.subtotal,
.basket-page .basket tfoot tr:first-child td.subprice {border:solid #eee; border-width: 1px;}
.basket-page .basket tfoot tr td.price {width:120px; text-align: right;}
.basket-page .basket tfoot tr td.subtotal,
.basket-page .basket tfoot tr td.subprice,
.basket-page .basket tfoot tr td.price,
.basket-page .basket tfoot tr td.total {border:solid #eee; border-width: 0px 1px 1px 0px; padding:12px; font-size:14px; text-align: right; background: #fbfbfb;}
.basket-page .basket tfoot tr td.subtotal,
.basket-page .basket tfoot tr td.total {font-weight: bold; color:#000;}

.basket-page .basket + .information {margin-top:20px; }


/* Choix Adresse
---------------------------------------------------------------------- */
/* digi-addresses : vieux module js Multi-adresse, pas finalisé ? */
.digi-addresses ul li.address.chosen {border-color: #f15c84 !important;}
.digi-addresses ul li.address.chosen::after {color: #f15c84 !important; border-color: #f15c84 !important;}
.digi-addresses ul li.new:hover {color: #f15c84 !important;	border-color: #f15c84 !important;}

.addressChoice {padding:5px 0;}
.addressChoice > ul { background: #fefefe; }
.addressChoice > ul > li { display: flex; align-items: center; padding:8px 4px; transition: background-color 0.3s ease; }
.addressChoice > ul > li > input {display:inline-block; margin: 20px; vertical-align: top;}
.addressChoice > ul > li > label {display:inline-block; width:calc(100% - 50px); vertical-align: top;}
.addressChoice > ul > li > label span.n {display:block; font-size:14px; line-height: 18px;}
.addressChoice > ul > li > label span.n > * {vertical-align: middle;}
.addressChoice > ul > li > label span.addr {display:block; font-size:12px; line-height: 15px;}
.addressChoice > ul > li.newAddr {padding: 30px; font-size:14px; flex-direction: column;}
.addressChoice > ul > li.newAddr button {margin-top:8px;}
.addressChoice > ul > li:not(.newAddr):hover {background: var(--main-color-light-4);}


/* Choix Livraison
---------------------------------------------------------------------- */
.shipModes {margin:20px 0;}
.shipModes li {padding:10px 0; border-bottom: 1px solid #eee; transition: all 0.3s ease;}
.shipModes li input {vertical-align: top;}
.shipModes li label {vertical-align: top; padding-left:12px; display: inline-block; width:calc(100% - 30px);}
.shipModes li label h5 {margin:0; color:#000; font-weight: bold; font-size:16px;}
.shipModes li label .price {color: #36c2d9;}
.shipModes li label .price > .tax {font-size: 0.6em;}
.shipModes li div {padding:12px 0px; line-height: 18px; font-size:13px;}
.shipModes li:last-child {border:none;}
.shipModes li:hover {background: #eee;}

.infoShip {line-height: 18px;}
.infoShip h4 {}
.infoShip b {font-size:14px;}
.infoShip address {font-size: 14px;}


/* Récapitulatif (validation)
---------------------------------------------------------------------- */
.processPage .basket {width:100%; border:solid #eee; border-width: 0 0 1px 1px; margin:20px 0;}
.processPage .basket thead {background: #fbfbfb;}
.processPage .basket thead tr td {border:solid #eee; border-width: 1px 1px 0 0; padding:12px; color:#000;}
.processPage .basket thead tr td.price,
.processPage .basket thead tr td.qtty {text-align: center;}
.processPage .basket tbody {margin-bottom: 10px; background: #fff;}
.processPage .basket tbody tr td { border: 1px solid #eee; padding:12px; background: #fff;}
.processPage .basket tbody tr td.qtty {text-align: center;  padding:4px;}
.processPage .basket tbody tr td.price {text-align: center;  padding:12px;}
.processPage .basket tbody tr td.totalpriceHT {text-align: right; width:120px;}
.processPage .basket.foot {margin:20px 0; border:none;}
.processPage .basket tfoot {}
.processPage .basket tfoot td.corner {width:70%; border:none; border-right:1px solid #eee; vertical-align: top}
.processPage .basket tfoot td.corner section.corner {display:flex;}
.processPage .basket tfoot tr:first-child td.subtotal,
.processPage .basket tfoot tr:first-child td.subprice {border:solid #eee; border-width: 1px;}
.processPage .basket tfoot tr td.price {width:120px; text-align: right;}
.processPage .basket tfoot tr td.shipping,
.processPage .basket tfoot tr td.shippingprice,
.processPage .basket tfoot tr td.subtotal,
.processPage .basket tfoot tr td.subprice,
.processPage .basket tfoot tr td.price,
.processPage .basket tfoot tr td.total {border:solid #eee; border-width: 0px 1px 1px 0px; padding:12px; font-size:14px; text-align: right; background: #fbfbfb;}
.processPage .basket tfoot tr td.subtotal,
.processPage .basket tfoot tr td.total {font-weight: bold; color:#000;}

.processPage .basket tfoot tr td.shipping,
.processPage .basket tfoot tr td.shippingprice {font-size:11px;}


.processPage .payModes {display: flex; justify-content: center; flex-wrap: wrap; margin: 25px 0;}
.processPage .payModes li {margin: 15px; padding: 15px; }
.processPage .payModes li.select {border: 1px solid #ccc; box-shadow: 0 0 15px rgba(0, 0, 0, 0.2); background: linear-gradient(to bottom, #fff, #efefef);}
.processPage .payModes li img {display: block; width: 150px; height: 90px; object-fit: contain; }
.processPage .payModes li span {display: block;	text-align: center;	margin-top: 10px;}
.processPage .cgv {margin: 25px 0; font-size:14px;}


/* Confirmation de commande
---------------------------------------------------------------------- */
.paymentConfPage .content strong {color: var(--main-color); font-weight: 900;}
.paymentConfPage nav.actions { padding: 25px 0; }

/* Paiement par carte
---------------------------------------------------------------------- */
.processPage .payment_form .chapo {
	margin-bottom: 15px;
	text-align: center;
}

.paymentPage .payment_form form {
	display: flex;
	justify-content: center;
	min-height: 250px;
	align-items: center;
}
.processPage .payment_form form > div {
	text-align: center;
}
.paymentPage .payment-cb > form { display: flex; justify-content: center; align-items: center; min-height: 300px; }

/* Panier (base)
---------------------------------------------------------------------- */

/* Panier (default)
---------------------------------------------------------------------- */
.basket.default {width:100%; border:solid #eee; border-width: 0 0 1px 1px; }
.basket.default thead {background: #fbfbfb;}
.basket.default thead tr td {border:solid #eee; border-width: 1px 1px 0 0; padding:12px; color:#000; font-weight: bold;white-space: nowrap; text-align: center;}
.basket.default thead tr td.product { text-align: left; }
.basket.default tbody {margin-bottom: 10px; background: #fbfbfb;}
.basket.default tbody tr td { border: 1px solid #eee; }
.basket.default tbody tr td.product { min-width: 60%; padding: 12px; }
.basket.default.mode-full tbody tr td.product { display: flex;}
.basket.default tbody tr td.product article { padding:0 20px 5px 20px; display: inline-block; vertical-align: top;}
.basket.default tbody tr td.product h2 { font-size:18px; line-height: 22px; text-align: left; text-transform: none; font-variant: none; margin: 5px 0; }
.basket.default tbody tr td.product h2 a { font-size: 16px; color: var(--main-color); }
.basket.default tbody tr td.product .ref { font-size: 10px; }
.basket.default tbody tr td.dispo { white-space: nowrap; }
.basket.default tbody tr td.qtty {text-align: center;  padding:4px;}
.basket.default tbody tr td.price {text-align: center;  padding:12px; white-space: nowrap;}
.basket.default tbody tr td.totalpriceHT {text-align: right; width:120px;}

.basket.default.foot {margin:20px 0; border:none;}
.basket.default.foot tfoot {}
.basket.default.foot tfoot td.corner {width:70%; border:none; border-right:1px solid #eee; vertical-align: top}
.basket.default.foot tfoot td.corner section.corner {display:flex;}
.basket.default.foot tfoot tr:first-child td.subtotal,
.basket.default.foot tfoot tr:first-child td.subprice {border:solid #eee; border-width: 1px;}
.basket.default.foot tfoot tr td.price {width:120px; text-align: right;}
.basket.default.foot tfoot tr td.subtotal,
.basket.default.foot tfoot tr td.subprice,
.basket.default.foot tfoot tr td.price,
.basket.default.foot tfoot tr td.total {border:solid #eee; border-width: 0px 1px 1px 0px; padding:12px; font-size:14px; text-align: right; background: #fbfbfb;}
.basket.default.foot tfoot tr td.subtotal,
.basket.default.foot tfoot tr td.total {font-weight: bold; color:#000;}
.basket.default.foot.no-corner {
	background: #fbfbfb;

	width: 320px;
	max-width: 100%;

	margin-top: 20px;
	margin-left: auto;

	border: 1px solid #eee;
	border-collapse: collapse;
}

.basket.default.foot.no-corner td {
	padding: 10px;
	border: 1px solid #eee;
	text-align: right;
}
.basket.default.foot td > .corner { display: flex; flex-direction: column; }
.corner-module { margin: 10px 0; }
.corner-module h2 {font-size:12px; line-height: 16px; color:#444; text-transform: none; font-variant: none; text-align: left; padding: 0; margin:4px 0;}

.corner-module.codepromo .code { font-weight: bold; }
.corner-module.allergens .allergens-list { display: block; text-align: center; font-weight: bold; margin-top: 5px; }

.basket.default.foot .corner input {background: #eee;}
.basket.default.foot .corner .corner-module.delivery button { margin-right: 8px;}
.basket.default.foot .corner .corner-module.delivery .invalid { color: var(--type-error); font-weight: bold; margin-left: 8px; }

/* Panier (mini)
---------------------------------------------------------------------- */
.shop-mini-basket {background: #fff; padding:15px; margin-top:30px; cursor: auto;}
.shop-mini-basket .basket.mini {border-collapse:collapse;border-spacing:0; width: 100%;}
.shop-mini-basket .basket.mini tbody tr { }
.shop-mini-basket .basket.mini tbody td {padding:0;}
.shop-mini-basket .basket.empty tbody td { text-align: center; padding: 10px;}
.shop-mini-basket .basket.mini .picture {width:50px; font-size: 0; padding: 5px 0;}
.shop-mini-basket .basket.mini .picture img {width:100%;}
.shop-mini-basket .basket.mini .product {font-size: 12px;  padding:5px 6px;}
.shop-mini-basket .basket.mini .product .name > a { color: var(--main-color); font-weight: bold; }
.shop-mini-basket .basket.mini .product section.price { font-size: 12px; align-items: flex-start;}
.shop-mini-basket .basket.mini .product section.price .amount { font-size: 14px; font-weight: bold; padding: 0; }
.shop-mini-basket .basket.mini .del { text-align: right; }

.shop-mini-basket .basket.mini tfoot {}
.shop-mini-basket .basket.mini tfoot td {padding:10px 0;}
.shop-mini-basket .basket.mini .subtotal { text-align: left;}
.shop-mini-basket .basket.mini .subprice { text-align: right;}
.shop-mini-basket .basket.mini .total { font-weight: bold; text-align: left;}
.shop-mini-basket .basket.mini tfoot .price { font-weight: bold; text-align: right;}

.shop-mini-basket nav.actions { text-align: center; padding-top: 10px; }

/* Panier (mini) - Déroulant
---------------------------------------------------------------------- */
body > header .overHead .areas li.top-basket > a i { margin-right: 15px; }
.top-basket .cart .basketQtty { position:absolute; top:-1px; left:24px; background: #fefefe; border: 1px solid var(--main-color); border-radius: 20px; width:22px; height: 22px; font-size:13px; font-weight: bold; padding:4px 0; text-align: center; color: var(--main-color); }
.top-basket .cart .basketQtty:empty {display: none;}
.top-basket .cart .basketPrice { display: inline-block; border-radius: 10px; background: var(--main-color); color: #fefefe; font-size: 11px; padding: 4px 6px; margin-left: 3px; }
.top-basket { position: relative; }
.top-basket .basket-dropdown.shop-mini-basket {
	position: absolute; top: -100vh; right: 0;
	z-index: -1; background: #492c85; width: 320px; transition: all 0.3s ease; margin-top:0px;
	color: var(--alt-txt-color);
	border-bottom-left-radius: 8px;
}
.top-basket:hover .basket-dropdown.shop-mini-basket { top:100%; }


/* Popin ajout / ajouté au panier
---------------------------------------------------------------------- */
.modal.shop .product {padding:20px;}
.modal.shop .product > section {display:flex;}
.modal.shop .product > section aside {width:40%;}
.modal.shop .product > section aside figure {width:100%; padding:0;}
.modal.shop .product > section aside figure img {width:100%; border-radius: 8px;}
.modal.shop .product > section aside figure img.no-pic {padding:20%;}
.modal.shop .product > section article {display: flex; flex-direction: column; width:60%; padding-left:20px;}
.modal.shop .product > section article .title {font-size:18px; margin-bottom: 10px; color: var(--main-color); font-weight: bold; }
.modal.shop .product > section article .ref { font-size: 12px; margin-bottom: 10px; color: #555; }
.modal.shop .product > section article .ref > span { font-weight: bold; }
.modal.shop .product > section article .error {font-size:14px; color:#d00;margin:15px 0; padding:10px; border:#d00; background: #fdd;}
.modal.shop .product > section article .price { align-items: flex-start; }
.modal.shop .product > section article .price > span { padding: 0; }
.modal.shop .product > section article .package {font-size:13px;padding-top:10px;}
.modal.shop#addToBasket .product > section article .quantity {padding-top:10px; margin-top: auto;}
.modal.shop .product .quantity-modifier {margin:6px 0; justify-content: flex-end; }
.modal.shop nav.actions { display:flex; justify-content: space-between; margin-top:20px; text-align: right;}
.modal.shop nav.actions .add { margin-left: auto; }
.modal.shop .assoc-products {}
.modal.shop .assoc-products h4 {padding-left:20px; margin-bottom: 5px;}

/* Choix date de livraison
---------------------------------------------------------------------- */
.overHead .delivery { display: flex; align-items: center; }
.overHead .delivery .delivery-date { position: relative; margin-left: 10px; }
.overHead .delivery .delivery-date input { height: 30px; font-size: 14px; text-align: center; padding-left: 30px; padding-right: 30px; max-width: 180px; }
.overHead .delivery .delivery-date::before {
	position: absolute; left: 0; top: 0;
	display: flex; justify-content: center; align-items: center;
	content: '\f073'; font-family: 'FontAwesome';
	height: 100%; width: 30px;
	color: var(--main-txt-color);
}
.overHead .delivery .delivery-time { margin-left: 10px; }
.overHead .delivery .delivery-time select { height: 30px; font-size: 14px; padding: 0; text-align: center; }

@media all and (max-width: 799px) {
	.overHead .delivery { display: none; }
}

/* Module - jSlider (filtre)
---------------------------------------------------------------------- */
.layout-slider { margin:10px 0 10px 0; }
.jslider { display:block; width:180px; height:1em; position:relative; top:0.6em; font-family:Arial, sans-serif; color:#333; }
.jslider table { width:100%; border-collapse:collapse; border:0; }
.jslider td, .jslider th { padding:0; vertical-align:top; text-align:left; border:0; }
.jslider table,
.jslider table tr,
.jslider table tr td { width:100%; vertical-align:top; }
.jslider .jslider-bg { position:relative; }
.jslider .jslider-bg i { height:4px; position:absolute; font-size:0; top:0; }
.jslider .jslider-bg .l { width:50%; background:#999; left:0; border-radius:2px 0 0 2px; }
.jslider .jslider-bg .r { width:50%; background:#999; left:50%; border-radius:0 2px 2px 0; }
.jslider .jslider-bg .v { position:absolute; width:60%; left:20%; top:0; height:4px; background: var(--main-color); }
.jslider .jslider-pointer { width:12px; height:12px; background: var(--main-color); position:absolute; left:20%; top:-4px; cursor:pointer; border-radius:6px; }
.jslider .jslider-pointer:hover { background:var(--main-color-dark-1); }
.jslider .jslider-pointer-to { left:auto; right: 0; margin-left:-12px; }
.jslider .jslider-label { font-size:10px; line-height:11px; color:#999; white-space:nowrap; padding:0px 2px; position:absolute; top:-17px; left:0px; }
.jslider .jslider-label-to { left:auto; right:0; }
.jslider .jslider-value { font-size:11px; white-space:nowrap; padding:2px 2px 0; position:absolute; top:-19px; left: 0; background:white; line-height:11px; background:transparent; color:var(--sco-orange);font-weight:bold; }
.jslider .jslider-value-to { left:auto; right: 0; background:transparent; }
.jslider .jslider-label small,
.jslider .jslider-value small { position:relative; top:-0.4em; }
.jslider .jslider-scale { position:relative; top:9px; }
.jslider .jslider-scale span { position:absolute; height:5px; border-left:1px solid #999; font-size:0; }
.jslider .jslider-scale ins { font-size:9px; text-decoration:none; position:absolute; left:0px; top:5px; color:#999; }
.jslider-single .jslider-pointer-to,
.jslider-single .jslider-value-to,
.jslider-single .jslider-bg .v,
.jslider-limitless .jslider-label{ display:none; }


.menu > .menu-choice:not(:last-child) { margin-bottom: 10px; }
.menu > .menu-choice > label { display: inline-block; margin-bottom: 5px;}