:root{
  --gold:        #C8973A;
  --gold-light:  #E8B96A;
  --gold-dark:   #7A5A1E;
  --gold-dim:    rgba(200,151,58,0.15);
  --gold-border: rgba(200,151,58,0.3);
  --dark:        #0D0D0D;
  --dark-mid:    #1C1C1C;
  --cream:       #F5F0E8;
  --cream-dark:  #EDE6D8;
  --white:       #FFFFFF;
  --grey:        #6B6B6B;
  --grey-light:  #ABABAB;
  --font-serif:  'Fraunces', Georgia, serif;
  --font-sans:   'DM Sans', sans-serif;

  --font-size-small: 14px;
  --category-header-img-size: 130px;

  --tva-info-color:       var(--grey-light);
  --tva-info-font-size:   0.5em;
  --tva-info-font-weight: 400;
  --price-ht-color:       var(--grey-light);
  --price-ht-font-size:   0.5em;
  --price-ht-font-weight: 600;

  /* Rupture de stock (bannière fiche produit + texte du <p class="stock out-of-stock">) */
  --danger:        #B71C1C;
  --danger-bg:     #FDECEC;
  --danger-border: #F4C7C7;
}

/* Global font fixer (only mac) */
* {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* GeneratePress fixes */
.site-content
{
	display: block;
}

/* Elementor basics fixes */
.elementor-text-editor p:last-child
{
	margin-bottom: 0;
}
p.elementor-heading-title
{
	margin-bottom: 0;
}

a.elementor-button
{
	position: relative;
	z-index: 1;
}

.elementor-element > .elementor-background-overlay
{
	pointer-events: none;
}


/* Elementor lightbox fix */
.elementor-lightbox .elementor-lightbox-item
{
	padding: 0;
}


/* Elementor utils */
.no-margin
{
	margin: 0 !important;
}
.nox-flex-row.elementor-column .elementor-widget-wrap
{
	flex-direction: row;
	flex-wrap: nowrap;
}
.nox-flex-row.elementor-column .elementor-widget-wrap>.elementor-element
{
	display: flex;
	align-items: center;
	width: auto;
	margin-bottom: 0 !important;
}
.nox-flex-row.elementor-column .elementor-widget-wrap>.elementor-element .elementor-icon-wrapper
{
	display: flex;
	align-items: center;
}
.nox-pos-static.elementor-widget
{
	position: static;
}

.noxshop-brand-slide .swiper-wrapper
{
	display: flex;
	flex-direction: row;
}
.noxshop-brand-slide .swiper-slide a
{
	display: flex;
	height: 80px;
	padding: 10px;
	align-items: center;
	justify-content: center;
	background-color: #fff;
}

.noxshop-brand-slide .swiper-slide img
{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.speednox-category-header img
{
	width: var(--category-header-img-size);
	height: var(--category-header-img-size);
}

/* woocommerce */

body.noxweb-page .secondary-navigation .menu a {
    padding: 0;
    color: #ffffff;
}
.secondary-navigation {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-shrink: 0;
}
.secondary-navigation:before {
    content: '\f0ac';
    font-family: "Font Awesome 5 Pro";
    font-size: 12px;
    font-weight: 900;
    color: #fff;
    margin-right: 8px;
    line-height: 1;
}
.secondary-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.secondary-navigation ul li {
    list-style: none;
    display: inline-block;
    position: relative;
}
/* Shoptimizer : margin-right -15px pour compenser le padding des liens.
   Nos liens sont en padding 0 → le négatif faisait déborder FR hors de .col-full. */
.secondary-navigation .menu {
    margin-right: 0;
}
.secondary-navigation .menu-item:last-child {
    padding-right: 0;
}
.secondary-navigation ul ul.sub-menu {
    position: absolute;
    top: 100%;
    left: auto;
    right: 0;
    background: var(--dark);
    z-index: 9999;
    display: none;
}
.secondary-navigation ul li:hover > ul.sub-menu,
.secondary-navigation ul li.focus > ul.sub-menu {
    display: block;
    opacity: 1;
    visibility: visible;
}
@media (max-width: 992px) {
    /* Langue dans le drawer : pas de doublon avec le globe header */
    .secondary-navigation {
        display: none;
    }
    /* Séparateurs entre catégories / compte / langue (style drawer Shoptimizer) */
    .main-navigation ul.menu > li.speednox-mobile-drawer-section-start {
        margin-top: 0.75rem;
        padding-top: 0.75rem;
        border-top: 1px solid #eee;
    }
	body.theme-shoptimizer .site-header .custom-logo-link img, body.wp-custom-logo .site-header a.custom-logo-link img,
	body.theme-shoptimizer:is(.woocommerce, .woocommerce-page) .site-header .custom-logo-link img, body.wp-custom-logo:is(.woocommerce, .woocommerce-page) .site-header a.custom-logo-link img 
	{
		height: 30px;
	}
	.col-full .widget-area
	{
		padding : 0;
	}
	.mobile-filter {
		margin-left: -15px;
		width: calc(100% + 30px);
	}
}

@media (min-width: 993px) {
	.main-navigation ul.menu > li.speednox-mobile-drawer-item {
		display: none;
	}
}

/* Menu principal : 993–1279px, avant le hamburger (≤992).
   Sans ça, « Prêt à Créer » / labels DE wrap sous le panier. */
@media (min-width: 993px) and (max-width: 1279px) {
    .menu-primary-menu-container > ul.menu > li > a {
        font-size: 12.5px;
        padding-right: 0.25em;
        padding-left: 0.25em;
    }
    .menu-primary-menu-container > ul.menu > li:first-child > a {
        padding-left: 0;
    }
    .menu-primary-menu-container > ul.menu > li.menu-item-has-children > a:after,
    .menu-primary-menu-container > ul.menu > li.menu-item-has-children.nolink > span:after {
        margin-left: 2px;
        width: 10px;
        height: 10px;
    }
}

div.product p.price .woocommerce-Price-amount.amount,
.woocommerce-variation-price .price .woocommerce-Price-amount.amount,
.cgkit-as-variation-price .price .woocommerce-Price-amount.amount
{
	font-size: 1.2em;
}
ul.products li.product .cgkit-as-variation-price .price .woocommerce-Price-amount.amount
{
	font-size: 1em;
	color: var(--gold-dark);
	font-weight: 300;
}
ul.products li.product .cgkit-as-variation-price .price .speednox-price-carton
{
	font-size: 0.8em;
}
ul.products li.product .cgkit-as-variation-price .price .speednox-price-unit .label
{
	font-size: 0.8em;
}
div.product p.price span.tva-info,
.woocommerce-variation-price .price span.tva-info,
.cgkit-as-variation-price .price span.tva-info,
.shoptimizer-product-prevnext .prevnext_price span.tva-info
{
	display: block;
	font-size: var(--tva-info-font-size);
	font-weight: var(--tva-info-font-weight);
	color: var(--tva-info-color);
}
div.product p.price span.price-ht,
.woocommerce-variation-price .price span.price-ht,
.cgkit-as-variation-price .price span.price-ht,
.shoptimizer-product-prevnext .prevnext_price span.price-ht
{
	display: block;
	font-size: var(--price-ht-font-size);
	font-weight: var(--price-ht-font-weight);
	color: var(--price-ht-color);
}
div.product p.price span.price-ht .amount,
.woocommerce-variation-price .price span.price-ht .amount,
.cgkit-as-variation-price .price span.price-ht .amount,
.shoptimizer-product-prevnext .prevnext_price span.price-ht .amount
{
	font-size: 1em;
}

body.home .site-content .col-full,
body.wp-singular:not(.woocommerce-page, .tag-not-full) .site-content div:not(.archive-header)>.col-full 
{
	width: 100%;
    max-width: 100%;
    padding: 0;
}

body.elementor-page.page-template-default .site-content {
	padding-bottom: 0;
}
#primary.content-area {
	padding-bottom: 2em;
}
.col-full:after
{
	display: none;
}

em
{
	color: var(--gold);
}

/* Product page: extra info block (weight + qty + defrost time) */
/* Affiché juste sous la description courte via functions.php    */
.speednox-product-extra-info
{
	list-style: none;
	margin: 0 0 1.2em 0;
	padding: 0;
	font-size: var(--font-size-small);
}
/* Si PDFs / type suivent, la marge basse est portée par le dernier bloc du groupe */
.speednox-product-extra-info:has(+ .speednox-product-files-intro),
.speednox-product-extra-info:has(+ .speednox-product-files),
.speednox-product-extra-info:has(+ .speednox-product-type)
{
	margin-bottom: 0;
}
.speednox-product-extra-info li
{
	margin: 0;
	padding: 2px 0;
	list-style: none;
}
.speednox-product-extra-info .label
{
	font-weight: 600;
	color: var(--dark);
}
.speednox-product-extra-info .value
{
	color: var(--dark-mid);
}
.speednox-product-extra-info .price-ht
{
	font-size: 0.85em;
	color: var(--dark-light, #888);
	margin-left: 0.3em;
}
.speednox-product-extra-info .price-ht .woocommerce-Price-amount
{
	color: inherit;
}

/* Catalogue : même tailles qu’avant, seuls les rôles sont inversés */
/* (unitaire = ancien prix principal, carton = ancien « par pièce »). */
.speednox-price-unit .label
{
	font-size: var(--font-size-small);
	font-weight: 300;
	color: var(--gold-dark);
}
.speednox-price-carton
{
	font-size: var(--font-size-small);
	color: var(--gold-dark);
}
.speednox-price-carton .label
{
	font-weight: 300;
	color: inherit;
}
.speednox-price-carton .value,
.speednox-price-carton .woocommerce-Price-amount
{
	color: inherit;
}
div.product p.price .speednox-price-carton .woocommerce-Price-amount.amount,
.woocommerce-variation-price .price .speednox-price-carton .woocommerce-Price-amount.amount,
.cgkit-as-variation-price .price .speednox-price-carton .woocommerce-Price-amount.amount,
.shoptimizer-product-prevnext .prevnext_price .speednox-price-carton .woocommerce-Price-amount.amount
{
	font-size: 1em;
}
/* Promo : le <ins> du carton reste à la graisse de la ligne (le prix pièce, lui, reste en gras). */
:is(.woocommerce, .woocommerce-page) .price .speednox-price-carton ins
{
	font-weight: inherit;
	text-decoration: none;
	background: none;
}
:is(.woocommerce, .woocommerce-page) .price del.speednox-price-was
{
	margin-left: 0.35em;
}
:is(.woocommerce, .woocommerce-page) .content-area .summary span.onsale
{
	color: var(--white);
	padding: 4px 8px;
}

.speednox-product-brand:has(+ .onsale) {
	margin-bottom: .5em;
}
/* Product page: PDF files — regroupés avec les infos produit */
/* (poids / qté carton) sous la description courte            */
.speednox-product-files-intro
{
	margin: 0 0 0 0;
	font-size: var(--font-size-small);
	color: var(--dark-mid);
}
.speednox-product-files-intro .label
{
	font-weight: 600;
	color: var(--dark);
}
.speednox-product-extra-info + .speednox-product-files-intro,
.speednox-product-extra-info + .speednox-product-files
{
	margin-top: .5em;
}
.speednox-product-files
{
	list-style: none;
	margin: 0 0 20px 0;
	padding: 0;
	font-size: var(--font-size-small);
}
.speednox-product-files-intro + .speednox-product-files
{
	margin-top: .25em;
}
.speednox-product-files:has(+ .speednox-product-type)
{
	margin-bottom: 0;
}
.speednox-product-files li
{
	margin: 0;
	padding: 4px 0;
	list-style: none;
}
.speednox-product-files li a
{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--dark);
	text-decoration: none;
	transition: color .15s ease;
}
.speednox-product-files li a:hover
{
	color: var(--gold);
}
.speednox-product-files li a i
{
	color: var(--gold);
	font-size: 1.1em;
	align-self: flex-start;
}
.speednox-product-files li a span
{
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Product page: type produit (picto) under PDFs                            */
/* Injecté via speednox_product_type_under_files (prio 27)                  */
.speednox-product-type
{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 20px 0 20px 0;
	font-size: var(--font-size-small);
	font-weight: 600;
	color: var(--dark);
}

.speednox-product-type__icon
{
	display: block;
	flex-shrink: 0;
}
i.speednox-product-type__icon
{
	width: 1em;
	font-size: 20px;
	line-height: 1;
	font-weight: 300;
	text-align: center;
	color: var(--gold);
}
.speednox-product-type__label
{
	line-height: 1.2;
}

/* Product page: labels produit (meta nox_labels)                           */
/* Injectés via speednox_product_labels_under_info (prio 28), sous le bloc  */
/* d'infos produit (poids / PDFs / type).                                   */
.speednox-product-labels
{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0 0 1.2em 0;
	padding: 0;
}
.speednox-product-type + .speednox-product-labels,
.speednox-product-files + .speednox-product-labels,
.speednox-product-files-intro + .speednox-product-labels,
.speednox-product-extra-info + .speednox-product-labels
{
	margin-top: 1.5em;
}
.speednox-product-type:has(+ .speednox-product-labels)
{
	margin-bottom: 0;
}
.speednox-product-label
{
	margin: 0;
	padding: 0;
	list-style: none;
	line-height: 0;
}
.speednox-product-label__img
{
	display: block;
	height: 80px;
	width: auto;
	object-fit: contain;
}


/* Product page: rupture de stock                                           */
/* ------------------------------------------------------------------------ */
/* Bannière "Indisponible temporairement" affichée tout en haut de la fiche */
/* produit (enfant direct de <div id="product-…">, frère de .summary → prend */
/* toute la largeur du bloc produit). Injectée par PHP via le hook          */
/* speednox_out_of_stock_banner (woocommerce_before_single_product_summary, */
/* priorité 5) uniquement quand !$product->is_in_stock().                   */
/* Le clear:both/flex-basis:100% sécurise le rendu si le container .product */
/* est en float ou flex.                                                    */
.speednox-out-of-stock-banner
{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	flex-basis: 100%;
	clear: both;
	margin: 0 0 20px 0;
	padding: 12px 16px;
	background-color: var(--danger-bg);
	color: var(--danger);
	border: 1px solid var(--danger-border);
	border-radius: 3px;
	font-family: var(--font-sans);
	font-size: 15px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.speednox-out-of-stock-banner i
{
	font-size: 18px;
	color: inherit;
}

/* Texte du stock WC ("En attente de réapprovisionnement") en rouge.        */
/* Cible le <p class="stock out-of-stock"> généré par wc_get_stock_html()   */
/* pour un produit en rupture (class "out-of-stock" posée par WC + réaffirmée */
/* dans le filter speednox_product_out_of_stock côté PHP). Le cas backorder */
/* garde son propre span vert inline et n'est pas impacté (class différente).*/
.woocommerce div.product p.stock.out-of-stock,
.woocommerce-page div.product p.stock.out-of-stock
{
	color: var(--danger);
	font-weight: 600;
}


.speednox-product-sku.product_meta {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	left: 0;
	margin-bottom: 10px;
}
.speednox-product-sku.product_meta .sku_wrapper
{
	margin: 0;
}


/* --- Shortcode [noxshop_featured_categories] : grille responsive + sous-titre parent --- */
/* Mobile (≤767px) : minimum 2 colonnes. Pas de palier 1 colonne. */
.noxshop-featured-categories .noxshop-product-categories-grid
{
	display: grid;
	gap: 5px;
	grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 991px)
{
	.noxshop-featured-categories .noxshop-product-categories-grid
	{
		grid-template-columns: repeat(3, 1fr);
	}
}
@media (max-width: 767px)
{
	.noxshop-featured-categories .noxshop-product-categories-grid
	{
		grid-template-columns: repeat(2, 1fr);
	}
}

.noxshop-featured-categories .noxshop-category-item a
{
	display: block;
	text-align: left;
	text-decoration: none;
	color: inherit;
	transition: transform .35s ease;
}
.noxshop-featured-categories .noxshop-category-item a:hover
{
	transform: translateY(-6px);
}
.noxshop-featured-categories .noxshop-category-item .img-wrapper
{
	display: block;
	overflow: hidden;
}
.noxshop-featured-categories .noxshop-category-item .img-wrapper img
{
	width: 100%;
	height: auto;
	display: block;
}
.noxshop-featured-categories .noxshop-category-text
{
	position: relative;
	background: var(--white);
	padding: 14px 16px;
	text-align: left;
}
.noxshop-featured-categories .noxshop-category-text::before
{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background: var(--gold);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .35s ease;
}
.noxshop-featured-categories .noxshop-category-item a:hover .noxshop-category-text::before
{
	transform: scaleX(1);
}
.noxshop-featured-categories .noxshop-category-item h3
{
	margin: 0 0 4px;
	font-family: var(--font-serif);
	font-size: 18px;
	line-height: 1.25;
	color: var(--dark);
}
.noxshop-featured-categories .noxshop-category-parent
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	font-family: var(--font-sans);
	font-size: 12px;
	color: var(--grey-light);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}
.noxshop-featured-categories .noxshop-category-parent i
{
	color: var(--gold);
	font-size: 16px;
	opacity: 0;
	transform: translateX(-6px);
	transition: opacity .25s ease, transform .25s ease;
}
.noxshop-featured-categories .noxshop-category-item a:hover .noxshop-category-parent i
{
	opacity: 1;
	transform: translateX(0);
}

/* --- Cartes "valeur" (numéro + titre + description) : même effet hover que la grille de catégories --- */
.nox-val-card
{
	position: relative;
	transition: transform .35s ease, box-shadow .35s ease;
}
.nox-val-card::after
{
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background: var(--gold);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .35s ease;
}
.nox-val-card div.elementor-heading-title
{
	transition: color .35s ease;
}
body.noxweb-page .nox-val-card:hover div.elementor-heading-title
{
	color: var(--cream);
}
.nox-val-card:hover
{
	transform: translateY(-6px);
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.10);
}
.nox-val-card:hover::after
{
	transform: scaleX(1);
}

.speednox-product-sku .speednox-product-barcode {
	flex: 0 0 auto;
	max-width: 120px;
}

@media (max-width: 768px) {
	.speednox-product-sku.product_meta {
		flex-direction: column;
		align-items: flex-start;
	}
	.speednox-product-sku .speednox-product-barcode {
		order: 2;
		margin-top: 10px;
	}
}
@media (min-width: 769px) {
	.speednox-product-sku.product_meta {
		justify-content: space-between;
	}
	.speednox-product-sku .speednox-product-barcode {
		margin-left: auto;
	}
}

/* Relecture traductions FR/DE — shortcode [speednox_translation_review] */
.speednox-tr-review {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 0 3rem;
	color: var(--dark);
	font-family: var(--font-sans);
}
.speednox-tr-header {
	margin-bottom: 2rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--gold-border);
}
.speednox-tr-header__summary {
	margin: 0 0 .35rem;
	font-size: 1rem;
}
.speednox-tr-header__tp {
	color: var(--grey);
	font-size: var(--font-size-small);
}
.speednox-tr-header__hint {
	margin: 0;
	color: var(--grey);
	font-size: var(--font-size-small);
}
.speednox-tr-header__actions {
	margin: .75rem 0;
}
.speednox-tr-export {
	display: inline-block;
	padding: .5rem 1rem;
	background: var(--gold);
	color: var(--dark);
	text-decoration: none;
	font-weight: 600;
	border: 1px solid var(--gold-dark, var(--gold));
}
.speednox-tr-export:hover,
.speednox-tr-export:focus {
	background: var(--gold-dark, var(--gold));
	color: var(--white, #fff);
	text-decoration: none;
}
.speednox-tr-denied {
	padding: 1rem;
	background: var(--danger-bg);
	border: 1px solid var(--danger-border);
	color: var(--danger);
}
.speednox-tr-category {
	margin-bottom: 2.5rem;
}
.speednox-tr-category__title {
	margin: 0 0 1rem;
	font-family: var(--font-serif);
	font-size: 1.5rem;
	color: var(--gold-dark);
	border-bottom: 2px solid var(--gold);
	padding-bottom: .4rem;
}
.speednox-tr-category__count {
	font-family: var(--font-sans);
	font-size: .85em;
	font-weight: 400;
	color: var(--grey);
}
.speednox-tr-product {
	display: grid;
	grid-template-columns: 90px 1fr;
	gap: 1rem 1.25rem;
	padding: 1rem 0;
	border-bottom: 1px solid var(--cream-dark);
}
.speednox-tr-product[data-has-missing="1"] {
	background: linear-gradient(90deg, var(--danger-bg) 0, transparent 8px);
}
.speednox-tr-product__media {
	align-self: start;
}
.speednox-tr-product__media img,
.speednox-tr-thumb__img {
	display: block;
	width: 90px;
	height: 90px;
	object-fit: cover;
	border: 1px solid var(--cream-dark);
}
.speednox-tr-product__meta {
	display: flex;
	flex-wrap: wrap;
	gap: .35rem .75rem;
	margin-bottom: .65rem;
	font-size: var(--font-size-small);
	color: var(--grey);
}
.speednox-tr-product__edit,
.speednox-tr-product__view {
	color: var(--gold-dark);
	text-decoration: underline;
}
.speednox-tr-field {
	margin-bottom: .75rem;
}
.speednox-tr-field:last-child {
	margin-bottom: 0;
}
.speednox-tr-field__label {
	font-size: .75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--grey);
	margin-bottom: .35rem;
}
.speednox-tr-field__cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .75rem;
}
.speednox-tr-lang {
	padding: .6rem .75rem;
	background: var(--cream);
	border: 1px solid var(--cream-dark);
	font-size: .95rem;
	line-height: 1.45;
}
.speednox-tr-lang--de[data-missing="1"] {
	background: var(--danger-bg);
	border-color: var(--danger-border);
}
.speednox-tr-lang p {
	margin: 0 0 .4em;
}
.speednox-tr-lang p:last-child {
	margin-bottom: 0;
}
.speednox-tr-title {
	font-weight: 600;
	margin: 0;
}
.speednox-tr-empty {
	margin: 0;
	color: var(--grey-light);
	font-style: italic;
}
@media (max-width: 768px) {
	.speednox-tr-product {
		grid-template-columns: 64px 1fr;
		gap: .75rem;
	}
	.speednox-tr-product__media img,
	.speednox-tr-thumb__img {
		width: 64px;
		height: 64px;
	}
	.speednox-tr-field__cols {
		grid-template-columns: 1fr;
	}
}

/* ------------------------------------------------------------------------ */
/* B2B : zone ATC remplacée (invités) — texte + bouton Se connecter         */
/* Sticky ATC Shoptimizer / CommerceKit masqués hors session.               */
/* ------------------------------------------------------------------------ */
.speednox-login-required-cart
{
	margin: 1.25em 0;
}
.speednox-login-required-cart__text
{
	margin: 0 0 .75em 0;
	font-family: var(--font-sans);
	font-size: 1em;
	font-weight: 600;
	color: var(--dark);
}
.speednox-login-required-cart__button.button
{
	display: inline-flex;
	align-items: center;
	gap: .5em;
}
.speednox-login-required-cart__icon
{
	display: inline-flex;
	line-height: 1;
}
.speednox-login-required-cart__icon i
{
	font-size: 1em;
}

body:not(.logged-in).single-product .shoptimizer-sticky-add-to-cart,
body:not(.logged-in).single-product #cgkit-mobile-commercekit-sticky-atc,
body:not(.logged-in).single-product .sticky-atc_button,
body:not(.logged-in).single-product form.commercekit_sticky-atc,
body:not(.logged-in) .commercekit-wishlist,
body:not(.logged-in) .commercekit-save-wishlist,
body:not(.logged-in) a.commercekit-add-wishlist
{
	display: none !important;
}

/* ------------------------------------------------------------------------ */
/* Page wishlist : même colonne que panier / compte                         */
/* ------------------------------------------------------------------------ */
/* Sans .woocommerce-page, la page WP prend la règle .wp-singular          */
/* (col-full 100 %) + Kirki .content-area 76 % (sidebar de page vide).      */
body.speednox-wishlist-page .content-area
{
	width: 100%;
}
body.speednox-wishlist-page .site-main
{
	padding-top: 2rem;
	padding-bottom: 2rem;
}
@media (min-width: 993px)
{
	#commercekit-wishlist-shortcode ul.products.columns-4 li.product:not(.wsl-no-products)
	{
		width: 24.97%;
	}
}
#commercekit-wishlist-shortcode .wsl-no-title
{
	font-family: var(--font-serif);
	font-size: var(--h2-size, 24px);
	font-weight: 300;
	color: var(--dark);
}
#commercekit-wishlist-shortcode .wsl-no-desc
{
	font-family: var(--font-sans);
	color: var(--grey);
}
#commercekit-wishlist-shortcode .wsl-no-icon svg path
{
	stroke: var(--gold-border);
}
body.cgkit-has-wishlist .woocommerce-MyAccount-content h2
{
	margin-top: 0;
}
/* ------------------------------------------------------------------------ */
/* Page login Mon compte : colonne Demande d'accès (B2B)                    */
/* ------------------------------------------------------------------------ */
/* Le h2 login garde son margin thème (1.5em). Le nôtre est :first-child →
   margin 0 : on le remet à 1.5em pour s'aligner sur « Se connecter ». */
.speednox-customer-login .speednox-login-access__title
{
	margin-top: 1.5em;
}
.speednox-login-access__text
{
	margin: 0 0 1.25rem 0;
	font-family: var(--font-sans);
	line-height: 1.5;
	color: var(--dark-mid);
}
.speednox-login-access__button.button
{
	display: inline-flex;
	align-items: center;
	gap: .5em;
}
.speednox-login-access__icon
{
	display: inline-flex;
	line-height: 1;
}
.speednox-login-access__icon i
{
	font-size: 1em;
}
.select-caret-down-wrapper {
    display: none;
}

.elementor-nav-menu--main .elementor-nav-menu a
{
    transition-duration: 0s;
}

.tax_label,
.widget_shopping_cart p.total .tax_label
{
	display: none;
}

.widget_shopping_cart .speednox-mini-cart-cartons
{
	display: flex;
	justify-content: space-between;
	margin-bottom: 0.5em;
}

/* ------------------------------------------------------------------------ */
/* Checkout B2B : masquer choix paiement / modes de livraison (Block)        */
/* ------------------------------------------------------------------------ */
.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block,
.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block,
.woocommerce-checkout .wp-block-woocommerce-checkout-pickup-options-block,
.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block,
.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block,
.woocommerce-checkout .wc-block-checkout__payment-method,
.woocommerce-checkout .wc-block-checkout__shipping-option
{
	display: none !important;
}

/* Titres d’adresse dans les cartes ; heading WC masqué visuellement */
.woocommerce-checkout .wc-block-checkout__shipping-fields .wc-block-components-checkout-step__heading,
.woocommerce-checkout .wc-block-checkout__shipping-fields .wc-block-components-checkout-step__heading-container,
.woocommerce-checkout .wc-block-checkout__shipping-fields .wc-block-components-checkout-step__description,
.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-checkout-step__heading,
.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-checkout-step__heading-container,
.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-checkout-step__description
{
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	margin: 0;
	padding: 0;
}
.woocommerce-checkout .wc-block-checkout__shipping-fields.wc-block-components-checkout-step
{
	margin: 0;
}
.woocommerce-checkout .wc-block-components-address-card
{
	flex-direction: column;
	gap: 0.5em;
}
.woocommerce-checkout .wc-block-components-address-card.speednox-has-address-lines > address
{
	display: none;
}
.woocommerce-checkout .speednox-checkout-address-lines
{
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	font-style: normal;
}
.woocommerce-checkout .speednox-checkout-address-title,
.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-text-input label,
.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-text-input.is-active label
{
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
	margin: 0;
}
.woocommerce-checkout .speednox-checkout-address-text
{
	margin: 0;
	font-size: inherit;
	font-weight: 400;
	line-height: 1.5;
	color: inherit;
}

/* Mention promotions sous les totaux (panier + checkout) */
.speednox-promo-notice
{
	margin: 0;
	font-size: var(--font-size-small);
	line-height: 1.4;
}
.woocommerce-checkout .wc-block-components-totals-wrapper.slot-wrapper .speednox-promo-notice,
.woocommerce-checkout .wc-block-components-totals-wrapper.slot-wrapper .wc-block-components-totals-item.speednox-carton-count
{
	padding: 16px;
}

/* Nombre de cartons : ligne sous le total (panier + checkout) */
.speednox-carton-count .wc-block-components-totals-item__label,
.speednox-carton-count .wc-block-components-totals-item__value
{
	font-weight: 700;
}

/* Notices noxweb dans chaque fieldset : masquées (une seule sous les deux blocs) */
.woocommerce-checkout .wc-block-checkout__shipping-fields .noxweb-lock-addresses-notice,
.woocommerce-checkout .wc-block-checkout__billing-fields .noxweb-lock-addresses-notice
{
	display: none;
}

/* Message d’adresses + phrases info : texte courant */
.woocommerce-checkout .speednox-checkout-address-notice
{
	margin: 0 0 24px;
	font-size: inherit;
	font-weight: 400;
	line-height: 1.5;
	color: inherit;
}

/* E-mail + code client : même cadre / typo que les cartes d’adresse */
.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-checkout-step__content
{
	border: 1px solid color-mix(in srgb, currentColor 20%, transparent);
	border-radius: 4px;
	padding: 16px;
	display: flex;
	flex-direction: column;
	gap: 0.5em;
	font-size: var(--wp--preset--font-size--small, 15px);
	line-height: 1.4;
}
.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-checkout-step__content > *
{
	margin-bottom: 0;
}
.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-text-input
{
	display: flex;
	flex-direction: column-reverse;
	align-items: stretch;
	margin: 0;
	line-height: inherit;
	white-space: normal;
	gap: 0.5em;
}
.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-text-input label,
.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-text-input.is-active label
{
	position: static;
	transform: none !important;
	left: auto;
	top: auto;
	max-width: none;
	display: block;
	padding: 0;
	cursor: default;
	color: inherit;
}
.woocommerce-checkout .wc-block-checkout__contact-fields input[type="email"],
.woocommerce-checkout .wc-block-checkout__contact-fields #email
{
	border: 0 !important;
	background: transparent !important;
	height: auto !important;
	min-height: 0;
	width: auto;
	max-width: 100%;
	padding: 0 !important;
	margin: 0;
	opacity: 1 !important;
	color: inherit;
	font-family: inherit;
	font-size: inherit !important;
	font-weight: 500;
	font-style: normal;
	line-height: 1.4;
	box-shadow: none !important;
	border-radius: 0;
}
.woocommerce-checkout .speednox-checkout-customer-code
{
	display: flex;
	flex-direction: column;
	gap: 0.5em;
}
.woocommerce-checkout .speednox-checkout-customer-code__value
{
	margin: 0;
	font-style: normal;
	font-weight: 500;
	line-height: 1.4;
}

/* Note de commande : toujours visible, sans case à cocher (Block) */
.woocommerce-checkout .wc-block-checkout__add-note .wc-block-components-checkbox
{
	pointer-events: none;
}
.woocommerce-checkout .wc-block-checkout__add-note .wc-block-components-checkbox__input,
.woocommerce-checkout .wc-block-checkout__add-note .wc-block-components-checkbox__mark
{
	display: none;
}
.woocommerce-checkout .wc-block-checkout__add-note .wc-block-components-checkbox label
{
	cursor: default;
	gap: 0;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
}

/* Réf. produit à la place de l'aperçu de description (panier / mini-panier) */
.speednox-cart-item-sku
{
	display: block;
	margin: 0.25em 0 0;
	font-size: 0.875em;
	font-weight: 400;
	color: var(--grey);
}
.wc-block-components-product-metadata__description .speednox-cart-item-sku
{
	margin: 0;
}

/* ------------------------------------------------------------------------ */
/* Minimum de cartons : barre mini panier + masquer Commander sous le seuil  */
/* ------------------------------------------------------------------------ */
body.speednox-min-cartons-blocked .wc-block-cart__submit,
body.speednox-min-cartons-blocked .wc-block-cart__submit-container,
body.speednox-min-cartons-blocked .wp-block-woocommerce-proceed-to-checkout-block,
body.speednox-min-cartons-blocked .wp-block-woocommerce-cart-express-payment-block,
body.speednox-min-cartons-blocked .wc-proceed-to-checkout,
body.speednox-min-cartons-blocked .wc-block-mini-cart__footer-checkout,
body.speednox-min-cartons-blocked .widget_shopping_cart a.button.checkout,
.widget_shopping_cart_content:has(.speednox-min-cartons-bar:not(.ckit-fsn-bar-active)) a.button.checkout,
.wc-block-mini-cart__drawer:has(.speednox-min-cartons-bar:not(.ckit-fsn-bar-active)) .wc-block-mini-cart__footer-checkout
{
	display: none !important;
}

.speednox-min-cartons-bar
{
	width: 100%;
	text-align: center;
	margin-bottom: 10px;
	--commercekit-fsn-bar-color: var(--gold);
}
.speednox-min-cartons-bar .cgkit-fsn-progress-bar
{
	height: 8px;
	background: #ddd;
	border-radius: 5px;
	margin-bottom: 3px;
}
.speednox-min-cartons-bar .cgkit-fsn-amount
{
	height: 8px;
	background: var(--commercekit-fsn-bar-color, var(--gold));
	display: block;
	border-radius: 5px;
}
.speednox-min-cartons-bar .cgkit-fsn-notice,
.speednox-min-cartons-bar .cgkit-fsn-title
{
	font-size: 12px;
	display: inline-block;
	line-height: 1.4;
}
.speednox-min-cartons-bar .cgkit-fsn-notice .amount
{
	color: var(--commercekit-fsn-bar-color, var(--gold));
	font-weight: bold;
}
.speednox-min-cartons-bar.ckit-fsn-bar-active .cgkit-fsn-title
{
	position: relative;
	padding-left: 23px;
	font-size: 12px;
}
.speednox-min-cartons-bar.ckit-fsn-bar-active .cgkit-fsn-title:before
{
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -9px;
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	background: var(--commercekit-fsn-bar-color, var(--gold));
	-webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 12L11 14L15 10M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z' stroke='%234A5568' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 12L11 14L15 10M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z' stroke='%234A5568' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
}

/* ------------------------------------------------------------------------ */
/* Re-commander : notices au-dessus du Cart Block                            */
/* ------------------------------------------------------------------------ */
.speednox-cart-notices
{
	margin-bottom: 1.5rem;
}
.speednox-cart-notices .woocommerce-info,
.speednox-cart-notices .woocommerce-message,
.speednox-cart-notices .woocommerce-error
{
	margin-bottom: 0.75rem;
}
.speednox-cart-notices .woocommerce-info:last-child,
.speednox-cart-notices .woocommerce-message:last-child,
.speednox-cart-notices .woocommerce-error:last-child
{
	margin-bottom: 0;
}
.speednox-cart-notices .woocommerce-info
{
	background-color: #E6A817;
}

/* ------------------------------------------------------------------------ */
/* Paniers enregistrés                                                      */
/* ------------------------------------------------------------------------ */
/* Shoptimizer masque le h1 de la page panier. On le réaffiche. */
body.woocommerce-cart h1.entry-title
{
	display: block;
	margin-top: 20px;
}
.woocommerce-view-order .woocommerce-MyAccount-content p.order-again
{
	display: flex;
	align-items: center;
	gap: 0.75rem;
}
.speednox-ot-save-open
{
	display: flex;
	align-items: center;
	gap: 0.4rem;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: #6b6b6b;
	font-weight: 400;
	line-height: 1.2;
	cursor: pointer;
	justify-content: center;
}
.speednox-ot-save-open:hover,
.speednox-ot-save-open:focus-visible
{
	color: var(--gold-dark);
}
.speednox-ot-save-open .fa-save
{
	font-size: 1.2em;
	line-height: 1;
}
.speednox-ot-dialog
{
	width: min(24rem, calc(100vw - 2rem));
	margin: auto;
	padding: 1.5rem 1.5rem 1.25rem;
	border: 1px solid #e2e2e2;
	background: #fff;
}
.speednox-ot-dialog::backdrop
{
	background: rgba(13, 13, 13, 0.45);
}
.speednox-ot-dialog .speednox-ot-heading
{
	margin: 0 2rem 1rem 0;
}
.speednox-ot-dialog form
{
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.75rem;
	margin: 0;
}
.speednox-ot-save-line
{
	margin: 0 0 1.5rem;
}
.wp-block-speednox-cart-save-order
{
	margin: 0.75rem 0 0;
}
.speednox-ot-dialog input[type="text"]
{
	width: 100%;
	min-width: 0;
}
.speednox-ot-dialog-close
{
	position: absolute;
	top: 0.6rem;
	right: 0.6rem;
	width: 2rem;
	height: 2rem;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: var(--dark);
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
}
.woocommerce-MyAccount-content .speednox-ot-account .woocommerce-orders-table__cell-order-actions > form
{
	display: inline;
	margin: 0;
}
.woocommerce-MyAccount-content .speednox-ot-account form.speednox-ot-rename-form
{
	position: absolute;
	width: 1px;
	height: 1px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.woocommerce-account .speednox-ot-account table.account-orders-table
{
	width: 100%;
}
.woocommerce-account .speednox-ot-account .woocommerce-orders-table__header-order-number,
.woocommerce-account .speednox-ot-account .woocommerce-orders-table__cell-order-number
{
	width: auto;
}
.woocommerce-account .speednox-ot-account .woocommerce-orders-table__header-order-status,
.woocommerce-account .speednox-ot-account .woocommerce-orders-table__header-order-date,
.woocommerce-account .speednox-ot-account tr.woocommerce-orders-table__row td.woocommerce-orders-table__cell-order-status,
.woocommerce-account .speednox-ot-account tr.woocommerce-orders-table__row td.woocommerce-orders-table__cell-order-date
{
	width: 1%;
	padding-right: 0.5rem;
	white-space: nowrap;
}
.woocommerce-account .speednox-ot-account .woocommerce-orders-table__header-order-actions,
.woocommerce-account .speednox-ot-account tr.woocommerce-orders-table__row td.woocommerce-orders-table__cell-order-actions
{
	width: 1%;
	white-space: nowrap;
}
.woocommerce-account table.shop_table input.speednox-ot-name-input[type="text"]
{
	display: none;
	box-sizing: border-box;
	width: 10rem;
	max-width: 16rem;
	height: auto;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	font-size: inherit;
	font-weight: 600;
	line-height: inherit;
	color: inherit;
	cursor: text;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	flex: 1 1 auto;
	min-width: 0;
}
@media (max-width: 992px)
{
	.woocommerce-account .speednox-ot-account .woocommerce-orders-table__header-order-number,
	.woocommerce-account .speednox-ot-account .woocommerce-orders-table__cell-order-number,
	.woocommerce-account .speednox-ot-account .woocommerce-orders-table__header-order-status,
	.woocommerce-account .speednox-ot-account .woocommerce-orders-table__header-order-date,
	.woocommerce-account .speednox-ot-account tr.woocommerce-orders-table__row td.woocommerce-orders-table__cell-order-status,
	.woocommerce-account .speednox-ot-account tr.woocommerce-orders-table__row td.woocommerce-orders-table__cell-order-date,
	.woocommerce-account .speednox-ot-account .woocommerce-orders-table__header-order-actions,
	.woocommerce-account .speednox-ot-account tr.woocommerce-orders-table__row td.woocommerce-orders-table__cell-order-actions
	{
		width: auto;
		white-space: normal;
	}
	.woocommerce-account .speednox-ot-account table.shop_table input.speednox-ot-name-input[type="text"]
	{
		width: auto;
		max-width: 100%;
	}
	.woocommerce-account .speednox-ot-account .woocommerce-orders-table__cell-order-number
	{
		display: block;
	}
	.woocommerce-account .speednox-ot-account tr.woocommerce-orders-table__row td::before
	{
		padding-right: 0.75rem;
	}
	.woocommerce-account .speednox-ot-account tr.woocommerce-orders-table__row td.woocommerce-orders-table__cell-order-actions
	{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		row-gap: 0.5rem;
	}
}
.woocommerce-account table.shop_table input.speednox-ot-name-input[type="text"].is-editing
{
	display: block;
	width: 16rem;
	min-width: 12rem;
	max-width: 100%;
	cursor: text;
	border-bottom: 1px solid currentColor;
}
.woocommerce-account table.shop_table input.speednox-ot-name-input[type="text"]:focus
{
	outline: none;
	box-shadow: none;
	background: transparent;
	border-color: currentColor;
}
.woocommerce-account .speednox-ot-account tr.speednox-ot-row
{
	cursor: pointer;
}
.woocommerce-account .speednox-ot-account tr.speednox-ot-detail[hidden]
{
	display: none;
}
.woocommerce-account .speednox-ot-account .speednox-ot-name-line
{
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	max-width: 100%;
	vertical-align: middle;
	position: relative;
}
.woocommerce-account .speednox-ot-account button.speednox-ot-toggle
{
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	flex: 0 1 auto;
	min-width: 0;
	max-width: 16rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: inherit;
	font: inherit;
	font-weight: 600;
	line-height: inherit;
	text-align: left;
	cursor: pointer;
}
.woocommerce-account .speednox-ot-account button.speednox-ot-toggle:hover,
.woocommerce-account .speednox-ot-account button.speednox-ot-toggle:focus
{
	background: transparent;
	box-shadow: none;
	color: inherit;
}
.woocommerce-account .speednox-ot-account .speednox-ot-toggle .fa-chevron-right
{
	flex: 0 0 auto;
	color: #8a8a8a;
	font-size: 0.75rem;
	transition: transform 0.15s ease;
}
.woocommerce-account .speednox-ot-account tr.speednox-ot-row.is-open .speednox-ot-toggle .fa-chevron-right
{
	transform: rotate(90deg);
}
.woocommerce-account .speednox-ot-account .speednox-ot-name-text
{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	min-width: 0;
}
.woocommerce-account .speednox-ot-account tr.speednox-ot-row.is-editing .speednox-ot-name-text
{
	display: none;
}
.woocommerce-account .speednox-ot-account tr.speednox-ot-row.is-editing button.speednox-ot-toggle
{
	flex: 0 0 auto;
	max-width: none;
}
.woocommerce-account .speednox-ot-account .speednox-ot-tools
{
	display: none;
	flex: 0 0 auto;
	align-items: center;
	gap: 0.1rem;
}
.woocommerce-account .speednox-ot-account tr.speednox-ot-row.is-open .speednox-ot-tools
{
	display: inline-flex;
}
.woocommerce-account .speednox-ot-account .speednox-ot-tools form
{
	display: inline;
	margin: 0;
}
.woocommerce-account .speednox-ot-account button.speednox-ot-icon-btn,
.woocommerce-account .speednox-ot-account button.speednox-ot-icon-btn:hover,
.woocommerce-account .speednox-ot-account button.speednox-ot-icon-btn:focus
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.65rem;
	min-width: 1.65rem;
	height: 1.65rem;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: #8a8a8a;
	font-size: 0.85rem;
	line-height: 1;
	cursor: pointer;
}
.woocommerce-account .speednox-ot-account button.speednox-ot-icon-btn:hover,
.woocommerce-account .speednox-ot-account button.speednox-ot-icon-btn:focus-visible
{
	color: #555;
}
.woocommerce-account .speednox-ot-account .speednox-ot-rename .fa-check
{
	display: none;
}
.woocommerce-account .speednox-ot-account tr.speednox-ot-row.is-editing .speednox-ot-rename .fa-pencil-alt
{
	display: none;
}
.woocommerce-account .speednox-ot-account tr.speednox-ot-row.is-editing .speednox-ot-rename .fa-check
{
	display: inline-block;
}
.woocommerce-account .speednox-ot-account tr.speednox-ot-row.is-open > th,
.woocommerce-account .speednox-ot-account tr.speednox-ot-row.is-open > td
{
	border-bottom: 0;
}
.woocommerce-account .speednox-ot-account tr.speednox-ot-detail > td
{
	border-top: 0;
	background: #f7f6f4;
	text-align: left !important;
}
.woocommerce-account .speednox-ot-account tr.speednox-ot-detail > td::before
{
	content: none;
	display: none;
}
.speednox-ot-products
{
	list-style: none;
	margin: 0;
	padding: 0;
}
.speednox-ot-product
{
	display: grid;
	grid-template-columns: 3rem minmax(8rem, 1fr) auto auto auto;
	gap: 0.35rem 1rem;
	align-items: center;
	padding: 0.45rem;
	border-top: 1px solid #e6e6e6;
}
.speednox-ot-product-photo
{
	width: 3rem;
	height: 3rem;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: #fff;
}
.speednox-ot-product-photo img
{
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.speednox-ot-product-name
{
	font-weight: 600;
	line-height: 1.3;
}
.speednox-ot-product-ref,
.speednox-ot-product-ref .speednox-cart-item-sku
{
	margin: 0;
	color: #666;
	font-size: 13px;
	font-weight: 400;
	white-space: nowrap;
}
.speednox-ot-product-price
{
	white-space: nowrap;
}
.speednox-ot-product-qty
{
	color: #333;
	font-weight: 600;
	white-space: nowrap;
}
@media (max-width: 768px)
{
	.speednox-ot-product
	{
		grid-template-columns: 3rem minmax(0, 1fr) auto;
		grid-template-areas:
			"photo name qty"
			"photo ref price";
	}
	.speednox-ot-product-photo
	{
		grid-area: photo;
	}
	.speednox-ot-product-name
	{
		grid-area: name;
	}
	.speednox-ot-product-ref
	{
		grid-area: ref;
	}
	.speednox-ot-product-price
	{
		grid-area: price;
		justify-self: end;
	}
	.speednox-ot-product-qty
	{
		grid-area: qty;
		justify-self: end;
	}
}

/* ------------------------------------------------------------------------ */
/* Commande rapide (commerciaux)                                            */
/* ------------------------------------------------------------------------ */
body.speednox-quick-order-page .content-area .col-full,
body.speednox-quick-order-page .site-content .col-full
{
	max-width: 1100px;
}
.speednox-qo
{
	position: relative;
	font-family: var(--font-sans);
	color: var(--dark);
	--speednox-qo-sticky-filter: calc(40px + 0.9rem);
}
body.speednox-quick-order-page .elementor,
body.speednox-quick-order-page .elementor-element,
body.speednox-quick-order-page .e-con,
body.speednox-quick-order-page .e-con-inner,
body.speednox-quick-order-page .elementor-widget-container,
body.speednox-quick-order-page .elementor-shortcode
{
	overflow: visible !important;
}
.speednox-qo__confirm
{
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 1.5rem;
	background: rgba(13, 13, 13, 0.55);
	pointer-events: none;
}
.speednox-qo__confirm.is-open
{
	display: flex;
	pointer-events: auto;
}
.speednox-qo__confirm-box
{
	width: min(32rem, 100%);
	padding: 1.5rem 1.75rem;
	background: var(--white);
	border: 1px solid var(--gold-border);
	box-shadow: 0 12px 40px rgba(13, 13, 13, 0.18);
}
.speednox-qo__confirm-text
{
	margin: 0 0 1.25rem;
	font-size: 1.05rem;
	line-height: 1.45;
}
.speednox-qo__confirm-actions
{
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}
.speednox-qo__label
{
	display: block;
	margin: 0 0 0.35rem;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--grey);
}
.speednox-qo__client
{
	margin: 0 0 1.25rem;
}
.speednox-qo__client-row
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1rem;
}
.speednox-qo__client-row .speednox-qo__combo
{
	flex: 1 1 16rem;
}
.speednox-qo__mine
{
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0;
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
}
.speednox-qo__mine-hint
{
	flex: 1 1 12rem;
	font-size: 0.8rem;
	font-weight: 400;
	color: var(--grey);
}
.speednox-qo__toolbar
{
	position: relative;
	margin: 0 0 0.75rem;
}
i.speednox-qo__search-icon
{
	position: absolute;
	left: 0.85rem;
	top: 0;
	display: flex;
	align-items: center;
	height: 40px;
	color: var(--grey);
	font-size: 0.95rem;
	pointer-events: none;
	z-index: 1;
}
.speednox-qo__input[hidden] + .speednox-qo__search-icon
{
	display: none;
}
.speednox-qo__input[type="search"]
{
	padding-right: 2.4rem;
}
.speednox-qo__search-clear
{
	position: absolute;
	right: 0.25rem;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 40px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--grey);
	font-size: 1rem;
	cursor: pointer;
	z-index: 1;
}
.speednox-qo__search-clear:hover
{
	color: var(--dark);
}
.speednox-qo__search-clear[hidden],
.speednox-qo__input[hidden] ~ .speednox-qo__search-clear
{
	display: none;
}
.speednox-qo__table-wrap
{
	max-height: 70vh;
	overflow: auto;
	border: 1px solid var(--gold-border);
}
.speednox-qo__table-wrap .speednox-qo__table
{
	margin: 0;
}
.speednox-qo__table thead th
{
	position: sticky;
	top: 0;
	z-index: 1;
	background: var(--white);
}
.speednox-qo__table tr.is-previous td
{
	background: rgba(200, 151, 58, 0.06);
}
.speednox-qo__table tr.is-in-cart td
{
	background: var(--gold-dim);
}
.speednox-qo__nomatch
{
	margin: 0.75rem;
	color: var(--grey);
}
.speednox-qo__nomatch[hidden]
{
	display: none;
}
.speednox-qo__ship-label
{
	display: block;
	margin: 0 0 0.35rem;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--gold-dark);
}
.speednox-qo__ship-select
{
	margin: 0 0 0.5rem;
}
.speednox-qo__picked
{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.85rem;
	align-items: center;
}
.speednox-qo__picked[hidden]
{
	display: none;
}
.speednox-qo__picked > .speednox-qo__chip
{
	justify-self: start;
	max-width: 100%;
}
.speednox-qo__chip
{
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.4rem 0.55rem 0.4rem 0.85rem;
	background: var(--gold-dim);
	border: 1px solid var(--gold-border);
	font-weight: 600;
}
.speednox-qo__chip--email
{
	padding: 0.4rem 0.85rem;
	overflow-wrap: anywhere;
}
.speednox-qo__chip[hidden],
.speednox-qo__input[hidden],
.speednox-qo__client-row[hidden]
{
	display: none;
}
.speednox-qo__chip-clear
{
	border: 0;
	background: transparent;
	color: var(--gold-dark);
	font-size: 1.35rem;
	line-height: 1;
	cursor: pointer;
}
.speednox-qo__addresses
{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.85rem;
	margin-top: 0.85rem;
}
.speednox-qo__addresses[hidden]
{
	display: none;
}
.speednox-qo__address
{
	padding: 0.75rem 0.85rem;
	border: 1px solid var(--gold-border);
	background: var(--white);
	font-size: 0.9rem;
	line-height: 1.4;
}
h3.speednox-qo__address-title
{
	margin: 0 0 0.4rem;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--gold-dark);
}
.speednox-qo__address address
{
	margin: 0;
	font-style: normal;
}
.speednox-qo__address.is-empty address
{
	color: var(--grey);
}
@media (max-width: 640px)
{
	.speednox-qo__picked,
	.speednox-qo__addresses
	{
		grid-template-columns: 1fr;
	}
}
.speednox-qo__combo
{
	position: relative;
}
.speednox-qo__input
{
	width: 100%;
	margin: 0;
	padding: 0.55rem 0.7rem;
	border: 1px solid var(--gold-border);
	background: var(--white);
	color: var(--dark);
	font-size: 1rem;
	line-height: 1.3;
}
.speednox-qo__input--qty
{
	text-align: center;
}
.speednox-qo__suggest
{
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	z-index: 20;
	max-height: 16rem;
	overflow: auto;
	margin: 0;
	padding: 0.25rem 0;
	list-style: none;
	background: var(--white);
	border: 1px solid var(--gold-border);
	box-shadow: 0 8px 24px rgba(13, 13, 13, 0.12);
}
.speednox-qo__suggest--portal
{
	position: fixed;
	right: auto;
	z-index: 100010;
}
.speednox-qo__suggest[hidden]
{
	display: none !important;
}
.speednox-qo__suggest-item
{
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	padding: 0.45rem 0.75rem;
	cursor: pointer;
}
.speednox-qo__suggest-item.is-active,
.speednox-qo__suggest-item:hover
{
	background: var(--gold-dim);
}
.speednox-qo__suggest-title
{
	font-weight: 600;
}
.speednox-qo__suggest-meta
{
	font-size: 0.85rem;
	color: var(--grey);
}
.speednox-qo__error
{
	margin: 0.5rem 0 0;
	color: var(--danger);
	font-weight: 600;
}
.speednox-qo__error[hidden]
{
	display: none;
}
.speednox-qo__table
{
	width: 100%;
	margin: 0 0 0.5rem;
	border-collapse: collapse;
	line-height: 1.2em;
}
.speednox-qo__table th
{
	padding: 0.4rem 0.5rem;
	border-bottom: 2px solid var(--gold);
	text-align: left;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: var(--gold-dark);
}
.speednox-qo__table td
{
	padding: 0.55rem 0.4rem;
	border-bottom: 1px solid var(--gold-border);
	vertical-align: middle;
}
.speednox-qo__td-sku
{
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	font-weight: 600;
}
.speednox-qo__line-meta
{
	display: block;
	margin-top: 0.15em;
	font-size: 0.8em;
	color: var(--grey);
	font-weight: 400;
}
.speednox-qo__td-sku .speednox-qo__line-meta i
{
	margin-right: 0.3em;
}
.speednox-qo__td-price .speednox-qo__line-meta .woocommerce-Price-amount
{
	color: inherit;
	font-weight: inherit;
}
.speednox-qo__table .speednox-qo__input--qty
{
	width: 4.5rem;
}
.speednox-qo__remove
{
	border: 0;
	background: transparent;
	color: var(--danger);
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
}
.speednox-qo__table tfoot
{
	font-weight: inherit;
}
@media (max-width: 992px)
{
	.speednox-qo__table-wrap
	{
		max-height: none;
		overflow: visible;
	}
	.speednox-qo__toolbar
	{
		position: sticky;
		top: 0;
		z-index: 3;
		margin: 0;
		padding: 0.4rem 0 0.5rem;
		background: var(--white);
	}
	.speednox-qo__table thead th
	{
		top: var(--speednox-qo-sticky-filter);
		z-index: 2;
	}
	body.sticky-m .speednox-qo__toolbar
	{
		top: 70px;
	}
	body.sticky-m .speednox-qo__table thead th
	{
		top: calc(70px + var(--speednox-qo-sticky-filter));
	}
	.speednox-qo__table
	{
		font-size: 12px;
	}
	.speednox-qo__table .speednox-qo__input--qty
	{
		width: 3rem;
		padding: 0.3rem 0.2rem;
		font-size: inherit;
	}
}
.speednox-qo__composer-row td
{
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
	border-bottom: 0;
	background: var(--gold-dim);
	vertical-align: middle;
}
.speednox-qo__td-search .speednox-qo__input
{
	min-width: 12rem;
}
.speednox-qo__td-add .button
{
	margin: 0;
}
.speednox-qo__footer
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.75rem 1.25rem;
	margin-top: 1.25rem;
	padding: 1rem 0 0.5rem;
	border-top: 1px solid var(--gold-border);
	position: sticky;
	bottom: 0;
	background: var(--white);
	z-index: 2;
}
.speednox-qo__min
{
	margin: 0;
	margin-right: auto;
	color: var(--danger);
	font-weight: 600;
}
.speednox-qo__min[hidden]
{
	display: none;
}
.speednox-qo__total
{
	margin: 0;
	font-size: 1.05rem;
}
#speednox-qo-checkout.button,
.speednox-qo__confirm-actions .button
{
	color: var(--white);
	background-color: var(--gold);
	border-color: var(--gold);
}
#speednox-qo-checkout.button:hover,
.speednox-qo__confirm-actions .button:hover
{
	background-color: var(--gold-light);
	border-color: var(--gold-light);
}
#speednox-qo-checkout.is-disabled
{
	pointer-events: none;
	opacity: 0.45;
}
.speednox-qo.is-syncing #speednox-qo-checkout
{
	pointer-events: none;
	opacity: 0.45;
}

/* Confirmation : bouton Nouvelle commande, même ligne que le titre */
.speednox-thankyou-head
{
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	column-gap: 1rem;
	margin: 1.5em 0 1em;
}
.woocommerce-checkout .speednox-thankyou-head p.woocommerce-thankyou-order-received
{
	grid-column: 2;
	margin: 0;
}
.speednox-thankyou-head .speednox-qo-new-order
{
	grid-column: 3;
	justify-self: end;
	margin: 0;
}
.speednox-qo-new-order .button
{
	color: var(--white);
	background-color: var(--gold);
	border-color: var(--gold);
}
.speednox-qo-new-order .button:hover
{
	background-color: var(--gold-light);
	border-color: var(--gold-light);
}
@media (max-width: 782px)
{
	.speednox-thankyou-head
	{
		grid-template-columns: 1fr;
		justify-items: center;
		row-gap: 0.75rem;
	}
	.woocommerce-checkout .speednox-thankyou-head p.woocommerce-thankyou-order-received,
	.speednox-thankyou-head .speednox-qo-new-order
	{
		grid-column: 1;
	}
}

/* ------------------------------------------------------------------------ */
/* Détails du compte : identité en lecture seule, mot de passe OK           */
/* ------------------------------------------------------------------------ */
.woocommerce-EditAccountForm .woocommerce-form-row input:not([type="password"]):not([type="hidden"]):not([type="submit"]),
.woocommerce-EditAccountForm .woocommerce-form-row select,
.woocommerce-EditAccountForm .woocommerce-form-row textarea
{
	background-color: #f5f5f5;
	cursor: not-allowed;
	pointer-events: none;
	user-select: none;
	opacity: 0.85;
}
.woocommerce-MyAccount-content .speednox-lock-account-notice
{
	margin: 0 0 1.5rem;
	font-size: inherit;
	font-weight: 400;
	line-height: 1.5;
	color: inherit;
}
.woocommerce-MyAccount-content .speednox-account-customer-code
{
	margin: 0 0 1.5rem;
}

/* Commande rapide : même emplacement que les icônes du menu compte */
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--commande-rapide a:before
{
	content: none;
	width: 0;
	height: 0;
	background: none;
}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--commande-rapide a .fa-shopping-cart
{
	float: right;
	width: 20px;
	font-size: 16px;
	line-height: 20px;
	text-align: center;
	position: relative;
	top: 2px;
	color: #111;
	opacity: 0.35;
	transition: 0.2s all;
}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--commande-rapide a:hover .fa-shopping-cart,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--commande-rapide.is-active a .fa-shopping-cart
{
	opacity: 1;
}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--modeles a:before
{
	content: none;
	width: 0;
	height: 0;
	background: none;
}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--modeles a .fa-bookmark
{
	float: right;
	width: 20px;
	font-size: 16px;
	line-height: 20px;
	text-align: center;
	position: relative;
	top: 2px;
	color: #111;
	opacity: 0.35;
	transition: 0.2s all;
}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--modeles a:hover .fa-bookmark,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--modeles.is-active a .fa-bookmark
{
	opacity: 1;
}

/* ------------------------------------------------------------------------ */
/* Fiche commande : adresses encadrées comme le checkout                    */
/* E-mail et n° client sur la même ligne, dans leur carte                   */
/* ------------------------------------------------------------------------ */
.woocommerce .woocommerce-customer-details .speednox-order-addresses
{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin: 0;
}
.woocommerce .woocommerce-customer-details .speednox-order-contact,
.woocommerce .woocommerce-customer-details .speednox-order-address-card
{
	border: 1px solid color-mix(in srgb, currentColor 20%, transparent);
	border-radius: 4px;
	padding: 16px;
	margin: 0;
	font-size: var(--wp--preset--font-size--small, 14px);
	line-height: 1.4;
	box-sizing: border-box;
}
.woocommerce .woocommerce-customer-details .speednox-order-contact
{
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5em 16px;
}
.woocommerce .woocommerce-customer-details .speednox-order-contact.is-single
{
	grid-template-columns: 1fr;
}
.woocommerce .woocommerce-customer-details .speednox-order-address-card
{
	display: flex;
	flex-direction: column;
	gap: 0.5em;
	min-width: 0;
}
.woocommerce .woocommerce-customer-details .speednox-order-address-card h2.speednox-order-address-card__title,
.woocommerce .woocommerce-customer-details .speednox-order-address-card__label
{
	font-family: var(--font-sans);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
	margin: 0;
}
.woocommerce .woocommerce-customer-details .speednox-order-addresses .speednox-order-address-card address
{
	display: block;
	border: 0;
	border-radius: 0;
	padding: 0;
	margin: 0;
	width: auto;
	font-size: inherit;
	font-style: normal;
	font-weight: 400;
	line-height: 1.5;
	color: inherit;
}
.woocommerce .woocommerce-customer-details .speednox-order-address-card__field
{
	display: flex;
	flex-direction: column;
	gap: 0.5em;
	min-width: 0;
}
.woocommerce .woocommerce-customer-details .speednox-order-address-card__value
{
	margin: 0;
	font-size: inherit;
	font-weight: 500;
	line-height: 1.4;
	color: inherit;
	overflow-wrap: anywhere;
}
.woocommerce .woocommerce-customer-details .speednox-order-address-card .woocommerce-customer-details--phone
{
	position: relative;
	margin: 0.5em 0 0;
}
@media (max-width: 768px)
{
	.woocommerce .woocommerce-customer-details .speednox-order-addresses,
	.woocommerce .woocommerce-customer-details .speednox-order-contact
	{
		grid-template-columns: 1fr;
	}
}

/* ------------------------------------------------------------------------ */
/* Catalogue PDF                                                            */
/* ------------------------------------------------------------------------ */
.speednox-catalog-pdf
{
	position: relative;
	max-width: 64rem;
}
.speednox-catalog-pdf__panels
{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem 1.25rem;
	margin: 0 0 1.25rem;
}
@media (max-width: 720px)
{
	.speednox-catalog-pdf__panels
	{
		grid-template-columns: 1fr;
	}
}
.speednox-catalog-pdf__panel
{
	padding: .7rem .8rem .85rem;
	background: var(--cream);
	border: 1px solid var(--gold-border);
	min-width: 0;
}
.speednox-catalog-pdf__panel-title
{
	margin: 0 0 .35rem;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--dark);
}
.speednox-catalog-pdf__toolbar
{
	display: flex;
	flex-wrap: wrap;
	gap: .2rem 1rem;
	margin: 0 0 .55rem;
}
.speednox-catalog-pdf__select
{
	font-size: .8em;
	color: var(--gold-dark);
	text-decoration: underline;
	text-underline-offset: .15em;
}
.speednox-catalog-pdf__select:hover,
.speednox-catalog-pdf__select:focus
{
	color: var(--gold);
}
.speednox-catalog-pdf__tree
{
	column-count: 2;
	column-gap: 1rem;
	max-height: 26rem;
	overflow: auto;
	font-size: .88em;
	line-height: 1.3;
}
.speednox-catalog-pdf__group
{
	break-inside: avoid;
	margin: 0 0 .55rem;
	padding: 0;
	background: transparent;
	border: 0;
}
.speednox-catalog-pdf__parent
{
	display: flex;
	align-items: center;
	gap: .35rem;
	font-weight: 700;
	color: var(--dark);
}
.speednox-catalog-pdf__children
{
	margin: .2rem 0 0 1.15rem;
	padding: 0;
	list-style: none;
}
.speednox-catalog-pdf__children li
{
	margin: .12rem 0;
}
.speednox-catalog-pdf__children label,
.speednox-catalog-pdf__brands label
{
	display: flex;
	align-items: center;
	gap: .35rem;
}
.speednox-catalog-pdf__brands
{
	column-count: 2;
	column-gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
	max-height: 26rem;
	overflow: auto;
	font-size: .88em;
	line-height: 1.3;
}
.speednox-catalog-pdf__brands li
{
	break-inside: avoid;
	margin: .12rem 0;
}
.speednox-catalog-pdf__hp
{
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.speednox-catalog-pdf__actions
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .75rem 1.1rem;
	margin: 0 0 1rem;
}
.speednox-catalog-pdf button.speednox-catalog-pdf__submit,
.speednox-catalog-pdf .speednox-catalog-pdf__submit
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	padding: .55rem 1.15rem;
	background: var(--gold);
	background-color: var(--gold);
	background-image: none;
	color: var(--white);
	border: 1px solid var(--gold);
	border-radius: 4px;
	font-weight: 600;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}
.speednox-catalog-pdf button.speednox-catalog-pdf__submit:hover,
.speednox-catalog-pdf button.speednox-catalog-pdf__submit:focus,
.speednox-catalog-pdf button.speednox-catalog-pdf__submit:active,
.speednox-catalog-pdf button.speednox-catalog-pdf__submit:focus-visible,
.speednox-catalog-pdf .speednox-catalog-pdf__submit:hover,
.speednox-catalog-pdf .speednox-catalog-pdf__submit:focus,
.speednox-catalog-pdf .speednox-catalog-pdf__submit:active
{
	background: var(--gold) !important;
	background-color: var(--gold) !important;
	background-image: none !important;
	border-color: var(--gold) !important;
	color: var(--white) !important;
}
.speednox-catalog-pdf__submit:disabled
{
	cursor: wait;
}
.speednox-catalog-pdf__ready
{
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	font-size: .9em;
	color: var(--gold-dark);
	text-decoration: underline;
	text-underline-offset: .15em;
}
.speednox-catalog-pdf__ready[hidden]
{
	display: none;
}
.speednox-catalog-pdf__ready:hover,
.speednox-catalog-pdf__ready:focus
{
	color: var(--gold);
}
.speednox-catalog-pdf__ready i
{
	font-size: 1.05em;
}
.speednox-catalog-pdf__spinner
{
	display: inline-block;
	width: .9em;
	height: .9em;
	border: 2px solid rgba(255, 255, 255, .35);
	border-top-color: var(--white);
	border-radius: 50%;
	animation: speednox-catalog-pdf-spin .7s linear infinite;
}
@keyframes speednox-catalog-pdf-spin
{
	to { transform: rotate(360deg); }
}
.speednox-catalog-pdf__status
{
	margin: 0 0 .75rem;
	font-weight: 600;
}
.speednox-catalog-pdf__status[data-kind="ok"]
{
	color: var(--gold-dark);
}
.speednox-catalog-pdf__status[data-kind="empty"]
{
	color: var(--gold-dark);
}
.speednox-catalog-pdf__status[data-kind="error"]
{
	color: var(--danger);
}
.speednox-catalog-pdf.is-busy .speednox-catalog-pdf__submit
{
	pointer-events: none;
}
.speednox-catalog-pdf__status[hidden]
{
	display: none;
}

.site-header .site-search.speednox-noxqs,
.col-full-nav .site-search.speednox-noxqs
{
	flex: 1 1 16rem;
	min-width: 0;
}
.speednox-noxqs .nox-quick-search-wrapper input[type=search]
{
	font-family: inherit;
	background: #fff;
	border: 1px solid #e2e2e2;
	border-radius: 4px;
	padding-top: 0.65rem;
	padding-bottom: 0.65rem;
}
.speednox-noxqs .noxqs-search-result-container
{
	max-height: 70vh;
	overflow-y: auto;
}
.speednox-noxqs .noxqs-search-result-container a.link .surtitle:empty
{
	display: none;
}
.speednox-noxqs .noxqs-search-result-container a.link .speednox-noxqs__surtitle
{
	display: block;
	margin-bottom: 2px;
	font-weight: 400;
}
.speednox-noxqs .noxqs-search-result-container a.link .title
{
	display: block;
	width: 100%;
}
.speednox-noxqs__row
{
	display: flex;
	gap: 10px;
	align-items: flex-start;
}
.speednox-noxqs__row--brand
{
	align-items: center;
}
.speednox-noxqs__thumb
{
	width: 48px;
	height: 48px;
	object-fit: contain;
	flex: 0 0 48px;
}
.speednox-noxqs__body
{
	min-width: 0;
}
.speednox-noxqs__line
{
	display: block;
	line-height: 1.3;
	font-weight: 500;
}
.speednox-noxqs__excerpt
{
	display: block;
	margin-top: 2px;
	font-size: 0.85em;
	font-weight: 400;
	line-height: 1.3;
	color: #666;
}

/* Commandes Mon compte : mention HT / TTC collée au montant */
.woocommerce-account .woocommerce-orders-table .speednox-price-tax,
.woocommerce-account .woocommerce-table--order-details .speednox-price-tax
{
	font-weight: 600;
	white-space: nowrap;
}

/* Liste des commandes : nombre de cartons sous le montant */
.woocommerce-account .woocommerce-orders-table__cell-order-total .speednox-order-cartons
{
	display: block;
	margin-top: 0.2em;
	font-weight: 700;
}

/* ------------------------------------------------------------------------ */
/* Page SSO Rempart « Lien de connexion invalide »                          */
/* ------------------------------------------------------------------------ */
body.speednox-sso-invalid-page .content-area
{
	width: 100%;
}
/* Le titre est rendu hors de .site-main, avant #primary */
body.speednox-sso-invalid-page .entry-header,
body.speednox-sso-invalid-page .site-main
{
	max-width: 40rem;
	margin: 0 auto;
	padding: 0 1rem;
	text-align: center;
}
body.speednox-sso-invalid-page .entry-header
{
	padding-top: 4rem;
}
body.speednox-sso-invalid-page .site-main
{
	padding-bottom: 4rem;
}
body.speednox-sso-invalid-page .entry-header h1.entry-title
{
	margin-bottom: 1rem;
	font-size: 30px;
	line-height: 1.3;
}
body.speednox-sso-invalid-page .entry-content
{
	color: #666;
}


/* ------------------------------------------------------------------------ */
/* Compte désactivé (io) : bandeau checkout + bouton Commander grisé         */
/* ------------------------------------------------------------------------ */
.woocommerce-checkout .speednox-account-disabled-notice
{
	margin: 0 0 1.5em;
	padding: 1em 1.25em;
	border-left: 4px solid #b81c23;
	background: #fbeaea;
	color: #b81c23;
	font-weight: 600;
	list-style: none;
}
.woocommerce-checkout .speednox-account-disabled-notice a
{
	color: inherit;
	text-decoration: underline;
}
body.speednox-account-disabled .wc-block-components-checkout-place-order-button
{
	opacity: 0.5;
	cursor: not-allowed;
	pointer-events: none;
}
