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

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

	/* 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 boutique
---------------------------------------------------------------------- */
.shop-main-category { display: flex; justify-content: center; align-items: center; background-image: var(--banner-img); height: 250px; background-position: center center; margin-bottom: -15px; background-size: cover; }
.shop-main-category > div { color: #fff; font-size: 70px; line-height: 1.8em; font-family: 'BrittanySignature'; }
.shop-main-category > div > a { display: block; color: inherit; font-size: inherit; line-height: inherit; font-family: inherit; }

.shopPage > .bloc-content .hgroup > h1 { position: relative; margin: 20px 0; text-align: center; }
.shopPage > .bloc-content .hgroup > h1::after { position: absolute; left: 50%; top: calc(100% + 5px); transform: translateX(-50%); content: ''; width: 120px; border-bottom: 2px solid var(--alt-color); }

/* Vue générique
---------------------------------------------------------------------- */
.shop-view { display:flex; flex-direction: row; margin: 15px auto; max-width: var(--wrap-width, 1200px); }
.shop-view > aside { width: 240px; padding: 15px; }
.shop-view > section { flex: 1 1; padding: 15px; }

/* 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 > .onquote { font-weight: bold; font-size: 1.3em; }
section.price .amount:after { font-size: 0.7em; }
section.price .amount.ht:after { content: ' HT'; }
section.price .amount.ttc:after { content: ' TTC'; }
section.price.discount > .actual { color: var(--shop-flag-promo); }

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

/* 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.discount {--flag-color: var(--shop-flag-promo); }

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

.shop-categories { display: flex; justify-content: center; flex-wrap: wrap; max-width: var(--wrap-width, 1200px); padding: 0 15px; margin: 0 auto; margin-bottom: 40px; }
.shop-categories > article { flex: 1 1; flex: 1 1 calc(20% - 40px); max-width: calc(20% - 40px); margin: 20px; }
.shop-categories > article .category-container { width: 100%; padding-bottom: 100%;  }
.shop-categories > article a { position: absolute; top: 0; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; justify-content: center; width: 100%; height: 100%; padding: 10px; transition: background 0.4s ease; }
.shop-categories > article h2 { width: 100%; margin: 0; background: rgba(255, 255, 255, 0.9); color: var(--main-color); position: absolute; left: 0; bottom: 10px; text-align: center; font-size: 17px; line-height: 1.3em; padding: 15px 0; }
.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 { position: relative; background-size: cover; background-position: center center; }

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

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

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

.product-list > h1 { position: relative; margin-bottom: 40px; }
.product-list > h1::after { position: absolute; left: 50%; top: calc(100% + 15px); transform: translateX(-50%); content: ''; width: 120px; border-bottom: 2px solid var(--alt-color); }


.prodsList > .prod { box-shadow: 0px 2px 8px 0px rgba(0,0,0,0.15);  }
.prodsList > .prod .picture-frame { position: relative; }
.prodsList > .prod .picture-frame img { display: block; object-fit: cover; object-position: center center; }
.prodsList > .prod .picture-frame img.no-pic { padding: 30%; object-fit: contain; }
.prodsList > .prod header > h2 { position: relative; font-size: 24px; color: var(--main-color); text-transform: none; margin: 10px 0 40px 0; text-align: left; }
.prodsList > .prod header > h2 {font-family: Roboto, Arial, sans-serif;}
.prodsList > .prod header > h2::after { position: absolute; left: 0	; top: calc(100% + 15px); content: ''; width: 100px; border-bottom: 2px solid var(--alt-color); }
.prodsList > .prod header > h2 > a {font-size: 24px; line-height: 2em; color: var(--main-color); text-align: left; display: block; width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.prodsList > .prod header > div { font-size: 12px; line-height: 1.4em; text-align: left; }
.prodsList > .prod .sell nav .btn { display: block; width: 100%; text-align: center; }
.prodsList > .prod section.price {align-items: flex-end;}


/* Produit - Liste (mosaïque)
----------------------------------------------------------------------- */
.prodsList.style-mosaic > .prod { display: flex; flex-direction: row; flex: 1 1 calc(50% - 20px); max-width: calc(50% - 20px); margin: 10px; /* height: 250px;  */}
.prodsList.style-mosaic > .prod > .detail { background: #c7d0d7; color: var(--main-color); flex: 1 1 55%; max-width: 55%; display: flex; flex-direction: column; }
.prodsList.style-mosaic > .prod .picture-frame { flex: 1 1 45%; }
.prodsList.style-mosaic > .prod .picture-frame figure { width: 100%; height: 100%; }
.prodsList.style-mosaic > .prod .picture-frame img { width: 100%; height: 100%; }
.prodsList.style-mosaic > .prod .desc { position: relative; display: flex; flex-direction: column; padding: 10px; }
.prodsList.style-mosaic > .prod .sell { margin-top: auto; }
.prodsList.style-mosaic > .prod .sell .add-to-basket > nav.actions { position: relative; display: flex; justify-content: flex-end; }
.prodsList.style-mosaic > .prod .sell .add-to-basket > nav.actions > button { position: relative; top: 8px; left: 8px; width: auto; }
.prodsList.style-mosaic > .prod .price > span { text-align: center; }
.prodsList.style-mosaic > .prod header { flex: 1 1; }

.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-top-left-radius: 0; border-top-right-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
---------------------------------------------------------------------- */
.productPage { box-shadow: none; padding-bottom: 0; background: var(--main-color); }
.product-wrapper { max-width: var(--wrap-width); margin: 0 auto; background-color: var(--main-color); padding: 0; }
.product-wrapper ul.ariane { background: transparent; padding: 5px; font-size: 10px; margin: 0; }
.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; padding: 40px; }
.product-wrapper > .prod > .picture-frame > figure { position: relative; height: 100%; max-height: 60vh; }
.product-wrapper > .prod > .picture-frame > figure > img { display: block; width: 100%; height: 100%; min-height: 400px; object-fit: cover; }
.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; margin-top: 10px; margin-left: -5px; margin-right: -5px; flex-wrap: wrap; }
.product-wrapper > .prod > .picture-frame .gallery li { height: 100px; flex: 1 1 calc(20% - 10px); max-width: calc(20% - 10px); min-width: 100px; margin: 0 5px; cursor: pointer;  }
.product-wrapper > .prod > .picture-frame .gallery li > img { width: 100%; height: 100%; opacity: 0.6; transition: opacity 0.4s ease; object-fit: cover; }
.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: 50%; background: #c7d0d7; color: var(--text-color); padding: 15px; }
.product-wrapper > .prod > .details > .ref { font-size: 12px; color: var(--alt-color); }
.product-wrapper > .prod > .details > .ref > span { font-weight: bold; }
.product-wrapper > .prod > .details h1 { position: relative; color: var(--main-color); font-size: 40px; padding: 0; margin: 0; text-align: left;  margin: 20px 0; }
.product-wrapper > .prod > .details h1:not(.has-subtitle) { margin-bottom: 15px; }
.product-wrapper > .prod > .details h1:not(.has-subtitle)::after { position: absolute; left: 0	; top: calc(100% + 5px); content: ''; width: 120px; border-bottom: 2px solid var(--alt-color); }
.product-wrapper > .prod > .details > .subtitle { position: relative; text-transform: uppercase; font-size: 14px; color: var(--main-color); margin-bottom: 15px; }
.product-wrapper > .prod > .details > .subtitle::after { position: absolute; left: 0; top: calc(100% + 5px); content: ''; width: 120px; border-bottom: 2px solid var(--alt-color); }
.product-wrapper > .prod > .details > .desc { margin: 15px 0; font-size: 14px; line-height: 1.3em; }
.product-wrapper > .prod > .details > .desc p { line-height: 1.3em; }

.product-wrapper > .prod .sell { display: flex; flex-direction: row; justify-content: space-between; align-items: center; padding: 15px; margin-top: auto; }
.product-wrapper > .prod .sell .add-to-basket { display: flex; flex-direction: row; align-items: stretch; padding: 15px 0; }
.product-wrapper > .prod .sell .add-to-basket .quantity-modifier { padding: 5px; background-color: #fff; }
.product-wrapper > .prod .sell .add-to-basket .addToBasket { justify-content: center;  width: 100%; }
.product-wrapper > .prod .sell .price { font-size: 1.2em; font-weight: bold; color: var(--main-color); flex-direction: column; }

.product-wrapper > article { background-color: #fff; box-shadow: 5px 5px 12px 12px rgba(0, 0, 0, 0.1); }
.product-wrapper > article.columns { display: flex; flex-direction: row; }
.product-wrapper > article.columns > div.col { flex: 1 1; padding: 0; }
.product-wrapper > article.columns > div.col > div { padding: 20px; }
.product-wrapper > article:not(:last-child) { margin-bottom: 20px; }
.product-wrapper > article > div { padding: 20px; }
.product-wrapper .subinfos > div { padding: 0 var(--medium-padding); }
.product-wrapper .subinfos > div:not(:last-child) { margin-bottom: var(--medium-padding); }

.product-wrapper h2 { position: relative; font-variant: none; font-size: 30px; margin: 0; padding: var(--medium-padding); }
.product-wrapper h2::after { position: absolute; left: var(--medium-padding); top: calc(100% - var(--medium-padding) + 6px); content: ''; width: 100px; border-bottom: 2px solid var(--alt-color); }
.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 .associated { background: #c7d0d7; }
.product-wrapper .associated .prod { flex-direction: column; max-width: 150px; }
.product-wrapper .associated .prod > .detail { display: none; }
.product-wrapper .associated .prod .picture-frame { position: relative; width: 100%; max-width: 150px; padding-bottom: 100%; background: #fff; }
.product-wrapper .associated .prod .picture-frame .prod-flags { display: none; }
.product-wrapper .associated .prod .picture-frame img { position: absolute; display: block; top: 0; left: 0; bottom: 0; right: 0; }

.picture-frame > figure > .btn-wishlist { display: flex; justify-content: center; align-items: center; position: absolute; top: 3px; left: 3px; cursor: pointer; border-radius: 50%; background-color: #c7d0d7; width: 32px; height: 32px; }
.picture-frame > figure > .btn-wishlist > i { font-size: 20px; color: #fff; transition: color 0.5s ease; }
.picture-frame > figure > .btn-wishlist:hover > i, .picture-frame > figure > .btn-wishlist.on > i { color: #a00; }

@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; }

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

	.product-wrapper > article.columns { flex-direction: column; }
}

/* Colonne boutique
---------------------------------------------------------------------- */
.shopColumn { padding: 10px; }
.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;}
.shopColumn > section > div { padding: 10px; }

/* Colonne boutique - Catalogue
---------------------------------------------------------------------- */
.shopColumn > .shop-catalog { --level-pad: 15px; }
.shopColumn > .shop-catalog li > a { display: block; font-size: 14px; text-transform: uppercase; padding: 5px; }
.shopColumn > .shop-catalog li > a.current { color: var(--main-color); }
.shopColumn > .shop-catalog li.cat-level1 { padding-left: calc(1 * var(--level-pad)); }
.shopColumn > .shop-catalog li.cat-level2 { padding-left: calc(2 * var(--level-pad)); }
.shopColumn > .shop-catalog li.cat-level3 { padding-left: calc(3 * 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: var(--main-color); border: 1px solid var(--main-color-dark-2); border-radius: 5px; }
.listBar > .styles { margin-left: auto; }
.listBar > ul > li { display: inline-block; }
.listBar > ul > li > a,
.listBar > ul > li > i { display: inline-block; padding: 6px; font-size: 15px; cursor: pointer; color: var(--alt-txt-color); border-radius: 3px; 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: var(--main-color-light-2); box-shadow: inset 0 0 4px 1px rgba(0 , 0, 0, 0.25); }
.listBar > ul.numbers > li > a { padding: 8px; }
/* 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: 140px;
	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; border: none; font-size: 14px; padding: 4px; height: 28px; }

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

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

	width: 24px;
	height: 24px;

	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
---------------------------------------------------------------------- */
main.processPage > h1 { padding-top: 10px; }
.processPage .content { padding: 0 15px;}
.processPage nav { display: flex; flex-direction: row; padding: 15px 0; }
.processPage nav .btn.next { margin-left: auto; }
.processPage > .struct-blocs.struct-wrap { padding: var(--medium-padding) 30px; }

.process-cmd {margin:20px 0; width:100%;}
.process-cmd ul {display:flex; background: var(--main-color);}
.process-cmd ul li { padding:10px; background: rgba(255, 255, 255, 0.7); text-align: center; font-size:14px; text-transform: uppercase; display: inline-block; flex:1; color:#fff;}
.process-cmd ul li:last-child {border-right:none;}
.process-cmd ul li.on {font-weight: bold; background: var(--main-color); }
.process-cmd ul li.pass {font-weight: bold; background: var(--main-color); 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 { position: relative; width:calc(50% - 20px); background: #c7d0d7; padding:30px; display:flex; flex-direction: column; align-items: center; 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 { position: absolute; left: 0; bottom: -30px; width: 100%; justify-content: center;}

.processPage .auth > .waccount > form { width: 100%; }
.processPage .auth > .waccount > form > .digiForm { width: 100%; }
.processPage .auth > .waccount > form > .digiForm > article { width: 100%; }

.processPage .newAccountPage form { background-color: #c7d0d7; }

.processPage .struct-blocs.struct-wrap h3 { position: relative; color: var(--main-color); margin-bottom: 20px; }
.processPage .struct-blocs.struct-wrap h3::after { position: absolute; left: 0	; top: calc(100% + 5px); content: ''; width: 100px; border-bottom: 2px solid var(--alt-color); }

/* 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:90px; height: 90px; display: inline-block; vertical-align: top;}
.basket-page .basket tbody tr td.product figure img {width:100%; height: 100%; object-fit: cover; display: block;}
.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 0 0;}
.processPage .basket thead {background: #fbfbfb;}
.processPage .basket thead tr td {border:solid #eee; border-width: 1px 0 1px 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;
}

.processPage .payment_form form > div {
	text-align: center;
}

.payment-area {
	display: flex;
	justify-content: center;
	min-height: 30vh;
	align-items: center;
}

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

/* Panier (default)
---------------------------------------------------------------------- */
.basket.default {width:100%; border:solid var(--alt-color); border-width: 2px; }
.basket.default thead {background: #fbfbfb;}
.basket.default thead tr td {border:solid var(--alt-color); border-width: 1px 0 1px 0; padding:12px; color:var(--main-color); text-transform: uppercase; font-weight: normal;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: solid var(--alt-color); border-width: 1px 0 1px 0; }
.basket.default tbody tr td.product { min-width: 60%; padding: 12px;}
.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; 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;}
a.removeProd { background-color: var(--alt-color);}

.basket.default.foot {margin:0 0 20px 0; border:none; border-right: 2px var(--alt-color); }
.basket.default.foot tfoot {}
.basket.default.foot tfoot td.corner {width:70%; border:none; 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 var(--alt-color); border-width: 1px;}
.basket.default.foot tfoot tr td.price {width:120px; text-align: right;}
.basket.default.foot tfoot tr td.price { border-right-width: 2px; }
.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 var(--alt-color); border-width: 0; 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: 2px solid var(--alt-color);
	border-collapse: collapse;
}

.basket.default.foot.no-corner td {
	padding: 10px;
	border: solid var(--alt-color);
	border-width: 1px 0 1px 0;
	text-align: right;
}
.basket.default.foot td > .corner { display: flex; flex-direction: column; }
.basket.default.foot .corner .corner-module { margin: 10px 0; }
.basket.default.foot .corner .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;}

.basket.default.foot .corner .corner-module.codepromo .code { font-weight: bold; }
.basket.default.foot .corner .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); line-height: 1.1em; 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
---------------------------------------------------------------------- */
.top-basket > a i { margin-right: 15px; }
.top-basket .cart .basketQtty { position:absolute; top:0; left:0; background: rgba(255, 255, 255, 0.9); border: 1px solid var(--main-color); border-radius: 20px; width:22px; height: 22px; font-size:12px; 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: #ebeef0; width: 320px; transition: all 0.3s ease; margin-top:0px;
	color: var(--main-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.center { justify-content: center;}
.modal.shop nav.actions.right { justify-content: flex-end;}
.modal.shop nav.actions.left { justify-content: flex-start;}
.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; }