/* Delame Toolkit — styles minimaux, volontairement neutres.
   Surcharge-les depuis Elementor plutôt que d'éditer ce fichier
   (il sera écrasé aux mises à jour du plugin). */

/* =====================================================================
   Tokens de design — la seule zone à modifier pour recolorer le plugin.
   Chaque composant ci-dessous ne fait que dériver de ces valeurs.
   ===================================================================== */

:root {
	--dlm-ink:        #0F0E0E;   /* Noir de marque : titres, boutons pleins. */
	--dlm-ink-hover:  #0F0E0E;   /* Variante au survol. */
	--dlm-on-ink:     #fff;      /* Texte posé sur --dlm-ink. */
	--dlm-surface:    #fff;      /* Fond des éléments clairs. */
	--dlm-line:       #d8d8d8;   /* Bordures discrètes. */
	--dlm-radius:     2px;
	--dlm-control:    2.75rem;   /* Hauteur commune des contrôles (>= 44px). */
}

.dlm-prices { list-style: none; margin: 0; padding: 0; }

.dlm-price-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1em;
}

.dlm-price-label { opacity: .75; }

.dlm-price-value {
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.dlm-price-row--oos  { opacity: .45; }
.dlm-price-row--more { opacity: .6; font-size: .9em; }

.dlm-terms { display: inline; }

/* --- Image produit + survol --- */

.dlm-thumb-link { display: block; }

.dlm-thumb {
	position: relative;
	display: block;
	overflow: hidden;
}

.dlm-thumb .dlm-img {
	display: block;
	width: 100%;
	height: auto;
}

.dlm-thumb--ratio .dlm-img--main {
	height: 100%;
}

.dlm-thumb--cover .dlm-img--main,
.dlm-thumb--cover .dlm-img--hover {
	object-fit: cover;
}

/* contain : le flacon entier reste visible, jamais rogné. */
.dlm-thumb--contain .dlm-img--main,
.dlm-thumb--contain .dlm-img--hover {
	object-fit: contain;
	object-position: center;
}

.dlm-img--hover {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity .4s ease;
	pointer-events: none;
}

.dlm-thumb.is-ready:hover .dlm-img--hover,
.dlm-thumb-link:focus-visible .dlm-thumb.is-ready .dlm-img--hover {
	opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
	.dlm-img--hover { transition: none; }
}

/* --- Titre --- */

.dlm-title { margin: 0; }

.dlm-title-link {
	color: inherit;
	text-decoration: none;
}

.dlm-title-link:hover { text-decoration: underline; }

/* --- Prix seul --- */

.dlm-price {
	display: inline-flex;
	align-items: baseline;
	gap: .35em;
	font-variant-numeric: tabular-nums;
}

.dlm-price-del { opacity: .5; }

/* --- Prix dynamique fiche produit --- */

.dlm-live-price .dlm-price-prefix { opacity: .7; }

/* Prix natif injecté par WooCommerce au-dessus du bouton d'ajout au panier.
   La classe sur <html> n'est posée que si notre shortcode est rendu. */
.dlm-has-live-price .woocommerce-variation-price {
	display: none;
}

/* --- Sélecteur de quantité --- */

:root {
	--dlm-qty-bg:          var(--dlm-surface);
	--dlm-qty-color:       var(--dlm-ink);
	--dlm-qty-bg-hover:    var(--dlm-ink);
	--dlm-qty-color-hover: var(--dlm-on-ink);
	--dlm-qty-field-bg:    var(--dlm-surface);
	--dlm-qty-field-color: var(--dlm-ink);
	--dlm-qty-border:      var(--dlm-ink);
	--dlm-qty-radius:      var(--dlm-radius);
	--dlm-qty-size:        var(--dlm-control);
	--dlm-qty-field-width: 3.25rem;
}

/* Deux familles de sélecteurs pour chaque règle : la classe posée par PHP,
   et un repli sur :has() si un fragment AJAX la perd. Les commentaires
   restent AU-DESSUS des règles : placés entre le sélecteur et l'accolade,
   leurs virgules casseraient la liste et invalideraient toute la règle. */

.quantity.dlm-qty,
.quantity:has( > .dlm-qty-btn ) {
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: stretch !important;
	flex-wrap: nowrap !important;
	flex: 0 0 auto;
	width: auto !important;
	max-width: none !important;
	min-width: 0;
	padding: 0 !important;
	border: 1px solid var(--dlm-qty-border);
	border-radius: var(--dlm-qty-radius);
	background: var(--dlm-qty-field-bg);
	line-height: 1;
	vertical-align: middle;
	overflow: visible;
}

.e-atc-qty-button-holder .quantity.dlm-qty {
	flex: 0 0 auto;
}

.quantity.dlm-qty button.dlm-qty-btn,
.quantity:has( > .dlm-qty-btn ) button.dlm-qty-btn {
	display: flex !important;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto !important;
	align-self: stretch !important;
	width: var(--dlm-qty-size) !important;
	min-width: var(--dlm-qty-size) !important;
	max-width: none !important;
	height: auto !important;
	min-height: var(--dlm-qty-size);
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	background: var(--dlm-qty-bg) !important;
	color: var(--dlm-qty-color) !important;
	font: inherit;
	font-size: 1.15em;
	font-weight: 500;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	box-shadow: none !important;
	cursor: pointer;
	transition: background-color .15s ease, color .15s ease;
}

.quantity.dlm-qty .dlm-qty-btn--minus,
.quantity:has( > .dlm-qty-btn ) .dlm-qty-btn--minus {
	border-radius: var(--dlm-qty-radius) 0 0 var(--dlm-qty-radius) !important;
}

.quantity.dlm-qty .dlm-qty-btn--plus,
.quantity:has( > .dlm-qty-btn ) .dlm-qty-btn--plus {
	border-radius: 0 var(--dlm-qty-radius) var(--dlm-qty-radius) 0 !important;
}

/* La couleur est forcée sur le span : beaucoup de thèmes ciblent
   directement les enfants des boutons, et le glyphe disparaissait
   alors sur le fond sombre du survol. */

.quantity.dlm-qty button.dlm-qty-btn > span,
.quantity:has( > .dlm-qty-btn ) button.dlm-qty-btn > span {
	color: inherit !important;
	-webkit-text-fill-color: currentColor;
	font-size: 1.05em;
	line-height: 1;
	pointer-events: none;
}

.quantity.dlm-qty button.dlm-qty-btn:hover:not( :disabled ),
.quantity.dlm-qty button.dlm-qty-btn:focus-visible:not( :disabled ),
.quantity:has( > .dlm-qty-btn ) button.dlm-qty-btn:hover:not( :disabled ),
.quantity:has( > .dlm-qty-btn ) button.dlm-qty-btn:focus-visible:not( :disabled ) {
	background: var(--dlm-qty-bg-hover) !important;
	color: var(--dlm-qty-color-hover) !important;
}

.quantity.dlm-qty button.dlm-qty-btn:hover:not( :disabled ) > span,
.quantity.dlm-qty button.dlm-qty-btn:focus-visible:not( :disabled ) > span,
.quantity:has( > .dlm-qty-btn ) button.dlm-qty-btn:hover:not( :disabled ) > span,
.quantity:has( > .dlm-qty-btn ) button.dlm-qty-btn:focus-visible:not( :disabled ) > span {
	color: var(--dlm-qty-color-hover) !important;
	-webkit-text-fill-color: var(--dlm-qty-color-hover);
}

.quantity.dlm-qty button.dlm-qty-btn:disabled,
.quantity:has( > .dlm-qty-btn ) button.dlm-qty-btn:disabled {
	opacity: .45;
	cursor: not-allowed;
}

.quantity.dlm-qty button.dlm-qty-btn:focus-visible,
.quantity:has( > .dlm-qty-btn ) button.dlm-qty-btn:focus-visible {
	outline: 2px solid var(--dlm-qty-border);
	outline-offset: -2px;
}

/* line-height:1 calerait le chiffre en haut de la boîte au lieu de le
   centrer sur la hauteur du champ. */

.quantity.dlm-qty input.qty,
.quantity:has( > .dlm-qty-btn ) input.qty {
	flex: 0 0 auto !important;
	align-self: stretch !important;
	width: var(--dlm-qty-field-width) !important;
	min-width: var(--dlm-qty-field-width) !important;
	max-width: none !important;
	height: auto !important;
	min-height: var(--dlm-qty-size);
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--dlm-qty-field-bg) !important;
	color: var(--dlm-qty-field-color) !important;
	box-shadow: none !important;
	text-align: center;
	font: inherit;
	line-height: normal !important;
	vertical-align: middle;
	-moz-appearance: textfield;
	appearance: textfield;
}

.quantity.dlm-qty input.qty::-webkit-outer-spin-button,
.quantity.dlm-qty input.qty::-webkit-inner-spin-button,
.quantity:has( > .dlm-qty-btn ) input.qty::-webkit-outer-spin-button,
.quantity:has( > .dlm-qty-btn ) input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.quantity.dlm-qty input.qty:focus,
.quantity:has( > .dlm-qty-btn ) input.qty:focus {
	outline: none;
}

/* Le label lecteur d'écran ne doit pas occuper de place dans le flex. */

.quantity.dlm-qty .screen-reader-text,
.quantity:has( > .dlm-qty-btn ) .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect( 0 0 0 0 );
	clip-path: inset( 50% );
	white-space: nowrap;
}

/* --- Swatches de variation --- */

:root {
	--dlm-swatch-border:          var(--dlm-line);
	--dlm-swatch-border-selected: var(--dlm-ink);
	--dlm-swatch-bg:              transparent;
	--dlm-swatch-bg-selected:     var(--dlm-ink);
	--dlm-swatch-color:           var(--dlm-ink);
	--dlm-swatch-color-selected:  var(--dlm-on-ink);
	--dlm-swatch-radius:          var(--dlm-radius);
	--dlm-swatch-gap:             .5rem;
}

/* Le select reste soumis avec le formulaire : on le retire visuellement,
   jamais du DOM. display:none l'ôte aussi de l'arbre d'accessibilité,
   ce qui évite un doublon de contrôle avec les boutons. */
.dlm-select-hidden { display: none !important; }

.dlm-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: var(--dlm-swatch-gap);
}

.dlm-swatches button.dlm-swatch {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	padding: .5rem 1.1rem !important;
	margin: 0 !important;
	border: 1px solid var(--dlm-swatch-border) !important;
	border-radius: var(--dlm-swatch-radius) !important;
	background: var(--dlm-swatch-bg) !important;
	color: var(--dlm-swatch-color) !important;
	font: inherit;
	font-size: .95em;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	box-shadow: none !important;
	cursor: pointer;
	transition: border-color .15s ease, background-color .15s ease, color .15s ease;
}

.dlm-swatches button.dlm-swatch:hover:not( :disabled ) {
	border-color: var(--dlm-swatch-border-selected) !important;
}

.dlm-swatches button.dlm-swatch.is-selected {
	border-color: var(--dlm-swatch-border-selected) !important;
	background: var(--dlm-swatch-bg-selected) !important;
	color: var(--dlm-swatch-color-selected) !important;
}

/* Combinaison impossible : barré plutôt que masqué, pour que le client
   comprenne que l'option existe mais n'est pas disponible ici. */
.dlm-swatches button.dlm-swatch.is-unavailable {
	opacity: .4;
	cursor: not-allowed;
	text-decoration: line-through;
}

.dlm-swatches button.dlm-swatch:focus-visible {
	outline: 2px solid var(--dlm-swatch-border-selected);
	outline-offset: 2px;
}

/* --- Fiche produit : mise en page des variations --- */

/* WooCommerce rend les attributs dans un <table>. On repasse tout en blocs
   pour obtenir le libellé au-dessus et les boutons sur une seule ligne,
   et on neutralise les fonds hérités du thème ou d'Elementor. */
form.cart table.variations,
form.cart table.variations tbody,
form.cart table.variations tr,
form.cart table.variations th,
form.cart table.variations td,
.dlm-atc table.variations,
.dlm-atc table.variations tbody,
.dlm-atc table.variations tr,
.dlm-atc table.variations th,
.dlm-atc table.variations td {
	display: block !important;
	width: auto !important;
	max-width: none !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	background: none !important;
	text-align: left !important;
	vertical-align: baseline !important;
}

form.cart .variations,
.dlm-atc .variations {
	margin: 0 0 1.5rem !important;
	background: none !important;
}

form.cart table.variations tr + tr,
.dlm-atc table.variations tr + tr {
	margin-top: 1.25rem !important;
}

form.cart table.variations th.label,
.dlm-atc table.variations th.label {
	margin-bottom: .5rem !important;
	font-weight: 600;
	line-height: 1.3;
}

form.cart table.variations th.label label,
.dlm-atc table.variations th.label label {
	margin: 0;
	padding: 0;
}

/* Les boutons ne s'étirent jamais sur la largeur disponible. Sans width:auto
   forcé, flex-basis vaut le width:100% hérité du thème et chaque bouton
   occupe une ligne entière. */
.dlm-swatches button.dlm-swatch {
	flex: 0 0 auto !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
}

.dlm-swatches {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	align-items: stretch;
	width: 100%;
}

/* --- Alignement quantité / bouton d'ajout au panier --- */

.e-atc-qty-button-holder,
.dlm-atc form.cart {
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	gap: .75rem;
}

.e-atc-qty-button-holder .single_add_to_cart_button,
.dlm-atc .single_add_to_cart_button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex: 1 1 auto;
	height: auto !important;
	min-height: var(--dlm-qty-size) !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin: 0 !important;
	line-height: 1.2;
}

/* Le bloc gravure et les champs additionnels restent en pleine largeur. */
.dlm-atc form.cart > *:not( .quantity ):not( .single_add_to_cart_button ) {
	flex: 1 1 100%;
}

/* --- Lien « Voir le panier » --- */

/* Le JS le retire du DOM ; cette règle évite qu'il n'apparaisse une fraction
   de seconde avant l'exécution du script. */
.added_to_cart { display: none !important; }

/* --- Bouton d'ajout au panier --- */

:root {
	--dlm-atc-bg:          var(--dlm-ink);
	--dlm-atc-color:       var(--dlm-on-ink);
	--dlm-atc-bg-hover:    var(--dlm-surface);
	--dlm-atc-color-hover: var(--dlm-ink);
	--dlm-atc-border:      var(--dlm-ink);
}

.e-atc-qty-button-holder .single_add_to_cart_button,
.dlm-atc .single_add_to_cart_button,
form.cart .single_add_to_cart_button {
	border: 1px solid var(--dlm-atc-border) !important;
	background: var(--dlm-atc-bg) !important;
	color: var(--dlm-atc-color) !important;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.e-atc-qty-button-holder .single_add_to_cart_button:hover:not( :disabled ),
.e-atc-qty-button-holder .single_add_to_cart_button:focus-visible:not( :disabled ),
.dlm-atc .single_add_to_cart_button:hover:not( :disabled ),
.dlm-atc .single_add_to_cart_button:focus-visible:not( :disabled ),
form.cart .single_add_to_cart_button:hover:not( :disabled ),
form.cart .single_add_to_cart_button:focus-visible:not( :disabled ) {
	background: var(--dlm-atc-bg-hover) !important;
	color: var(--dlm-atc-color-hover) !important;
}

/* --- Barre d'achat persistante --- */

:root {
	--dlm-sticky-bg:     rgba( 255, 255, 255, .96 );
	--dlm-sticky-line:   var(--dlm-line);
	--dlm-sticky-height: 4.5rem;
	--dlm-sticky-width:  1300px;   /* Aligner sur la largeur de contenu du site. */
	--dlm-sticky-z:      9990;   /* Sous les modales Elementor (10000+). */
}

.dlm-sticky {
	position: fixed;
	inset: auto 0 0 0;
	z-index: var(--dlm-sticky-z);
	background: var(--dlm-sticky-bg);
	border-top: 1px solid var(--dlm-sticky-line);
	/* transform + opacity uniquement : animation sur le compositeur,
	   sans recalcul de mise en page à chaque image.
	   État de SORTIE : courbe accélérée, la barre s'efface vite. */
	transform: translateY( 100% );
	opacity: 0;
	visibility: hidden;
	transition:
		transform  .26s cubic-bezier( .4, .0, 1, 1 ),
		opacity    .18s ease-in,
		visibility 0s linear .26s;
	padding-bottom: env( safe-area-inset-bottom, 0 );
}

@supports ( backdrop-filter: blur( 8px ) ) {
	.dlm-sticky { backdrop-filter: blur( 8px ); }
}

/* État d'ENTRÉE : décélération marquée, la barre glisse et se pose.
   Deux courbes distinctes valent mieux qu'une symétrique — une apparition
   doit être remarquée, une disparition doit se faire oublier. */
.dlm-sticky.is-visible {
	transform: translateY( 0 );
	opacity: 1;
	visibility: visible;
	transition:
		transform  .48s cubic-bezier( .16, 1, .3, 1 ),
		opacity    .3s ease-out,
		visibility 0s;
}

/* Le contenu suit avec un léger retard : la barre arrive, puis se remplit. */
.dlm-sticky__inner {
	opacity: 0;
	transform: translateY( 8px );
	transition: opacity .2s ease, transform .2s ease;
}

.dlm-sticky.is-visible .dlm-sticky__inner {
	opacity: 1;
	transform: none;
	transition:
		opacity   .35s ease-out .1s,
		transform .4s cubic-bezier( .16, 1, .3, 1 ) .08s;
}

.dlm-sticky__inner {
	display: flex;
	align-items: center;
	gap: 1rem;
	max-width: var(--dlm-sticky-width);
	min-height: var(--dlm-sticky-height);
	margin: 0 auto;
	padding: .6rem 1.25rem;
}

.dlm-sticky__media { flex: 0 0 auto; }

.dlm-sticky__img {
	display: block;
	width: 3rem;
	height: 3rem;
	object-fit: contain;
}

.dlm-sticky__meta {
	display: flex;
	flex-direction: column;
	gap: .15rem;
	min-width: 0;   /* Autorise l'ellipsis dans un conteneur flex. */
	flex: 1 1 auto;
}

.dlm-sticky__title {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font-size: .95rem;
	font-weight: 600;
	line-height: 1.2;
}

.dlm-sticky__price {
	font-size: .95rem;
	font-variant-numeric: tabular-nums;
}

.dlm-sticky__options {
	display: flex;
	flex: 0 1 auto;
	align-items: center;
	gap: .75rem;
	min-width: 0;
}

.dlm-sticky__group {
	display: flex;
	flex-direction: column;
	gap: .15rem;
	min-width: 0;
}

.dlm-sticky__group-label {
	font-size: .68rem;
	line-height: 1;
	letter-spacing: .04em;
	text-transform: uppercase;
	opacity: .6;
}

.dlm-sticky__row {
	display: flex;
	flex-wrap: nowrap;
	gap: .35rem;
}

.dlm-sticky button.dlm-sticky__opt {
	min-height: 2.5rem;
	padding: .4rem .9rem !important;
	margin: 0 !important;
	border: 1px solid var(--dlm-line) !important;
	border-radius: var(--dlm-radius) !important;
	background: transparent !important;
	color: var(--dlm-ink) !important;
	font: inherit;
	font-size: .85rem;
	line-height: 1;
	text-transform: none;
	box-shadow: none !important;
	cursor: pointer;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.dlm-sticky button.dlm-sticky__opt.is-selected {
	border-color: var(--dlm-ink) !important;
	background: var(--dlm-ink) !important;
	color: var(--dlm-on-ink) !important;
}

.dlm-sticky button.dlm-sticky__opt.is-unavailable {
	opacity: .4;
	cursor: not-allowed;
	text-decoration: line-through;
}

.dlm-sticky button.dlm-sticky__btn {
	flex: 0 0 auto;
	min-height: var(--dlm-control);
	padding: 0 1.75rem !important;
	margin: 0 !important;
	border: 1px solid var(--dlm-atc-border) !important;
	border-radius: var(--dlm-radius) !important;
	background: var(--dlm-atc-bg) !important;
	color: var(--dlm-atc-color) !important;
	font: inherit;
	font-size: .95rem;
	line-height: 1;
	text-transform: none;
	box-shadow: none !important;
	cursor: pointer;
	transition: background-color .15s ease, color .15s ease;
}

.dlm-sticky button.dlm-sticky__btn:hover,
.dlm-sticky button.dlm-sticky__btn:focus-visible {
	background: var(--dlm-atc-bg-hover) !important;
	color: var(--dlm-atc-color-hover) !important;
}

/* Sur mobile la barre passe sur deux rangées : infos + choix au-dessus,
   action en pleine largeur en dessous. Un bouton d'action large est plus
   sûr au pouce qu'un bouton étroit coincé en bout de ligne. */
@media ( max-width: 640px ) {

	.dlm-sticky__inner {
		flex-wrap: wrap;
		row-gap: .55rem;
		column-gap: .6rem;
		padding: .6rem .8rem;
		min-height: 0;
	}

	/* La vignette reste : c'est l'ancre visuelle qui confirme au client
	   quel produit il s'apprête à ajouter. */
	.dlm-sticky__media { display: block; order: 1; }
	.dlm-sticky__img { width: 2.5rem; height: 2.5rem; }

	.dlm-sticky__meta {
		flex: 1 1 auto;
		min-width: 0;
		gap: .1rem;
		order: 2;
	}

	.dlm-sticky__title { font-size: .85rem; }

	/* Le prix retrouve sa place : la seconde rangée libère de la largeur. */
	.dlm-sticky__price {
		display: block;
		font-size: .85rem;
	}

	.dlm-sticky__options {
		flex: 0 1 auto;
		align-self: center;
		order: 3;
	}

	.dlm-sticky button.dlm-sticky__opt {
		min-height: 2.4rem;
		padding: .35rem .75rem !important;
	}

	.dlm-sticky button.dlm-sticky__btn {
		flex: 1 1 100%;
		width: 100%;
		order: 4;               /* Toujours en dernier, donc sur sa propre ligne. */
		padding: 0 1rem !important;
	}
}

/* Écrans étroits : trois rangées. Les contenances passent en pleine largeur
   et se partagent l'espace à parts égales — deux cibles larges valent mieux
   que deux pastilles serrées contre le bord. */
@media ( max-width: 480px ) {

	.dlm-sticky__inner {
		row-gap: .5rem;
		padding: .55rem .7rem;
	}

	.dlm-sticky__img { width: 2.25rem; height: 2.25rem; }

	.dlm-sticky__options {
		flex: 1 1 100%;
		width: 100%;
		flex-direction: column;
		align-items: stretch;
		gap: .45rem;
	}

	.dlm-sticky__group { width: 100%; }

	.dlm-sticky__row { width: 100%; }

	.dlm-sticky button.dlm-sticky__opt {
		flex: 1 1 0;            /* Parts égales, quel que soit le libellé. */
		min-width: 0;
		min-height: 2.6rem;
		padding: .4rem .5rem !important;
	}

	.dlm-sticky button.dlm-sticky__btn { min-height: 2.9rem; }
}

@media ( prefers-reduced-motion: reduce ) {
	.dlm-sticky,
	.dlm-sticky.is-visible,
	.dlm-sticky__inner,
	.dlm-sticky.is-visible .dlm-sticky__inner {
		transform: none !important;
		transition: opacity .15s linear, visibility 0s !important;
	}
}

/* --- Attribut produit --- */

.dlm-attr__label {
	font-weight: 600;
}

.dlm-attr__item {
	color: inherit;
}

a.dlm-attr__item {
	text-decoration: none;
}

a.dlm-attr__item:hover {
	text-decoration: underline;
}
