/* .............................................................................
SITE BLOCKS
............................................................................. */

/*
BLOCK / Page layout
Titre, messages et contenu. */
.bPage {--padding-left:var(--width-std); --padding-right:var(--width-std-right); }
.bPage > * {padding-left: var(--padding-left); padding-right: var(--padding-right); }
.bPage__title {background-color: var(--color-white);padding-top: 1.75em;padding-bottom: 2em;}
.bPage__messages {position: relative;}
.bPage__ctn {padding-bottom: var(--base-spacing-bottom);}
.bPage__ctn > *:first-child {margin-top:var(--base-spacing-top); }
.bPage__ctn > .iBtnsTop:first-child,
.bPage__ctn > .bSearch:first-child {margin-top: 0;}

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


/*
BLOCK / Standard styles
Styles standard des blocs principaux. */
.bMain {padding-top: var(--base-spacing-top);padding-bottom: var(--base-spacing-bottom);}

	/*
	ALT :
	No double padding.
	Si 2 blocks avec cette classe se chevauchent, ne pas mettre
	d'espacement entre ces 2 blocs. */
	.bMain--noDP + .bMain--noDP {padding-top: 0; }

	/*
	ALT :
	Forcer zero padding top ou bottom. */
	.bMain--noTP {padding-top: 0; }
	.bMain--noBP {padding-bottom: 0; }



/*
BLOCK / Cart
Layout de la page du cart. */
.bCart { }
.bCart__layout {display: grid;grid-template-columns: 1fr 20em;grid-template-rows: auto;gap: calc(0.75 * (var(--base-spacing-top)));align-items: start;}
.bCart__items {grid-column: 1 / -1; grid-row: 1 / 2; }
.bCart__commentaires {grid-column: 1 / 2; grid-row: 2 / 3; }
.bCart__totaux {grid-column: 2 / 3; grid-row: 2 / 3; }
.bCart__btns {grid-column: 1 / -1; grid-row: 3 / 4; }
.bCart__btns.formGroup--btnsAction {margin-top:0;}

/* Par defaut, bouton "save" est hidden. */
.bCart__btns .formItem--btnSaveCart {opacity: 0; visibility: hidden; transition: opacity 0.5s, visibility 0.5s; }

	/*
	STATE / Total changed.
	Les totaux doivent être recalculés. */
	.bCart.totalChanged { }
	.bCart.totalChanged .bCart__totaux td {opacity: 0.25; }
	.bCart.totalChanged .bCart__btns .formItem--btnSaveCart {opacity: 1; visibility: visible; }

	/*
	STATE / Comment changed.
	Le champ de commentaire a été modifié. */
	.bCart.commentChanged { }
	.bCart.commentChanged .bCart__btns .formItem--btnSaveCart {opacity: 1; visibility: visible; }

	/* Stacked */
	@media (max-width:46rem) {
		.bCart__layout {display: block;}
		.bCart__layout > * + * {margin-top:calc(0.75 * (var(--base-spacing-top))); }
	}



/*
BLOCK / Search page
Layout de la page de recheche. */
.bSearch { }
.bSearch__bySKU {position: relative;padding: 1.75em 0;}
.bSearch__bySKU::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)); background-color: var(--color-gray);}
.bSearch__byYMMC {position: relative;padding: 1.75em 0;}
.bSearch__byYMMC::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)); background-color: var(--color-mid-gray);}
.bSearch__results {margin-top: 2em; }
.bSearch__list { }
.bSearch__category {margin-top: 2em;margin-bottom: 0.5em;}
.bSearch__accordions { }

	/* Spacing */
	@media (max-width:46rem) {
		.bSearch__bySKU {padding: 1em 0;}
		.bSearch__byYMMC {padding: 1em 0;}
	}



/*
BLOCK / Title
Description. */



