/********************************************************
			Codezeel Custom Styles
********************************************************/
.cz-carousel {
	display: none;
	position: relative;
	float: left;
	width: 100%;
	margin: 0;
	-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-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;
}

/* mouse grab icon */
.grabbing {
	cursor: url("../img/codezeel/grabbing.png") 8 8, move;
}

.customNavigation {
	position: absolute;
	z-index: 8;
	top: 0;
	bottom: auto;
	direction: ltr !important;
	left: auto;
	right: 15px;
	opacity: 1;
}

.viewed-products .customNavigation,
.crosssell-products .customNavigation,
.product-accessories .customNavigation,
.productscategory-products .customNavigation {
	right: 0;
}

.brands .customNavigation,
.czcategoryimagelist .customNavigation {
	position: static;
}

.czcategoryimagelist .customNavigation {
	display: none;
}

.customNavigation a,
.images-container .js-qv-mask .customNavigation a {
	font-size: 0;
	position: static;
	font-weight: 300;
	height: 30px;
	width: 30px;
	line-height: 28px;
	padding: 0;
	background-color: #c00a27;
	border: none;
	cursor: pointer;
	overflow: hidden;
	-webkit-transition: all 0.5s ease;
	-webkit-transition-delay: 0s;
	-moz-transition: all 0.5s ease 0s;
	-o-transition: all 0.5s ease 0s;
	transition: all 0.5s ease 0s;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-ms-border-radius: 5px;
	-o-border-radius: 5px;
	z-index: 9;
}

.czcategoryimagelist .customNavigation a {
	position: absolute;
	top: 32%;
	bottom: auto;
	opacity: 0;
}

.czcategoryimagelist .container:hover .customNavigation a {
	opacity: 1;
}

.images-container .js-qv-mask .customNavigation a {
	position: absolute;
}


.customNavigation a:hover,
.images-container .js-qv-mask .customNavigation a:hover {
	background-color: #ffc800;
}

.czcategoryimagelist .customNavigation a.next {
	right: -30px;
	left: auto;
}

.czcategoryimagelist .customNavigation a.prev {
	left: -30px;
	right: auto;
}
body.box_layout .customNavigation a.prev {
    left: 0;
}
body.box_layout .customNavigation a.next {
    right: 0;
}
.customNavigation a.prev {
	left: 0;
}

.customNavigation a.next {
	right: 0;
}

.brands .customNavigation a.prev {
	left: -15px;
}

.brands .customNavigation a.next {
	right: -15px;
}

.brands .customNavigation a {
	position: absolute;
	top: 38%;
	opacity: 0;
}

.brands .products:hover .customNavigation a {
	opacity: 1;
}

.customNavigation a.prev::before {
	content: "\f104";
}

.customNavigation a.next::before {
	content: "\f105";
}

.customNavigation a::before {
	font-size: 22px;
	font-family: "FontAwesome";
	color: #fff;
	font-weight: 400;
}

.customNavigation a:hover:before,
.images-container .js-qv-mask .customNavigation a:hover:before {
	color: #222;
}


@media (max-width: 991px) {


	.images-container .js-qv-mask .customNavigation {
		top: 36px;
		opacity: 1;
	}

}


#czleftbanner img {
	max-width: 100%;
}

#czleftbanner li {
	display: inline-block;
}

#czleftbanner li a,
#czleftbannercmsblock li a {
	display: inline-block;
	overflow: hidden;
	position: relative;
}

#czleftbanner li a img,
#czleftbannercmsblock li img {
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-khtml-border-radius: 5px;
	-moz-border-radius: 5px;
	max-width: 100%;
}

#czleftbanner li a:before,
#czleftbannercmsblock li a::before {
	background: rgba(255, 255, 255, .5) none repeat scroll 0 0;
	bottom: 20px;
	content: "";
	left: 20px;
	opacity: 1;
	position: absolute;
	right: 20px;
	top: 20px;
	
	filter: alpha(opacity=100);
	-webkit-transform: scale(0);
	-ms-transform: scale(0);
	transform: scale(0);
}

#czleftbanner li:hover a:before,
#czleftbannercmsblock li:hover a::before {
	opacity: 0;
	filter: alpha(opacity=0);
	-webkit-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
	-webkit-transition: all 1s ease;
	-moz-transition: all 1s ease;
	-o-transition: all 1s ease;
	transition: all 1s ease;
}


.top_button {
	bottom: 90px;
	cursor: pointer;
	display: none;
	height: 40px;
	padding: 0px 12px;
	position: fixed;
	right: 20px;
	text-align: center;
	width: 40px;
	z-index: 99;
	font-size: 0px;
	border-radius: 5px;
	background: #ffc800;
	-webkit-animation-name: hvr-icon-bob-float, hvr-icon-bob;
	animation-name: hvr-icon-bob-float, hvr-icon-bob;
	-webkit-animation-duration: .3s, 1.5s;
	animation-duration: .3s, 1.5s;
	-webkit-animation-delay: 0s, .3s;
	animation-delay: 0s, .3s;
	-webkit-animation-timing-function: ease-out, ease-in-out;
	animation-timing-function: ease-out, ease-in-out;
	-webkit-animation-iteration-count: 1, infinite;
	animation-iteration-count: 1, infinite;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	-webkit-animation-direction: normal, alternate;
	animation-direction: normal, alternate;
	-webkit-transition: all 0.5s ease 0s;
	-moz-transition: all 0.5s ease 0s;
	-ms-transition: all 0.5s ease 0s;
	-o-transition: all 0.5s ease 0s;
}

.top_button:before {
	color: #000;
	content: "\f102";
	font-family: "FontAwesome";
	font-size: 22px;
	line-height: 37px;
	font-weight: 300;
}

.top_button:after {
	border: 2px solid #ffc800;
	border-radius: 5px;
	bottom: -5px;
	height: 50px;
	opacity: 1;
	right: -5px;
	content: "";
	position: absolute;
	width: 50px;
	animation: blink 2s steps(5, start) infinite;
	-webkit-animation: blink 1s steps(5, start) infinite;
	-webkit-transition: all 0.5s ease 0s;
	-moz-transition: all 0.5s ease 0s;
	-ms-transition: all 0.5s ease 0s;
	-o-transition: all 0.5s ease 0s;
}

.top_button:hover:after {
	animation: unset;
	-webkit-animation: unset;
}

@keyframes blink {
	to {
		visibility: hidden;
	}
}

@-webkit-keyframes blink {
	to {
		visibility: hidden;
	}
}

/* Icon Bob */
@-webkit-keyframes hvr-icon-bob {
	0% {
		-webkit-transform: translateY(-6px);
		transform: translateY(-6px);
	}

	50% {
		-webkit-transform: translateY(-2px);
		transform: translateY(-2px);
	}

	100% {
		-webkit-transform: translateY(-6px);
		transform: translateY(-6px);
	}
}

@keyframes hvr-icon-bob {
	0% {
		-webkit-transform: translateY(-6px);
		transform: translateY(-6px);
	}

	50% {
		-webkit-transform: translateY(-2px);
		transform: translateY(-2px);
	}

	100% {
		-webkit-transform: translateY(-6px);
		transform: translateY(-6px);
	}
}

@-webkit-keyframes hvr-icon-bob-float {
	100% {
		-webkit-transform: translateY(-6px);
		transform: translateY(-6px);
	}
}

@keyframes hvr-icon-bob-float {
	100% {
		-webkit-transform: translateY(-6px);
		transform: translateY(-6px);
	}
}


/* Flexslider */

#index .spinner {
	background: url(../img/codezeel/loading.gif) no-repeat center center #e5e5e54a;
	width: 100%;
	min-height: 580px;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-khtml-border-radius: 5px;
	-moz-border-radius: 5px;
}

.flex-direction-nav a.flex-prev:before {
	content: "";
	mask-image: url(../img/codezeel/left_arrow.svg);
	-webkit-mask-image: url(../img/codezeel/left_arrow.svg);
	display: inline-block;
	-webkit-mask-size: 45px;
	mask-size: 45px;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	mask-position: center;
}

.flex-direction-nav a.flex-next:before {
	content: "";
	mask-image: url(../img/codezeel/right_arrow.svg);
	-webkit-mask-image: url(../img/codezeel/right_arrow.svg);
	display: inline-block;
	-webkit-mask-size: 45px;
	mask-size: 45px;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	mask-position: center;
}

@media (max-width: 1659px) {
	#index .spinner {
		min-height: 518px;
	}
}

@media (max-width: 1459px) {
	#index .spinner {
		min-height: 435px;
	}
}

@media (max-width: 1299px) {
	.czcategoryimagelist .customNavigation a.prev {
		left: 0;
	}

	.czcategoryimagelist .customNavigation a.next {
		right: 0;
	}
}

@media (max-width: 1259px) {
	#index .spinner {
		min-height: 380px;
	}
}

@media (max-width: 1199px) {
	#index .spinner {
		min-height: 370px;
	}
}

@media (max-width: 991px) {
	#index .spinner {
		min-height: 584px;
	}
}

@media (max-width: 767px) {
	.brands .customNavigation a.prev {
		left: 0;
	}

	.brands .customNavigation a.next {
		right: 0;
	}


}

/* twitter */

.block-social li.twitter a {
    display: inline-flex;
    background-color: transparent;
    border: 0 solid #e5e5e5;
    border-radius: 50%;
    height: auto;
    width: auto;
    margin-right: 5px;
}
.footer-container .links.block-contact li.twitter a {
    margin-right: 3px;
}
/*.block-social li.twitter a:hover {
    background-color: currentColor;
    border-color: currentColor;
}*/
.block-social li{
    vertical-align: top;
}
.block-social li.twitter a::before {
    content: "";
    mask-image: url(../img/codezeel/twitter.svg);
    mask-repeat: no-repeat;
    mask-size: 16px;
    -webkit-mask-repeat: no-repeat;
    mask-position: 3px center;
    background-color: currentColor;
}
.block-social li.twitter a:hover::before {
    background-color: currentColor;
}
  
.social-sharing ul li.twitter a::before {
    content: "";
    mask-image: url(../img/codezeel/twitter.svg);
    mask-repeat: no-repeat;
    mask-size: 17px;
    -webkit-mask-repeat: no-repeat;
    mask-position: center;
    background-color: #000;
    width: 100%;
    height: 100%;
}

.social-sharing ul li.twitter:hover a::before {
    background-color: #ffffff;
}

.social-sharing ul li.twitter:hover {
    background-color: #000;
}

.social-sharing ul li.twitter {
    border-color: #000;
}
/* ORSU ARMA — comportement bouton panier conservé */
.cz-red-cart-btn {
    cursor: pointer;
}

.cz-red-cart-btn[disabled] {
    background-color: #cccccc !important;
    color: #777777 !important;
    cursor: not-allowed;
    box-shadow: none !important;
}
/* Uniformisation descriptions produits — compléments conservés */
.product-description,
.product-description *,
.product-information .product-description,
.product-information .product-description * {
    background: transparent !important;
    font-family: inherit !important;
    color: inherit;
}

.product-description h2,
.product-information .product-description h2 {
    margin: 1.2rem 0 0.7rem !important;
}

.product-description h3,
.product-information .product-description h3 {
    margin: 1rem 0 0.5rem !important;
}

/* ORSU ARMA — neutralisation des fonds pseudo-éléments réassurance */
#czservicecmsblock:before,
#czservicecmsblock:after,
#czservicecmsblock .service-area:before,
#czservicecmsblock .service-area:after {
    background: none !important;
    background-image: none !important;
}


/* =========================================================
   ORSU ARMA — CHARTE BLANC / ROUGE
   MENU + NEWSLETTER
   ROUGE UNIFORME #A00000
   ========================================================= */


/* =========================================================
   MENU PRINCIPAL — ETS MEGAMENU
   ========================================================= */

.ets_mm_megamenu,
.ets_mm_megamenu .ets_mm_megamenu_content,
.ets_mm_megamenu .mm_menus_ul {
    background: #A00000 !important;
}

/* Catégories principales */
.ets_mm_megamenu .mm_menus_li > a,
.ets_mm_megamenu .mm_menus_li > a:link,
.ets_mm_megamenu .mm_menus_li > a:visited {
    background: #A00000 !important;
    color: #FFFFFF !important;
}

/* Texte + icônes */
.ets_mm_megamenu .mm_menus_li > a span,
.ets_mm_megamenu .mm_menus_li > a i {
    color: #FFFFFF !important;
}


/* Sous-menu */
.ets_mm_megamenu .mm_columns_ul,
.ets_mm_megamenu .mm_columns_ul > li,
.ets_mm_megamenu .mm_columns_ul .mm_blocks_ul {
    background: #FFFFFF !important;
}

/* Liens sous-menu */
.ets_mm_megamenu .mm_columns_ul a,
.ets_mm_megamenu .mm_columns_ul a:link,
.ets_mm_megamenu .mm_columns_ul a:visited {
    background: #FFFFFF !important;
    color: #222222 !important;
}


/* Suppression des dégradés du megamenu */
.ets_mm_megamenu,
.ets_mm_megamenu *,
.ets_mm_megamenu_content,
.ets_mm_megamenu_content * {
    background-image: none !important;
}


/* =========================================================
   NEWSLETTER
   ========================================================= */


/* Texte */

/* Bordure champ Newsletter */
#blockEmailSubscription_displayFooterBefore input[type="email"] {
    border: 1px solid #FFFFFF !important;
}


/* Suppression des dégradés Newsletter */
#blockEmailSubscription_displayFooterBefore,
#blockEmailSubscription_displayFooterBefore * {
    background-image: none !important;
}


/* =========================================================
   ORSU ARMA — MENU PRINCIPAL
   ROUGE UNI #A00000 — AUCUN DEGRADE / OMBRE
   ========================================================= */


/* Barre principale pleine largeur */

/* Liens */

/* Texte */

/* Hover */


/* Sous-menu */


/* =========================================================
   ORSU ARMA — BANDE NEWSLETTER
   ROUGE UNI #A00000 — AUCUN DEGRADE / OMBRE
   ========================================================= */

#footer .footer-before,
#footer-container-first,
#blockEmailSubscription_displayFooterBefore,
#blockEmailSubscription_displayFooterBefore .block_newsletter,
#blockEmailSubscription_displayFooterBefore .ps-emailsubscription-block,
#blockEmailSubscription_displayFooterBefore .newsletter-form {
    background: #A00000 !important;
    background-color: #A00000 !important;
    background-image: none !important;
    box-shadow: none !important;
    border: 0 !important;
}

/* Tout ce qui pourrait créer le halo */
#footer .footer-before::before,
#footer .footer-before::after,
#footer-container-first::before,
#footer-container-first::after,
#blockEmailSubscription_displayFooterBefore::before,
#blockEmailSubscription_displayFooterBefore::after,
#blockEmailSubscription_displayFooterBefore *::before,
#blockEmailSubscription_displayFooterBefore *::after {
    content: none !important;
    background: none !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* Texte newsletter */
#blockEmailSubscription_displayFooterBefore,
#blockEmailSubscription_displayFooterBefore h1,
#blockEmailSubscription_displayFooterBefore h2,
#blockEmailSubscription_displayFooterBefore h3,
#blockEmailSubscription_displayFooterBefore h4,
#blockEmailSubscription_displayFooterBefore h5,
#blockEmailSubscription_displayFooterBefore p,
#blockEmailSubscription_displayFooterBefore span,
#blockEmailSubscription_displayFooterBefore label {
    color: #FFFFFF !important;
}

/* Champ */
#blockEmailSubscription_displayFooterBefore input,
#blockEmailSubscription_displayFooterBefore input.input-subscription {
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
    background-image: none !important;
    color: #222222 !important;
    box-shadow: none !important;
}

/* Groupe du champ */
#blockEmailSubscription_displayFooterBefore .newsletter-input-group {
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* Bouton */
#blockEmailSubscription_displayFooterBefore .btn-subscribe,
#blockEmailSubscription_displayFooterBefore button {
    background: #700000 !important;
    background-color: #700000 !important;
    background-image: none !important;
    color: #FFFFFF !important;
    box-shadow: none !important;
    border: 0 !important;
}

/* =========================================================
   FIN — SUPPRESSION GLOBALE DES GRADIENTS SUR CES ZONES
   ========================================================= */

#footer .footer-before *,
#footer-container-first *,
#blockEmailSubscription_displayFooterBefore * {
    background-image: none !important;
}


/* =========================================================
   ORSU ARMA — ETS MEGAMENU LAYOUT 5
   BARRE ROUGE UNIE
   ========================================================= */


/* Neutralise les pseudo-éléments susceptibles de créer le halo */
#header .header-top-inner::before,
#header .header-top-inner::after,
#header .header-top-inner .ets_mm_megamenu.layout_layout5::before,
#header .header-top-inner .ets_mm_megamenu.layout_layout5::after,
#header .header-top-inner .ets_mm_megamenu.layout_layout5 .ets_mm_megamenu_content::before,
#header .header-top-inner .ets_mm_megamenu.layout_layout5 .ets_mm_megamenu_content::after {
    background: none !important;
    box-shadow: none !important;
}


/* =========================================================
   ORSU ARMA — MENU PREMIUM
   ========================================================= */

#header .header-top-inner .layout_layout5 .mm_menus_ul {
    gap: 0;
}

/* Liens principaux */
#header .header-top-inner .layout_layout5 .mm_menus_li > a {
    text-transform: uppercase;
}

/* Icônes légèrement espacées */
#header .header-top-inner .layout_layout5 .mm_menus_li > a i {
    margin-right: 6px;
    font-size: 12px;
}

/* Barre rouge plus compacte et nette */
#header .header-top-inner {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

#header .header-top-inner .ets_mm_megamenu_content {
    min-height: 48px;
}

/* Titres des sous-menus */
#header .header-top-inner .layout_layout5 .mm_columns_ul h4,
#header .header-top-inner .layout_layout5 .mm_columns_ul h5,
#header .header-top-inner .layout_layout5 .mm_columns_ul h6 {
    color: #222222 !important;
    font-weight: 700 !important;
}

/* Liens des sous-menus */
#header .header-top-inner .layout_layout5 .mm_columns_ul a {
    color: #333333 !important;
    transition: color 0.2s ease, padding-left 0.2s ease;
}

/* Hover sous-menu : léger décalage conservé */
#header .header-top-inner .layout_layout5 .mm_columns_ul a:hover {
    padding-left: 4px;
}

/* Mobile : espacement typographique du menu */
@media (max-width: 767px) {
    #header .header-top-inner .layout_layout5 .mm_menus_li > a {
        letter-spacing: 0.2px;
    }
}


/* =========================================================
   ORSU ARMA — STYLE SOBRE & ELEGANT
   NOIR / BLANC / ROUGE EN ACCENT
   ========================================================= */


/* =========================================================
   1. MENU PRINCIPAL
   ========================================================= */

#header .header-top-inner,
#header .header-top-inner > .container,
#header .header-top-inner .ets_mm_megamenu.layout_layout5,
#header .header-top-inner .ets_mm_megamenu.layout_layout5 .ets_mm_megamenu_content,
#header .header-top-inner .ets_mm_megamenu.layout_layout5 .ets_mm_megamenu_content > .container,
#header .header-top-inner .ets_mm_megamenu.layout_layout5 .mm_menus_ul {
    background: #171717 !important;
    box-shadow: none !important;
    border: 0 !important;
}

/* Liens principaux */
#header .header-top-inner .layout_layout5 .mm_menus_li > a {
    position: relative;

    background: transparent !important;

    color: #F5F5F5 !important;

    padding: 15px 17px !important;

    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.6px;

    box-shadow: none !important;
    border: 0 !important;

    transition:
        background-color .2s ease,
        color .2s ease;
}

/* Texte + icônes */
#header .header-top-inner .layout_layout5 .mm_menus_li > a *,
#header .header-top-inner .layout_layout5 .mm_menus_li > a i {
    color: #F5F5F5 !important;
}

/* Séparateurs fins */
#header .header-top-inner .layout_layout5 .mm_menus_li > a::after {
    content: "";
    position: absolute;

    right: 0;
    top: 31%;

    width: 1px;
    height: 38%;

    background: rgba(255,255,255,.12) !important;
}

/* Dernier sans séparateur */
#header .header-top-inner .layout_layout5 .mm_menus_li:last-child > a::after {
    display: none;
}


/* Accent rouge discret sous l'élément */
#header .header-top-inner .layout_layout5 .mm_menus_li > a::before {
    content: "";
    position: absolute;

    left: 18%;
    right: 18%;
    bottom: 0;

    height: 2px;

    transform: scaleX(0);
    transform-origin: center;

    transition: transform .2s ease;
}


/* Sous-menus */
#header .header-top-inner .layout_layout5 .mm_columns_ul {
    background: #FFFFFF !important;

    border-top: 2px solid #A00000 !important;

    box-shadow: 0 8px 24px rgba(0,0,0,.10) !important;
}

/* Sous-menu textes */
#header .header-top-inner .layout_layout5 .mm_columns_ul h4,
#header .header-top-inner .layout_layout5 .mm_columns_ul h5,
#header .header-top-inner .layout_layout5 .mm_columns_ul h6 {
    color: #171717 !important;
}

#header .header-top-inner .layout_layout5 .mm_columns_ul a {
    color: #333333 !important;
}


/* =========================================================
   2. REASSURANCE
   ========================================================= */

#czservicecmsblock {
    background: #FFFFFF !important;
}

#czservicecmsblock .service-area {
    background: #F6F6F6 !important;
    border-radius: 6px !important;
    border-top: 3px solid #171717 !important;
    box-shadow: none !important;
}

#czservicecmsblock .service-heading {
    font-weight: 600 !important;
    letter-spacing: .2px;
}

#czservicecmsblock .service-description {
    color: #666666 !important;
}

#czservicecmsblock .service-icon {
    box-shadow: none !important;
}

#czservicecmsblock .service-fourth:hover .service-heading {
    color: #A00000 !important;
}


/* =========================================================
   3. NEWSLETTER
   ========================================================= */

#footer .footer-before,
#footer-container-first,
#blockEmailSubscription_displayFooterBefore,
#blockEmailSubscription_displayFooterBefore .block_newsletter,
#blockEmailSubscription_displayFooterBefore .ps-emailsubscription-block,
#blockEmailSubscription_displayFooterBefore .newsletter-form {
    background: #171717 !important;

    box-shadow: none !important;
    border: 0 !important;
}

/* Titres + textes */

/* Champ email */
#blockEmailSubscription_displayFooterBefore input,
#blockEmailSubscription_displayFooterBefore input.input-subscription,
#blockEmailSubscription_displayFooterBefore .newsletter-input-group {
    background: #FFFFFF !important;

    color: #222222 !important;
    box-shadow: none !important;
}

/* Bouton */
#blockEmailSubscription_displayFooterBefore .btn-subscribe,
#blockEmailSubscription_displayFooterBefore button {
    background: #A00000 !important;
    background-color: #A00000 !important;
    background-image: none !important;

    color: #FFFFFF !important;

    border: 0 !important;
    box-shadow: none !important;

    transition: background-color .2s ease;
}

#blockEmailSubscription_displayFooterBefore .btn-subscribe:hover,
#blockEmailSubscription_displayFooterBefore button:hover {
    background: #700000 !important;
}


/* =========================================================
   MOBILE
   ========================================================= */


/* =========================================================
   ORSU ARMA — FINITIONS ALIGNEMENT MENU + ICONES REASSURANCE
   ========================================================= */

/* ---------- MENU : alignement parfait ---------- */

#header .header-top-inner .layout_layout5 .mm_menus_ul {
    display: flex !important;
    align-items: stretch !important;
    justify-content: center !important;
}

#header .header-top-inner .layout_layout5 .mm_menus_li {
    display: flex !important;
    align-items: stretch !important;
}

/* Tous les boutons ont exactement la même hauteur */
#header .header-top-inner .layout_layout5 .mm_menus_li > a {
    min-height: 52px !important;
    padding: 0 17px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    text-align: center !important;
    line-height: 1.2 !important;

    box-sizing: border-box !important;
}

/* Centre également les éléments internes du lien */
#header .header-top-inner .layout_layout5 .mm_menus_li > a > span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    text-align: center !important;
    height: 100% !important;
}

/* Flèches / icônes éventuelles correctement alignées */
#header .header-top-inner .layout_layout5 .mm_menus_li > a i {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}


/* Complément : éventuels spans d'icône */
#czservicecmsblock .service-icon span {
    color: #000000 !important;
}


/* =========================================================
   ORSU ARMA — REASSURANCE : ALIGNEMENT + ICONES NOIRES
   ========================================================= */

/* Les 4 services parfaitement répartis */
#czservicecmsblock .service-area {
    justify-content: space-evenly !important;
}

/* Chaque service centré */
#czservicecmsblock .service-fourth {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    text-align: center !important;
    box-sizing: border-box !important;
}

/* Pictogramme */
#czservicecmsblock .service-icon {
    margin-right: 12px !important;
    background-color: transparent !important;
    border: 0 !important;
}

/* Les icônes du thème sont blanches :
   on les convertit visuellement en noir */
#czservicecmsblock .service-icon::before,
#czservicecmsblock .service-icon::after {
    filter: brightness(0) !important;
}

/* Texte parfaitement aligné */
#czservicecmsblock .service-content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;

    text-align: left !important;
}

/* Titres */
#czservicecmsblock .service-heading {
    color: #171717 !important;
    margin: 0 !important;
}

/* Séparateurs propres */
#czservicecmsblock .service-fourth:before {
    background: #D8D8D8 !important;
}


/* ORSU ARMA — pictogrammes réassurance noirs */
#czservicecmsblock .service-area .service-fourth .service-icon {
    background-color: #171717 !important;
    filter: none !important;
    -webkit-filter: none !important;
    background-image: none !important;
}

/* Conserve et centre correctement les masques SVG */
#czservicecmsblock .service-area .service-fourth.service1 .icon1,
#czservicecmsblock .service-area .service-fourth.service2 .icon2,
#czservicecmsblock .service-area .service-fourth.service3 .icon3,
#czservicecmsblock .service-area .service-fourth.service4 .icon4 {
    background-color: #171717 !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
    filter: none !important;
    -webkit-filter: none !important;
}


/* ORSU ARMA — correction menu mobile ETS */
@media (max-width: 767px) {

    #header .ets_mm_megamenu,
    #header .ets_mm_megamenu_content,
    #header .ets_mm_megamenu_content > .container {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    #header .layout_layout5 .mm_menus_ul {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    #header .layout_layout5 .mm_menus_li {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
    }

    #header .layout_layout5 .mm_menus_li > a {
        width: 100% !important;
        min-height: 48px !important;
        padding: 0 18px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        text-align: left !important;
        box-sizing: border-box !important;
        white-space: normal !important;
    }
}


/* ORSU ARMA — restauration comportement mobile natif ETS */
@media (max-width: 767px) {

    
    
    #header .layout_layout5 .mm_menus_li {
        display: block !important;
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    #header .layout_layout5 .mm_menus_li > a {
        width: 100% !important;
        min-height: 48px !important;
        padding: 12px 42px 12px 18px !important;
        display: block !important;
        text-align: left !important;
        white-space: normal !important;
        box-sizing: border-box !important;
    }

    #header .ybc-menu-toggle {
        display: block !important;
    }
}


/* ORSU ARMA — priorité finale responsive ETS */
@media (max-width: 767px) {

    #header .header-top-inner .layout_layout5 .mm_menus_ul {
        display: block !important;
    }

    #header .header-top-inner .layout_layout5 .mm_menus_li {
        display: block !important;
        width: 100% !important;
        float: none !important;
    }

    #header .header-top-inner .layout_layout5 .mm_menus_li > a {
        display: block !important;
        width: 100% !important;
        min-height: 0 !important;
        padding: 12px 42px 12px 18px !important;
        text-align: left !important;
    }
}


/* ORSU ARMA — menu ETS mobile final */
@media (max-width: 767px) {

    /* Rubriques principales verticales */
    #header .header-top-inner .layout_layout5 .mm_menus_li {
        display: block !important;
        float: left !important;
        width: 100% !important;
        position: relative !important;
    }

    #header .header-top-inner .layout_layout5 .mm_menus_li > a {
        display: block !important;
        width: 100% !important;
        padding: 12px 42px 12px 18px !important;
        text-align: left !important;
    }

    /* Flèche des rubriques possédant un sous-menu */
    #header .header-top-inner .layout_layout5 .mm_menus_li > .arrow {
        display: block !important;
        width: 40px !important;
        height: 40px !important;
        position: absolute !important;
        right: 4px !important;
        top: 4px !important;
        z-index: 50 !important;
        cursor: pointer !important;
    }

    #header .header-top-inner .layout_layout5 .mm_menus_li > .arrow:before {
        border-left-color: #fff !important;
        border-top-color: #fff !important;
    }

    /* État fermé natif ETS */
    #header .header-top-inner .layout_layout5 .mm_columns_ul {
        display: none !important;
        position: relative !important;
        width: 100% !important;
        float: left !important;
    }

    /* État ouvert ajouté par megamenu.js */
    #header .header-top-inner .layout_layout5 .mm_columns_ul.active {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        clear: both !important;
        width: 100% !important;
    }
}


/* ORSU ARMA — compléments prix historiques encore actifs */
.products .product-miniature .product-price-and-shipping {
    margin: 8px 0 10px !important;
}

.products .product-miniature .product-price-and-shipping .price {
    line-height: 1.25 !important;
}

.products .product-miniature .regular-price {
    opacity: 1 !important;
}

@media (max-width: 767px) {
    .products .product-miniature .product-price-and-shipping .price {
        font-size: 17px !important;
    }
}


/* ORSU ARMA — cartes produits avec cadre fin */
.products .product-miniature,
.product-miniature {
    border: 1px solid #D6D6D6 !important;
    border-radius: 3px !important;
    background: #FFF !important;
    box-sizing: border-box !important;
    overflow: hidden;
}

.products .product-miniature:hover,
.product-miniature:hover {
    border-color: #171717 !important;
}

.products .product-miniature .thumbnail-container,
.product-miniature .thumbnail-container {
    margin: 0 !important;
}

.products .product-miniature .product-description,
.product-miniature .product-description {
    padding: 12px 14px 14px !important;
}


/* ORSU ARMA — positionnement de référence conservé */
.product-miniature .thumbnail-container {
    position: relative !important;
}


/* ORSU ARMA — correction définitive zone PANIER au survol */

/* La zone fonctionnelle couvre toute la photo */
.products .product_list li .product-miniature .outer-functional {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
    -webkit-transform: none !important;
    pointer-events: none !important;
    z-index: 20 !important;
}

/* Les petites fonctions restent en haut à droite */
.products .product_list li .product-miniature .functional-buttons {
    position: static !important;
    width: 100% !important;
    height: 100% !important;
    pointer-events: none !important;
}

/* Wishlist / aperçu restent utilisables */
.products .product_list li .product-miniature .quick-view-btn,
.products .product_list li .product-miniature .wishlist,
.products .product_list li .product-miniature .compare {
    pointer-events: auto !important;
}

/* Sur ordinateur : toute la zone apparaît au survol de l'article */
@media (min-width: 768px) {
    .products .product_list li .product-miniature .outer-functional {
        opacity: 0 !important;
        visibility: hidden !important;
        transition: opacity .2s ease !important;
    }

    .products .product_list li:hover .product-miniature .outer-functional {
        opacity: 1 !important;
        visibility: visible !important;
    }
}

/* Sur tactile : pas besoin de survol */
@media (max-width: 767px) {
    .products .product_list li .product-miniature .outer-functional {
        opacity: 1 !important;
        visibility: visible !important;
    }

}


/* ORSU ARMA — masque le bouton central/survol partout */
.product-miniature .outer-functional .product-actions {
    display: none !important;
}


/* ORSU ARMA — PANIER bas de carte FINAL */
.product-miniature {
    position: relative !important;
}

/* Bouton PANIER du bas */
.product-miniature .product-actions-bottom {
    display: block !important;
    position: absolute !important;

    left: 8px !important;
    right: 8px !important;
    bottom: 8px !important;
    top: auto !important;

    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 100 !important;

    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;

    transform: translateY(6px) !important;
    transition: opacity .2s ease, transform .2s ease !important;
}

/* Dès que la souris entre sur l'article */
.product-miniature:hover .product-actions-bottom {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}

.product-miniature .product-actions-bottom form {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
}

/* PANIER + icône */
.product-miniature .product-actions-bottom .cz-red-cart-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;

    width: 100% !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 16px !important;

    background: #171717 !important;
    border: 1px solid #171717 !important;
    border-radius: 3px !important;

    color: #fff !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: .7px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;

    box-shadow: none !important;
}

.product-miniature .product-actions-bottom .orsu-bottom-cart-icon {
    display: inline-flex !important;
    align-items: center !important;
    color: #fff !important;
    margin: 0 !important;
}

/* Mobile : affiché en permanence */
@media (max-width: 767px) {
    .product-miniature .product-actions-bottom {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: none !important;
        left: 6px !important;
        right: 6px !important;
        bottom: 6px !important;
    }
}


/* ORSU ARMA — correction icône PANIER */
.product-miniature .product-actions-bottom .orsu-bottom-cart-icon {
    font-family: "Material Icons" !important;
    font-weight: normal !important;
    font-style: normal !important;
    font-size: 20px !important;
    line-height: 1 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    white-space: nowrap !important;
    word-wrap: normal !important;
    direction: ltr !important;
    -webkit-font-feature-settings: "liga" !important;
    -webkit-font-smoothing: antialiased !important;
    font-feature-settings: "liga" !important;
}


/* ORSU ARMA — compléments prix conservés */
.product-miniature .product-price-and-shipping {
    min-height: 28px !important;
}

.product-miniature .product-price-and-shipping .regular-price {
    display: inline-block !important;
    font-size: 13px !important;
    margin-right: 6px !important;
}


/* ORSU ARMA — PRIX / PANIER CONSOLIDE */

/*
 * Etat final de la cascade historique :
 * - espace réservé en bas de la carte
 * - prix permanent au-dessus du bouton
 * - panier en bas
 * - panier visible au survol desktop
 */

.product-miniature .product-description {
    position: relative !important;
    padding-bottom: 72px !important;
}

.product-miniature .product-price-and-shipping,
.product-miniature:hover .product-price-and-shipping {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    position: absolute !important;
    left: 8px !important;
    right: 8px !important;
    bottom: 82px !important;

    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;
    text-align: center !important;
    z-index: 120 !important;
}

.product-miniature .product-price-and-shipping .price,
.product-miniature:hover .product-price-and-shipping .price {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    color: #A00000 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 24px !important;

    transform: none !important;
}

/* ORSU ARMA — compléments réassurance mobile */
@media (max-width: 767px) {

    #czservicecmsblock .service-content {
        flex-direction: column !important;
        text-align: center !important;
    }

    #czservicecmsblock .service-description {
        width: 100% !important;
        text-align: center !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}


/* ORSU ARMA — conserve les proportions naturelles du logo */
#header .logo {
    height: auto !important;
}

/* ORSU — Uniformisation typographique des descriptions produits */
.product-description,
.product-description p,
.product-description li,
.product-description span,
.product-description div,
.product-information .product-description,
.product-information .product-description p,
.product-information .product-description li,
.product-information .product-description span,
.product-information .product-description div {
    font-family: 'Roboto', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
}

.product-description h2,
.product-information .product-description h2 {
    font-family: 'Roboto', Arial, sans-serif !important;
    font-size: 24px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
}

.product-description h3,
.product-information .product-description h3 {
    font-family: 'Roboto', Arial, sans-serif !important;
    font-size: 19px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
}

/* ORSU — Informations fiche produit en noir profond */
#product .product-information,
#product .product-information p,
#product .product-information span:not(.product-available):not(.product-unavailable):not(.product-last-items),
#product .product-information .product-reference,
#product .product-information .product-quantities,
#product .product-information .tax-shipping-delivery-label {
    color: #000000 !important;
}

/* ORSU — Toutes les descriptions longues en noir profond */
.product-tabcontent #description .product-description,
.product-tabcontent #description .product-description p,
.product-tabcontent #description .product-description div,
.product-tabcontent #description .product-description span,
.product-tabcontent #description .product-description li,
.product-tabcontent #description .product-description ul,
.product-tabcontent #description .product-description ol,
.product-tabcontent #description .product-description strong,
.product-tabcontent #description .product-description b,
.product-tabcontent #description .product-description h2,
.product-tabcontent #description .product-description h3,
.product-tabcontent #description .product-description h4 {
    color: #000000 !important;
}

/* ORSU — Menu desktop : ouverture sans zoom + priorité sur badges */
@media (min-width: 768px) {

    /* Le menu et son conteneur restent au-dessus du contenu produits */
    #header,
    #header .header-top,
    #header .header-top-inner,
    #header .ets_mm_megamenu,
    #header .ets_mm_megamenu_content {
        position: relative;
        z-index: 1000 !important;
    }

    /* Sous-menu toujours au-dessus des badges EN STOCK */
    #header .ets_mm_megamenu .mm_columns_ul {
        z-index: 1100 !important;
    }

    /* Suppression de l'effet rotate/zoom ETS à l'ouverture */
    
    }

/* ORSU — Sous-menu desktop toujours au-dessus des badges */
@media (min-width: 768px) {
    #header .ets_mm_megamenu .mm_menus_li:hover > .mm_columns_ul {
        z-index: 1100 !important;
    }
}

/* =========================================================
   ORSU — MEGAMENU : priorité d'affichage + ouverture nette
   ========================================================= */

@media (min-width: 768px) {

    /* Le header doit toujours être au-dessus du contenu */
    #header {
        position: relative !important;
        z-index: 99999 !important;
        overflow: visible !important;
    }

    #header .header-top,
    #header .header-top-inner,
    #header .header-top-inner > .container,
    #header .ets_mm_megamenu,
    #header .ets_mm_megamenu_content,
    #header .mm_menus_ul,
    #header .mm_menus_li {
        overflow: visible !important;
    }

    /* Sous-menu au premier plan */
    #header .ets_mm_megamenu .mm_columns_ul,
    #header .ets_mm_megamenu .mm_menus_li:hover > .mm_columns_ul {
        z-index: 99999 !important;
    }

    /*
     * Suppression de l'effet 3D rotateX du thème ETS.
     * On conserve l'ouverture instantanée sans zoom.
     */
    
    }

/* ORSU — Suppression du zoom au survol des produits */
.products .product-thumbnail img,
.products .product-thumbnail img:hover,
.products .thumbnail-container,
.products .thumbnail-container:hover,
.products .product-miniature,
.products .product-miniature:hover {
    transform: none !important;
    -webkit-transform: none !important;
    -moz-transform: none !important;
    -ms-transform: none !important;
    -o-transform: none !important;
}

/* =========================================================
   ORSU — Informations produit : présentation uniforme
   ========================================================= */

#product .product-details,
#product #product-details,
#product #product-details .product-manufacturer,
#product #product-details .product-reference,
#product #product-details .product-condition,
#product #product-details .product-quantities,
#product #product-details .product-availability-date,
#product #product-details .product-features {
    color: #000000 !important;
    font-family: 'Roboto', Arial, sans-serif !important;
}

/* Chaque information produit */
#product #product-details .product-manufacturer,
#product #product-details .product-reference,
#product #product-details .product-condition,
#product #product-details .product-quantities,
#product #product-details .product-availability-date {
    margin-bottom: 8px !important;
    line-height: 1.5 !important;
}

/* Labels */
#product #product-details .label,
#product #product-details label {
    color: #000000 !important;
    font-weight: 600 !important;
}

/* Valeurs */
#product #product-details span,
#product #product-details span a {
    color: #000000 !important;
}

/* Caractéristiques techniques */
#product #product-details .product-features {
    margin-top: 18px !important;
}

#product #product-details .product-features h3 {
    color: #000000 !important;
    font-family: 'Roboto', Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    margin-bottom: 12px !important;
}

#product #product-details .data-sheet {
    color: #000000 !important;
}

#product #product-details .data-sheet dt,
#product #product-details .data-sheet dd {
    color: #000000 !important;
    font-family: 'Roboto', Arial, sans-serif !important;
    line-height: 1.5 !important;
}

#product #product-details .data-sheet dt {
    font-weight: 600 !important;
}

#product #product-details .data-sheet dd {
    font-weight: 400 !important;
    margin-bottom: 5px !important;
}

/* ORSU — Hover sous-menu : rouge très léger */
@media (min-width: 768px) {

    #header .ets_mm_megamenu .mm_columns_ul a:hover,
    #header .header-top-inner .layout_layout5 .mm_columns_ul a:hover {
        transition: background-color 0.15s ease, color 0.15s ease !important;
    }

}

/* BEGIN ORSU REASSURANCE NOIR */

/* Réassurances Codezeel / accueil / footer */
#czservicecmsblock .service-area {
    display: flex !important;
    align-items: center !important;
}

/* Bloc icône */
#czservicecmsblock .service-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Icônes noires */
#czservicecmsblock i,
#czservicecmsblock .material-icons,
#czservicecmsblock .service-icon,
#czservicecmsblock .service-icon::before,
#czservicecmsblock .service-icon::after {
    color: #000000 !important;
}

/* SVG noirs */
#czservicecmsblock svg,
#czservicecmsblock svg *,
.blockreassurance_product svg,
.blockreassurance_product svg * {
    fill: #000000 !important;
    stroke: #000000 !important;
}

/* Images/icônes bitmap en noir */
#czservicecmsblock img,
.blockreassurance_product img,
.block-reassurance img {
    filter: brightness(0) !important;
}

/* Texte parfaitement centré par rapport au logo */
#czservicecmsblock .service-content,
#czservicecmsblock .service-description {
    align-self: center !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Réassurance fiche produit PrestaShop */
.blockreassurance_product .block-reassurance-item,
.block-reassurance .block-reassurance-item {
    display: flex !important;
    align-items: center !important;
}

/* Logo fiche produit */
.blockreassurance_product .block-reassurance-item img,
.block-reassurance .block-reassurance-item img,
.blockreassurance_product .block-reassurance-item i,
.block-reassurance .block-reassurance-item i {
    flex: 0 0 auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    align-self: center !important;
    color: #000000 !important;
}

/* Texte fiche produit */
.blockreassurance_product .block-reassurance-item span,
.block-reassurance .block-reassurance-item span {
    align-self: center !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Mobile */
@media (max-width: 767px) {
    #czservicecmsblock .service-area,
    .blockreassurance_product .block-reassurance-item,
    .block-reassurance .block-reassurance-item {
        align-items: center !important;
    }
}

/* END ORSU REASSURANCE NOIR */


/* ORSU - REASSURANCE MOBILE CENTRAGE EXACT */
@media (max-width: 767px) {

    #czservicecmsblock .service-area {
        width: 100% !important;
        padding: 25px 15px !important;
        box-sizing: border-box !important;
    }

    #czservicecmsblock .service-wrap {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #czservicecmsblock .service-area .service-fourth {
        width: 100% !important;
        min-height: 78px !important;

        margin: 0 0 8px 0 !important;
        padding: 0 15px !important;

        float: none !important;
        position: relative !important;

        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;

        justify-content: center !important;
        align-items: center !important;

        text-align: left !important;
        box-sizing: border-box !important;

        transform: none !important;
    }

    #czservicecmsblock .service-area .service-fourth .service-icon {
        display: block !important;

        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;

        margin: 0 14px 0 0 !important;
        padding: 0 !important;

        float: none !important;
        position: relative !important;

        left: auto !important;
        right: auto !important;
        top: auto !important;
        bottom: auto !important;

        align-self: center !important;
        flex: 0 0 42px !important;

        transform: none !important;
    }

    #czservicecmsblock .service-area .service-fourth .service-content {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        width: auto !important;
        max-width: none !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        float: none !important;
        position: relative !important;

        left: auto !important;
        right: auto !important;
        top: auto !important;
        bottom: auto !important;

        flex: 0 0 auto !important;
        align-self: center !important;

        transform: none !important;
    }

    #czservicecmsblock .service-area .service-fourth .service-heading {
        display: block !important;

        width: auto !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;

        text-align: left !important;
        line-height: 1.25 !important;
        white-space: nowrap !important;

        transform: none !important;
    }

    #czservicecmsblock .service-area .service-fourth:before {
        display: none !important;
    }
}

/* ORSU - REASSURANCE PRODUIT + PANIER UNIFORME MOBILE */
@media (max-width: 767px) {

    #product .blockreassurance_product > div:not(.clearfix),
    #cart .blockreassurance_product > div:not(.clearfix) {
        display: grid !important;
        grid-template-columns: 44px 190px !important;
        column-gap: 14px !important;

        justify-content: center !important;
        align-items: center !important;

        width: 100% !important;
        min-height: 66px !important;

        margin: 0 0 7px 0 !important;
        padding: 9px 12px !important;

        box-sizing: border-box !important;
        text-align: left !important;
    }

    #product .blockreassurance_product > div > .item-product,
    #cart .blockreassurance_product > div > .item-product {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 44px !important;
        height: 44px !important;

        margin: 0 !important;
        padding: 0 !important;

        float: none !important;
        position: static !important;

        justify-self: center !important;
        align-self: center !important;

        transform: none !important;
    }

    #product .blockreassurance_product > div > .item-product img,
    #cart .blockreassurance_product > div > .item-product img,
    #product .blockreassurance_product > div > .item-product svg,
    #cart .blockreassurance_product > div > .item-product svg {
        display: block !important;

        width: 38px !important;
        height: 38px !important;

        margin: 0 auto !important;
        padding: 0 !important;

        object-fit: contain !important;
        filter: brightness(0) !important;

        transform: none !important;
    }

    #product .blockreassurance_product > div > .block-title,
    #cart .blockreassurance_product > div > .block-title {
        display: flex !important;
        align-items: center !important;

        width: 190px !important;
        min-height: 44px !important;

        margin: 0 !important;
        padding: 0 !important;

        float: none !important;
        position: static !important;

        justify-self: start !important;
        align-self: center !important;

        color: #000000 !important;
        text-align: left !important;

        font-size: 13px !important;
        line-height: 1.3 !important;
        font-weight: 500 !important;

        transform: none !important;
    }

    #product .blockreassurance_product > .clearfix,
    #cart .blockreassurance_product > .clearfix {
        display: none !important;
    }
}


/* ORSU ARMA — compléments panier/modale conservés */

/* Fenêtre "Produit ajouté au panier" */
@media (min-width: 768px) {
    body.modal-open #header {
        z-index: 1000 !important;
    }
}

/* Bouton panier produit */
.cz-red-cart-btn {
    opacity: 1 !important;
    filter: none !important;
}

/* Le mégamenu reste derrière pendant l'ouverture du panier */
body.cartslide_active #header .ets_mm_megamenu,
body.cartslide_active #header .ets_mm_megamenu_content,
body.cartslide_active #header .mm_menus_ul,
body.cartslide_active #header .mm_menus_li,
body.cartslide_active #header .mm_columns_ul {
    z-index: 1 !important;
}

/* Le panier reste visible */
body.cartslide_active #header #desktop_cart,
body.cartslide_active #header .blockcart,
body.cartslide_active #header .blockcart .cart_block {
    visibility: visible !important;
}


/* =========================================================
   ORSU ARMA — EMPILAGE PANIER DEFINITIF DESKTOP
   Menu + site derrière / panier blanc devant
   ========================================================= */

@media (min-width: 768px) {

    /* Libère le panier des contextes z-index du header */
    body.cartslide_active #header,
    body.cartslide_active #header .header-top,
    body.cartslide_active #header .header-top-inner,
    body.cartslide_active #header .header-top-inner > .container,
    body.cartslide_active #header #desktop_cart,
    body.cartslide_active #header .blockcart {
        z-index: auto !important;
    }

    /* Le mégamenu reste derrière le voile */
    body.cartslide_active #header .ets_mm_megamenu,
    body.cartslide_active #header .ets_mm_megamenu_content,
    body.cartslide_active #header .mm_menus_ul,
    body.cartslide_active #header .mm_menus_li,
    body.cartslide_active #header .mm_columns_ul {
        z-index: 1 !important;
    }

    /* Voile gris au-dessus du site et du menu */
    body.cartslide_active .overlay {
        z-index: 100000 !important;
    }

    /* Panneau panier blanc au-dessus du voile */
    body.cartslide_active #header .blockcart .cart_block {
        position: fixed !important;
        z-index: 100001 !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

/* ORSU ARMA — panier mobile blanc au-dessus du voile */
@media (max-width: 767px) {

    body.cartslide_active #header,
    body.cartslide_active #header .header-top,
    body.cartslide_active #header .header-top-inner,
    body.cartslide_active #header #desktop_cart,
    body.cartslide_active #header .blockcart {
        z-index: auto !important;
    }

    body.cartslide_active .overlay {
        z-index: 10000 !important;
    }

    body.cartslide_active #header .blockcart .cart_block {
        position: fixed !important;
        z-index: 10001 !important;
        opacity: 1 !important;
        visibility: visible !important;
        background: #ffffff !important;
    }
}

/* ORSU CLS HOME PRODUCTS START */

/*
 * Réserve l'espace des visuels produits avant lazy-load.
 * Ciblé uniquement sur le module ORSU de la homepage.
 */
.orsu-home-blocks .product-thumbnail {
    display: block;
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / 1;
}

.orsu-home-blocks .product-thumbnail img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
}

/* ORSU CLS HOME PRODUCTS END */

/* ORSU - compatibilite boutons navigation carrousels */
.customNavigation button.prev::before {
    content: "\f104";
}
.customNavigation button.next::before {
    content: "\f105";
}
.customNavigation button::before {
    font-family: "FontAwesome";
    font-size: 18px !important;
    font-weight: 400;
    color: #000 !important;
}


/* ORSU - navigation carrousel plus compacte */
.customNavigation button {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    padding: 0 !important;
    line-height: 24px !important;
}


/* ORSU - supprimer le cadre gris derrière les carrousels sur mobile */
@media (max-width: 767px) {
    #index .spinner {
        background: transparent !important;
        background-image: none !important;
        border-radius: 0 !important;
    }
}

/* ORSU - supprimer hauteur artificielle spinner sur mobile */
@media (max-width: 767px) {
    #index .spinner {
        min-height: 0 !important;
        height: auto !important;
    }
}


/* =========================================================
   ORSU - NEWSLETTER MOBILE STYLE PC
   ========================================================= */
@media (max-width: 767px) {

    #footer .footer-before,
    #footer-container-first,
    #blockEmailSubscription_displayFooterBefore,
    #blockEmailSubscription_displayFooterBefore .block_newsletter {
        background: #171717 !important;
        background-color: #171717 !important;
        background-image: none !important;
    }

    #footer .footer-before {
        padding: 22px 0 !important;
        text-align: left !important;
    }

    #footer .block_newsletter .row {
        display: block !important;
        margin: 0 !important;
    }

    #footer .block_newsletter .title {
        float: none !important;
        width: 100% !important;
        margin: 0 0 14px 0 !important;
        padding: 0 !important;

        background: transparent !important;
        background-color: transparent !important;

        color: #FFFFFF !important;
        font-size: 20px !important;
        line-height: 1.3 !important;
        font-weight: 500 !important;
        text-align: left !important;
    }

    #footer .block_newsletter .title::before {
        content: none !important;
        display: none !important;
    }

    #footer .block_newsletter .block_content {
        float: none !important;
        width: 100% !important;
        margin: 0 !important;
    }

    #footer .block_newsletter form {
        width: 100% !important;
        margin: 0 !important;
    }

    #footer .block_newsletter #gdpr_consent {
        margin-top: 7px !important;
        text-align: left !important;
    }
}
/* ORSU - FIN NEWSLETTER MOBILE STYLE PC */


/* ORSU - NEWSLETTER MOBILE FINAL */
@media (max-width: 767px) {

    #footer #blockEmailSubscription_displayFooterBefore.block_newsletter {
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
        border: 0 !important;
        border-radius: 0 !important;
    }

    #footer #blockEmailSubscription_displayFooterBefore.block_newsletter .title,
    #footer #blockEmailSubscription_displayFooterBefore.block_newsletter .description,
    #footer #blockEmailSubscription_displayFooterBefore.block_newsletter form,
    #footer #blockEmailSubscription_displayFooterBefore.block_newsletter form > div {
        background-color: transparent !important;
        background-image: none !important;
    }

    #footer #blockEmailSubscription_displayFooterBefore.block_newsletter .title {
        color: #fff !important;
        padding: 0 !important;
        margin: 0 0 14px !important;
        font-size: 20px !important;
        line-height: 1.3 !important;
        font-weight: 500 !important;
    }
}
/* ORSU - FIN NEWSLETTER MOBILE FINAL */


/* ORSU - BARRE MENU MOBILE NOIRE DEFINITIVE */
@media (max-width: 767px) {
    #header .ets_mm_megamenu,
    #header .ets_mm_megamenu_content,
    #header .ets_mm_megamenu_content > .container,
    #header .ybc-menu-toggle {
        background-color: #000 !important;
        background-image: none !important;
    }
}
/* ORSU - FIN BARRE MENU MOBILE NOIRE */


/* ORSU - BOUTON RETOUR EN HAUT SANS CONTOUR */
.top_button,
.top_button:hover,
.top_button:focus,
.top_button:active {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}
/* ORSU - FIN BOUTON RETOUR EN HAUT */


/* =========================================================
   ORSU - SURVOL BOUTONS PANIER PREMIUM
   Remplace le rouge de survol par anthracite
   ========================================================= */

.product-miniature .product-actions-bottom .cz-red-cart-btn {
    transition:
        background-color .25s ease,
        border-color .25s ease,
        box-shadow .25s ease !important;
}

.product-miniature .product-actions-bottom .cz-red-cart-btn:hover,
.products .product-miniature .product-actions-bottom .cz-red-cart-btn:hover {
    background: #252525 !important;
    background-color: #252525 !important;
    border-color: #252525 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.18) !important;
}

/* ORSU - FIN SURVOL BOUTONS PANIER PREMIUM */

/* =========================================================
   ORSU - MENU MOBILE : suppression du fond rouge au survol
   ========================================================= */

/* =========================================================
   ORSU - HOVER MENU PREMIUM FINAL
   Anthracite + blanc + accent argent
   ========================================================= */

/* Élément principal au survol / actif */
#header .header-top-inner .layout_layout5 .mm_menus_li:hover > a,
#header .header-top-inner .layout_layout5 .mm_menus_li.active > a,
#header .header-top-inner .layout_layout5 .mm_menus_li > a:hover {
    background: #242424 !important;
    color: #ffffff !important;
    transform: none !important;
}

/* Texte + icônes : JAMAIS rouges au survol */
#header .header-top-inner .layout_layout5 .mm_menus_li:hover > a *,
#header .header-top-inner .layout_layout5 .mm_menus_li.active > a *,
#header .header-top-inner .layout_layout5 .mm_menus_li > a:hover * {
    color: #ffffff !important;
}

/* Petit trait sous le menu : argent au lieu de rouge */
#header .header-top-inner .layout_layout5 .mm_menus_li > a::before {
    background: #9b9b9b !important;
}

/* Au survol : trait argent visible */
#header .header-top-inner .layout_layout5 .mm_menus_li:hover > a::before,
#header .header-top-inner .layout_layout5 .mm_menus_li.active > a::before {
    background: #9b9b9b !important;
    transform: scaleX(1) !important;
}

/* =========================================================
   ORSU - FIN HOVER MENU PREMIUM FINAL
   ========================================================= */

/* BEGIN ORSU SUBMENU HOVER FINAL */

/* ORSU — Hover sous-menu final : gris clair / texte noir */
#header .ets_mm_megamenu .mm_columns_ul a:hover,
#header .header-top-inner .layout_layout5 .mm_columns_ul a:hover {
    background: #f3f3f3 !important;
    color: #111111 !important;
    padding-left: 4px;
}

/* Force également les éléments internes en noir */
#header .ets_mm_megamenu .mm_columns_ul a:hover *,
#header .header-top-inner .layout_layout5 .mm_columns_ul a:hover * {
    color: #111111 !important;
}

/* Trait supérieur anthracite */
#header .header-top-inner .layout_layout5 .mm_columns_ul {
    border-top-color: #242424 !important;
}

/* END ORSU SUBMENU HOVER FINAL */

/* ==================================================
   MOBILE - CENTRAGE GRILLE PRODUITS
   ================================================== */
@media (max-width: 767px) {

  .products,
  .product_list,
  .product-miniature,
  .product-miniature .thumbnail-container {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .products.row,
  .product_list.row {
    justify-content: center !important;
  }

  .products .product-miniature,
  .product_list .product-miniature {
    float: none !important;
  }

}

/* ==================================================
   MOBILE - ALIGNEMENT HORIZONTAL MENU
   Icône gauche / texte centré / flèche droite
   ================================================== */
@media (max-width: 767px) {

  /* Lignes du menu mobile */
  
  /* Texte du menu centré */
  
  /* Icône / logo à gauche */
  .mobile-menu li > a > i:first-child {
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
  }

  /* Flèche à droite */
  .mobile-menu li > a > i:last-child {
    position: absolute !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
  }

}


/* ORSU : anciennes generations menu mobile purgees 20260915 */

/* ORSU CLS CZ PRE-OWL - RESTAURE 20260913 */
@media (max-width: 575px) {
    #newproduct-carousel:not(.owl-carousel) {
        display: flex;
        flex-wrap: nowrap;
        overflow: hidden;
        width: 100%;
    }

    #newproduct-carousel:not(.owl-carousel) > li.item {
        display: block;
        float: none;
        flex: 0 0 50%;
        width: 50%;
        box-sizing: border-box;
    }
}

@media (max-width: 319px) {
    #newproduct-carousel:not(.owl-carousel) > li.item {
        flex-basis: 100%;
        width: 100%;
    }
}

/* ORSU MEGA MENU - RATIO IMAGES PC + MOBILE 20260913 */
.ets_mm_megamenu .mm_block_type_image img {
    height: auto !important;
    object-fit: contain !important;
}







/* ORSU SUBPANEL MOBILE CONSOLIDE 20260915
   ETAPE 1 - STRUCTURE DU PANNEAU */
@media (max-width: 767px) {

    body.orsu-mobile-subpanel-open {
        overflow: hidden !important;
        touch-action: none;
    }

    #orsu-mobile-subpanel {
        position: fixed;
        z-index: 999999;

        left: 10px;
        right: 10px;
        top: 90px;
        bottom: 15px;

        display: none;
        flex-direction: column;

        background: #171717;
        box-sizing: border-box;

        box-shadow: 0 4px 24px rgba(0,0,0,.45);
    }

    #orsu-mobile-subpanel.orsu-open {
        display: flex !important;
    }

    #orsu-mobile-subpanel .orsu-subpanel-header {
        flex: 0 0 auto;

        display: flex;
        align-items: center;

        min-height: 48px;
        padding: 0 15px;

        border-bottom: 1px solid rgba(255,255,255,.16);
        background: #171717;
    }

    #orsu-mobile-subpanel .orsu-subpanel-back {
        border: 0;
        padding: 10px 12px 10px 0;

        background: transparent;
        color: #fff;

        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
    }

    #orsu-mobile-subpanel .orsu-subpanel-title {
        flex: 1;

        color: #fff;
        text-align: center;
        font-weight: 600;

        padding-right: 50px;
    }

    #orsu-mobile-subpanel .orsu-subpanel-scroll {
        flex: 1 1 auto;

        min-height: 0;

        overflow-x: hidden !important;
        overflow-y: auto !important;

        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        touch-action: pan-y;

        padding-bottom: 20px;
    }

    #orsu-mobile-subpanel .orsu-mobile-submenu-content {
        display: block !important;

        position: static !important;

        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        max-height: none !important;

        margin: 0 !important;

        opacity: 1 !important;
        visibility: visible !important;

        transform: none !important;

        float: none !important;

        overflow: visible !important;

        background: #171717 !important;
    }
}

/* ORSU SUBPANEL MOBILE - POSITION SOUS BARRE */
@media (max-width: 767px) {

    /*
     * Le panneau secondaire recouvre uniquement
     * la zone de contenu du Mega Menu.
     * La barre MENU / BACK reste visible.
     */
    #orsu-mobile-subpanel {
        position: fixed !important;

        left: 0 !important;
        right: 0 !important;

        top: 48px !important;
        bottom: 0 !important;

        width: 100% !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
        box-shadow: none !important;

        background: #171717 !important;
    }

    /*
     * Le RETOUR propre au sous-menu reste en haut
     * pendant que le contenu défile.
     */
    #orsu-mobile-subpanel .orsu-subpanel-header {
        position: relative !important;
        z-index: 2 !important;

        width: 100% !important;
        min-height: 48px !important;

        margin: 0 !important;
        box-sizing: border-box !important;
    }

    /*
     * Toute la hauteur restante appartient au scroll.
     */
    #orsu-mobile-subpanel .orsu-subpanel-scroll {
        width: 100% !important;
        min-height: 0 !important;

        overflow-x: hidden !important;
        overflow-y: auto !important;

        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior-y: contain !important;
        touch-action: pan-y !important;
    }

    /*
     * Le clone ETS ne conserve aucune contrainte
     * de positionnement du Mega Menu original.
     */
    #orsu-mobile-subpanel .mm_columns_ul,
    #orsu-mobile-subpanel .mm_columns_li,
    #orsu-mobile-subpanel .mm_blocks_ul,
    #orsu-mobile-subpanel .mm_blocks_li {
        position: static !important;

        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        max-height: none !important;

        transform: none !important;
        overflow: visible !important;

        box-sizing: border-box !important;
    }
}

/* ORSU SUBPANEL MOBILE - IMAGES */
@media (max-width: 767px) {

    /*
     * Les images du clone ETS ne doivent jamais
     * reprendre leurs dimensions desktop.
     */
    #orsu-mobile-subpanel img {
        display: block !important;

        width: auto !important;
        height: auto !important;

        max-width: 100% !important;
        max-height: 150px !important;

        margin-left: auto !important;
        margin-right: auto !important;

        object-fit: contain !important;
    }

    /*
     * Blocs image ETS :
     * hauteur automatique et pas de découpage.
     */
    #orsu-mobile-subpanel .mm_block_type_image,
    #orsu-mobile-subpanel .mm_block_type_image a,
    #orsu-mobile-subpanel .ets_mm_block_content {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        overflow: visible !important;
    }

    /*
     * Empêche les colonnes du Mega Menu desktop
     * d'imposer une largeur anormale au clone mobile.
     */
    #orsu-mobile-subpanel .mm_columns_li,
    #orsu-mobile-subpanel .mm_blocks_li {
        width: 100% !important;
        max-width: 100% !important;

        margin-left: 0 !important;
        margin-right: 0 !important;

        box-sizing: border-box !important;
    }

    /*
     * Les images décoratives restent dans une zone
     * raisonnable sur petit écran.
     */
    #orsu-mobile-subpanel .mm_block_type_image {
        width: 100% !important;
        padding: 10px 15px !important;
        box-sizing: border-box !important;
    }
}

/* ORSU SUBPANEL MOBILE - LAYOUT */
@media (max-width: 767px) {

    /*
     * Le panneau garde son scroll vertical.
     */
    #orsu-mobile-subpanel .orsu-subpanel-scroll {
        overflow-x: hidden !important;
        overflow-y: auto !important;
        padding: 0 !important;
    }

    /*
     * Le sous-menu reprend une vraie grille,
     * comme sur ordinateur.
     */
    #orsu-mobile-subpanel .mm_columns_ul {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: flex-start !important;

        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 10px !important;

        background: #fff !important;
        box-sizing: border-box !important;
    }

    /*
     * 2 colonnes visibles sur mobile.
     * On ne force plus chaque bloc sur toute la largeur.
     */
    #orsu-mobile-subpanel .mm_columns_li {
        display: block !important;
        float: none !important;

        flex: 0 0 50% !important;

        width: 50% !important;
        max-width: 50% !important;

        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 8px !important;

        vertical-align: top !important;
        box-sizing: border-box !important;

        background: #fff !important;
    }

    /*
     * Les blocs internes restent naturels.
     */
    #orsu-mobile-subpanel .mm_blocks_ul,
    #orsu-mobile-subpanel .mm_blocks_li {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;

        overflow: visible !important;

        box-sizing: border-box !important;
    }

    /*
     * Images comme dans le Mega Menu PC,
     * mais adaptées à la largeur de la colonne.
     */
    #orsu-mobile-subpanel .mm_block_type_image {
        width: 100% !important;

        margin: 0 0 8px 0 !important;
        padding: 0 !important;

        background: transparent !important;
    }

    #orsu-mobile-subpanel .mm_block_type_image a {
        display: block !important;
        width: 100% !important;
        height: auto !important;

        padding: 0 !important;
        background: transparent !important;
    }

    #orsu-mobile-subpanel .mm_block_type_image img {
        display: block !important;

        width: 100% !important;
        height: auto !important;

        max-width: 100% !important;
        max-height: 110px !important;

        margin: 0 auto !important;

        object-fit: contain !important;
    }

    /*
     * Titres et liens lisibles sur fond blanc,
     * comme un sous-menu desktop.
     */
    #orsu-mobile-subpanel .mm_columns_ul,
    #orsu-mobile-subpanel .mm_columns_ul a,
    #orsu-mobile-subpanel .mm_columns_ul span,
    #orsu-mobile-subpanel .mm_columns_ul li {
        color: #222 !important;
    }

    #orsu-mobile-subpanel .mm_block_type_category .h4,
    #orsu-mobile-subpanel .mm_block_type_category .h4 a,
    #orsu-mobile-subpanel .mm_block_type_category .h4 span,
    #orsu-mobile-subpanel .mm_blocks_li > .h4,
    #orsu-mobile-subpanel .mm_blocks_li > .h4 a {
        color: #222 !important;
        font-weight: 600 !important;
    }

    /*
     * Les listes restent entièrement visibles.
     */
    #orsu-mobile-subpanel ul,
    #orsu-mobile-subpanel li {
        max-height: none !important;
        overflow: visible !important;
    }
}

/*
 * Très petit écran : une seule colonne pour éviter
 * que les textes deviennent illisibles.
 */
@media (max-width: 340px) {
    #orsu-mobile-subpanel .mm_columns_li {
        flex-basis: 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* ORSU SUBPANEL MOBILE - COLONNES */
@media (max-width: 767px) {

    /*
     * Les colonnes deviennent indépendantes.
     * Cela évite qu'une colonne très longue repousse
     * artificiellement la suivante vers le bas.
     */
    #orsu-mobile-subpanel .mm_columns_ul {
        display: block !important;

        column-count: 2 !important;
        column-gap: 0 !important;

        width: 100% !important;
        max-width: 100% !important;

        min-height: 100% !important;

        padding: 8px !important;
        margin: 0 !important;

        background: #fff !important;
        box-sizing: border-box !important;
    }

    /*
     * Chaque ancienne colonne PC devient un bloc
     * qui reste entier dans l'une des 2 colonnes mobiles.
     */
    #orsu-mobile-subpanel .mm_columns_li {
        display: inline-block !important;

        float: none !important;

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;

        padding: 7px 8px 12px 8px !important;
        margin: 0 !important;

        vertical-align: top !important;

        break-inside: avoid-column !important;
        -webkit-column-break-inside: avoid !important;
        page-break-inside: avoid !important;

        background: #fff !important;
        box-sizing: border-box !important;
    }

    /*
     * Pas de marge parasite entre les blocs internes.
     */
    #orsu-mobile-subpanel .mm_blocks_ul {
        margin: 0 !important;
        padding: 0 !important;
    }

    #orsu-mobile-subpanel .mm_blocks_li {
        width: 100% !important;
        max-width: 100% !important;

        margin: 0 0 12px 0 !important;
        padding: 0 !important;

        box-sizing: border-box !important;
    }

    /*
     * Le fond reste blanc sur toute la partie défilante :
     * plus de grandes zones noires entre deux colonnes.
     */
    #orsu-mobile-subpanel .orsu-subpanel-scroll {
        background: #fff !important;
    }
}

/* Une seule colonne sur les écrans vraiment étroits. */
@media (max-width: 340px) {
    #orsu-mobile-subpanel .mm_columns_ul {
        column-count: 1 !important;
    }
}


/* =========================================================
   ORSU CARTES PRODUITS MOBILE REFERENCE V1 20260914
   2 colonnes / titre complet / prix bas gauche / + bas droite
   ========================================================= */

@media (max-width: 767px) {

    /* Deux produits par ligne */
    .products .product_list,
    .products .product_list.grid {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
    }

    .products .product_list > li,
    .products .product_list.grid > li {
        display: flex !important;
        flex: 0 0 50% !important;
        width: 50% !important;
        max-width: 50% !important;
        padding-left: 5px !important;
        padding-right: 5px !important;
        margin-bottom: 10px !important;
        box-sizing: border-box !important;
    }

    /* Carte blanche régulière */
    .products .product-miniature,
    .product-miniature {
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        height: 100% !important;
        min-width: 0 !important;

        background: #fff !important;
        border: 1px solid #e1e1e1 !important;
        border-radius: 10px !important;

        overflow: hidden !important;
        box-shadow: 0 2px 7px rgba(0,0,0,.06) !important;

        transform: none !important;
    }

    /* Partie image */
    .products .product-miniature .thumbnail-container,
    .product-miniature .thumbnail-container {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
    }

    .products .product-miniature .product-thumbnail,
    .product-miniature .product-thumbnail {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        overflow: hidden !important;
    }

    .products .product-miniature .product-thumbnail img,
    .product-miniature .product-thumbnail img {
        max-width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
    }

    /*
     * Description extensible :
     * réserve le bas pour prix + bouton.
     */
    .products .product-miniature .product-description,
    .product-miniature .product-description {
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        flex: 1 1 auto !important;

        width: 100% !important;
        height: auto !important;
        min-height: 155px !important;

        padding: 10px 10px 62px !important;
        box-sizing: border-box !important;
    }

    /* Titre intégral */
    .products .product-miniature .product-title,
    .products .product-miniature .product-title a,
    .product-miniature .product-title,
    .product-miniature .product-title a {
        position: static !important;

        display: block !important;
        width: 100% !important;

        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: visible !important;
        white-space: normal !important;
        text-overflow: clip !important;
        -webkit-line-clamp: unset !important;

        line-height: 1.25 !important;
    }

    /* Prix ancré en bas à gauche */
    .products .product-miniature .product-price-and-shipping,
    .product-miniature .product-price-and-shipping {
        position: absolute !important;

        left: 10px !important;
        right: 52px !important;
        bottom: 14px !important;
        top: auto !important;

        width: auto !important;
        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        text-align: left !important;
        white-space: nowrap !important;
    }

    .products .product-miniature .product-price-and-shipping .price,
    .product-miniature .product-price-and-shipping .price {
        position: static !important;
        display: inline-block !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Bouton + en bas à droite */
    .product-miniature .product-actions-bottom {
        position: absolute !important;

        right: 9px !important;
        bottom: 9px !important;
        left: auto !important;
        top: auto !important;

        width: 40px !important;
        height: 40px !important;

        margin: 0 !important;
        padding: 0 !important;

        border-radius: 50% !important;
        overflow: hidden !important;
        z-index: 200 !important;
    }

    .product-miniature .product-actions-bottom form {
        width: 40px !important;
        height: 40px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .product-miniature .product-actions-bottom .cz-red-cart-btn {
        position: relative !important;

        display: block !important;

        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;

        height: 40px !important;
        min-height: 40px !important;
        max-height: 40px !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
        border-radius: 50% !important;

        background: #e53935 !important;
        color: #fff !important;

        overflow: hidden !important;

        font-size: 0 !important;
        text-indent: -9999px !important;
    }

    .product-miniature .product-actions-bottom .cz-red-cart-btn > * {
        display: none !important;
    }

    .product-miniature .product-actions-bottom .cz-red-cart-btn::after {
        content: "+" !important;

        position: absolute !important;
        inset: 0 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 40px !important;
        height: 40px !important;

        color: #fff !important;

        font-family: Arial, sans-serif !important;
        font-size: 25px !important;
        font-weight: 400 !important;

        line-height: 40px !important;
        text-indent: 0 !important;
        text-align: center !important;
    }
}

/* ORSU - MASQUE UNIQUEMENT LE CADRE DIAGNOSTIC 20260914 */
#orsuGridDebug {
    display: none !important;
}


/* ORSU - MASQUAGE CORRECT DU CADRE DIAGNOSTIC 20260914 */
#orsu-grid-debug {
    display: none !important;
}


/* =========================================================
   ORSU PC - CARTE MOBILE REPRODUITE PROPREMENT 20260914
   ========================================================= */
@media (min-width: 992px) {

    /* GRILLE : 4 articles */
    .products ul.product_list.grid.row {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
    }

    .products ul.product_list.grid.row > li.product_item {
        display: flex !important;
        flex: 0 0 25% !important;
        width: 25% !important;
        max-width: 25% !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
        margin-bottom: 14px !important;
        box-sizing: border-box !important;
    }

    /* CARTE : même construction que mobile */
    .products ul.product_list.grid.row > li.product_item
    > .product-miniature {
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;

        width: 100% !important;
        height: 100% !important;
        min-width: 0 !important;

        background: #fff !important;
        border: 1px solid #e1e1e1 !important;
        border-radius: 14px !important;

        box-shadow: 0 3px 10px rgba(0,0,0,.08) !important;

        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    /* IMAGE */
    .products ul.product_list.grid.row
    .product-miniature .thumbnail-container {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;

        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .products ul.product_list.grid.row
    .product-miniature .product-thumbnail {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        overflow: hidden !important;
    }

    .products ul.product_list.grid.row
    .product-miniature .product-thumbnail img {
        display: block !important;
        max-width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
    }

    /* DESCRIPTION */
    .products ul.product_list.grid.row
    .product-miniature .product-description {
        position: relative !important;

        display: flex !important;
        flex-direction: column !important;
        flex: 1 1 auto !important;

        width: 100% !important;
        height: auto !important;
        min-height: 155px !important;

        padding: 10px 10px 62px !important;

        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;

        box-sizing: border-box !important;
    }

    /* TITRE COMPLET */
    .products ul.product_list.grid.row
    .product-miniature .product-title,
    .products ul.product_list.grid.row
    .product-miniature .product-title a {
        position: static !important;

        display: block !important;
        width: 100% !important;

        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        margin: 0 !important;

        overflow: visible !important;
        white-space: normal !important;
        text-overflow: clip !important;
    }

    /* PRIX BAS GAUCHE */
    .products ul.product_list.grid.row
    .product-miniature .product-price-and-shipping {
        position: absolute !important;

        left: 10px !important;
        right: 54px !important;
        bottom: 14px !important;
        top: auto !important;

        display: block !important;
        width: auto !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        white-space: nowrap !important;
    }

    .products ul.product_list.grid.row
    .product-miniature .product-price-and-shipping .price {
        position: static !important;
        display: inline-block !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
    }

    /* BOUTON + BAS DROITE */
    .products ul.product_list.grid.row
    .product-miniature .product-actions-bottom {
        position: absolute !important;

        right: 9px !important;
        bottom: 9px !important;
        left: auto !important;
        top: auto !important;

        width: 40px !important;
        height: 40px !important;

        margin: 0 !important;
        padding: 0 !important;

        z-index: 200 !important;
    }

    .products ul.product_list.grid.row
    .product-miniature .product-actions-bottom form {
        width: 40px !important;
        height: 40px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .products ul.product_list.grid.row
    .product-miniature .product-actions-bottom .cz-red-cart-btn {
        position: relative !important;
        display: block !important;

        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;

        height: 40px !important;
        min-height: 40px !important;
        max-height: 40px !important;

        padding: 0 !important;
        margin: 0 !important;

        border-radius: 50% !important;

        font-size: 0 !important;
        text-indent: -9999px !important;
    }

    .products ul.product_list.grid.row
    .product-miniature .product-actions-bottom
    .cz-red-cart-btn > * {
        display: none !important;
    }

    .products ul.product_list.grid.row
    .product-miniature .product-actions-bottom
    .cz-red-cart-btn::after {
        content: "+" !important;

        position: absolute !important;
        inset: 0 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        text-indent: 0 !important;
        font-size: 25px !important;
        line-height: 40px !important;
    }

    /* HOVER PC : léger zoom, aucun cadre noir */
    .products ul.product_list.grid.row
    > li.product_item > .product-miniature:hover {
        transform: scale(1.025) !important;
        border-color: #e1e1e1 !important;
        box-shadow: 0 9px 24px rgba(0,0,0,.11) !important;
        z-index: 20 !important;
    }
}


/* =========================================================
   ORSU FINAL 2026 — COMPTE + CADRES + PNG
   ========================================================= */

/* ----- COMPTE DEVANT LE MEGAMENU : DESKTOP ----- */
@media (min-width: 992px) {

    #header,
    #header .header-nav,
    #header .header-top,
    #header .header-top-inner,
    #header .container,
    #header .row {
        overflow: visible !important;
    }

    #header .user-info {
        position: relative !important;
        z-index: 999999 !important;
        overflow: visible !important;
    }

    #header .user-info .dropdown-menu,
    #header .user-info.open .dropdown-menu {
        position: absolute !important;
        top: 100% !important;
        right: 0 !important;
        left: auto !important;
        min-width: 220px !important;
        background: #fff !important;
        z-index: 1000000 !important;
        overflow: visible !important;
    }

    #header .ets_mm_megamenu,
    #header .ets_mm_megamenu_content {
        position: relative !important;
        z-index: 1000 !important;
    }
}

/* ----- PNG TRANSPARENTS : ACCUEIL ----- */
#index .product-miniature .thumbnail-container,
#index .product-miniature .product-thumbnail,
#index .product-miniature .product-thumbnail a,
#index .product-miniature .product-thumbnail picture,
#index .product-miniature .product-thumbnail img {
    background: transparent !important;
}

#index .product-miniature,
#index .product-miniature .thumbnail-container {
    background-color: #fff !important;
}

#index .product-miniature .product-thumbnail img {
    mix-blend-mode: normal !important;
    filter: none !important;
}

/* =========================================================
   FIN ORSU FINAL 2026
   ========================================================= */

/* ORSU PLUS HOVER PC DEBUT */
@media (min-width: 768px) {
    .product-miniature .product-actions-bottom .cz-red-cart-btn:hover {
        background: #222 !important;
        background-color: #222 !important;
        border-color: #222 !important;
    }
}
/* ORSU PLUS HOVER PC FIN */


/* ORSU PLUS 40X40 PARTOUT DEBUT */

/*
 * Le template produit utilise maintenant le même bouton + partout.
 * On verrouille uniquement ses dimensions et sa position.
 */
.product-miniature {
    position: relative !important;
}

.product-miniature .product-actions-bottom {
    position: absolute !important;

    right: 9px !important;
    bottom: 9px !important;
    left: auto !important;
    top: auto !important;

    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;

    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;
    z-index: 200 !important;
}

.product-miniature .product-actions-bottom form {
    display: block !important;

    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;

    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;

    margin: 0 !important;
    padding: 0 !important;
}

.product-miniature .product-actions-bottom .cz-red-cart-btn {
    position: relative !important;

    display: block !important;

    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;

    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 50% !important;

    background: #000 !important;
    background-color: #000 !important;

    color: #fff !important;

    font-size: 0 !important;
    line-height: 40px !important;

    text-align: center !important;
    text-indent: 0 !important;

    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* Le + présent dans le template */
.product-miniature .product-actions-bottom
.cz-red-cart-btn .orsu-cart-plus {
    display: flex !important;

    position: absolute !important;
    inset: 0 !important;

    width: 40px !important;
    height: 40px !important;

    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #fff !important;

    font-family: Arial, sans-serif !important;
    font-size: 25px !important;
    font-weight: 400 !important;
    line-height: 40px !important;

    text-indent: 0 !important;
}

/* Texte accessibilité conservé mais invisible visuellement */
.product-miniature .product-actions-bottom
.cz-red-cart-btn .sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* ORSU PLUS 40X40 PARTOUT FIN */

/* ORSU CADRE SIMPLE PARTOUT DEBUT */

/* Carte produit : un seul trait régulier sur les 4 côtés */
.products .product-miniature,
.product-miniature {
    border: 1px solid #d6d6d6 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Aucun épaississement / ombre au survol */
.products .product-miniature:hover,
.product-miniature:hover {
    border: 1px solid #d6d6d6 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* ORSU CADRE SIMPLE PARTOUT FIN */

/* ORSU-CMS12-FULLWIDTH
   Page A propos : suppression colonne gauche + contenu pleine largeur
*/
body#cms.cms-id-12 #left-column,
body#cms.cms-id-12 #right-column {
    display: none !important;
}

body#cms.cms-id-12 #content-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    flex: 0 0 100% !important;
}

body#cms.cms-id-12 .page-cms-12 {
    width: 100%;
    max-width: 100%;
}

body#cms.cms-id-12 .page-cms-12 p {
    line-height: 1.7;
    margin-bottom: 18px;
}

/* ==========================================================
   ORSU ARMA - PAGE A PROPOS PREMIUM
   ========================================================== */

body#cms.cms-id-12 .page-cms-12 {
    padding: 45px 35px 55px;
}

body#cms.cms-id-12 .orsu-about {
    max-width: 1180px;
    margin: 0 auto;
    font-size: 15px;
    line-height: 1.8;
    color: #444;
}

/* Titre */
body#cms.cms-id-12 .orsu-about > h2 {
    position: relative;
    margin: 0 0 32px;
    padding-bottom: 15px;
    font-size: 28px;
    line-height: 1.25;
    font-weight: 700;
    color: #181818;
}

body#cms.cms-id-12 .orsu-about > h2:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 65px;
    height: 3px;
    background: #d71920;
}

/* Paragraphes */
body#cms.cms-id-12 .orsu-about > p {
    margin: 0 0 22px;
    font-size: 15px;
    line-height: 1.85;
}

body#cms.cms-id-12 .orsu-about strong {
    color: #181818;
    font-weight: 600;
}

/* Adresse + horaires */
body#cms.cms-id-12 .orsu-about-infos {
    display: flex;
    gap: 25px;
    margin: 38px 0 30px;
}

body#cms.cms-id-12 .orsu-about-infos > div {
    flex: 1;
    position: relative;
    padding: 25px 28px;
    background: #f6f6f6;
    border: 1px solid #e5e5e5;
    border-top: 3px solid #d71920;
}

body#cms.cms-id-12 .orsu-about-infos h3 {
    margin: 0 0 13px;
    font-size: 19px;
    font-weight: 700;
    color: #181818;
}

body#cms.cms-id-12 .orsu-about-infos p {
    margin: 0;
    line-height: 1.75;
}

/* Signature */
body#cms.cms-id-12 .orsu-about-signature {
    margin-top: 35px !important;
    padding-top: 22px;
    border-top: 1px solid #e4e4e4;
    font-size: 16px !important;
}

/* Mobile */
@media (max-width: 767px) {

    body#cms.cms-id-12 .page-cms-12 {
        padding: 28px 18px 38px;
    }

    body#cms.cms-id-12 .orsu-about {
        font-size: 14px;
        line-height: 1.7;
    }

    body#cms.cms-id-12 .orsu-about > h2 {
        font-size: 23px;
        margin-bottom: 25px;
    }

    body#cms.cms-id-12 .orsu-about > p {
        font-size: 14px;
        line-height: 1.75;
    }

    body#cms.cms-id-12 .orsu-about-infos {
        display: block;
        margin-top: 30px;
    }

    body#cms.cms-id-12 .orsu-about-infos > div {
        margin-bottom: 18px;
        padding: 22px;
    }
}

/* ==========================================================
   FIN ORSU ARMA - PAGE A PROPOS PREMIUM
   ========================================================== */


/* ==========================================================
   ORSU ARMA - CERAKOTE CMS 14
   ========================================================== */

body#cms.cms-id-14 #left-column,
body#cms.cms-id-14 #right-column {
    display: none !important;
}

body#cms.cms-id-14 #content-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    flex: 0 0 100% !important;
}

body#cms.cms-id-14 .page-cms-14 {
    width: 100%;
    max-width: 100%;
    padding: 40px 30px 60px;
}

/* Conteneur général */

body#cms.cms-id-14 .orsu-cerakote {
    max-width: 1280px;
    margin: 0 auto;
    color: #333;
    font-size: 15px;
    line-height: 1.8;
}

/* Titres */

body#cms.cms-id-14 .orsu-cerakote h2 {
    position: relative;
    margin: 0 0 25px;
    padding-bottom: 14px;
    color: #171717;
    font-size: 28px;
    line-height: 1.3;
    font-weight: 700;
}

body#cms.cms-id-14 .orsu-cerakote h2:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 70px;
    height: 3px;
    background: #d71920;
}

body#cms.cms-id-14 .orsu-cerakote h3 {
    color: #171717;
    font-weight: 700;
}

/* Introduction */

body#cms.cms-id-14 .orsu-cerakote-intro {
    max-width: 1050px;
    margin: 0 auto 35px;
    text-align: center;
}

body#cms.cms-id-14 .orsu-cerakote-intro h2:after {
    left: 50%;
    transform: translateX(-50%);
}

body#cms.cms-id-14 .orsu-cerakote-lead {
    font-size: 17px;
    line-height: 1.8;
    color: #333;
}

/* Grande fiche */

body#cms.cms-id-14 .orsu-cerakote-visual {
    margin: 35px auto 55px;
    padding: 0;
    text-align: center;
}

body#cms.cms-id-14 .orsu-cerakote-visual img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
    border-radius: 4px;
    box-shadow: 0 12px 35px rgba(0,0,0,.16);
}

body#cms.cms-id-14 .orsu-cerakote-visual figcaption {
    margin-top: 12px;
    color: #777;
    font-size: 13px;
}

/* Sections */

body#cms.cms-id-14 .orsu-cerakote-section {
    margin: 60px 0;
}

/* 8 étapes */

body#cms.cms-id-14 .orsu-cerakote-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 35px;
}

body#cms.cms-id-14 .orsu-step {
    position: relative;
    min-height: 250px;
    padding: 30px 22px 22px;
    background: #f7f7f7;
    border: 1px solid #e4e4e4;
    border-top: 3px solid #d71920;
    transition: transform .2s ease, box-shadow .2s ease;
}

body#cms.cms-id-14 .orsu-step:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 22px rgba(0,0,0,.08);
}

body#cms.cms-id-14 .orsu-step-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 18px;
    background: #d71920;
    color: #fff;
    font-size: 19px;
    font-weight: 700;
}

body#cms.cms-id-14 .orsu-step h3 {
    margin: 0 0 12px;
    font-size: 17px;
    line-height: 1.35;
}

body#cms.cms-id-14 .orsu-step p {
    margin: 0;
    font-size: 14px;
    line-height: 1.7;
}

/* Avantages */

body#cms.cms-id-14 .orsu-cerakote-benefits {
    padding: 38px 40px;
    background: #171717;
    color: #eee;
    border-left: 4px solid #d71920;
}

body#cms.cms-id-14 .orsu-cerakote-benefits h2 {
    color: #fff;
}

body#cms.cms-id-14 .orsu-cerakote-benefits strong {
    color: #fff;
}

/* Partie locale */

body#cms.cms-id-14 .orsu-cerakote-local {
    margin-bottom: 20px;
}

body#cms.cms-id-14 .orsu-cerakote-contact {
    margin-top: 30px;
    padding: 28px 32px;
    background: #f5f5f5;
    border: 1px solid #e2e2e2;
    border-top: 3px solid #d71920;
}

body#cms.cms-id-14 .orsu-cerakote-contact h3 {
    margin: 0 0 15px;
    font-size: 20px;
}

body#cms.cms-id-14 .orsu-cerakote-contact p:last-child {
    margin-bottom: 0;
}

/* Tablette */

@media (max-width: 1100px) {

    body#cms.cms-id-14 .orsu-cerakote-steps {
        grid-template-columns: repeat(2, 1fr);
    }

}

/* Mobile */

@media (max-width: 767px) {

    body#cms.cms-id-14 .page-cms-14 {
        padding: 25px 15px 40px;
    }

    body#cms.cms-id-14 .orsu-cerakote {
        font-size: 14px;
        line-height: 1.7;
    }

    body#cms.cms-id-14 .orsu-cerakote h2 {
        font-size: 22px;
    }

    body#cms.cms-id-14 .orsu-cerakote-lead {
        font-size: 15px;
    }

    body#cms.cms-id-14 .orsu-cerakote-visual {
        margin: 25px auto 40px;
    }

    body#cms.cms-id-14 .orsu-cerakote-steps {
        display: block;
    }

    body#cms.cms-id-14 .orsu-step {
        min-height: 0;
        margin-bottom: 18px;
    }

    body#cms.cms-id-14 .orsu-cerakote-section {
        margin: 40px 0;
    }

    body#cms.cms-id-14 .orsu-cerakote-benefits {
        padding: 28px 22px;
    }

    body#cms.cms-id-14 .orsu-cerakote-contact {
        padding: 24px 22px;
    }

}

/* ==========================================================
   FIN ORSU ARMA - CERAKOTE CMS 14
   ========================================================== */


/* ==========================================================
   ORSU CERAKOTE - IMAGE COMPLETE CENTREE
   Ne jamais rogner la fiche, quel que soit l'écran
   ========================================================== */

body#cms.cms-id-14 .orsu-cerakote-visual {
    width: 100%;
    max-width: 1280px;
    margin: 35px auto 55px !important;
    padding: 0 !important;
    text-align: center;
    overflow: visible;
}

body#cms.cms-id-14 .orsu-cerakote-visual img {
    display: block !important;

    /* Toujours conserver l'image entière */
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;

    /* Aucun recadrage */
    object-fit: contain !important;
    object-position: center center !important;

    /* Centrage */
    margin-left: auto !important;
    margin-right: auto !important;

    border-radius: 4px;
}

/* Tablette */
@media (max-width: 1100px) {

    body#cms.cms-id-14 .orsu-cerakote-visual {
        width: 100%;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body#cms.cms-id-14 .orsu-cerakote-visual img {
        width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
    }

}

/* Mobile */
@media (max-width: 767px) {

    body#cms.cms-id-14 .orsu-cerakote-visual {
        width: 100%;
        margin: 22px auto 35px !important;
    }

    body#cms.cms-id-14 .orsu-cerakote-visual img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
        object-position: center center !important;
    }

}

/* ==========================================================
   FIN ORSU CERAKOTE - IMAGE COMPLETE CENTREE
   ========================================================== */


/* ==========================================================
   ORSU CERAKOTE - CENTRAGE DEFINITIF INFOGRAPHIE CMS 14
   ========================================================== */

/* Le contenu Cerakote reste parfaitement centré */
body#cms.cms-id-14 .orsu-cerakote {
    width: 100% !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Neutralise les décalages éventuels du thème sur figure */
body#cms.cms-id-14 figure.orsu-cerakote-visual,
body#cms.cms-id-14 .orsu-cerakote-visual {
    display: block !important;
    position: relative !important;

    width: 100% !important;
    max-width: 1280px !important;

    left: auto !important;
    right: auto !important;

    margin-top: 35px !important;
    margin-bottom: 55px !important;
    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    float: none !important;
    clear: both !important;

    text-align: center !important;
    box-sizing: border-box !important;
}

/* L'image elle-même */
body#cms.cms-id-14 figure.orsu-cerakote-visual > img,
body#cms.cms-id-14 .orsu-cerakote-visual > img {
    display: block !important;

    width: auto !important;
    max-width: 100% !important;
    height: auto !important;

    margin-left: auto !important;
    margin-right: auto !important;

    float: none !important;

    object-fit: contain !important;
    object-position: 50% 50% !important;

    transform: none !important;
}

/* Tablette et téléphone */
@media (max-width: 1100px) {

    body#cms.cms-id-14 figure.orsu-cerakote-visual,
    body#cms.cms-id-14 .orsu-cerakote-visual {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body#cms.cms-id-14 figure.orsu-cerakote-visual > img,
    body#cms.cms-id-14 .orsu-cerakote-visual > img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 auto !important;
        object-fit: contain !important;
        object-position: center !important;
    }
}

@media (max-width: 767px) {

    body#cms.cms-id-14 figure.orsu-cerakote-visual,
    body#cms.cms-id-14 .orsu-cerakote-visual {
        margin-top: 22px !important;
        margin-bottom: 35px !important;
    }
}

/* ==========================================================
   FIN CENTRAGE DEFINITIF INFOGRAPHIE CMS 14
   ========================================================== */


/* ==========================================================
   ORSU CMS 14 CERAKOTE - VRAI PLEIN LARGEUR / CENTRAGE
   Le thème conserve width:75.8% du layout-left-column.
   On neutralise cette largeur uniquement sur CMS 14.
   ========================================================== */

body#cms.cms-id-14 #columns_inner {
    display: block !important;
    width: 100% !important;
}

/* Le wrapper principal doit occuper toute la largeur disponible */
body#cms.cms-id-14 #content-wrapper {
    display: block !important;
    float: none !important;

    width: 100% !important;
    max-width: 100% !important;

    flex: 0 0 100% !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 15px !important;
    padding-right: 15px !important;

    box-sizing: border-box !important;
}

/* Sécurité : aucune ancienne colonne gauche ne doit réserver d'espace */
body#cms.cms-id-14 #left-column {
    display: none !important;
    width: 0 !important;
    max-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Contenu principal */
body#cms.cms-id-14 #main,
body#cms.cms-id-14 #content.page-cms-14 {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Largeur confortable et centrée du contenu Cerakote */
body#cms.cms-id-14 .orsu-cerakote {
    width: 100% !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Infographie : entière, centrée, jamais rognée */
body#cms.cms-id-14 .orsu-cerakote img[src*="cerakote-france-corse-orsu-arma"] {
    display: block !important;

    width: 100% !important;
    max-width: 1280px !important;
    height: auto !important;

    margin-left: auto !important;
    margin-right: auto !important;

    float: none !important;

    object-fit: contain !important;
    object-position: center center !important;

    transform: none !important;
}

/* Mobile */
@media (max-width: 767px) {

    body#cms.cms-id-14 #content-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    body#cms.cms-id-14 .orsu-cerakote {
        width: 100% !important;
        max-width: 100% !important;
    }

    body#cms.cms-id-14 .orsu-cerakote img[src*="cerakote-france-corse-orsu-arma"] {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
    }
}

/* ==========================================================
   FIN CORRECTION CMS 14
   ========================================================== */


/* ==========================================================
   ORSU - LIEN INTERNE A PROPOS -> CERAKOTE
   ========================================================== */

body#cms.cms-id-12 .orsu-about-cerakote {
    margin: 35px auto 15px;
    padding: 25px 30px;
    max-width: 100%;
    border-left: 4px solid #d71920;
    background: #f7f7f7;
    box-sizing: border-box;
}

body#cms.cms-id-12 .orsu-about-cerakote h2 {
    margin-top: 0;
    margin-bottom: 12px;
}

body#cms.cms-id-12 .orsu-about-cerakote p:last-child {
    margin-bottom: 0;
}

body#cms.cms-id-12 .orsu-about-cerakote .orsu-cerakote-link {
    display: inline-block;
    font-weight: 700;
    text-decoration: none;
}

body#cms.cms-id-12 .orsu-about-cerakote .orsu-cerakote-link:hover {
    text-decoration: underline;
}

@media (max-width: 767px) {
    body#cms.cms-id-12 .orsu-about-cerakote {
        padding: 20px;
        margin-top: 25px;
    }
}

/* ==========================================================
   FIN LIEN INTERNE A PROPOS -> CERAKOTE
   ========================================================== */

