
/********************************************************
                        Template Custom Styles
********************************************************/
.owl-carousel {
    display: none;
    position: relative;
    float: left;
    width: 100%; 
    -ms-touch-action: pan-y;
}
.owl-carousel .owl-wrapper {
    display: none;
    position: relative;
    -webkit-transform: translate3d(0px, 0px, 0px);
}
.owl-carousel .owl-wrapper:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
}
.owl-carousel .owl-wrapper-outer {
    overflow: hidden;
    position: relative;
    float: left;
    width: 100%;
}
.owl-carousel .owl-wrapper-outer.autoHeight {
    -webkit-transition: height 500ms ease-in-out;
    -moz-transition: height 500ms ease-in-out;
    -ms-transition: height 500ms ease-in-out;
    -o-transition: height 500ms ease-in-out;
    transition: height 500ms ease-in-out;
}
.owl-carousel .owl-item {
    float: left;
}
.owl-carousel .owl-item .manu_image a {
    display: inline-block;
}
.owl-carousel .owl-item .manu_image a img {
    max-width: 100%;
}
.owl-carousel .owl-item:hover a img {
    border-color: transparent;
}
.owl-carousel .owl-wrapper,
.owl-carousel .owl-item {
    /* fix */
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    text-align: center;
}
.owl-page.active,.owl-page:hover{
    background-color: #191414;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transition: all 0.3s ease-out 0s;
    -webkit-transition: all 0.3s ease-out 0s;
    -moz-transition: all 0.3s ease-out 0s;
    -ms-transition: all 0.3s ease-out 0s;
    -o-transition: all 0.3s ease-out 0s;
}
.owl-page.active{
    cursor: default;
}
.owl-page {
    background-color: #999999;
    border-radius: 2px;
    cursor: pointer;
    display: inline-block;
    height: 10px;
    margin: 0 5px;
    width: 10px;
    transition: all 0.3s ease-out 0s;
    -webkit-transition: all 0.3s ease-out 0s;
    -moz-transition: all 0.3s ease-out 0s;
    -ms-transition: all 0.3s ease-out 0s;
    -o-transition: all 0.3s ease-out 0s;
}
.owl-pagination{
    text-align: center;
    bottom: 0;
    position: relative;
    margin-top: 0;
    display: inline-block;
    vertical-align: top;
    width: 100%;
    z-index: 3;
}
/* mouse grab icon */
.grabbing {
    cursor: url("../img/themeimage/grabbing.png") 8 8, move;
}

.customNavigation,.owl-buttons {
    z-index: 959;
    direction: ltr !important;
    position: static;
}

.customNavigation .btn, .owl-buttons div {
    background:none;  
    padding: 0;
    height: 40px;
    width: 40px;
    background-color: transparent;
    cursor: pointer;
    overflow: hidden;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    font-size: 0;
    margin:0 2px;
    float:left;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -khtml-border-radius: 50%;
    -moz-border-radius: 50px;
    position:absolute;
    left:auto;
    right:auto;
    top: 38%;
    bottom:auto;
}
.customNavigation a.next, .owl-buttons .owl-next {
    background-image: url("../img/themeimage/pst-prod-next.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 25px !important;
    right:0;

}

.customNavigation a.next:hover, .owl-buttons .owl-next:hover{
    background-image: url("../img/themeimage/pst-prod-next-hover.svg");    
    background-repeat: no-repeat;
    background-position:center;
}
.customNavigation a.prev, .owl-buttons .owl-prev {
    background-image: url("../img/themeimage/pst-prod-prev.svg");   
    background-repeat: no-repeat;
    background-position:center;
    background-size: 25px !important;
    left:0; 
}
.customNavigation a.prev:hover, .owl-buttons .owl-prev:hover{
    background-image: url("../img/themeimage/pst-prod-prev-hover.svg");  
    background-repeat: no-repeat;
    background-position:center ;	
}
.blog-home .owl-buttons {
    display:none;
}
.blog-home .customNavigation {
    position: absolute;
    bottom: 12%;
    left: 22%;
    top: auto;
    right: auto;
}
.blog-home .customNavigation .btn{
    position: static;
    transform: scale(1);
    -webkit-transform: scale(1);
    -ms-transform:scale(1);
    -o-transform:scale(1);
    -moz-transform:scale(1);
}

.brands .customNavigation .btn{top: 30%;}

.brands .products .product_list{
    z-index: -1;
    margin: 0 0 0 1px;
    overflow: hidden;
}
.brands .product-carousel{margin:0;}

@media (min-width: 1300px) {
    .customNavigation a.next, .owl-buttons .owl-next {
        right: 0;
    }
    .customNavigation a.prev, .owl-buttons .owl-prev {
        left: 0;
    }
}
@media (min-width: 992px) {
    .customNavigation .btn, .owl-buttons div{
        transform: scale(0);
        -webkit-transform: scale(0);
        -ms-transform:scale(0);
        -o-transform:scale(0);
        -moz-transform:scale(0);
        transition: all 300ms ease;
        -webkit-transition: all 300ms ease;
        -moz-transition: all 300ms ease;
        -ms-transition: all 300ms ease;
        -o-transition: all 300ms ease;
    }
    .products:hover .customNavigation .btn,.box-product .container:hover .customNavigation .btn ,#pst_categorycmsblock:hover .owl-buttons div,.blog-home:hover .customNavigation .btn,#psttestimonialcmsblock:hover .owl-buttons div,.viewed-products:hover .customNavigation .btn, .crosssell-products:hover .customNavigation .btn,.productscategory-products :hover .customNavigation .btn, .product-accessories:hover .customNavigation .btn{
        transform: scale(1);
        -webkit-transform: scale(1);
        -ms-transform:scale(1);
        -o-transform:scale(1);
        -moz-transform:scale(1);
        transition: all 300ms ease;
        -webkit-transition: all 300ms ease;
        -moz-transition: all 300ms ease;
        -ms-transition: all 300ms ease;
        -o-transition: all 300ms ease;
    }	
}
@media (min-width: 768px) { 
    .box-product .customNavigation .btn,.viewed-products .customNavigation .btn, .crosssell-products .customNavigation .btn, .productscategory-products .customNavigation .btn, .product-accessories .customNavigation .btn {
        top:0;
    }
}
@media (max-width: 1299px) {
    .blog-home .customNavigation {
        bottom: 10%;
        left: 20%;
    }
}	
@media (max-width: 767px) {
    .blog-home .customNavigation {
        position:static;
    }
    .blog-home .customNavigation .btn{
        position:absolute;
        top: 50%;
    }
}

.top_button{
    background-image: url("../img/themeimage/maDragee-backToTop.svg");
    animation: shakingBag 1s 1;
    animation-timing-function: ease-out;
    animation-delay: 2s; 
}
@keyframes shakingBag{
    0% {transform:rotate(0deg);transform-origin:top;}
    25%{transform:rotate(-10deg);transform-origin:top;}
    50%{transform:rotate(10deg);transform-origin:top;}
    100% {transform:rotate(0deg);transform-origin:top;}
}
/*ABOUT US BLOCK*/
.products-section-title {
    color: #bc5d71;
}
.aboutUsLinks{
    display: flex;
    justify-content: space-around;
}
.aboutUsLinks a, .aboutUsLinks h3{
    position:relative;
    color: #b8a091 !important;
}
.aboutUsLinks a:hover, .aboutUsLinks h3:hover{
    color: #bc5d71 !important;    
}
/*icon supperieures*/
.aboutUsLinks h3:nth-child(1)::before{
    position: absolute;
    content: '';
    width: 106px;
    height:60px;
    top: -60px;
    background: url('../img/themeimage/maDragee-drageeLink.svg');
    background-repeat: no-repeat;
    transform: scale(.8);

    transition: all 0.3s ease-out 0s;
    -webkit-transition: all 0.3s ease-out 0s;
    -moz-transition: all 0.3s ease-out 0s;
    -ms-transition: all 0.3s ease-out 0s;
    -o-transition: all 0.3s ease-out 0s;
}
.aboutUsLinks h3:nth-child(2)::before{
    position: absolute;
    content: '';
    width: 60px;
    height:100px;
    top: -70px;
    left: 15px;
    background: url('../img/themeimage/maDragee-contenantLink.svg');
    background-repeat: no-repeat;
    transform: scale(.8);

    transition: all 0.3s ease-out 0s;
    -webkit-transition: all 0.3s ease-out 0s;
    -moz-transition: all 0.3s ease-out 0s;
    -ms-transition: all 0.3s ease-out 0s;
    -o-transition: all 0.3s ease-out 0s;
}
.aboutUsLinks h3:nth-child(3)::before {
    position: absolute;
    content: '';
    width: 86px;
    height: 70px;
    top: -70px;
    background: url('../img/themeimage/maDragee-stickersLink.svg');
    background-repeat: no-repeat;
    transform: scale(.8);

    transition: all 0.3s ease-out 0s;
    -webkit-transition: all 0.3s ease-out 0s;
    -moz-transition: all 0.3s ease-out 0s;
    -ms-transition: all 0.3s ease-out 0s;
    -o-transition: all 0.3s ease-out 0s;
}
.aboutUsLinks h3:nth-child(4)::before{
    position: absolute;
    content: '';
    width: 86px;
    height:70px;
    top: -50px;
    left: -18px;
    background: url('../img/themeimage/maDragee-rubanLink.svg');
    background-repeat: no-repeat;
    transform: scale(.8);

    transition: all 0.3s ease-out 0s;
    -webkit-transition: all 0.3s ease-out 0s;
    -moz-transition: all 0.3s ease-out 0s;
    -ms-transition: all 0.3s ease-out 0s;
    -o-transition: all 0.3s ease-out 0s;
}
.aboutUsLinks h3:nth-child(1):hover::before{
    top: -65px;
    background: url('../img/themeimage/maDragee-drageeLinkHover.svg');
    background-repeat: no-repeat;
    transform: scale(1);

    transition: all 0.3s ease-out 0s;
    -webkit-transition: all 0.3s ease-out 0s;
    -moz-transition: all 0.3s ease-out 0s;
    -ms-transition: all 0.3s ease-out 0s;
    -o-transition: all 0.3s ease-out 0s;
}
.aboutUsLinks h3:nth-child(2):hover::before{
    top: -75px;
    background: url('../img/themeimage/maDragee-contenantLinkHover.svg');
    background-repeat: no-repeat;
    transform: scale(1);

    transition: all 0.3s ease-out 0s;
    -webkit-transition: all 0.3s ease-out 0s;
    -moz-transition: all 0.3s ease-out 0s;
    -ms-transition: all 0.3s ease-out 0s;
    -o-transition: all 0.3s ease-out 0s;
}
.aboutUsLinks h3:nth-child(3):hover::before{
    top: -75px;
    background: url('../img/themeimage/maDragee-stickersLinkHover.svg');
    background-repeat: no-repeat;
    transform: scale(1);

    transition: all 0.3s ease-out 0s;
    -webkit-transition: all 0.3s ease-out 0s;
    -moz-transition: all 0.3s ease-out 0s;
    -ms-transition: all 0.3s ease-out 0s;
    -o-transition: all 0.3s ease-out 0s;
}
.aboutUsLinks h3:nth-child(4):hover::before{
    top: -55px;
    background: url('../img/themeimage/maDragee-rubanLinkHover.svg');
    background-repeat: no-repeat;
    transform: scale(1);

    transition: all 0.3s ease-out 0s;
    -webkit-transition: all 0.3s ease-out 0s;
    -moz-transition: all 0.3s ease-out 0s;
    -ms-transition: all 0.3s ease-out 0s;
    -o-transition: all 0.3s ease-out 0s;
}
/*end::icon supperieures*/
/*underline*/
#blockaboutus .aboutus-text3::after{
    height: 13px;
    background: url('../img/themeimage/maDragee-linksUnderline.svg') !important;
    background-repeat: no-repeat !important;
}
#blockaboutus .aboutus-text3:hover::after{
    width: 67px;
}
/*end::underline*/
#blockaboutus::before {
    background: #eae2de;
}
#blockaboutus::after {
    background: #b8a091;
}
/*REA BAR*/
#pst_serviceblock {
    margin-bottom: 0;
    background: #f8f5f4;
    padding: 20px 0;
}
#pst_serviceblock .container {
    display: flex;
    justify-content: space-around;
}
#pst_serviceblock p {
    display: flex;
    justify-content: center;
    align-items: center;
	color: #000;
    text-transform: uppercase;
    font-weight: 600;
	margin: 0;
}
#pst_serviceblock img {
    max-width: 24px;
    height: auto;
	margin-right: 10px;
}
#header{
    padding: 0;
    display:none;
}

#header .header-top {
    display: flex;
    flex-direction: column;
    background-color: transparent;
    text-align: center;
}

#header .menu {
    position: relative;
    z-index: 4;
    width: 100%;
}

.box-product{
    background-color:white;
}

#footer .h3.hidden-sm-down{
    color:#b7a090;
    margin-bottom:0;
    display:inline!important;
}
#footer .block_content li a{
    color:#111111;

}

#footer .links .collapse{
    display:flex;
    flex-direction:column;
}

#footer .links.block.links{
padding-right:5%;

}

#footer .links.block.links li{
    padding:0 0;
}
.footer-wrapper{
    padding: 117px 285px;
}

#categories_blog_menu{
    display:none;
}

#left-column .block .block_title{
    background-color: #bc5d71;
    color: white;
}

/* 
=========================
		RAJOUT CSS
=========================
*/
#header {
    display: block;
}
.customNavigation a.next, .owl-buttons .owl-next {
    background-image: url(/img/next.png)!important;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 13px !important;
    right: 0;
}
.customNavigation a.prev, .owl-buttons .owl-prev {
    background-image: url(/img/prec.png)!important;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 13px !important;
    left: 0;
}
.blog-home .customNavigation {
    position: relative;
    bottom: -25px;
    left: auto;
    top: auto;
    right: auto;
    float: right;
    display: block;
    clear: both;
}
/* PRODUCT */
.product-right-inner .product-information {
    margin-top: 0px;
}
.product-customization .h4 {
    padding: 0px 50px 0px;
	position: relative;
}
.product-customization h3::after {
    top: -10px;
}
.product-customization {
    margin: 5px 0;
}
.product-customization .product-message {
    height: 40px;
    padding: 7px;
}
li.color-ndk.visual-effect {
    padding: 0;
    min-width: 1px;
    width: auto;
    margin-right: 10px;
	margin-bottom: 10px;
}
/* A SUPPRIMER SI PLUGIN MIS A JOUR */
.color-ndk center, h3.ndkcfTitle {
    display: none;
}
/* */
.color-ndk span {
    width: 30px;
    height: 30px;
    border-radius: 100%;
    box-shadow: 0px 0px 7px #00000012;
}
.fontColorSelectUl > li, .strokeColorSelectUl > li, .fontColorSelectUl li:last-child {
    width: 30px;
    height: 30px;
	border-radius: 100%;
	box-shadow: 0px 0px 7px #00000012;
}
.fontColorSelectUl > li.active:before {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	margin: 0;
}
.fontSelectUl, .fontSizeSelectUl, .fontColorSelectUl, .strokeColorSelectUl {
    border-radius: 0;
    box-shadow: none;
    background-color: #fff;
    border: none;
}
.fontSelectUl li:last-child, .fontSizeSelectUl li:last-child, .fontColorSelectUl li:last-child, .strokeColorSelectUl li:last-child {
    border: none;
}
.tabs .tab-pane {
    padding: 0;
}
.tabs .nav-tabs {
    margin-bottom: 20px;
}
.ndkcsfields-block .toggler {
    color: #303030;
    text-transform: uppercase;
    font-size: 15px;
    font-weight: 800;
}
.ndkcsfields-block .form-group{
	border-bottom: 1px solid #303030
}
.product-actions .control-label {
    padding-right: 10px;
	margin: 0px;
	width: 25% !important;
}
.product-variants > .product-variants-item ul li {
    margin-right: 0;
    margin-left: 8px;
}
ul#group_6 {
    margin-bottom: 0;
    margin-top: 0;
	width: auto;
}
.input-group {
    border: none;
}
.product-quantity .qty {
    margin-bottom: 0;
    margin-left: 0px;
	width: auto;
}
.product-quantity #quantity_wanted {
    height: 40px;
    padding: 10px;
    width: 40px;
}
.product-add-to-cart {
    display: flex;
    flex-wrap: wrap;
    float: left;
    width: 100%;
    justify-content: left;
    align-items: center;
}
.bootstrap-touchspin .btn-touchspin {
    border: none !important;
}
.product-variants > .product-variants-item > * {
    width: 75%;
}
	/* PERSONNALISATION PRESTASHOP */
	.product-customization form {
		margin-top: 10px;
	}
	.product-customization .card ul.clearfix {
		display: flex;
		flex-wrap: wrap;
		margin-top: 5px;
	}
	.product-customization .card ul.clearfix li.product-customization-item:first-child {
		width: 100%;
	}
	.product-customization .card ul.clearfix li.product-customization-item {
		width: 48%;
		margin: 0 1%;
	}
	.product-customization label {
		color: #303030;
		text-transform: uppercase;
		font-size: 15px;
		font-weight: 800;
		padding-left: 0;
	}
	/* FORME */
	.product-variants > .product-variants-item select {
		border: none;
		margin-left: 0px;
	}
	.product-variants > .product-variants-item {
		margin: 0;
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: left;
		align-items: center;	
	}
	.product-variants .form span.sr-only {
		position: relative;
	}
	.product-variants-item li  label{
		cursor: pointer;
	}
	.product-variants ul#group_1 li.float-xs-left.input-container {
		width: calc(100% / 3);
		margin: 0;
	}
	.product-variants-item .input-color + span {
		padding: 6px;
		border: none;
	}
	.product-variants-item li  label:hover .input-color + span{
		color: #bc5d71;
	}
	.product-variants-item li.float-xs-left.input-container label {
		margin: 5px 0;
	}
	.product-variants input.input-color {
		width: 100%;
		height: 100%;
	}
	/* COULEUR */
	.product-variants-item li.float-xs-left.input-container {
		width: auto;
		margin-top: 0px;
	}
	.product-variants-item .color .sr-only {
		display: none;
	}
	.input-color, .product-variants > .product-variants-item .color {
		height: 30px;
		width: 30px;
		border-radius: 100%;
	}
	.absolute-visu.absolute-img.multiply-mode-color:hover img.composition_element.img-reponsive, .ndkcfLoaded #image-block .absolute-visu:hover svg {
		transform: translate(10px, 0px);
	}
	/* TUBE MESSAGE */
	.product-id-category-16 [data-field="78"] ul.fontSelectUl, .product-id-category-16 [data-field="78"] ul.fontColorSelectUl, .product-id-category-16 [data-field="78"] label.toggler, .product-id-category-16 [data-field="79"] ul.fontSelectUl, .product-id-category-16 [data-field="79"] ul.fontColorSelectUl, .product-id-category-16 [data-field="79"] label.toggler, .product-id-category-16 [data-field="80"] ul.fontSelectUl, .product-id-category-16 [data-field="80"] ul.fontColorSelectUl, .product-id-category-16 [data-field="80"] label.toggler, .product-id-category-16 [data-field="81"] ul.fontSelectUl, .product-id-category-16 [data-field="81"] ul.fontColorSelectUl, .product-id-category-16 [data-field="81"] label.toggler, .product-id-category-16 [data-field="82"] ul.fontSelectUl, .product-id-category-16 [data-field="82"] ul.fontColorSelectUl, .product-id-category-16 [data-field="82"] label.toggler {
		display: none;
	}
	.ndkcsfields-block .form-group[data-field="77"], .ndkcsfields-block .form-group[data-field="78"], .ndkcsfields-block .form-group[data-field="79"], .ndkcsfields-block .form-group[data-field="80"], .ndkcsfields-block .form-group[data-field="81"] {
		border: none;
	}
	.ndkcsfields-block .form-group[data-field="77"] div.fontSelect {
		display: flex;
		flex-wrap: wrap-reverse;
	}
/* FOOTER */
#footer .h3.hidden-sm-down {
    font-family: 'pluto';
}
.footer-wrapper {
    background-color: #fff;
    padding: 0px 360px;
    clear: both;
    border-top: none;
}
/* QUICKVIEW */
.quickview .modal-dialog {
    max-width: 60%;
	max-height: 90%;
}
.quickview .modal-body, .quickview .modal-content {
    min-height: 1px;
	height: auto;
}
.quickview .col-md-6.col-sm-6.hidden-sm-down.quickview-container, .quickview .modal-body .col-md-6.col-sm-6.quickview-excerpt {
    width: 50%;
}
.col-md-6.col-sm-6.quickview-excerpt {
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
}
.quickview .modal-body .quickview-container .images-container {
    display: flex;
    flex-wrap: nowrap;
}
.quickview .quickview-excerpt .h1 {
    width: 100%;
}
.quickview .info_perso {
	display: none;
}
.quickview .modal-body .mask {
    height: 100%;
    margin-left: 0px;
    float: left;
    width: 20%;
	flex-basis: 20%;
    margin-top: 0px;
}
.quickview .product-cover {
    width: 100%;
}
.quickview .modal-body ul.product-images.js-qv-product-images {
    display: flex;
    flex-wrap: wrap;
}
.quickview .quickview-container .product-images > li.thumb-container {
    width: auto;
	margin: 0;
}
.quickview  .modal-body .col-md-6 p {
    text-transform: none;
    font-weight: 400;
	font-family: 'Muli', sans-serif;
	margin: 0 !important;
}
.quickview  .modal-body .product-actions {
    margin-top: 20px;
}
.quickview .images-container .product-images > li.thumb-container > .thumb {
    margin: 0;
}
.quickview .modal-footer {
    margin-top: 20px;
}
/* 
==========
RESPONSIVE
==========
*/
@media all and (min-width:320px) and (max-width:479px) {
	/*** MENU ***/
	#header .header-nav {
		background: transparent;
		z-index: 5;
		padding: 0;
	}
	#header .search-widget {
		width: 30px;
		position: relative;
		right: auto;
		margin-top: 0px;
		margin-right: 0px;
	}
	#_mobile_user_info .pst_userinfotitle {
		height: 40px;
		width: 40px;
		background-size: 23px;
	}
	#_mobile_user_info .pst_userinfotitle {
		height: 30px;
		width: 40px;
		background-size: 20px;
	}
	#_mobile_cart {
		margin: 0;
	}
	#header .header-nav #menu-icon {
		top: 7px;
	}
	#header .nav-inner {
		color: #d75c73;
	}
	.header-nav a {
		float: left;
	}
	#_mobile_user_info {
		margin: 2px 0 0 0;
		position: relative;
		z-index: 99;
	}
	.search_button {
		background-size: 20px;
	}
	#header .blockcart .cart-icon {
		background-image: url(../img/themeimage/shopping-bag.svg);
		display: inline-block;
		vertical-align: top;
		background-size: 20px;
		margin-right: 0px;
	}
	#mobile_top_menu_wrapper {
		border: none;
		box-shadow: none;
		-moz-box-shadow: none;
		-webkit-box-shadow: none;
	}
	#header .user-info, .language-currency-block-inner {
		top: 40px;
		left: -160px;
	}
	#header .header-nav .user-info a {
		color: #303030;
	}
	.search_button:hover {
		background-size: 20px;
	}
	.search_button.active:hover {
		background-size: 17px;
	}
	#header .header-nav .top-logo {
		top: 6px;
		width: 180px;
	}
	ul.top-menu {
		flex-wrap: wrap;
	}
	.top-menu .sub-menu ul[data-depth="1"] > li {
		width: 100%;
	}
	.top-menu li {
		width: 100%;
	}
	#header .sub-menu li a.dropdown-item {
		text-align: left;
	}
	.dropdown-submenu span.float-xs-right.hidden-lg-up {
		display: none;
	}
	/*** FIN MENU ***/
	/*** HOME ***/
	.caption-description p {
		margin-top: 0%;
	}
	.flexslider {
		margin: 0 0 30px 0!important;
	}
	ul.slides {
		height: 300px;
	}
	li.slide {
		height: 100%;
	}
	.flexslider .slides img {
		height: 100%;
		width: auto;
	}
	.flexslider .caption-description {
		top: 46%;
	}
	.caption-description .slide-title {
		font-size: 25px;
	}
	.caption-description hr {
		margin: 15px auto;
	}
	.flexslider .caption-description .slide-subtitle {
		font-size: 18px;
		margin-bottom: 5px !important;
	}
	.caption-description a {
		font-size: 14px;
	}
	.font-weight-light {
		font-size: 35px;
	}
	.products-section-title {
		font-size: 35px;
	}
	.font-weight-light {
		font-weight: 200;
		float: none;
		width: 100%;
		text-align: left;
		font-family: 'Muli', sans-serif;
		margin-bottom: -10px;
		font-style: italic;
		font-size: 50px;
	}
	#blockaboutus .container::before {
		display: none;
	}
	#blockaboutus .aboutus-text1 {
		font-size: 17px;
		margin-top: 30px;
	}
	#blockaboutus .title-wrapper {
		margin-top: 20px!important;
	}
	#blockaboutus .aboutus-text2 {
		font-size: 13px;
		line-height: 25px;
	}
	#blockaboutus .aboutus-text2 {
		margin-bottom: 90px;
	}
	#blockaboutus .title-wrapper {
		padding-left: 0px;
	}
	#blockaboutus {
		padding: 0px 0 0!important;
	}
	.aboutUsLinks h3:nth-child(2)::before {
		width: 55px;
	}
	.aboutUsLinks h3:nth-child(2):hover::before {
		transform: scale(0.9);
	}
	.aboutUsLinks h3:nth-child(3)::before {
		width: 60px;
	}
	.aboutUsLinks h3:nth-child(3):hover::before {
		transform: scale(0.9);
	}
	.aboutUsLinks h3:nth-child(4)::before {
		width: 60px;
		left: -8px;
	}
	.aboutUsLinks h3:nth-child(4):hover::before {
		transform: scale(0.9);
	}
	#pst_categorycmsblock .container::before {
		display: none;
	}
	div#pst_categorycmsblock {
		margin-bottom: 0px;
	}
	.title-block-cms {
		font-size: 30px;
	}
	.effet-hover {
		margin-top: 14%;
	}
	.subtitle-block-cms {
		font-size: 16px;
		margin-top: 15px;
		margin-bottom: 20px;
	}
	.products-section-title {
		font-size: 25px;
		width: 270px;
		margin-bottom: 20px;
	}
	.font-weight-light {
		font-size: 25px;
		width: auto;
		margin-right: 10px;
		margin-left: 0px !important;
	}
	.featured-products .products-section-title {
		width: 100%;
		margin-left: 0px;
		margin-top: 60px;
		text-align: center;
	}
	.box-product {
		padding: 80px 0 0px;
	}
	#index .blog-item .blog-content-wrap {
		padding: 60px 30px!important;
	}
	#blockaboutus span.font-weight-light {
		width: 100%;
	}
	.featured-products .col-lg-4 {
		width: 100%;
	}
	h3.title-blog {
		font-size: 25px;
		text-align: center;
	}
	.last-word-title {
		font-size: 25px;
	}
	.product-title a {
		font-size: 18px;
	}
	.products .product-price-and-shipping {
		font-size: 22px;
		padding-top: 10px;
	}
	.blog-shortinfo p {
		font-size: 13px;
		line-height: 25px;
	}
	#index .blog-home {
		padding-top: 0px!important;
	}
	#pst_serviceblock .pst-service-item {
		margin-bottom: 20px;
	}
	.pst-service-item:first-child span.pst-service-title:after {
		display: none;
	}
	.pst-service-item:first-child {
		border-bottom: 1px solid #000;
		padding-bottom: 20px;
		width: 80%;
    	margin: 0 auto;
	}
	.pst-service-item:nth-child(2n) span.pst-service-title:after {
		display: none;
	}
	.pst-service-item:nth-child(2n) {
		border-bottom: 1px solid #000;
		padding-bottom: 20px;
		width: 80%;
    	margin: 0 auto;
	}
	a.link-block-cms {
		font-size: 13px;
	}
	#index .blog-home:after {
		left: -40px;
	}
	#blockaboutus:after {
		right: -20px;
	}
	.blog-home .container::before {
		display: none;
	}
	.featured-products .container::before {
		display: none;
	}
	.blog-content-wrap.col-lg-6.col-md-6.col-sm-12 {
		position: relative;
		float: left;
	}
	.blog-image.text-xs-center.col-lg-6.col-md-6.col-sm-12 {
		width: 100%;
		position: relative;
		float: left;
	}
	.blog-home .customNavigation {
		bottom: 2px;
		height: 40px;
		width: 30%;
	}
	.container-img {
		width: 100%;
    	height: 250px;
	}
	#second-block-cms.container-img {
		margin-top: 0px;
	}
	#fourth-block-cms.container-img {
		margin-top: 0px;
	}
	#pst_categorycmsblock .container {
		margin-left: 0px;
		margin-right: 0px;
	}
	.container-background:hover .effet-hover {
		margin-top: 19%;
	}
	.featured-products .container::before {
		display: none;
	}
	.block-aboutus-image img {
		width: 100%;
	}
	.feature-products.box-product .container::before {
		display: none;
	}
	section.feature-products.box-product {
		margin-bottom: 0px;
		padding: 60px 0 0px;
	}
	.customNavigation {
		width: 80%;
		position: relative;
		height: auto;
		margin: 0 auto;
	}
	#pstfeature-carousel .owl-item {
		margin-top: 40px;
	}
	#pst_serviceblock {
		padding: 30px 0;
	}
	/*** FIN HOME ***/
	/*** CATALOG ***/
	#columns_inner {
		min-height: 400px;
		flex-direction: column-reverse !important;
		display: flex;
	}
	#pstleftbanner img {
		display: none;
	}
	.products-selection .total-products {
		width: 300px;
	}
	.text-sm-center h1.h1 {
		margin-top: 20px;
		margin-bottom: 20px;
		text-align: center;
		color: #bc5d71;
	}
	article.product-miniature.js-product-miniature {
		width: calc(100% / 1);
	}
	.product-container-banner {
		height: 360px !important;
	}
	/*** FIN CATALOG ***/
	/** PAGE PRODUIT **/
	#product .page-content .product-leftside {
		width: 90%;
	}
	.productpage_title {
		margin: 0px 0 10px;
	}
	.product-prices .tax-shipping-delivery-label {
		margin-left: 0px;
	}
	.ndkcfTitle {
		font-size: 18px;
	}
	.ndkcfLoaded .blockPrice {
		margin-bottom: 0px;
		margin-top: 10px;
		margin-left: 0px;
	}
	.page-product .row .col-md-6 {
		width: 100%;
	}
	.product-right-inner:after {
		display: none;
	}
	.product-right-inner .product-information::after {
		display: none;
	}
	#block-reassurance li {
		margin: 0px auto;
		width: 100%;
		float: none;
	}
	#block-reassurance span {
		width: 100%;
	}
	#block-reassurance img {
		margin-left: 35%;
	}
	.product-actions {
		margin-top: 0px;
	}
	.breadcrumb {
		width: 90%;
	}
	.product-accessories::before {
		display: none;
	}
	#productCommentsBlock::before {
		display: none;
	}
	#productCommentsBlock span.last-word {
		text-align: center;
	}
	h2.h1.products-section-title.text-uppercase {
		font-size: 25px;
		line-height: 30px;
	}
	h3.h1.products-section-title.text-uppercase {
		font-size: 25px;
		line-height: 30px;
	}
	.product-accessories span.last-word {
		text-align: center;
	}
	#product_comments_block_tab {
		margin: 0 auto;
		width: 90%;
	}
	#productCommentsBlock .tabs:before {
		display: none;
	}
	#productCommentsBlock .tabs:after {
		display: none;
	}
	.product-accessories .customNavigation .btn {
		top: -20px !important;
	}
	#content .product-leftside:before {
		display: none;
	}
	.product-variants > .product-variants-item select {
		margin-left: 0px;
		margin-top: 10px;
	}
	.product-tabcontent:before {
		display: none;
	}
	.comment.clearfix {
		width: 100%;
	}
	.comment.clearfix {
		padding: 0px 0px !important;
	}
	#product_comments_block_tab div.comment div.comment_author {
		width: 100%;
	}
	.star_content.clearfix {
		width: 50%;
		padding-left: 10px;
	}
	.comment.clearfix {
		width: 100%;
		padding: 20px 0px 0px !important;
		border-top: 1px dashed #ccc;
	}
	.comment.clearfix:first-child {
		border: none;
	}
	/** FIN PAGE PRODUIT **/
	/* QUICKVIEW */
	.quickview .col-md-6.col-sm-6.hidden-sm-down.quickview-container, .quickview .modal-body .col-md-6.col-sm-6.quickview-excerpt {
		width: 100%;
	}
	.quickview .modal-dialog {
		max-width: 100%;
	}
	/*** FOOTER ***/
	.footer-wrapper {
		padding: 10px 45px;
	}
	.col-md-12.col-lg-3.links.block.links {
		width: 100% !important;
	}
	#footer .title.hidden-md-up, #search_filters .facet .facet-title.hidden-md-up {
		display: none !important;
	}
	.footer-before .hidden-md-down {
		display: none !important;
	}
	.footer-before .links:first-child {
		margin-top: 0px;
	}
	.footer-before .links {
		margin-top: 30px;
	}
	footer #custom-text, #tmcmsblock {
		width: 100%;
		margin-top: 20px;
		text-align: center;
	}
	.block-social.col-lg-4.col-md-12.col-sm-12 {
		width: 100%;
		margin-left: 0px;
		margin-top: 0px;
		text-align: center;
	}
	.footer-before-inner {
		text-align: center;
	}
	/*** FIN FOOTER ***/
	.top_button {
		right: 10px;
	}
}
@media all and (min-width:480px) and (max-width:767px) {
	/*** MENU ***/
	#header .header-nav {
		background: transparent;
		z-index: 5;
		padding: 0;
	}
	#header .search-widget {
		width: 30px;
		position: relative;
		right: auto;
		margin-top: 0px;
		margin-right: 0px;
	}
	#_mobile_user_info .pst_userinfotitle {
		height: 40px;
		width: 40px;
		background-size: 23px;
	}
	#_mobile_user_info .pst_userinfotitle {
		height: 30px;
		width: 40px;
		background-size: 20px;
	}
	#_mobile_cart {
		margin: 0;
	}
	#header .header-nav #menu-icon {
		top: 7px;
	}
	#header .nav-inner {
		color: #d75c73;
	}
	.header-nav a {
		float: left;
	}
	#_mobile_user_info {
		margin: 2px 0 0 0;
		position: relative;
		z-index: 99;
	}
	.search_button {
		background-size: 20px;
	}
	#header .blockcart .cart-icon {
		background-image: url(../img/themeimage/shopping-bag.svg);
		display: inline-block;
		vertical-align: top;
		background-size: 20px;
		margin-right: 0px;
	}
	#mobile_top_menu_wrapper {
		border: none;
		box-shadow: none;
		-moz-box-shadow: none;
		-webkit-box-shadow: none;
	}
	#header .user-info, .language-currency-block-inner {
		top: 40px;
		left: -160px;
	}
	#header .header-nav .user-info a {
		color: #303030;
	}
	.search_button:hover {
		background-size: 20px;
	}
	.search_button.active:hover {
		background-size: 17px;
	}
	#header .header-nav .top-logo {
		top: 6px;
		width: 180px;
	}
	ul.top-menu {
		flex-wrap: wrap;
	}
	.top-menu .sub-menu ul[data-depth="1"] > li {
		width: 100%;
	}
	.top-menu li {
		width: 100%;
	}
	#header .sub-menu li a.dropdown-item {
		text-align: left;
	}
	.dropdown-submenu span.float-xs-right.hidden-lg-up {
		display: none;
	}
	/*** FIN MENU ***/
	/*** HOME ***/
	.caption-description p {
		margin-top: 2%;
	}
	.flexslider {
		margin: 0 0 40px 0!important;
	}
	ul.slides {
		height: 300px;
	}
	li.slide {
		height: 100%;
	}
	.flexslider .slides img {
		height: 100%;
		width: auto;
	}
	.flexslider .caption-description {
		top: 46%;
	}
	.caption-description .slide-title {
		font-size: 40px;
	}
	.caption-description hr {
		margin: 15px auto;
	}
	.flexslider .caption-description .slide-subtitle {
		font-size: 20px;
		margin-bottom: 5px !important;
	}
	.caption-description a {
		font-size: 15px;
	}
	.font-weight-light {
		font-size: 35px;
	}
	.products-section-title {
		font-size: 35px;
	}
	#blockaboutus .container::before {
		display: none;
	}
	#blockaboutus .aboutus-text1 {
		font-size: 17px;
		margin-top: 30px;
	}
	#blockaboutus .aboutus-text2 {
		font-size: 13px;
		line-height: 25px;
	}
	#blockaboutus .aboutus-text2 {
		margin-bottom: 90px;
	}
	#blockaboutus .title-wrapper {
		margin: 0 0 0px!important;
	}
	.block-aboutus-image img {
		width: 100%;
	}
	#blockaboutus {
		padding: 0px 0 0!important;
	}
	#pst_categorycmsblock .container::before {
		display: none;
	}
	.container-background:hover .effet-hover {
		margin-top: 80px;
	}
	.title-block-cms {
		font-size: 30px;
	}
	.effet-hover {
		margin-top: 50px;
	}
	.feature-products .products-section-title {
		font-size: 25px;
		margin-top: 0px;
		margin-bottom: 30px;
		width: 100px;
	}
	.featured-products .title-wrapper {
		padding-left: 0px;
		margin: 0px auto !important;
	}
	.products-section-title {
		font-size: 25px;
		margin-top: 0px;
		margin-bottom: 30px;
		width: 300px;
	}
	.subtitle-block-cms {
		margin-bottom: 20px;
	}
	.font-weight-light {
		font-size: 25px;
		width: 100%;
		float: left;
	}
	.featured-products .font-weight-light {
		margin: 0 auto;
    	text-align: center;
	}
	.featured-products .products-section-title {
		width: auto;
		margin: 50px auto 0px;
		text-align: center;
		display: block;
	}
	.featured-products .col-lg-4 {
		width: 49%;
	}
	h3.title-blog {
		font-size: 25px;
		width: 420px;
		margin: 0 auto;
    	float: none;
		text-align: center;
	}
	.last-word-title {
		font-size: 25px;
	}
	.product-title a {
		font-size: 18px;
	}
	.products .product-price-and-shipping {
		font-size: 22px;
		padding-top: 10px;
	}
	.blog-shortinfo p {
		font-size: 13px;
		line-height: 25px;
	}
	#index .blog-home {
		padding-top: 0px!important;
	}
	#pst_serviceblock .pst-service-item {
		margin: 20px auto !important;
    	float: none;
		position: relative;
    	display: block;
	}
	.pst-service-item:first-child span.pst-service-title:after {
		display: none;
	}
	.pst-service-item:first-child {
		border-bottom: 1px solid #000;
		padding-bottom: 20px;
		width: 80%;
    	margin: 0 auto;
	}
	.pst-service-item:nth-child(2n) span.pst-service-title:after {
		display: none;
	}
	.pst-service-item:nth-child(2n) {
		border-bottom: 1px solid #000;
		padding-bottom: 20px;
		width: 80%;
    	margin: 0 auto;
	}
	a.link-block-cms {
		font-size: 13px;
	}
	#index .blog-home:after {
		left: -40px;
	}
	#blockaboutus:after {
		right: -20px;
	}
	.blog-home .container::before {
		display: none;
	}
	#pst_categorycmsblock {
		margin-bottom: 0px!important;
	}
	.blog-home img.img-fluid {
		float: none;
		margin: 0 auto;
		margin-top: 30px;
	}
	.featured-products .container::before {
		display: none;
	}
	.featured-products.box-product {
		padding: 80px 0 0px;
	}
	.blog-content-wrap.col-lg-6.col-md-6.col-sm-12 {
		position: relative;
		float: none;
	}
	.blog-image.text-xs-center.col-lg-6.col-md-6.col-sm-12 {
		width: 100%;
		position: relative;
		float: left;
	}
	.blog-home .customNavigation {
		bottom: 2px;
		height: 40px;
		width: 30%;
	}
	.container-img {
		width: 100%;
    	height: 270px;
	}
	#second-block-cms.container-img {
		margin-top: 0px;
	}
	#fourth-block-cms.container-img {
		margin-top: 0px;
	}
	#pst_categorycmsblock .container {
		margin-left: 0px;
		margin-right: 0px;
	}
	#index .blog-item .blog-content-wrap {
		padding: 0px 30px!important;
		width: 100%;
		height: auto;
		display: block;
		float: none;
	}
	.feature-products.box-product .container::before {
		display: none;
	}
	.feature-products .title-wrapper {
		margin: 0 0 0px;
	}
	section.feature-products.box-product {
		padding: 0px 0 50px;
	}
	.customNavigation {
		width: 90%;
		position: relative;
		height: auto;
		margin: 0 auto;
	}
	#pstfeature-carousel .owl-item {
		margin-top: 40px;
	}
	#pst_serviceblock {
		padding: 30px 0;
	}
	h2.h1.products-section-title.text-uppercase {
		font-size: 25px;
	}
	h3.h1.products-section-title.text-uppercase {
		font-size: 25px;
	}
	.products .product_list li.product_item, .products .product_list li.item {
		padding-left: 5px;
		padding-right: 5px;
	}
	.homeblog-inner li.blog-post {
		padding: 0;
	}
	/*** FIN HOME ***/
	/*** CATALOG ***/
	#columns_inner {
		min-height: 400px;
		flex-direction: column-reverse !important;
		display: flex;
	}
	#pstleftbanner img {
		display: none;
	}
	.products-selection .total-products {
		width: 300px;
	}
	.col-md-4.sort-select {
		width: 50%;
	}
	.products-sort-order {
		width: 50%;
	}
	.text-sm-center h1.h1 {
		margin-top: 20px;
		margin-bottom: 20px;
		text-align: center;
		color: #bc5d71;
	}
	article.product-miniature.js-product-miniature {
		width: calc(100% / 2);
	}
	.product-container-banner {
		height: 300px !important;
		margin-top: 28px;
	}
	/*** FIN CATALOG ***/
	/** PAGE PRODUIT **/
	#product .page-content .product-leftside {
		width: 90%;
	}
	.page-product .row .col-md-6 {
		width: 100%;
	}
	.product-right-inner:after {
		display: none;
	}
	.product-right-inner .product-information::after {
		display: none;
	}
	.product-prices .tax-shipping-delivery-label {
		margin-left: 0px;
	}
	#block-reassurance span {
		width: 154px;
	}
	#block-reassurance img {
		margin-left: 44px;
	}
	.product-actions {
		margin-top: 0px;
	}
	.breadcrumb {
		width: 90%;
	}
	.product-accessories::before {
		display: none;
	}
	#productCommentsBlock::before {
		display: none;
	}
	#productCommentsBlock span.last-word {
		text-align: center;
	}
	h2.h1.products-section-title.text-uppercase {
		font-size: 25px;
	}
	h3.h1.products-section-title.text-uppercase {
		font-size: 25px;
	}
	.product-accessories span.last-word {
		text-align: center;
	}
	#product_comments_block_tab {
		margin: 0 auto;
		width: 90%;
	}
	#productCommentsBlock .tabs:before {
		display: none;
	}
	#productCommentsBlock .tabs:after {
		display: none;
	}
	.product-accessories .customNavigation .btn {
		top: -20px !important;
	}
	#content .product-leftside:before {
		display: none;
	}
	.product-variants > .product-variants-item select {
		margin-left: 0px;
		margin-top: 10px;
	}
	.product-tabcontent:before {
		display: none;
	}
	.comment.clearfix {
		width: 100%;
	}
	.comment.clearfix {
		padding: 0px 0px !important;
	}
	#product_comments_block_tab div.comment div.comment_author {
		width: 100%;
	}
	.star_content.clearfix {
		width: 50%;
		padding-left: 10px;
	}
	.comment.clearfix {
		width: 100%;
		padding: 20px 0px 0px !important;
		border-top: 1px dashed #ccc;
	}
	.comment.clearfix:first-child {
		border: none;
	}
	/** FIN PAGE PRODUIT **/
	/* QUICKVIEW */
	.quickview .col-md-6.col-sm-6.hidden-sm-down.quickview-container, .quickview .modal-body .col-md-6.col-sm-6.quickview-excerpt {
		width: 100%;
	}
	.quickview .modal-dialog {
		max-width: 100%;
	}
	/*** FOOTER ***/
	.footer-wrapper {
		padding: 10px 45px;
	}
	.col-md-12.col-lg-3.links.block.links {
		width: 100% !important;
	}
	#footer .title.hidden-md-up, #search_filters .facet .facet-title.hidden-md-up {
		display: none !important;
	}
	.footer-before .hidden-md-down {
		display: block !important;
	}
	.footer-before .links:first-child {
		margin-top: 0px;
	}
	.footer-before .links {
		margin-top: 30px;
	}
	footer #custom-text, #tmcmsblock {
		width: 100%;
		margin-top: 20px;
		text-align: center;
	}
	.block-social.col-lg-4.col-md-12.col-sm-12 {
		width: 100%;
		margin-left: 0px;
		margin-top: 0px;
		text-align: center;
	}
	.footer-before-inner {
		text-align: center;
	}
	/*** FIN FOOTER ***/
	.top_button {
		right: 10px;
	}
}
@media all and (min-width:768px) and (max-width:991px) {
	/*** MENU ***/
	#header .header-nav {
		background: transparent;
		z-index: 5;
		padding: 0;
	}
	#header .search-widget {
		width: 30px;
		position: relative;
		right: auto;
		margin-top: 0px;
		margin-right: 5px;
	}
	#_mobile_user_info .pst_userinfotitle {
		height: 40px;
		width: 40px;
		background-size: 23px;
	}
	#_mobile_user_info .pst_userinfotitle {
		height: 30px;
		width: 40px;
		background-size: 20px;
	}
	#header .header-nav #menu-icon {
		top: 7px;
	}
	#header .nav-inner {
		color: #d75c73;
	}
	#_mobile_user_info {
		margin: 2px 0 0 5px;
		position: relative;
		z-index: 99;
	}
	.search_button {
		background-size: 20px;
	}
	#header .blockcart .cart-icon {
		background-image: url(../img/themeimage/shopping-bag.svg);
		display: inline-block;
		vertical-align: top;
		background-size: 20px;
		margin-right: 0px;
	}
	#header .header-nav .top-logo {
		top: 5px;
		width: 180px;
	}
	#header .user-info, .language-currency-block-inner {
		top: 40px;
		left: -160px;
	}
	#header .header-nav .user-info a {
		color: #303030;
	}
	.search_button:hover {
		background-size: 20px;
	}
	.search_button.active:hover {
		background-size: 17px;
	}
	ul.top-menu {
		flex-wrap: wrap;
	}
	.top-menu .sub-menu ul[data-depth="1"] > li {
		width: 100%;
	}
	.top-menu li {
		width: 100%;
	}
	#header .sub-menu li a.dropdown-item {
		text-align: left;
	}
	.dropdown-submenu span.float-xs-right.hidden-lg-up {
		display: none;
	}
	/*** FIN MENU ***/
	/*** HOME ***/
	.caption-description p {
		margin-top: 2%;
	}
	.flexslider {
		margin: 0 0 40px 0!important;
	}
	ul.slides {
		height: 300px;
	}
	li.slide {
		height: 100%;
	}
	.flexslider .slides img {
		height: 100%;
		width: auto;
	}
	.flexslider .caption-description {
		top: 46%;
	}
	.caption-description .slide-title {
		font-size: 40px;
	}
	.caption-description hr {
		margin: 15px auto;
	}
	.flexslider .caption-description .slide-subtitle {
		font-size: 20px;
		margin-bottom: 5px !important;
	}
	.caption-description a {
		font-size: 15px;
	}
	.products-section-title {
		font-size: 35px;
	}
	#blockaboutus .container::before {
		display: none;
	}
	#blockaboutus .aboutus-text1 {
		font-size: 17px;
		margin-top: 30px;
	}
	#blockaboutus .title-wrapper {
		padding-left: 0px;
		float: none;
		margin: 0 auto!important;
	}
	#blockaboutus .aboutus-text2 {
		font-size: 13px;
		line-height: 25px;
	}
	#blockaboutus .aboutus-text2 {
		margin-bottom: 90px;
	}
	#blockaboutus {
		padding: 0px 0 0!important;
	}
	#blockaboutus .col-md-6 {
		float: none;
		width: 90%;
		margin: 0 auto;
	}
	#pst_categorycmsblock .container::before {
		display: none;
	}
	.title-block-cms {
		font-size: 30px;
	}
	.effet-hover {
		margin-top: 50px;
	}
	#blockaboutus .products-section-title {
		margin-top: 10%;
    	margin-bottom: 10%;
	}
	.subtitle-block-cms {
		margin-bottom: 20px;
	}
	.featured-products .font-weight-light {
		margin-left: -60px;
		margin-bottom: 0px;
		font-size: 35px;
		width: 100%;
	}
	.featured-products .products-section-title {
		width: auto;
		margin-top: 50px;
	}
	#blockaboutus span.font-weight-light {
		width: 100%;
		font-size: 35px;
		margin-bottom: 0px;
		margin-left: -30px;
	}
	.featured-products .col-lg-4 {
		width: calc(100% / 4);
	}
	h3.title-blog {
		font-size: 35px;
    	text-align: center;
	}
	.last-word-title {
		font-size: 35px;
	}
	.product-title a {
		font-size: 18px;
	}
	.products .product-price-and-shipping {
		font-size: 22px;
		padding-top: 10px;
	}
	.blog-shortinfo p {
		font-size: 13px;
		line-height: 25px;
	}
	#index .blog-home {
		padding-top: 0px!important;
	}
	#pst_serviceblock .pst-service-item {
		margin: 20px auto !important;
    	float: none;
		position: relative;
    	display: block;
	}
	.pst-service-item:first-child span.pst-service-title:after {
		display: none;
	}
	.pst-service-item:first-child {
		border-bottom: 1px solid #000;
		padding-bottom: 20px;
		width: 80%;
    	margin: 0 auto;
	}
	.pst-service-item:nth-child(2n) span.pst-service-title:after {
		display: none;
	}
	.pst-service-item:nth-child(2n) {
		border-bottom: 1px solid #000;
		padding-bottom: 20px;
		width: 80%;
    	margin: 0 auto;
	}
	a.link-block-cms {
		font-size: 13px;
	}
	#index .blog-home:after {
		left: -40px;
	}
	#blockaboutus:after {
		right: -20px;
	}
	.blog-home .container::before {
		width: 80%;
		background-size: 91%;
		top: -51px;
		left: 3%;
		z-index: 999;
	}
	section.feature-products.box-product {
		padding: 0px 0 20px;
		margin-top: 140px;
	}
	#pst_categorycmsblock {
		margin-bottom: 20px!important;
	}
	.container-background:hover .effet-hover {
		margin-top: 19%;
	}
	.blog-home img.img-fluid {
		float: none;
    	margin: 20px auto 0px;
	}
	.featured-products .container::before {
		width: 260px;
		background-size: 92%;
		top: -10px;
		right: 0%;
	}
	.blog-content-wrap.col-lg-6.col-md-6.col-sm-12 {
		position: relative;
		float: none;
	}
	.blog-image.text-xs-center.col-lg-6.col-md-6.col-sm-12 {
		width: 100%;
		position: relative;
		float: left;
	}
	.blog-home .customNavigation {
		bottom: 2px;
		height: 40px;
		width: 30%;
	}
	.container-img {
		width: calc(100% / 2);
		height: 280px;
	}
	#second-block-cms.container-img {
		margin-top: 0px;
	}
	#fourth-block-cms.container-img {
		margin-top: 0px;
	}
	#pst_categorycmsblock .container {
		margin-left: 0px;
		margin-right: 0px;
	}
	#index .blog-item .blog-content-wrap {
		padding: 50px 30px!important;
		width: 90%;
		height: auto;
		display: block;
		float: none;
	}
	.feature-products.box-product .container::before {
		width: 28%;
		top: -80px;
		left: 5%;
		background-size: 110%;
	}
	.customNavigation {
		width: 90%;
		position: relative;
		height: auto;
		margin: 0 auto;
	}
	#pstfeature-carousel .owl-item {
		margin-top: 40px;
	}
	#pst_serviceblock {
		padding: 30px 0;
	}
	.feature-products .font-weight-light {
		font-size: 35px;
		margin-bottom: 0px;
	}
	/*** FIN HOME ***/
	/*** CATALOG ***/
	#columns_inner {
		min-height: 400px;
		flex-direction: column-reverse !important;
		display: flex;
	}
	#pstleftbanner img {
		display: none;
	}
	.products-selection .total-products {
		width: 300px;
	}
	.block-category.card.card-block.hidden-sm-down {
		margin-top: 40px;
		text-align: center;
	}
	
	/*** FIN CATALOG ***/
	/** PAGE PRODUIT **/
	.page-product .row .col-md-6:first-child {
		width: 80%;
		margin: 0 auto;
		float: none;
	}
	.page-product .row .col-md-6 {
		width: 100%;
	}
	.product-right-inner:after {
		top: -20%;
		right: -13%;
		height: 160px;
	}
	.product-right-inner .product-information::after {
		display: none;
	}
	#block-reassurance span {
		width: 190px;
	}
	#block-reassurance img {
		margin-left: 62px;
	}
	.product-actions {
		margin-top: 0px;
	}
	.breadcrumb {
		width: 90%;
	}
	.product-accessories::before {
		display: none;
	}
	#productCommentsBlock::before {
		display: none;
	}
	h2.h1.products-section-title.text-uppercase {
		font-size: 35px;
	}
	h3.h1.products-section-title.text-uppercase {
		font-size: 35px;
	}
	#product_comments_block_tab {
		margin: 0 auto;
		width: 90%;
	}
	#productCommentsBlock .tabs:before {
		left: -40%;
		height: 180px;
	}
	#productCommentsBlock .tabs:after {
		right: -16%;
		height: 200px;
	}
	.product-accessories .customNavigation .btn {
		top: -20px !important;
	}
	#product_comments_block_tab div.comment div.comment_author {
		width: 100%;
	}
	.star_content.clearfix {
		width: 50%;
		padding-left: 10px;
	}
	.comment.clearfix {
		width: calc(100% / 2);
		padding: 0px 15px 15px !important;
	}
	#productCommentsBlock .tabs > .pull-right {
		clear: both;
	}
	.product-prices .tax-shipping-delivery-label {
		margin-left: 0px;
	}
	/** FIN PAGE PRODUIT **/
	/* QUICKVIEW */
	.quickview .col-md-6.col-sm-6.hidden-sm-down.quickview-container, .quickview .modal-body .col-md-6.col-sm-6.quickview-excerpt {
		width: 100%;
	}
	.quickview .modal-dialog {
		max-width: 70%;
	}
	/*** FOOTER ***/
	.footer-wrapper {
		padding: 10px 45px;
	}
	.col-md-12.col-lg-3.links.block.links {
		width: 100% !important;
	}
	#footer .title.hidden-md-up, #search_filters .facet .facet-title.hidden-md-up {
		display: none !important;
	}
	.footer-before .hidden-md-down {
		display: block !important;
	}
	.footer-before .links:first-child {
		margin-top: 0px;
	}
	.footer-before .links {
		margin-top: 30px;
	}
	footer #custom-text, #tmcmsblock {
		width: 100%;
		margin-top: 20px;
		text-align: center;
	}
	.block-social.col-lg-4.col-md-12.col-sm-12 {
		width: 100%;
		margin-left: 0px;
		margin-top: 0px;
		text-align: center;
	}
	.footer-before-inner {
		text-align: center;
	}
	/*** FIN FOOTER ***/
		.top_button {
		right: 10px;
	}
}
@media all and (min-width:992px) and (max-width:1219px) {

	/*** MENU ***/
	#header .header-top {
    	padding: 0 0%;
	}
	#header .top-menu[data-depth="0"] > li > a {
		font-size: 13px!important;
	}
	#header .header_logo {
    	margin: 30px 0 0 20%;
	}
	#header #_desktop_cart {
		right: calc(20% + 0px);
	}
	#header #_desktop_user_info {
    	right: calc(20% + 50px);
	}
	#header .search-widget {
		right: calc(20% + 100px);
	}
	#header #top-menu li.mega {
		margin: 0 5px;
	}
	/* SUB MENU */
	.top-menu .mega .sub-menu, .top-menu .sub-menu {
		width: auto;
		min-width: 170px;
		left: auto;
		right: 0;
	}
	.top-menu[data-depth="1"] a.dropdown-item.dropdown-submenu {
		font-size: 12px !important;
	}
	/*** FIN MENU ***/
	/*** HOME ***/
	.caption-description p {
		margin-top: 2%;
	}
	.flexslider .caption-description {
		top: 46%;
	}
	.caption-description .slide-title {
		font-size: 40px;
	}
	.caption-description hr {
		margin: 15px auto;
	}
	.flexslider .caption-description .slide-subtitle {
		font-size: 20px;
	}
	.caption-description a {
		font-size: 15px;
	}
	.font-weight-light {
		font-size: 35px;
	}
	.products-section-title {
		font-size: 35px;
	}
	#blockaboutus .container::before {
		top: -220px;
		background-size: 200px;
	}
	#blockaboutus .aboutus-text1 {
		font-size: 13px;
	}
	#blockaboutus .aboutus-text2 {
		font-size: 13px;
		line-height: 25px;
	}
	#blockaboutus .aboutus-text2 {
		margin-bottom: 120px;
	}
	#blockaboutus .title-wrapper {
		padding-left: 30px;
	}
	#blockaboutus:after {
		width: 5%;
	}
	#pst_categorycmsblock .container::before {
		background-size: 45px;
	}
	.title-block-cms {
		font-size: 30px;
	}
	.effet-hover {
		margin-top: 47%;
	}
	.products-section-title {
		font-size: 35px;
	}
	.font-weight-light {
		font-size: 35px;
		width: 110%;
	}
	.featured-products .products-section-title {
		width: 90%;
	}
	#blockaboutus span.font-weight-light {
		width: 100%;
	}
	.featured-products .col-lg-4 {
		width: 25%;
	}
	h3.title-blog {
		font-size: 25px;
	}
	.last-word-title {
		font-size: 35px;
	}
	.product-title a {
		font-size: 18px;
	}
	.products .product-price-and-shipping {
		font-size: 22px;
		padding-top: 10px;
	}
	.blog-shortinfo p {
		font-size: 13px;
		line-height: 25px;
	}
	.pst-service-item:first-child span.pst-service-title:after {
		right: 3%;
	}
	.pst-service-item:nth-child(2n) span.pst-service-title:after {
		right: 0%;
	}
	a.link-block-cms {
		font-size: 13px;
	}
	#index .blog-home:after {
		left: -40px;
	}
	#blockaboutus:after {
		right: 0px;
	}
	h2.h1.products-section-title.text-uppercase {
		font-size: 35px;
	}
	h3.h1.products-section-title.text-uppercase {
		font-size: 35px;
	}
	.featured-products .font-weight-light {
		margin-left: 10%;
	}
	.featured-products .container::before {
		top: -100px;
		right: -4%;
		background-size: 280px;
	}
	/*** FIN HOME ***/
	/*** CATALOG ***/
	.block-categories .category-sub-menu li[data-depth="0"] > a {
		color: #303030;
		font-size: 12px;
	}
	/*** FIN CATALOG ***/
	/*** PAGE PRODUIT ***/
	.page-product .row {
		width: 90%;
		margin: 0 auto;
	}
	#content .product-leftside:before {
		top: 10%;
	}
	.product-right-inner .product-information::after {
		height: 225px;
		width: 126px;
		top: 20%;
		right: -40%;
    	background-size: 100px;
	}
	.product-right-inner:after {
		width: 50%;
		top: 30%;
		right: -60%;
	}
	#block-reassurance span {
		font-size: 18px;
		width: 140px;
	}
	#block-reassurance img {
		margin-left: 37px;
	}
	.product-accessories{
		margin: 80px 0 30px;
		position: relative;
	}
	.product-accessories::before {
		top: -100px;
		background-size: 200px;
	}
	#productCommentsBlock::before {
		top: -110px;
		left: 0px;
		background-size: 150px;
	}
	.product-variants > .product-variants-item select {
		margin-left: 0px;
		margin-top: 10px;
	}
	#productCommentsBlock .tabs:before {
		left: -43%;
		height: 150px;
	}
	#productCommentsBlock .tabs:after {
		right: -20%;
		height: 200px;
	}
	.star_content.clearfix {
		width: 70%;
		padding-left: 10px;
	}
	/*** FIN PAGE PRODUIT ***/
	/* QUICKVIEW */
	.quickview .modal-body .quickview-container .images-container {
		flex-wrap: wrap;
	}
	.quickview .modal-body ul.product-images.js-qv-product-images {
		flex-wrap: nowrap;
	}
	.quickview .modal-body .mask {
		width: 100%;
		flex-basis: 100%;
	}
	/*** FOOTER ***/
	.footer-wrapper {
		padding: 10px 45px;
	}
	/*** FIN FOOTER ***/
}
@media all and (min-width:1220px) and (max-width:1399px) {

	/*** MENU ***/
	#header .header-top {
    	padding: 0 0%;
	}
	#header .header_logo {
    	margin: 30px 0 0 17%;
	}
	#header #_desktop_cart {
		right: calc(20% + 0px);
	}
	#header #_desktop_user_info {
    	right: calc(20% + 50px);
	}
	#header .search-widget {
		right: calc(20% + 100px);
	}
	#header .top-menu[data-depth="0"] > li > a {
		font-size: 15px!important;
	}
	/* SUB MENU */
	.top-menu .mega .sub-menu, .top-menu .sub-menu {
		min-width: 160px;
		left: auto;
		right: -20px;
	}
	.top-menu[data-depth="1"] a.dropdown-item.dropdown-submenu {
		font-size: 13px !important;
	}
	/*** FIN MENU ***/
	/*** HOME ***/
	.caption-description p {
		margin-top: 2%;
	}
	.caption-description .slide-title {
		font-size: 40px;
	}
	.caption-description hr {
		margin: 15px auto;
	}
	.flexslider .caption-description .slide-subtitle {
		font-size: 20px;
	}
	.caption-description a {
		font-size: 15px;
	}
	.font-weight-light {
		font-size: 35px;
	}
	.products-section-title {
		font-size: 35px;
	}
	#blockaboutus .container::before {
		top: -220px;
		background-size: 200px;
	}
	#blockaboutus .aboutus-text1 {
		font-size: 13px;
	}
	#blockaboutus .aboutus-text2 {
		font-size: 13px;
		line-height: 25px;
	}
	#blockaboutus .aboutus-text2 {
		margin-bottom: 120px;
	}
	#blockaboutus .title-wrapper {
		padding-left: 30px;
	}
	#pst_categorycmsblock .container::before {
		background-size: 45px;
	}
	.title-block-cms {
		font-size: 30px;
	}
	.effet-hover {
		margin-top: 35%;
	}
	.products-section-title {
		font-size: 25px;
	}
	.font-weight-light {
		font-size: 25px;
		width: 110%;
	}
	.featured-products .products-section-title {
		width: 90%;
	}
	.featured-products .col-lg-4 {
		width: 25%;
	}
	h3.title-blog {
		font-size: 25px;
	}
	.last-word-title {
		font-size: 25px;
	}
	.product-title a {
		font-size: 18px;
	}
	.products .product-price-and-shipping {
		font-size: 22px;
		padding-top: 10px;
	}
	.blog-shortinfo p {
		font-size: 13px;
		line-height: 25px;
	}
	.pst-service-item:first-child span.pst-service-title:after {
		right: 3%;
	}
	.pst-service-item:nth-child(2n) span.pst-service-title:after {
		right: 0%;
	}
	#index .blog-home:after {
		left: -40px;
	}
	/*** FIN HOME ***/
	/** PAGE PRODUIT **/
	.product-right-inner .product-information::after {
		top: 0%;
    	right: -160px;;
    	background-size: 130px;
	}
	.product-prices .tax-shipping-delivery-label {
		margin-left: 0px;
	}
	.product-right-inner:after {
		right: -32%;
	}
	.product-variants > .product-variants-item select {
		margin-left: 0px;
		clear: both;
		margin-top: 10px;
	}
	.product-actions {
		margin-top: 0px;
	}
	.product-accessories::before {
		right: -13%;
	}
	#productCommentsBlock::before {
		top: -120px;
		left: -10%;
	}
	#productCommentsBlock .tabs:before {
		width: 13%;
		left: -15%;
		height: 130px;
	}
	#productCommentsBlock .tabs:after {
		right: -20%;
		height: 150px;
	}
	#block-reassurance li:last-child span {
		padding: 0 7%;
	}
	#block-reassurance span {
		width: 140px;
	}
	#block-reassurance img {
		margin-left: 37px;
	}
	.star_content.clearfix {
		width: 60%;
		padding-left: 10px;
	}
	/** FIN PAGE PRODUIT **/
	/* QUICKVIEW */
	.quickview .modal-body .quickview-container .images-container {
		flex-wrap: wrap;
	}
	.quickview .modal-body ul.product-images.js-qv-product-images {
		flex-wrap: nowrap;
	}
	.quickview .modal-body .mask {
		width: 100%;
		flex-basis: 100%;
	}
	/*** FOOTER ***/
	.footer-wrapper {
		padding: 10px 105px;
	}
	footer p, ul#block-contact_list {
		font-size: 13px;
	}
	#footer .block_content li a {
		font-size: 13px;
	}
	/*** FIN FOOTER ***/
}
@media all and (min-width:1400px) and (max-width:1710px) {

	/*** MENU ***/
	#header .header-top {
    	padding: 0 4%;
	}
	#header .header_logo {
    	margin: 30px 0 0 17%;
	}
	#header #_desktop_cart {
		right: calc(17% + 60px);
	}
	#header #_desktop_user_info {
		right: calc(17% + 110px);
	}
	#header .search-widget {
		right: calc(17% + 160px);
	}
	/* SUBMENU */
	.top-menu .mega .sub-menu, .top-menu .sub-menu {
		min-width: 140px;
		left: -20px;
	}
	/*** HOME ***/
	.flexslider .caption-description {
		top: 48%;
	}
	.caption-description p {
		margin-top: 2.5%;
	}
	/*** FIN HOME ***/
	/*** PAGE PRODUIT ***/
	.page-product .row {
		width: 90%;
		margin: 0 auto;
	}
	.product-right-inner:after {
		width: 50%;
		right: -76%;
	}
	.product-right-inner .product-information::after {
		top: 0%;
		right: -40%;
	}
	.product-actions {
		margin-top: 0px;
	}
	#productCommentsBlock .tabs:before {
		left: -46%;
	}
	#productCommentsBlock .tabs:after {
		right: -30%;
		width: 30%;
	}
	#content .product-leftside:before {
		left: -70%;
	}
	.star_content.clearfix {
		width: 70%;
		padding-left: 10px;
	}
	/*** FIN PAGE PRODUIT ***/
	/*** FOOTER ***/
	.footer-wrapper {
		padding: 57px 155px;
	}
	/*** FIN FOOTER ***/
}
@media all and (min-width:1711px) and (max-width:1750px) {
	/* SUBMENU */
	.top-menu .mega .sub-menu, .top-menu .sub-menu {
		min-width: 250px;
	}
	/*** PAGE PRODUIT ***/
	.star_content.clearfix {
		width: 70%;
		padding-left: 10px;
	}
}/* ---------------------------------------------------------------
   Ma dragée — menu principal sur deux lignes
   Ajouté le 2026-08-20.

   Prolonge la charte validée : ni couleur, ni police, ni casse ne
   changent, seul le rythme des intitulés. La coupure elle-même est
   posée par themes/vitrafurniture/modules/ps_mainmenu/ps_mainmenu.tpl,
   qui casse au dernier espace du libellé.
   --------------------------------------------------------------- */

@media (min-width: 992px) {

  /* Colonne étroite et centrée. Le trait de survol
     (subtrait-pink.svg) est déjà centré : même axe, aucun décalage. */
  #header .top-menu[data-depth="0"] > li {
    text-align: center;
  }

  /* Hauteur figée sur deux lignes pour que « Kits », seul intitulé
     sans espace où couper, s'aligne sur ses voisins au lieu de
     flotter au milieu de la barre.
     39px + 2 × 7px = 53px, contre 54px sur une ligne : le bandeau
     validé garde sa hauteur. */
  #header .top-menu[data-depth="0"] > li > a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 39px;
    /* Corrigé le 25/08/2026 : le padding était de 7px en haut comme
       en bas, or le trait de survol de theme.css se pose à 9px du bas
       du lien — il tombait donc SUR la deuxième ligne du libellé et la
       barrait. On dégage la place du trait sous le texte en gardant la
       hauteur du bandeau : 6 + 4 + 39 + 14 = 63px, comme avant. */
    margin-top: 6px;
    padding-top: 4px !important;
    padding-bottom: 14px !important;
  }

  /* Le trait se cale dans le padding bas, sous le texte. */
  #header .top-menu[data-depth="0"] > li:hover > a:before {
    bottom: 4px;
  }

  #header .top-menu[data-depth="0"] > li > a .menu-label {
    display: block;
    line-height: 1.15;
    text-wrap: balance;
    hyphens: none;
  }

  /* Sous-menus, corrigés le 25/08/2026.

     Le thème les posait à `top: 65px` et les calait horizontalement
     avec des `left: -20px` / `right: -20px` écrits en dur, différents
     à chaque palier de largeur d'écran. Ces valeurs avaient été
     réglées à la main pour les anciens intitulés sur une ligne :
     depuis le passage sur deux lignes, le tiroir ne tombait plus sous
     son entrée, et les 2px de vide entre les deux faisaient
     disparaître le menu quand la souris descendait vers lui.

     `top: 100%` colle le tiroir au bas de son entrée quelle que soit
     la hauteur du bandeau, et le centrage le suit quelle que soit sa
     largeur. Le tiroir du menu « ... » reste calé à droite. */
  #header #top-menu > li:not(.more_menu) > .sub-menu {
    top: 100% !important;
    left: 50% !important;
    right: auto !important;
    transform: translate(-50%, 20px);
    -webkit-transform: translate(-50%, 20px);
  }

  /* Le sélecteur doit reprendre les DEUX identifiants de la règle
     ci-dessus (#header et #top-menu), sinon l'état de repos, plus
     spécifique, l'emporte au survol : le tiroir reste 20px plus bas
     et la souris ne peut plus l'atteindre. */
  #header #top-menu > li:not(.more_menu):hover > .sub-menu {
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
  }
}

/* Le tiroir mobile est un clone du menu desktop. La coupure n'y a
   aucun sens : les items y sont déjà pleine largeur, empilés. */
#mobile_top_menu_wrapper .top-menu br.menu-break {
  display: none;
}

/* Les liens du menu n'avaient aucun anneau de focus dessiné : le
   navigateur en posait un par défaut, étranger à la charte. Repris
   sur le rose de survol du thème. */
#header .top-menu[data-depth="0"] > li > a:focus-visible {
  outline: 2px solid #d65d72;
  outline-offset: 4px;
  border-radius: 2px;
}

/* ---------------------------------------------------------------
   Ma dragée — contraste du menu principal
   Ajouté le 2026-08-20.

   Les trois couleurs du menu échouaient au niveau AA du WCAG sur le
   fond blanc du header : 2,48:1 au repos, 3,71:1 au survol, 4,25:1
   pour « more_menu », là où du texte de cette taille demande 4,5:1.

   Correction minimale : teinte et saturation sont conservées à
   l'identique, seule la clarté descend jusqu'au seuil, avec une
   marge de sécurité. Le menu garde son taupe chaud et son rose de
   survol, il devient lisible.
   --------------------------------------------------------------- */

/* #b8a091 → 2,48:1   |   #8d6e5b → 4,65:1 */
#header .top-menu[data-depth="0"] > li > a {
  color: #8d6e5b !important;
}

/* #d65d72 → 3,71:1   |   #ce3f58 → 4,69:1 */
#header .top-menu[data-depth="0"] > li:hover > a {
  color: #ce3f58 !important;
}

/* #bc5d71 → 4,25:1   |   #b85469 → 4,66:1 */
#header .top-menu[data-depth="0"] > li#more_menu > a {
  color: #b85469 !important;
}

/* ---------------------------------------------------------------
   Ma dragée — accessibilité, suite de l'audit du 2026-08-20

   Même méthode que pour le menu : teinte et saturation intactes,
   seule la clarté descend jusqu'au seuil AA du WCAG. Aucune couleur
   de la charte n'est remplacée, elles sont rendues lisibles.
   --------------------------------------------------------------- */

/* Le texte courant du site était à 2,85:1. C'est la correction qui
   porte le plus loin : elle vaut pour toutes les pages, pas
   seulement la fiche produit.
   #999999 → 2,85:1   |   #747474 → 4,67:1 */
body {
  color: #747474;
}

/* Les liens héritaient du même gris. */
a {
  color: #747474;
}

/* Gris secondaire des légendes, champs désactivés et sous-menus.
   #acaaa6 → 2,32:1   |   #77746f → 4,65:1 */
caption,
.top-menu a:not([data-depth="0"]),
.input-group-addon,
.form-check.disabled .form-check-label {
  color: #77746f;
}

/* Taupe du pied de page, même famille que le menu.
   #b7a090 → 2,49:1   |   #8b6e5a → 4,69:1 */
.page-footer .account-link:first-child span,
.page-footer a:first-child,
#footer .h3.hidden-sm-down {
  color: #8b6e5a;
}

/* Blanc sur le rose de la pastille panier et du bandeau compte.
   fond #bc5d71 → 4,25:1   |   #b85469 → 4,66:1 */
#header .blockcart .cart-products-count,
.user-info .no-account {
  background: #b85469;
}

/* L'icône Facebook passait en noir sur le bleu de la marque :
   3,07:1. En blanc, elle est à 6,84:1. */
.facebook a:hover {
  color: #ffffff;
}

/* Le thème embarque animate.css et un carrousel : sans cette règle,
   rien ne respecte le réglage système « réduire les animations ».
   On neutralise le mouvement sans supprimer les changements d'état,
   qui restent une information. */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ---------------------------------------------------------------
   Ma dragée — deuxième passe de contraste (audit du 2026-08-20)
   --------------------------------------------------------------- */

/* Le bouton principal du thème — dont « Ajouter au panier » — posait
   du blanc sur le taupe #b8a091 : 2,5:1. Même famille, assombrie au
   seuil : blanc sur #8d6e5b → 4,65:1. */
.btn-primary,
.btn-primary:focus,
.btn-primary.focus,
.btn-primary:active,
.btn-primary.active,
.open > .btn-primary.dropdown-toggle {
  background: #8d6e5b;
  color: #ffffff;
}

/* Au survol, le thème repassait le texte des boutons en #191414 sur
   leur fond rose ou taupe : 3,9:1. Le blanc y tient 4,66:1. */
.btn:hover,
.btn:focus,
.btn-primary:hover,
.btn-secondary:hover,
.btn-secondary:focus,
.btn-tertiary:hover,
.btn-tertiary:focus,
.add .btn:hover,
.card-block .btn:hover,
button#submitNdkcsfields:hover,
button#submitNdkcsfields_deporte:hover,
button#submitNewMessage:hover {
  color: #ffffff;
}

/* Les gris #999999 restants, tous posés sur du blanc : menus
   déroulants, titres de produit, prix barrés, pied de page,
   disponibilité, infolettre. Le pied de page n'a pas de fond
   déclaré : il est blanc lui aussi. */
.dropdown-menu,
.product-title a,
.products .regular-price,
#search_filters .js-search-filters-clear-all,
#product-availability .product-available,
.block_newsletter .title,
.newsletter-desc,
#footer .copyright a,
#footer .links,
#footer .links.block.links,
#footer .block_content li a,
.block-contact .icon,
.payment-block .icon a {
  color: #747474;
}

/* Les textes d'aide des champs de saisie : #999999 → 2,85:1.
   Un indice de saisie illisible est un champ sans indice. */
::placeholder,
::-webkit-input-placeholder,
:-ms-input-placeholder,
::-moz-placeholder,
.search-widget form input[type="text"]::placeholder {
  color: #747474;
  opacity: 1;
}

/* ===============================================================
   Ma dragée — pages catégories (2026-08-20)

   Tout est cadré sur le listing (#products, #search_filters,
   .block-category) : la page d'accueil, validée, partage les mêmes
   classes de vignette et ne doit pas bouger.
   Palette et typographies inchangées — Pluto pour les titres, Muli
   pour le texte, rose #bc5d71, taupe #8d6e5b.
   =============================================================== */

/* --- En-tête de catégorie ------------------------------------- */

/* Le thème posait text-transform: capitalize sur les titres : en
   français il produisait « Dragées Amande », « Étuis Message ». Les
   intitulés sont saisis correctement en base, on les affiche tels quels. */
#main .category-title,
#subcategories .subcategory-name,
.block-category h1 {
  text-transform: none;
}

.block-category {
  margin-bottom: 2rem;
}

#main .category-title {
  font-size: 2rem;
  line-height: 1.15;
  margin: 0 0 0.75rem;
}

.category-description {
  max-width: 68ch;      /* au-delà, l'œil perd la ligne suivante */
  margin-bottom: 0;
}

.category-description p:last-child {
  margin-bottom: 0;
}

.block-category .category-cover {
  margin-top: 1.25rem;
}

.block-category .category-cover img {
  max-width: 100%;
  height: auto;
}

/* --- Sous-catégories ------------------------------------------ */

#subcategories {
  margin: 0 0 2.5rem;
}

#subcategories .subcategory-heading {
  font-family: 'Muli', sans-serif;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8d6e5b;
  margin: 0 0 0.875rem;
}

#subcategories .subcategories-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
}

/* Variante sans image : des libellés cliquables plutôt que des
   vignettes « pas de photo » toutes identiques. */
.subcategories--links .subcategory-link {
  display: inline-block;
  padding: 0.5rem 1rem;
  border: 1px solid #e4dcd6;
  border-radius: 999px;
  color: #6b6360;
  line-height: 1.4;
  transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
}

.subcategories--links .subcategory-link:hover,
.subcategories--links .subcategory-link:focus-visible {
  border-color: #8d6e5b;
  background-color: #faf7f5;
  color: #8d6e5b;
  text-decoration: none;
}

/* Variante avec image, active dès qu'une catégorie en reçoit une. */
.subcategories--tiles .subcategories-list {
  gap: 1.25rem;
}

.subcategories--tiles .subcategory-item {
  flex: 0 0 calc(50% - 0.625rem);
  max-width: calc(50% - 0.625rem);
}

.subcategories--tiles .subcategory-link {
  display: block;
  color: #4a4340;
}

.subcategories--tiles .subcategory-image {
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #faf7f5;
  margin-bottom: 0.5rem;
}

.subcategories--tiles .subcategory-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.subcategories--tiles .subcategory-name {
  display: block;
  font-weight: 600;
}

@media (min-width: 768px) {
  .subcategories--tiles .subcategory-item {
    flex-basis: calc(25% - 0.9375rem);
    max-width: calc(25% - 0.9375rem);
  }
}

/* --- Barre d'outils du listing -------------------------------- */

.products-selection {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1rem;
  margin-bottom: 1.75rem;
  border-bottom: 1px solid #eee6e1;
}

.products-selection__left,
.products-selection__right {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.products-selection__count {
  margin: 0;
  color: #6b6360;
}

/* Les deux icônes reprennent les images du thème ; seules les cibles
   changent, on est passé de <li><a href="#"> à de vrais boutons. */
.products-selection .display {
  display: flex;
  gap: 0.25rem;
}

.products-selection .display__btn {
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 3px;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center center;
  cursor: pointer;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.products-selection .display__btn:hover {
  border-color: #e4dcd6;
  background-color: #faf7f5;
}

.products-selection .display__btn[aria-pressed="true"] {
  border-color: #e4dcd6;
  background-color: #f5efeb;
  cursor: default;
}

.products-selection #grid { background-image: url(/img/grid.png); }
.products-selection #grid[aria-pressed="true"] { background-image: url(/img/grid-select.png); }
.products-selection #list { background-image: url(/img/list.png); }
.products-selection #list[aria-pressed="true"] { background-image: url(/img/list-select.png); }

.products-sort-order {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.products-sort-order .sort-by {
  white-space: nowrap;
  color: #6b6360;
}

.products-sort-order .select-title {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  min-height: 38px;
  padding: 0.25rem 0.5rem;
  border: 1px solid #e4dcd6;
  border-radius: 3px;
  background: #fff;
  color: #4a4340;
  cursor: pointer;
}

/* --- Grille de produits --------------------------------------- */

#products .product_list {
  list-style: none;
  display: grid;
  gap: 2rem 1.5rem;
  margin: 0;
  padding: 0;
}

#products .product_list.grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 992px) {
  #products .product_list.grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

#products .product_list.list {
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
}

#products .product_item {
  float: none;
  width: auto;
  padding: 0;
  margin: 0;
}

#products .product-miniature {
  display: flex;
  flex-direction: column;
  height: 100%;
}

#products .thumbnail-container {
  position: relative;
  overflow: hidden;
  background: #faf7f5;
}

#products .thumbnail-container .product-thumbnail {
  display: block;
  aspect-ratio: 1 / 1;
}

#products .thumbnail-container .product-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

#products .product-miniature:hover .product-thumbnail img {
  transform: scale(1.04);
}

#products .product-description {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  padding-top: 0.875rem;
  text-align: center;
}

/* Le nom n'est plus tronqué côté serveur : deux lignes au maximum,
   et toutes les vignettes gardent la même hauteur de bloc titre. */
#products .product-title {
  margin: 0;
  font-size: 1rem;
  line-height: 1.3;
  min-height: 2.6em;
  text-transform: none;
}

#products .product-title a {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #3f3a38;
  font-weight: 600;
}

#products .product-title a:hover,
#products .product-title a:focus-visible {
  color: #8d6e5b;
  text-decoration: none;
}

#products .product-price-and-shipping {
  margin: 0;
}

#products .price {
  font-size: 1.25rem;
  line-height: 1.2;
}

#products .regular-price {
  margin-left: 0.375rem;
  font-size: 0.875rem;
  text-decoration: line-through;
}

#products .product-detail {
  display: none;
}

#products .product-flags {
  position: absolute;
  top: 0.625rem;
  left: 0.625rem;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

#products .product-flags li {
  padding: 0.125rem 0.5rem;
  border-radius: 2px;
  background: #8d6e5b;
  color: #fff;
  font-size: 0.6875rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* --- Aperçu rapide -------------------------------------------- */

/* L'ancien déclencheur faisait 25 px, sans libellé, posé sur le lien de
   l'image : un clic sur deux ouvrait la fiche produit au lieu de
   l'aperçu. C'est maintenant un bouton de 44 px, au-dessus de l'image. */
#products .product-actions {
  position: absolute;
  top: auto;
  left: auto;
  right: 0.625rem;
  bottom: 0.625rem;
  z-index: 3;
  width: auto;
  margin: 0;
  opacity: 0;
  transform: translateY(0.5rem);
  transition: opacity 0.25s ease, transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

#products .product-miniature:hover .product-actions,
#products .product-miniature:focus-within .product-actions {
  opacity: 1;
  transform: translateY(0);
}

#products .quick-view {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  min-height: 44px;
  padding: 0 1rem;
  border: 0;
  border-radius: 999px;
  background: #ffffff;
  box-shadow: 0 2px 10px rgba(61, 44, 36, 0.18);
  color: #8d6e5b;
  font-family: 'Muli', sans-serif;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  white-space: nowrap;
}

#products .quick-view::before {
  content: '';
  width: 18px;
  height: 18px;
  background: url(../img/themeimage/pst-product-zoom.svg) no-repeat center / contain;
}

#products .quick-view:hover,
#products .quick-view:focus-visible {
  background: #8d6e5b;
  color: #ffffff;
}

#products .quick-view:hover::before,
#products .quick-view:focus-visible::before {
  background-image: url(../img/themeimage/pst-product-zoom-hover.svg);
}

/* Sans survol — tactile — le bouton doit rester visible en permanence. */
@media (hover: none) {
  #products .product-actions {
    opacity: 1;
    transform: none;
  }
}

/* --- Affichage en liste --------------------------------------- */

#products .product_list.list .product-miniature {
  flex-direction: row;
  align-items: flex-start;
  gap: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #f1eae5;
}

#products .product_list.list .thumbnail-container {
  flex: 0 0 200px;
  max-width: 200px;
}

#products .product_list.list .product-description {
  flex: 1 1 auto;
  padding-top: 0;
  text-align: left;
}

#products .product_list.list .product-title {
  min-height: 0;
  font-size: 1.125rem;
}

#products .product_list.list .product-title a {
  -webkit-line-clamp: 3;
}

#products .product_list.list .product-detail {
  display: block;
  max-width: 68ch;
  color: #6b6360;
}

@media (max-width: 575px) {
  #products .product_list.list .thumbnail-container {
    flex-basis: 120px;
    max-width: 120px;
  }
}

/* --- Catégorie sans produit ----------------------------------- */

.product-list-empty {
  padding: 3rem 1.5rem;
  border: 1px dashed #e4dcd6;
  border-radius: 4px;
  background: #fdfbfa;
  text-align: center;
}

.product-list-empty__title {
  font-family: 'Pluto', sans-serif;
  font-size: 1.25rem;
  color: #4a4340;
  margin-bottom: 0.5rem;
}

.product-list-empty__hint {
  max-width: 46ch;
  margin: 0 auto 1.5rem;
  color: #6b6360;
}

.product-list-empty__cta {
  display: inline-block;
}

/* --- Colonne de filtres --------------------------------------- */

.search-filters {
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #eee6e1;
}

.search-filters__title {
  font-family: 'Muli', sans-serif;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8d6e5b;
  margin: 0 0 1rem;
}

/* Le bouton de repli ne sert que sur petit écran, où la colonne de
   gauche passe au-dessus des produits. */
.search-filters__toggle {
  display: none;
  width: 100%;
  min-height: 44px;
  padding: 0 1rem;
  border: 1px solid #8d6e5b;
  border-radius: 3px;
  background: #fff;
  color: #8d6e5b;
  font-family: 'Muli', sans-serif;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
}

.clear-all-wrapper {
  margin-bottom: 1rem;
}

.js-search-filters-clear-all {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  min-height: 38px;
  padding: 0 0.75rem;
  border: 1px solid #e4dcd6;
  border-radius: 3px;
  background: #fff;
  color: #8d6e5b;
  font-size: 0.8125rem;
  cursor: pointer;
}

.js-search-filters-clear-all:hover,
.js-search-filters-clear-all:focus-visible {
  border-color: #8d6e5b;
  background: #faf7f5;
  color: #8d6e5b;
}

.js-search-filters-clear-all .material-icons {
  font-size: 16px;
}

#search_filters .facet {
  padding: 0;
  margin: 0 0 1.25rem;
  border: 0;
}

#search_filters .facet-title {
  margin: 0;
}

#search_filters .facet-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  width: 100%;
  min-height: 40px;
  padding: 0;
  border: 0;
  background: none;
  color: #4a4340;
  font-family: 'Muli', sans-serif;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-align: left;
  text-transform: uppercase;
  cursor: pointer;
}

.facet-toggle__icon {
  position: relative;
  flex: 0 0 10px;
  width: 10px;
  height: 10px;
}

/* Un chevron dessiné en CSS : deux bords qui pivotent, pas de police
   d'icône à charger pour huit filtres. */
.facet-toggle__icon::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  width: 8px;
  height: 8px;
  border-right: 1.5px solid #8d6e5b;
  border-bottom: 1.5px solid #8d6e5b;
  transform: rotate(45deg);
  transform-origin: center;
  transition: transform 0.25s ease;
}

.facet-toggle[aria-expanded="false"] .facet-toggle__icon::before {
  transform: rotate(-45deg);
}

#search_filters .facet-list {
  list-style: none;
  margin: 0.375rem 0 0;
  padding: 0;
  max-height: 15rem;
  overflow-y: auto;
}

#search_filters .facet-list.is-collapsed {
  display: none;
}

#search_filters .facet-list li {
  margin: 0;
}

/* Les cases à cocher natives flottaient au-dessus de leur libellé.
   Une grille de deux colonnes les aligne, quel que soit le nombre de
   lignes du libellé. */
#search_filters .facet-label {
  display: grid;
  grid-template-columns: 18px 1fr;
  align-items: start;
  gap: 0.625rem;
  margin: 0;
  padding: 0.375rem 0;
  cursor: pointer;
  font-weight: 400;
}

#search_filters .facet-label .custom-checkbox,
#search_filters .facet-label .custom-radio {
  position: relative;
  display: block;
  width: 18px;
  height: 18px;
  margin: 0;
  float: none;
}

#search_filters .facet-label input[type="checkbox"],
#search_filters .facet-label input[type="radio"] {
  position: absolute;
  inset: 0;
  width: 18px;
  height: 18px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

#search_filters .custom-checkbox > span,
#search_filters .custom-radio > span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border: 1px solid #cfc3ba;
  border-radius: 2px;
  background: #fff;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

#search_filters .custom-radio > span {
  border-radius: 50%;
}

#search_filters .custom-checkbox .checkbox-checked {
  font-size: 15px;
  color: #fff;
  opacity: 0;
  transition: opacity 0.15s ease;
}

#search_filters input:checked + span,
#search_filters input:checked + .color {
  border-color: #8d6e5b;
  background: #8d6e5b;
}

#search_filters input:checked + span .checkbox-checked {
  opacity: 1;
}

#search_filters .facet-label:hover .custom-checkbox > span,
#search_filters .facet-label:hover .custom-radio > span {
  border-color: #8d6e5b;
}

/* Pastilles de couleur : le contour reste visible sur les teintes
   claires (blanc, ivoire), qui autrement disparaissaient sur le fond. */
#search_filters .custom-checkbox .color {
  display: block;
  width: 18px;
  height: 18px;
  border: 1px solid #cfc3ba;
  border-radius: 2px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6);
}

#search_filters .search-link {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
  color: #6b6360;
  line-height: 1.35;
}

#search_filters .facet-label.active .search-link,
#search_filters .search-link:hover,
#search_filters .search-link:focus-visible {
  color: #8d6e5b;
  text-decoration: none;
}

#search_filters .facet-label.active .search-link {
  font-weight: 700;
}

#search_filters .magnitude {
  flex: 0 0 auto;
  color: #8f8783;
  font-size: 0.75rem;
  font-variant-numeric: tabular-nums;
}

/* --- Curseur de prix ------------------------------------------ */

#search_filters .faceted-slider {
  overflow: visible;
  padding: 0.25rem 0.25rem 0.5rem;
}

.facet-slider__label {
  margin: 0 0 0.875rem;
  color: #4a4340;
  font-variant-numeric: tabular-nums;
}

.facet-slider__track.ui-slider {
  position: relative;
  height: 4px;
  margin: 0 9px 0.5rem;
  border: 0;
  border-radius: 999px;
  background: #eee6e1;
}

.facet-slider__track .ui-slider-range {
  position: absolute;
  height: 100%;
  border-radius: 999px;
  background: #8d6e5b;
}

.facet-slider__track .ui-slider-handle {
  position: absolute;
  top: 50%;
  width: 18px;
  height: 18px;
  margin-left: -9px;
  border: 2px solid #8d6e5b;
  border-radius: 50%;
  background: #fff;
  transform: translateY(-50%);
  cursor: grab;
  outline-offset: 2px;
}

.facet-slider__track .ui-slider-handle:active {
  cursor: grabbing;
}

/* Voile d'attente pendant le rechargement ajax de la liste. */
.faceted-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(255, 255, 255, 0.6);
}

/* --- Petit écran ---------------------------------------------- */

@media (max-width: 991px) {
  .search-filters__title {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .search-filters__toggle {
    display: block;
  }

  .search-filters__body {
    display: none;
    padding-top: 1.25rem;
  }

  .search-filters.is-open .search-filters__body {
    display: block;
  }

  #search_filters .facet-list {
    max-height: none;
  }
}

/* --- Points d'appui communs ----------------------------------- */

/* Le thème n'avait aucun anneau de focus : au clavier, on ne savait
   jamais où l'on était dans la liste des filtres. */
#products a:focus-visible,
#products button:focus-visible,
#search_filters a:focus-visible,
#search_filters button:focus-visible,
#search_filters input:focus-visible + span,
#subcategories a:focus-visible,
.products-selection button:focus-visible {
  outline: 2px solid #8d6e5b;
  outline-offset: 2px;
}

#products ::selection,
#search_filters ::selection {
  background: #f3e3e6;
  color: #3f3a38;
}

/* --- Reprises sur les règles du thème -------------------------- */

/* Le thème flotte et rend « inline-block » chaque vignette : dans une
   grille CSS, elle se réduisait alors à la largeur de son contenu et les
   photos tombaient à 83 px de large. */
#products .product_list .product-miniature {
  float: none;
  display: flex;
  width: 100%;
  max-width: none;
  margin: 0;
}

#products .thumbnail-container,
#products .thumbnail-container .product-thumbnail {
  width: 100%;
  max-width: none;
  float: none;
}

/* Le format natif des photos du catalogue est 278 × 350 : on le garde,
   aucune image n'est recadrée et toutes les vignettes s'alignent. */
#products .thumbnail-container .product-thumbnail {
  aspect-ratio: 4 / 5;
}

#products .thumbnail-container .product-thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

#products .price {
  color: #bc5d71;
}

#products .regular-price {
  color: #8f8783;
}

#products .product-description .highlighted-informations {
  position: static;
  width: auto;
  top: auto;
  left: auto;
  opacity: 1;
}

/* --- Reprises de détail --------------------------------------- */

/* En liste, la hauteur de la ligne était dictée par une photo au format
   4/5 : beaucoup de blanc pour un produit sans description. */
#products .product_list.list .thumbnail-container {
  flex-basis: 160px;
  max-width: 160px;
}

#products .product_list.list .thumbnail-container .product-thumbnail {
  aspect-ratio: 1 / 1;
}

#products .product_list.list .product-description {
  gap: 0.5rem;
}

/* La liste de valeurs longue (les couleurs) défile : sans repère visuel,
   la dernière ligne semblait coupée par accident. */
#search_filters .facet-list {
  scrollbar-width: thin;
  scrollbar-color: #d8ccc4 transparent;
}

#search_filters .facet-list::-webkit-scrollbar {
  width: 6px;
}

#search_filters .facet-list::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: #d8ccc4;
}

#search_filters .facet-list::-webkit-scrollbar-track {
  background: transparent;
}

#search_filters .facet {
  position: relative;
}

/* La hauteur maximale tombe sur un nombre entier de lignes : une valeur
   coupée en deux se lit comme un défaut d'affichage, pas comme un
   défilement. La barre fine, elle, dit qu'il reste des valeurs. */
#search_filters .facet-list {
  max-height: 16.25rem;
}

/* --- Fenêtre d'aperçu rapide ---------------------------------- */

/* Les deux colonnes du thème ne tenaient pas dans la fenêtre modale :
   le texte retombait sous la photo et la moitié droite restait vide. */
.quickview .modal-dialog {
  max-width: 900px;
}

.quickview .modal-body > .row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 2rem;
  margin: 0;
}

.quickview .modal-body > .row > [class*="col-"] {
  flex: 1 1 0;
  min-width: 0;
  max-width: none;
  padding: 0;
}

.quickview .modal-body img {
  max-width: 100%;
  height: auto;
}

.quickview .modal-header {
  border-bottom: 0;
  padding-bottom: 0;
}

.quickview h2.h1 {
  font-size: 1.375rem;
  line-height: 1.25;
  text-transform: none;
  margin-bottom: 0.75rem;
}

.quickview #product-description-short {
  margin-bottom: 1.25rem;
  color: #6b6360;
}

.quickview-full-link {
  margin: 1.25rem 0 0;
}

.quickview-full-link a {
  color: #8d6e5b;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.quickview .modal-footer:empty {
  display: none;
}

@media (max-width: 767px) {
  .quickview .modal-body > .row > [class*="col-"] {
    flex-basis: 100%;
  }
}

/* --- Reprises de libellés ------------------------------------- */

/* Le thème met une capitale à chaque mot des boutons : « Tout Effacer ».
   En français, seule l'initiale de la phrase en prend une. */
.js-search-filters-clear-all,
.product-list-empty__cta,
#products .quick-view {
  text-transform: none;
}

#products .quick-view {
  text-transform: uppercase;
}

.clear-all-wrapper {
  display: flex;
}

.quickview .modal-body > .row > [class*="col-"] {
  text-align: left;
}

.quickview .quickview-container {
  align-self: center;
}

/* --- Contrastes relevés sur la page catégorie ------------------ */

/* Le compteur à côté de chaque filtre était à 3,52:1. Même gris chaud,
   assombri au seuil AA. */
#search_filters .magnitude {
  color: #78716d;
}

/* Le prix perdait la graisse 900 du thème et tombait à 4,25:1 en 20 px
   régulier. Rose de la charte assombri au seuil, et graisse rendue. */
#products .price {
  color: #b85469;
  font-weight: 700;
}

/* La pagination reprenait le taupe clair #b8a091 : 2,48:1 sur blanc,
   et du blanc sur ce même taupe pour la page courante. */
.pagination .page-list a,
.pagination .page-list .spacer {
  color: #8d6e5b;
}

.pagination .page-list li.current a,
.pagination .page-list li.current {
  background: #8d6e5b;
  color: #ffffff;
}

.pagination .page-list a.disabled {
  color: #a3968e;
  pointer-events: none;
}

.pagination .page-list a:hover,
.pagination .page-list a:focus-visible {
  color: #ce3f58;
}

.pagination .page-list li.current a:hover {
  color: #ffffff;
}

.pagination .page-list a:focus-visible {
  outline: 2px solid #8d6e5b;
  outline-offset: 2px;
}

/* Repère de texte réservé aux lecteurs d'écran (« Page 2 »). */
#products .sr-only,
.products-selection .sr-only,
.pagination .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* --- Seconde photo au survol ---------------------------------- */

/* Le thème ajoute une deuxième image dans le lien de la vignette. Elle se
   superpose à la première et se révèle au survol ; sans position absolue
   elle s'empilait sous la photo en affichage liste. */
#products .thumbnail-container .product-thumbnail {
  position: relative;
  overflow: hidden;
}

#products .thumbnail-container .secondary-image {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.4s ease;
}

#products .product-miniature:hover .secondary-image {
  opacity: 1;
}

/* En affichage liste, le thème centrait les paragraphes de la description :
   sur une colonne large, un texte centré se lit mal. */
#products .product_list.list .product-detail,
#products .product_list.list .product-detail * {
  text-align: left;
}

#products .product_list.list .product-detail p:last-child {
  margin-bottom: 0;
}

/* --- Cases à cocher rognées en haut de liste ------------------- */

/* ps_facetedsearch remonte ses cases de 7 px dans sa propre feuille
   (`views/dist/front.css`) : un calage optique prévu pour son gabarit
   d'origine, où la case est en ligne avec le libellé. Ici la case est
   posée dans une grille, elle n'en a pas besoin — et comme la liste
   défile (`overflow-y: auto`), ce qui dépassait par le haut était rogné :
   la première case de chaque filtre perdait sa bordure supérieure et
   paraissait ouverte. Sélecteur aligné sur celui du module, sinon il gagne. */
#search_filters .facet .facet-label .custom-checkbox,
#search_filters .facet .facet-label .custom-radio {
  top: 0;
}

/* De l'air en haut et en bas de la liste défilante : l'anneau de focus des
   cases situées aux extrémités y était rogné de la même façon. */
#search_filters .facet-list {
  padding: 4px 0;
}

/* Personnalisation NDK : le module nomme son formulaire « clear », et le thème
   réduit toute classe .clear à une hauteur nulle. Le configurateur ne prenait
   donc aucune place dans la colonne, et la description venait se glisser dessous. */
#ndkcsfields-block .clear,
#ndkcsfields.clear {
  height: auto;
}

/* Personnalisation NDK : l'aperçu suit le défilement. Le module pose un
   position:sticky sur la colonne image (réglage « float »), mais le thème met
   overflow:hidden sur <main>, ce qui l'annule. overflow:clip garde le rognage sans
   créer de conteneur de défilement. On colle l'image seule, dans une colonne étirée
   à la hauteur de la rangée : elle reste visible jusqu'au bouton panier. */
@media (min-width: 768px) {
  body.ndkCfMakeFloat main {
    overflow: clip;
  }
  body.ndkCfMakeFloat #main .row:has(> .pb-left-column) {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
  }
  body.ndkCfMakeFloat .pb-left-column {
    position: static;
    float: none;
  }
  body.ndkCfMakeFloat .pb-left-column #content,
  body.ndkCfMakeFloat .pb-left-column .product-leftside {
    height: 100%;
  }
  body.ndkCfMakeFloat .pb-left-column .ndkacf-images-container {
    position: sticky;
    top: 16px;
  }
}

/* Personnalisation NDK : couleur du texte. Le thème cachait le sélecteur ; on le
   réaffiche, et la règle de l'ancien site s'applique par JS (custom.js) : la couleur
   n'est libre que sur dragée blanche, sinon noir imposé et palette grisée. */
.ndkcsfields-block .fontSelect .colorSelector {
  display: inline-block;
}
.md-couleur-verrouillee .fontColorSelectUl li:not(.active) {
  opacity: 0.35;
  pointer-events: none;
}
.md-note-couleur {
  display: none;
  margin: 6px 0 0;
  font-size: 12px;
  color: #8a5f42;
}
.md-couleur-verrouillee .md-note-couleur {
  display: block;
}

/* Personnalisation NDK : panneau « modèles » (enregistrer / charger une
   configuration). La colonne est en flex : ce second bloc se rétrécissait à la
   largeur de son bouton ; et le .clear{height:0} du thème écrasait ses séparateurs. */
.product-information > .ndkcsfields-block.config_boxes {
  flex: 0 0 100%;
  width: 100%;
}
.ndkcsfields-block .clear {
  height: auto;
}
.ndkcsfields-block .userPanel {
  clear: both;
}
.ndkcsfields-block .userPanel .clear {
  float: none;
  clear: both;
  width: 100%;
  margin: 8px 0;
}
/* Les boutons du module passaient en blanc sur blanc au survol (règle générale
   du thème) : on leur garde un contraste lisible. */
.ndkcsfields-block .btn-default:hover,
.ndkcsfields-block .btn-default:focus {
  color: #191414;
  background: #f1ece7;
  border-color: #b8a091;
}

/* Personnalisation NDK : les pictos et photos sont posés dans des zones plates
   (ligne 3) et s'y déformaient. On les inscrit dans la zone sans les étirer.
   Le fond blanc des pictos JPEG est neutralisé par le mode de fusion « multiply »
   réglé sur chaque champ image dans le module. */
.ndkCfIsVisual .absolute-img img.composition_element {
  object-fit: contain;
}

/* ============================================================
   Page article du blog (module psblog, override thème blog.tpl)
   Colonne de lecture centrée, méta réduite à la date, partage
   sans SDK, cartes « À lire aussi ». Charte : brun #8d6e5b,
   rose #bc5d71, bordures #e4dcd6, titres Pluto, texte Muli.
   ============================================================ */

#module-psblog-blog #blogpage {
  max-width: 800px;
  margin: 0 auto;
  padding: 10px 15px 60px;
}
#module-psblog-blog #blogpage ::selection {
  background: #bc5d71;
  color: #fff;
}
#module-psblog-blog .blog-detail {
  background: none;
  border: 0;
  padding: 0;
}

/* --- En-tête ------------------------------------------------ */
#module-psblog-blog .blog-header {
  text-align: center;
  margin: 10px 0 35px;
}
#module-psblog-blog .blog-detail .blog-title {
  font-family: 'Pluto', sans-serif;
  font-size: 32px;
  line-height: 1.3;
  color: #bc5d71;
  margin: 0 auto 12px;
  max-width: 24em;
  text-wrap: balance;
}
#module-psblog-blog .blog-date {
  font-family: 'Muli', sans-serif;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #8d6e5b;
  margin: 0;
}

/* --- Image de tête + décors de la charte -------------------- */
/* Les visuels du module sont stockés en carré avec des bandes
   blanches : le cadrage 3/2 + object-fit:cover les recadre. */
#module-psblog-blog .blog-detail .blog-image {
  position: relative;
  max-width: 640px;
  margin: 0 auto 45px;
}
#module-psblog-blog .blog-detail .blog-image img {
  position: relative;
  z-index: 1;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: 3px;
}
#module-psblog-blog .blog-image-decor {
  position: absolute;
  z-index: 0;
  display: block;
}
#module-psblog-blog .blog-image-decor--beige {
  background: #eae2de;
  width: 45%;
  height: 75%;
  top: -28px;
  left: -40px;
}
#module-psblog-blog .blog-image-decor--taupe {
  background: #b8a091;
  width: 30%;
  height: 40%;
  bottom: -24px;
  right: -36px;
}
#module-psblog-blog .blog-image-doodle {
  position: absolute;
  z-index: 2;
  display: block;
  width: 272px;
  height: 142px;
  bottom: -30px;
  left: -130px;
  background: url('/img/blog-ma-dragee.png') no-repeat;
  pointer-events: none;
}

/* --- Corps de l'article ------------------------------------- */
#module-psblog-blog .blog-detail .blog-description {
  font-family: 'Muli', sans-serif;
  font-size: 17px;
  line-height: 1.75;
  color: #4a4340;
}
/* Les contenus saisis dans l'éditeur portent des text-align:justify
   en ligne : la justification crée des rivières illisibles sur le web. */
#module-psblog-blog .blog-description p[style*="justify"] {
  text-align: left !important;
}
#module-psblog-blog .blog-description p {
  margin: 0 0 1.4em;
}
#module-psblog-blog .blog-description h2,
#module-psblog-blog .blog-description h3 {
  font-family: 'Pluto', sans-serif;
  color: #4a4340;
  line-height: 1.35;
  margin: 1.9em 0 0.8em;
}
#module-psblog-blog .blog-description h2 {
  font-size: 24px;
  color: #bc5d71;
}
#module-psblog-blog .blog-description h3 { font-size: 19px; }
/* Chapo (champ « description » du module) */
#module-psblog-blog .blog-description > h3:first-child {
  margin-top: 0;
  color: #8d6e5b;
}
#module-psblog-blog .blog-description a {
  color: #b85469;
  text-decoration: underline;
  text-underline-offset: 3px;
}
#module-psblog-blog .blog-description a:hover {
  color: #8d6e5b;
}
#module-psblog-blog .blog-description img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 2em auto;
  border-radius: 3px;
}
#module-psblog-blog .blog-description ul,
#module-psblog-blog .blog-description ol {
  margin: 0 0 1.4em;
  padding-left: 1.4em;
}
#module-psblog-blog .blog-description blockquote {
  margin: 2em 0;
  padding: 4px 0 4px 22px;
  border-left: 1px solid #bc5d71;
  color: #6b6360;
  font-style: italic;
}
#module-psblog-blog .blog-video-code iframe {
  width: 100%;
  border: 0;
}

/* --- Mots-clés ---------------------------------------------- */
#module-psblog-blog .blog-detail .blog-tags {
  margin: 35px 0 0;
  padding: 0;
  border: 0;
  text-align: center;
}
#module-psblog-blog .blog-tags .blog-tags-label {
  display: block;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #8d6e5b;
  margin-bottom: 12px;
}
#module-psblog-blog .blog-tags a {
  display: inline-block;
  margin: 0 4px 8px;
  padding: 5px 16px;
  border: 1px solid #e4dcd6;
  border-radius: 999px;
  font-size: 13px;
  color: #6b6360;
  transition: color .2s ease, border-color .2s ease;
}
#module-psblog-blog .blog-tags a:hover {
  color: #b85469;
  border-color: #b85469;
}

/* --- Partage ------------------------------------------------ */
#module-psblog-blog .blog-detail .social-share {
  float: none;
  display: block;
  width: 100%;
  margin: 40px 0 0;
  padding: 30px 0 0;
  border-top: 1px solid #e4dcd6;
  text-align: center;
}
#module-psblog-blog .social-share .social-share-label {
  display: block;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #8d6e5b;
  margin-bottom: 15px;
}
#module-psblog-blog .social-share .social-share-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  gap: 12px;
}
#module-psblog-blog .social-share .social-share-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid #e4dcd6;
  border-radius: 50%;
  color: #8d6e5b;
  font-size: 16px;
  transition: color .2s ease, background .2s ease, border-color .2s ease;
}
#module-psblog-blog .social-share .social-share-links a:hover {
  background: #bc5d71;
  border-color: #bc5d71;
  color: #fff;
}
#module-psblog-blog .social-share .social-share-links a:focus-visible,
#module-psblog-blog .blog-tags a:focus-visible,
#module-psblog-blog .related-blog:focus-visible {
  outline: 2px solid #bc5d71;
  outline-offset: 2px;
}

/* --- À lire aussi ------------------------------------------- */
#module-psblog-blog .blog-detail .extra-blogs {
  display: block;
  clear: both;
  margin: 45px 0 0;
  padding: 35px 0 0;
  border-top: 1px solid #e4dcd6;
}
#module-psblog-blog .extra-blogs .extra-blogs-title {
  font-family: 'Pluto', sans-serif;
  font-size: 22px;
  color: #4a4340;
  text-align: center;
  margin: 0 0 25px;
}
#module-psblog-blog .extra-blogs .extra-blogs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
#module-psblog-blog .related-blog {
  display: block;
  color: inherit;
}
#module-psblog-blog .related-blog .related-blog-image {
  display: block;
  overflow: hidden;
  border-radius: 3px;
  margin-bottom: 12px;
  aspect-ratio: 16 / 10;
}
#module-psblog-blog .related-blog .related-blog-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
#module-psblog-blog .related-blog:hover .related-blog-image img {
  transform: scale(1.04);
}
#module-psblog-blog .related-blog .related-blog-date {
  display: block;
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #8d6e5b;
  margin-bottom: 4px;
}
#module-psblog-blog .related-blog .related-blog-title {
  display: block;
  font-family: 'Muli', sans-serif;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.45;
  color: #303030;
  transition: color .2s ease;
}
#module-psblog-blog .related-blog:hover .related-blog-title {
  color: #b85469;
}

/* --- Mobile ------------------------------------------------- */
/* Sous 992px la colonne n'a plus de marge pour les décors : on
   les retire pour qu'ils ne recouvrent jamais le texte. */
@media (max-width: 991px) {
  #module-psblog-blog .blog-image-decor,
  #module-psblog-blog .blog-image-doodle {
    display: none;
  }
}
@media (max-width: 767px) {
  #module-psblog-blog .blog-detail .blog-title {
    font-size: 24px;
  }
  #module-psblog-blog .blog-detail .blog-image {
    margin-bottom: 30px;
  }
  #module-psblog-blog .blog-detail .blog-description {
    font-size: 16px;
  }
  #module-psblog-blog .extra-blogs .extra-blogs-grid {
    grid-template-columns: 1fr;
  }
  #module-psblog-blog .related-blog {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 14px;
    align-items: center;
  }
  #module-psblog-blog .related-blog .related-blog-image {
    margin-bottom: 0;
    aspect-ratio: 1 / 1;
  }
}

/* ---------------------------------------------------------------
   Ma dragée — calage vertical du logo dans l'en-tête
   Ajouté le 25/08/2026.

   `.header-top` est une colonne flex : le logo forme la bande de
   marque (0 → 124px) et le menu la bande de navigation
   (124 → 187px). Deux défauts s'y cumulaient :

   - le lien du logo était en rendu « en ligne », si bien que son
     conteneur ne mesurait que 94px pour une image de 100,5px :
     l'image débordait de 6,5px sur la bande du menu ;
   - la bande de marque comptait 30px d'air au-dessus du logo et
     rien en dessous ; le groupe logo + icônes tombait 19px sous
     l'axe de sa propre bande.

   Le logo est recentré dans la bande, à hauteur d'en-tête
   inchangée (124 + 63 = 187px), et les icônes suivent le même axe.
   9px en haut et 14px en bas : l'écart vient du fichier du logo,
   qui porte lui-même 9px de blanc en haut et 3px en bas. Ce sont
   les LETTRES qui sont centrées, pas le cadre de l'image.
   --------------------------------------------------------------- */

@media (min-width: 992px) {
  #header .header_logo {
    /* Le thème fixait la boîte à 290 × 94px alors que le logo, à
       290px de large, en fait 101 : l'image débordait par le bas. */
    height: auto;
    margin-top: 9px;
    margin-bottom: 15px;
  }

  #header .header_logo a,
  #header .header_logo img {
    display: block;
  }

  /* Recherche, compte et panier : même axe que les lettres du logo. */
  #header #_desktop_search_widget,
  #header #_desktop_user_info,
  #header #_desktop_cart {
    margin-top: 45px;
  }
}

/* --- Fiche produit personnalisable : ordre du parcours d'achat ---------------
   custom.js déplace le sélecteur de quantité dans la barre du configurateur et
   pose la classe md-fiche-perso ; ces règles finissent le travail. .product-information
   est un flex wrap, ses enfants se réordonnent donc sans toucher au HTML du module. */
.product-information.md-fiche-perso > .ndkcsfields-block.config_boxes {
  order: 1;
}
.product-information.md-fiche-perso > .product-additional-info {
  order: 2;
}
/* Vidée de sa quantité, la boîte du thème ne garde que des éléments déjà masqués : le
   libellé, la quantité minimale et le bouton natif d'ajout au panier — ce dernier DOIT
   rester dans le formulaire, le module s'en sert pour déclencher la mise au panier.
   On la replie donc sans display:none, pour ne pas toucher au message de disponibilité. */
.md-fiche-perso .product-add-to-cart {
  margin: 0;
}
.md-fiche-perso .product-add-to-cart .product-minimal-quantity {
  margin: 0;
}
/* Privée de son champ, cette boîte gardait 30px de vide. display:contents retire
   .product-quantity de la mise en page sans sortir le bouton du formulaire ni masquer
   le message de disponibilité. Restaient les 15px de marge haute et basse de .add,
   qui n'entoure plus qu'un bouton masqué : en flex elles ne se replient pas toutes
   seules et tenaient à elles seules les 30px. */
.md-fiche-perso .product-add-to-cart .product-quantity {
  display: contents;
}
.md-fiche-perso .product-add-to-cart .add {
  margin: 0;
}
/* Blocs rendus sans contenu (pas de déclinaison, pas de promotion) : custom.js les
   repère à leur hauteur nulle et pose md-bloc-vide, il ne reste plus qu'à retirer
   les marges qui tenaient la bande vide. */
.md-fiche-perso .product-actions .md-bloc-vide {
  margin-top: 0;
  margin-bottom: 0;
}
/* La barre du module est en flex aligné à droite avec un gap de 1rem : la quantité
   s'y range d'elle-même juste avant le bouton. Sous 576px, elle passe au-dessus.
   Le thème dimensionnait le champ via « .product-quantity .qty » et
   « .product-quantity #quantity_wanted » : hors de ce parent, ces règles ne
   s'appliquent plus et le champ s'étirait sur toute la largeur. On les redonne ici. */
.product-actions-ndkcf .qty {
  flex: 0 0 auto;
  width: auto;
  margin: 0;
  float: none;
}
.product-actions-ndkcf .qty .bootstrap-touchspin {
  width: auto;
}
/* La règle « .ndkcsfields-block .form-group » (plus haut dans ce fichier) souligne
   chaque groupe du configurateur : sur la barre d'achat, qui est aussi un .form-group,
   ça traçait un trait sombre sous la quantité et le bouton. Il faut la même
   spécificité pour la neutraliser. */
.ndkcsfields-block .form-group.submitContainer {
  border-bottom: 0;
}
/* Champ volontairement plus grand que celui du thème (40 × 40, texte 16px) :
   c'est LE réglage que le client cherche au moment de payer. */
.product-actions-ndkcf .qty #quantity_wanted {
  width: 58px;
  height: 52px;
  padding: 10px 8px;
  margin: 0;
  font-size: 19px;
  font-weight: 700;
  text-align: center;
}
.product-actions-ndkcf .qty .input-group-btn-vertical > .btn {
  padding: 12px 14px;
}
.product-actions-ndkcf .qty .input-group-btn-vertical i {
  font-size: 14px;
  top: 5px;
  left: 6px;
}
@media (max-width: 575px) {
  .ndkcsfields-block .form-group.submitContainer {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .product-actions-ndkcf #submitNdkcsfields {
    flex: 1 1 auto;
  }
}

/* --- Slider d'accueil : chargement sans à-coup -------------------------------
   Les slides sont en display:none tant que FlexSlider n'a pas démarré, et le thème
   ne le démarre qu'au window.load, donc après le téléchargement de TOUTES les images
   de la page. Le slider passait ainsi de 0 à 379px d'un seul coup et poussait tout le
   contenu vers le bas (décalage cumulé mesuré à 0,234, pour un seuil « correct » de
   0,1 chez Google), pendant qu'un voile blanc plein écran affichait un GIF.
   On réserve la hauteur par le ratio de l'image et on affiche la première slide
   immédiatement : la page ne bouge plus, et le voile n'a plus de raison d'être. */
/* Première slide affichée sans attendre le script : sur mobile la hauteur était déjà
   réservée par le thème (300px) mais la bande restait blanche jusqu'au window.load. */
.flexslider .slides > li:first-child {
  display: block;
}
@media (min-width: 992px) {
  .flexslider {
    aspect-ratio: 1920 / 490;
    background-color: #f8f5f4;
  }
  .flexslider .slides,
  .flexslider .slides > li {
    height: 100%;
  }
  .flexslider .slides > li > a {
    display: block;
    height: 100%;
  }
  /* Les visuels n'ont pas tous le même ratio (1655x414 pour l'un, 1920x490 pour les
     deux autres) : sans recadrage la hauteur bougeait de 8px à chaque transition. */
  .flexslider .slides img {
    height: 100%;
    object-fit: cover;
  }
}
/* Voile blanc plein écran (position:fixed, z-index 9999999) maintenu jusqu'au
   window.load : il masquait une page qui s'affiche très bien progressivement. */
.flexslider .loadingdiv.spinner {
  display: none;
}

/* --- Largeur des tiroirs du menu principal -----------------------------------
   Le thème fixe `.sub-menu { width: 200px }` puis le rétrécit par palier
   (min-width 170 / 160 / 140 / 250 px selon la largeur d'écran), sans rapport avec
   la longueur des libellés : à 1400-1710px il ne restait que 110px utiles et
   « Remerciements », « Fêtes saisonnières » ou « Originales & spéciales » passaient
   à la ligne. Mesuré : le plus long libellé, « Originales & spéciales », fait 167px
   de texte ; il faut y ajouter les 30px de padding du tiroir et les 10px pris par la
   liste, soit 207px minimum. 220px laissent 180px au texte, avec de la marge pour un
   libellé un peu plus long. `width: auto` ne convient pas ici : le tiroir est en
   position absolue dans une entrée de menu étroite, la largeur au contenu retombe
   donc sur le minimum au lieu de suivre le plus long libellé.
   Le `min-width` est remis à zéro pour neutraliser les paliers du thème, qui
   poussaient sinon le tiroir à 250px puis 300px sur les très grands écrans. */
@media (min-width: 992px) {
  #header #top-menu > li > .sub-menu {
    width: 220px;
    min-width: 0;
  }
}


/* ============================================================
   Liste du blog (module psblog) — pages « Derniers articles »,
   catégorie et filtre par auteur. Ajouté le 25/08/2026.

   Le module empilait chaque article sur toute la largeur, avec
   l'image affichée à sa taille source (885 × 886 px) : la page
   faisait 4170px pour quatre articles, avec de grandes zones
   vides, et les conteneurs `.leading-blog` / `.secondary-blog`
   ne refermaient pas leurs flottants.

   Les deux gabarits n'ont pas la même structure : la liste range
   ses articles dans `#blog-listing .inner`, la page catégorie
   dans un `.Recnet-blog` placé APRÈS `#blog-category`. Les deux
   sont traités ici. On neutralise les conteneurs intermédiaires
   (`display: contents`) pour ranger les articles dans une seule
   grille, et on recadre les visuels en 3/2. Charte inchangée :
   Pluto et rose #bc5d71 pour les titres, brun #8d6e5b pour les
   méta.
   ============================================================ */

/* --- Largeur de page ---------------------------------------- */
#module-psblog-list .blogs-container,
#module-psblog-category .blogs-container,
#module-psblog-category .Recnet-blog {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 15px;
}
#module-psblog-list .blogs-container {
  padding-bottom: 60px;
}
#module-psblog-category .Recnet-blog {
  padding-bottom: 60px;
}

/* --- Titre de la page --------------------------------------- */
#module-psblog-list .blogs-container > h1,
#module-psblog-category .category-info h1 {
  font-family: 'Pluto', sans-serif;
  font-size: 28px;
  line-height: 1.3;
  color: #bc5d71;
  text-align: center;
  margin: 10px 0 40px;
}
#module-psblog-category .category-info {
  padding: 0;
}
/* « Messages récents » doublonnait le titre de la rubrique juste
   au-dessus : on garde le seul titre utile. */
#module-psblog-category .Recent-title {
  display: none;
}

/* --- La grille ---------------------------------------------- */
#module-psblog-list .blogs-container .inner,
#module-psblog-category .Recnet-blog {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 50px 34px;
  align-items: start;
}
/* Les blocs « leading » et « secondary » ne servent qu'au module :
   on les rend transparents pour que les articles rejoignent la
   même grille. `display: contents` annule aussi leur flottant. */
#module-psblog-list .leading-blog,
#module-psblog-list .secondary-blog,
#module-psblog-list .secondary-blog > .row,
#module-psblog-category .leading-blog,
#module-psblog-category .secondary-blog,
#module-psblog-category .secondary-blog > .row,
#module-psblog-category .secondary-blog > .flexRow {
  display: contents;   /* la page catégorie utilise .flexRow, la liste .row */
}
#module-psblog-list .blogs-container .inner > div,
#module-psblog-list .secondary-blog > .row > div,
#module-psblog-category .Recnet-blog > div,
#module-psblog-category .secondary-blog > .row > div,
#module-psblog-category .secondary-blog > .flexRow > div {
  float: none;
  width: auto;
  max-width: none;
  padding: 0;
  margin: 0;
}

/* --- La carte article --------------------------------------- */
#module-psblog-list .blog-item,
#module-psblog-category .blog-item {
  margin: 0;
  background: none;
}
#module-psblog-list .blog-item .blog-image,
#module-psblog-category .blog-item .blog-image {
  position: relative;
  float: none;
  width: 100%;
  padding: 0;
  margin: 0 0 16px;
  overflow: hidden;
  border-radius: 3px;
}
/* Les visuels sont stockés en carré : on les recadre en 3/2. */
#module-psblog-list .blog-item .blog-image img,
#module-psblog-category .blog-item .blog-image img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  transition: transform .4s ease;
}
#module-psblog-list .blog-item:hover .blog-image img,
#module-psblog-category .blog-item:hover .blog-image img {
  transform: scale(1.04);
}
#module-psblog-list .blog-item .blog-content-wrap,
#module-psblog-category .blog-item .blog-content-wrap {
  float: none;
  width: auto;
  padding: 0;
  background: none;   /* bandes grises #f8f8f8 de hauteurs inégales */
}

/* Titre de l'article */
#module-psblog-list .blog-item .title,
#module-psblog-category .blog-item .title {
  margin: 0 0 8px;
  font-family: 'Pluto', sans-serif;
  font-size: 18px;
  line-height: 1.35;
  text-transform: none;
}
#module-psblog-list .blog-item .title a,
#module-psblog-category .blog-item .title a {
  color: #4a4340;
  transition: color .2s ease;
}
#module-psblog-list .blog-item:hover .title a,
#module-psblog-category .blog-item:hover .title a {
  color: #b85469;
}

/* Ligne auteur / rubrique / date */
#module-psblog-list .blog-item .blog-meta,
#module-psblog-category .blog-item .blog-meta {
  margin: 0 0 12px;
  font-family: 'Muli', sans-serif;
  font-size: 13px;
  color: #8d6e5b;
  border: 0;
}
#module-psblog-list .blog-item .blog-meta i,
#module-psblog-category .blog-item .blog-meta i {
  display: none;   /* les pictos alourdissaient une ligne déjà dense */
}
#module-psblog-list .blog-item .blog-meta > span,
#module-psblog-category .blog-item .blog-meta > span {
  display: inline;
  margin: 0;
  padding: 0;
  color: #8d6e5b;
}
#module-psblog-list .blog-item .blog-meta > span + span::before,
#module-psblog-category .blog-item .blog-meta > span + span::before {
  content: "·";
  display: inline;   /* psblog.css masque le ::before du dernier span */
  margin: 0 8px;
  color: #b8a091;
}
#module-psblog-list .blog-item .blog-meta a,
#module-psblog-category .blog-item .blog-meta a {
  color: #8d6e5b;
  text-decoration: underline;
  text-underline-offset: 2px;
}
#module-psblog-list .blog-item .blog-meta a:hover,
#module-psblog-category .blog-item .blog-meta a:hover {
  color: #b85469;
}

/* Chapô et lien de lecture */
#module-psblog-list .blog-item .blog-shortinfo,
#module-psblog-category .blog-item .blog-shortinfo {
  font-family: 'Muli', sans-serif;
  font-size: 15px;
  line-height: 1.65;
  color: #6b6360;
}
/* Ce paragraphe était flottant : son flottant mordait sur la
   dernière ligne du chapô, qui se retrouvait décalée à droite. */
#module-psblog-list .blog-item .blog-shortinfo p,
#module-psblog-category .blog-item .blog-shortinfo p {
  float: none;
  clear: both;
  width: auto;
  margin: 14px 0 0;
}
/* Le gros bouton plein cassait le rythme des cartes : lien discret. */
#module-psblog-list .blog-item .blog-shortinfo a.btn,
#module-psblog-category .blog-item .blog-shortinfo a.btn {
  display: inline-block;
  padding: 0;
  border: 0;
  background: none;
  font-family: 'Muli', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #b85469;
  border-bottom: 1px solid #e4dcd6;
  border-radius: 0;
  transition: border-color .2s ease;
}
#module-psblog-list .blog-item .blog-shortinfo a.btn:hover,
#module-psblog-list .blog-item .blog-shortinfo a.btn:focus,
#module-psblog-category .blog-item .blog-shortinfo a.btn:hover,
#module-psblog-category .blog-item .blog-shortinfo a.btn:focus {
  background: none;
  color: #b85469;
  border-bottom-color: #b85469;
}
#module-psblog-list .blog-item a:focus-visible,
#module-psblog-category .blog-item a:focus-visible {
  outline: 2px solid #bc5d71;
  outline-offset: 3px;
}

/* --- Pagination --------------------------------------------- */
#module-psblog-list .ps_sortPagiBar,
#module-psblog-category .ps_sortPagiBar {
  grid-column: 1 / -1;
  margin-top: 10px;
  padding-top: 25px;
  border-top: 1px solid #e4dcd6;
  font-family: 'Muli', sans-serif;
  font-size: 13px;
  color: #8d6e5b;
  text-align: center;
}

/* --- Mobile ------------------------------------------------- */
@media (max-width: 767px) {
  #module-psblog-list .blogs-container .inner,
  #module-psblog-category .Recnet-blog {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  #module-psblog-list .blogs-container > h1,
  #module-psblog-category .category-info h1 {
    font-size: 22px;
    margin-bottom: 28px;
  }
}

/* ------------------------------------------------------------------
   Page « Nous contacter » — titre en h1 (27/08/2026)
   Le gabarit contact.tpl du thème vide le bloc page_header : la page
   n'avait aucun h1. Le titre du formulaire est devenu <h1 class="h3">,
   on lui redonne exactement l'apparence de l'ancien h3.
   ------------------------------------------------------------------ */
.contact-form h1.h3 {
    text-transform: uppercase;
    color: #191414;
}

/* Les mentions « optionnel » du formulaire de contact sont des colonnes Bootstrap,
   mais `.form-control-comment` (theme.css ~6010) leur retire le padding-left de la
   grille : elles se décalaient de 15px vers la gauche par rapport au champ. */
.contact-form .form-control-comment {
    padding-left: 15px;
}

/* --- Fiche personnalisable : rappel du prix et des déclinaisons avant l'achat ---
   custom.js clone les déclinaisons (Vrac 200 g…) et le bloc prix juste au-dessus
   de la barre d'achat du module NDK : après un long configurateur, on choisit la
   quantité et on ajoute au panier en voyant le prix. Les clones gardent les
   classes du thème et en héritent le style ; ici, uniquement la mise en place. */
.md-recap-achat {
  width: 100%;
  clear: both;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #e8e0da;
}
.md-recap-achat .product-variants {
  margin-bottom: 0;
}
/* Hors de .product-actions, la règle « .control-label : 25 % » ne joue plus :
   l'intitulé prend toute la largeur et les boutons se rangent dessous. */
.md-recap-achat .product-variants > .product-variants-item > * {
  width: 100%;
}
.md-recap-achat .product-variants .control-label {
  display: block;
  padding-right: 0;
}
.md-recap-achat .product-variants-item li.float-xs-left.input-container {
  margin-top: 10px;
  margin-left: 0;
  margin-right: 8px;
}
.md-recap-achat .product-prices {
  float: none;
  width: 100%;
  margin: 8px 0 0;
}
/* Les libellés de quantité portent désormais le nombre de dragées : la case de
   80px de large imposée par le thème (theme.css ~14952) repliait « Vrac 200 g
   (environ 63 dragées) » sur quatre lignes. La case suit son contenu, partout
   (en haut de fiche comme dans le rappel) ; les pastilles de couleur, à taille
   fixe, ne bougent pas. */
.product-variants-item li.float-xs-left.input-container {
  width: auto;
  max-width: 100%;
}

/* --- Fiche personnalisable : cadre « Choisissez votre police d'écriture » ------
   custom.js remplace le sélecteur de police du module (nom + petite flèche, que
   personne ne repérait) par ce cadre de tuiles, chaque police affichée dans sa
   propre fonte. La classe md-a-polices, posée sur le groupe, masque l'ancien
   mécanisme ; le display:none !important sur le tiroir est nécessaire : le
   plugin le rouvre en slideDown (style en ligne) à chaque clic rejoué. */
.md-cadre-polices {
  background: #fff;
  border: 1px solid #e5e0dc;
  border-radius: 6px;
  padding: 12px 15px 15px;
  margin: 5px 0 15px;
}
/* Spécificité « .product-information p » requise : le thème fait flotter tous
   les p de la fiche (float:left), et le ul en flex — qui crée un BFC — se
   glissait alors dans les 87px restant à droite du titre. */
.product-information p.md-cadre-polices-titre {
  float: none;
  width: 100%;
  margin: 0 0 6px;
  font-weight: 700;
  font-size: 14px;
  text-transform: uppercase;
  color: #303030;
}
.md-polices-liste {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.md-polices-liste li {
  cursor: pointer;
  background: #fff;
  box-shadow: 2px 2px 11px 0 rgba(0, 0, 0, 0.1);
  border: 2px solid transparent;
  border-radius: 4px;
  padding: 6px 14px;
  font-size: 20px;
  line-height: 1.3;
  color: #303030;
}
.md-polices-liste li:hover,
.md-polices-liste li.active {
  border-color: #191414;
}
.md-a-polices .fontSelector {
  display: none;
}
.md-a-polices .fontSelectUl {
  display: none !important;
}
