/* .............................................................................
SITE ITEMS
............................................................................. */

/* 
ITEM / Pagination
Bouton precedent et suivant. */
.iPagination {display: flex; align-items: center; justify-content: center; margin: 1.5em 0; }
.iPagination__item {margin: 0; }
.iPagination__item + .iPagination__item {border-left: 1px solid var(--color-gray);}



/*
ITEM / Messages
Messages d'erreur et de succes. */
.iMessages { }
.iMessages ul {position: relative;padding: 1em 0;line-height: 1.3;list-style: none;margin: 0;}
.iMessages ul::before {position:absolute; z-index:-1; display:block; content:''; top:0;bottom: 0; left:calc(-1 * var(--padding-left)); right:calc(-1 * var(--padding-right));}
.iMessages ul li + li {padding-top: 0.5em;}

.iMessages__reussite::before {background-color: var(--color-green); }
.iMessages__erreur::before {background-color: var(--color-red); }

	/* Smaller */
	@media (max-width:46rem) {
		.iMessages {font-size: 0.85em; }
	}



/*
ITEM / Barre de boutons
En haut ou en bas, et possible d'avoir un paragraphe la-dedans */
.iBtnsTop {position: relative;display: flex;flex-wrap: wrap;gap: 0.5em;padding-top: 1.5em;padding-bottom: 1.5em;margin-bottom: calc(0.75 * var(--base-spacing-bottom));}
.iBtnsTop::after {position:absolute;z-index:0;display:block;content:'';bottom:0;height: 1px;left:0;width: 2.1em;background-color: var(--color-gray);}
.iBtnsTop > * {flex:0 1 auto; }

.iBtnsBottom {position: relative;display: flex;flex-wrap: wrap;gap: 0.5em;margin-top: 3em;padding-top: 1.5em;}
.iBtnsBottom::before {position:absolute;z-index:0;display:block;content:'';top:0;height: 1px;left:0;width: 2.1em;background-color: var(--color-gray);}
.iBtnsBottom > * {flex:0 1 auto; }

	/* Smaller */
	@media (max-width:46rem) {
		.iBtnsTop {padding-top: 1em; padding-bottom: 1em; }
	}



/*
ITEM / Table list
Liste d'items dans une table. */
.tableList {width: 100%; }
.tableList tr {font-size: 0.83em;line-height: 1.1; }
.tableList th {padding: 0.7em 1.1em;background-color: var(--color-gray);color: var(--color-white);text-transform: uppercase;font-weight: bold;vertical-align: bottom;}
.tableList td {padding: 0.7em 1.1em;border-bottom: 1px solid var(--color-mid-gray); }
.tableList tr:nth-child(odd) td {background-color: var(--color-mid-gray); }
.tableList a:not([class]) {display: inline-block; font-weight: bold; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.05em; transition: color 0.2s; }
.tableList a:not([class]):hover {color: var(--color-orange); }

/* Spacings */
.listInlineLinks + .tableList,
.iFilters + .tableList {margin-top: 1em;}

.tableList__actions {text-align: right; }
.tableList__price {text-align: right; }
.tableList__priceTotal {text-align: right; font-weight: bold; }
.tableList .tableList__delete {text-align: right;padding-left: 0;padding-right: 0.6em;}



/*
ITEM / Table totaux
Liste de totaux en bas du cart. */
.tableTotaux {width: 100%;}
.tableTotaux tr {font-size: 0.83em;line-height: 1.1; }
.tableTotaux th {padding: 0.7em 1.1em;background-color: var(--color-gray);color: var(--color-white);text-transform: uppercase;font-weight: bold;vertical-align: bottom;}
.tableTotaux td {padding: 0.7em 1.1em;border-bottom: 1px solid var(--color-mid-gray); text-align: right;}

.tableTotaux .tableTotaux__cat {font-weight: bold; text-align: left; }
.tableTotaux__total {display: block; font-weight: bold; font-size: 2em; }
.tableTotaux__note {display: block; font-size: 0.7em; }



/*
ITEM / Table application
Dans la liste de résultats, plus d'infos sur une pièce. */
.tableApplication {max-width: 100%;margin: 1em 0;}
.tableApplication tr {font-size: 0.83em;line-height: 1.1;}
.tableApplication thead th {padding: 0.6em 0.7em; background:var(--color-black); color:var(--color-white);text-transform: uppercase;font-weight: bold;}
.tableApplication tbody th {padding: 0.4em 0.7em;border-bottom: 1px solid var(--color-gray);font-weight: bold;width: 14em;}
.tableApplication tbody td {padding: 0.4em 0.7em;padding-left: 0;border-bottom: 1px solid var(--color-gray);}



/*
ITEM / Overflow table
Overflow les tables larges sur mobile. */
.iOverflowTable {--minWidth: 40em; --overflowMargin:0.5em;}
.iOverflowTable__table {margin: calc(-1 * var(--overflowMargin)) calc(-1 * var(--width-std-right))calc(-1 * var(--overflowMargin)) calc(-1 * var(--width-std-left)); overflow: auto;}
.iOverflowTable__table .tableList {min-width: var(--minWidth);padding: var(--overflowMargin) var(--width-std-right) var(--overflowMargin) var(--width-std-left);}



/*
ITEM / Filters
Titre et boutons pour filtrer une liste. */
.iFilters {--overflowMargin:0.5em; }
.iFilters__title { margin-bottom: 0.3em;}
.iFilters__filters {margin: calc(-1 * var(--overflowMargin)) calc(-1 * var(--width-std-right))calc(-1 * var(--overflowMargin)) calc(-1 * var(--width-std-left)); }
.iFilters__filters .listInlineLinks {display: flex; flex-wrap: nowrap; white-space: nowrap; overflow: auto; padding: var(--overflowMargin) var(--width-std-right) var(--overflowMargin) var(--width-std-left); }



/*
ITEM / Accordion
SKU, nom de la pièce et prix affiché. */
.iAccordion {--espacementV: 0.5em; --espacementH: 0.8em; --spacingPlusMinus: 1.5em; font-size: 0.83em; border-top: 1px solid var(--color-mid-gray); border-bottom: 1px solid var(--color-mid-gray);}
.iAccordion + .iAccordion {border-top: 0; }
.iAccordion:nth-child(odd) {background-color: var(--color-mid-gray); }

/* Summary = shown part */
.iAccordion__summary {line-height: 1;display: flex;align-items: center;gap: 0 1em;color: var(--color-base);transition: color 0.2s;}

	/* Clickable */
	.iAccordion__summaryProduct {flex:1 1 auto; position: relative; padding: var(--espacementV) 0 var(--espacementV) calc(var(--spacingPlusMinus) + var(--espacementH)); display: flex; align-items: center; transition: color 0.2s; }
	.iAccordion__sku {flex:0 0 auto; width: 7em; font-weight: bold; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.05em; }
	.iAccordion__name {flex:1 1 auto; width: 100%; }

		/* Clickable hover */
		.iAccordion__summaryProduct:hover {color: var(--color-orange);}

	/* + and - icon */
	.iAccordion__summaryProduct::before,
	.iAccordion__summaryProduct::after {position:absolute;display:block;content:" ";left: var(--espacementH); top:50%;transform-origin:50% 50%; transform:translateY(-50%);background: var(--color-orange);width: 0.75em;height: 2px;transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1); will-change: transform; }
	.iAccordion__summaryProduct::after {transform:translateY(-50%) rotate(90deg);}

	/* Add to cart */
	.iAccordion__summaryCart {flex:0 0 auto; padding: var(--espacementV) var(--espacementH) var(--espacementV) 0; display: flex; align-items: center; gap: 1em; }
	.iAccordion__summaryCart > * {margin: 0; }
	.iAccordion__price {font-weight: bold; }
	.iAccordion__addToCart { }

/* Details = slide down infos */
.iAccordion__details {display: none;padding: var(--espacementV) var(--espacementH) calc(2 * var(--espacementV)) calc(var(--spacingPlusMinus) + var(--espacementH));}

	/* 
	STATE / On. */
	.iAccordion.on .iAccordion__details {display: block;}
	.iAccordion.on .iAccordion__summaryProduct::after {transform:translateY(-50%) rotate(180deg);}

	/* Stacked */
	@media (max-width:46rem) {
		/* Summary = shown part */
		.iAccordion__summary {display: block;}

		/* Clickable */
		.iAccordion__summaryProduct {display: block;padding: var(--espacementV) var(--espacementH) var(--espacementV) calc(var(--spacingPlusMinus) + var(--espacementH));}
		.iAccordion__sku {display: block;width: auto;}
		.iAccordion__name {display: block;width: auto; margin-top: 0.3em;}

		/* + and - icon */
		.iAccordion__summaryProduct::before,
		.iAccordion__summaryProduct::after {top: calc(0.55em + var(--espacementV));}

		/* Add to cart */
		.iAccordion__summaryCart {padding: 0 var(--espacementH) var(--espacementV) calc(var(--spacingPlusMinus) + var(--espacementH)); justify-content: flex-end;}
	}



/*
ITEM / Title
Description. */



