.protexia-native-nav{position:relative;width:100%;font-family:Montserrat,Arial,sans-serif}.protexia-nav-panel{display:contents}.protexia-nav-panel__header,.protexia-nav-backdrop{display:none}.protexia-main-menu{display:flex;align-items:center;justify-content:flex-end;gap:25px;margin:0;padding:0;list-style:none}.protexia-main-menu li{position:relative;margin:0}.protexia-main-menu a{display:flex;align-items:center;gap:7px;padding:18px 0;color:#fff;font-size:13px;font-weight:500;letter-spacing:2px;line-height:1.3;text-decoration:none;text-transform:uppercase}.protexia-main-menu .menu-item-has-children>a:after{content:"⌄";font-size:12px}.protexia-main-menu a:hover,.protexia-main-menu .current-menu-item>a,.protexia-main-menu .current-menu-ancestor>a{color:#fb5e04}.protexia-main-menu .sub-menu{position:absolute;z-index:1000;top:100%;left:0;display:none;min-width:235px;margin:0;padding:8px 0;background:#fff;box-shadow:0 8px 28px rgba(0,0,0,.2);list-style:none}.protexia-main-menu li:hover>.sub-menu,.protexia-main-menu li:focus-within>.sub-menu{display:block}.protexia-main-menu .sub-menu a{padding:12px 18px;color:#031f41;font-size:14px;letter-spacing:0;text-transform:none}.protexia-main-menu .sub-menu a:hover{background:#031f41;color:#fff}.protexia-nav-toggle{display:none;width:44px;height:44px;padding:9px;border:0;border-radius:6px;background:transparent;color:#fff}.protexia-nav-toggle span:not(.screen-reader-text){display:block;height:2px;margin:5px 0;background:currentColor}.protexia-home-logo-link{display:block;color:inherit;text-decoration:none}.protexia-home-logo-link:focus-visible{outline:3px solid #fb5e04;outline-offset:3px}
.protexia-native-search{display:flex;justify-content:center}.protexia-search-toggle{display:flex;width:44px;height:44px;align-items:center;justify-content:center;padding:9px;border:0;border-radius:6px;background:transparent;color:#fff;cursor:pointer}.protexia-nav-toggle:hover,.protexia-nav-toggle:focus-visible,.protexia-search-toggle:hover,.protexia-search-toggle:focus-visible{background:#fb5e04;color:#fff;outline:0}.protexia-search-toggle svg,.protexia-native-cart svg{width:23px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.protexia-search-overlay{position:fixed;z-index:99999;inset:0;display:flex;align-items:center;justify-content:center;padding:25px;background:rgba(3,31,65,.97)}.protexia-search-overlay[hidden]{display:none}.protexia-search-overlay form{width:min(760px,100%);color:#fff}.protexia-search-overlay label{display:block;margin-bottom:18px;font-size:clamp(28px,4vw,48px);font-weight:800}.protexia-search-row{display:flex;gap:10px}.protexia-search-row input[type=search]{flex:1;min-width:0;padding:18px 20px;border:2px solid #fff;border-radius:8px;background:#fff;color:#031f41;font-size:18px}.protexia-search-row button{padding:16px 24px;border:2px solid #fb5e04;border-radius:8px;background:#fb5e04;color:#fff;font-weight:700}.protexia-search-close{position:absolute;top:24px;right:28px;border:0;background:transparent;color:#fff;font-size:48px;line-height:1;cursor:pointer}
.protexia-native-cart{display:flex;align-items:center;justify-content:center;gap:4px;color:#fff;text-decoration:none;text-transform:uppercase}.protexia-native-cart:hover{color:#fb5e04}.protexia-cart-count{min-width:18px;text-align:center;font-size:12px;font-weight:700}.protexia-cart-label{font-size:10px;letter-spacing:1px}
.protexia-home-cta{position:relative;display:flex;min-height:354px;align-items:center;justify-content:center;margin-top:48px;padding:20px;overflow:hidden;background-image:linear-gradient(rgba(3,31,65,.5),rgba(3,31,65,.5)),var(--protexia-cta-image);background-position:center;background-size:cover;text-align:center}.protexia-home-cta__content{max-width:850px;color:#fff}.protexia-home-cta h2{margin:0 0 18px;color:#fff;font-size:clamp(28px,4vw,48px);line-height:1.15}.protexia-home-cta p{margin:0 auto 24px;font-size:17px;line-height:1.6}.protexia-home-cta a{display:inline-block;padding:13px 24px;border:2px solid #fb5e04;background:#fb5e04;color:#fff;text-decoration:none;text-transform:uppercase}.protexia-home-cta a:hover{border-color:#fff;background:#031f41;color:#fff}
@media(max-width:1399px){body.protexia-nav-locked{overflow:hidden}.protexia-nav-toggle{display:block;margin:0 auto}.protexia-nav-backdrop{position:fixed;z-index:100000;inset:0;display:block;border:0;background:rgba(3,31,65,.58);opacity:0;pointer-events:none;transition:opacity .2s ease}.protexia-nav-panel{position:fixed;z-index:100001;top:0;bottom:0;left:0;display:flex;width:min(380px,calc(100vw - 52px));max-width:100%;flex-direction:column;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);overflow:hidden;background:#fff;box-shadow:14px 0 34px rgba(0,0,0,.3);transform:translateX(-105%);transition:transform .22s ease}.protexia-native-nav.is-open .protexia-nav-panel{transform:translateX(0)}.protexia-native-nav.is-open .protexia-nav-backdrop{opacity:1;pointer-events:auto}.protexia-nav-panel__header{display:flex;min-height:68px;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #dce5ee;color:#031f41}.protexia-nav-panel__header strong{font-size:18px;letter-spacing:1px;text-transform:uppercase}.protexia-nav-close{display:flex;width:44px;height:44px;align-items:center;justify-content:center;padding:10px;border:0;border-radius:6px;background:#031f41;color:#fff;cursor:pointer}.protexia-nav-close:hover,.protexia-nav-close:focus-visible{background:#fb5e04;color:#fff;outline:0}.protexia-nav-close svg{width:24px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2}.protexia-main-menu{display:block;flex:1;margin:0;padding:8px 12px 24px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:#fff}.protexia-main-menu a{justify-content:space-between;padding:13px 12px;color:#031f41}.protexia-main-menu .sub-menu{position:static;display:block;min-width:0;padding-left:14px;box-shadow:none}.protexia-main-menu .sub-menu a{padding:9px 12px}.protexia-cart-label{display:none}.protexia-search-row{flex-direction:column}.protexia-home-cta{min-height:300px;margin-top:16px;padding:25px}.protexia-home-cta p{font-size:15px}}
@media(prefers-reduced-motion:reduce){.protexia-nav-panel,.protexia-nav-backdrop{transition:none}}
@media(max-width:1399px){.protexia-native-nav .protexia-nav-backdrop{visibility:hidden;background:rgba(3,31,65,.58)!important;background-image:none!important}.protexia-native-nav.is-open .protexia-nav-backdrop{visibility:visible}}
@media(max-width:1399px){body.admin-bar .protexia-nav-panel{top:46px}}


/*
 * Largeur de bascule du menu.
 *
 * Mesure du 16 aout 2026 : le menu deploye reclame plus de place que
 * l'en-tete n'en offre des que la fenetre descend sous 1400 px. Comme il
 * est aligne a droite et ne se replie pas, il debordait vers la gauche et
 * passait sous le logo — « ACCUEIL » s'affichait « CUEIL ».
 *
 * Reduire sa police aurait pu le faire tenir plus bas, mais la typographie
 * du menu vient du reglage global d'Elementor et resiste a la surcharge du
 * theme : la police calculee reste a 16 px quoi qu'en dise cette feuille.
 * Plutot que d'empiler des surcharges fragiles, la bascule mobile est
 * remontee a 1399 px. En dessous, le menu complet reste accessible par le
 * panneau lateral, sans rien tronquer.
 */
@media(min-width:1400px){
    .protexia-native-nav .protexia-main-menu{flex-wrap:nowrap!important;gap:12px!important}
    .protexia-native-nav .protexia-main-menu a{letter-spacing:.2px!important;white-space:nowrap!important}
}

/*
 * Palette lumineuse accessible de l'accueil.
 *
 * L'orange de marque #fb5e04 retrouve sa place sur les surfaces d'action.
 * Du texte blanc n'y atteint que 3,13:1 ; le bleu marine #031f41 fournit
 * 5,25:1 et respecte donc WCAG AA sans assombrir toute l'interface.
 * Les prix restent en orange sombre sur fond blanc (4,85:1).
 */
.hero-protexia .btn-primary{background:#fb5e04;color:#031f41!important;box-shadow:0 9px 24px rgba(251,94,4,.24)}
.hero-protexia .btn-primary:hover,
.hero-protexia .btn-primary:focus-visible{background:#031f41;color:#fff!important}
body .pco-showcase__block ul.products li.product .price,
body .pco-showcase__block ul.products li.product .price bdi{color:#c44a00!important}
body .pco-showcase__block ul.products li.product a.button{background:#fb5e04!important;color:#031f41!important;box-shadow:0 7px 18px rgba(251,94,4,.2)}
body .pco-showcase__block ul.products li.product a.button:hover,
body .pco-showcase__block ul.products li.product a.button:focus-visible{background:#031f41!important;color:#fff!important}
.protexia-home-cta a,
.protexia-metiers .section-title>span,
.protexia-metiers .metier-card .content>a,
.protexia-engagement .engagement-btn,
.pco-site-footer .pco-footer-catalog{background:#fb5e04!important;color:#031f41!important;box-shadow:0 8px 22px rgba(251,94,4,.22)}
.protexia-home-cta a:hover,
.protexia-home-cta a:focus-visible,
.protexia-metiers .metier-card .content>a:hover,
.protexia-metiers .metier-card .content>a:focus-visible,
.protexia-engagement .engagement-btn:hover,
.protexia-engagement .engagement-btn:focus-visible,
.pco-site-footer .pco-footer-catalog:hover,
.pco-site-footer .pco-footer-catalog:focus-visible{background:#031f41!important;color:#fff!important}
.protexia-engagement .section-badge,
.protexia-engagement h2 span{color:#c44a00!important}
.protexia-engagement .section-badge{background:#fff7f2!important}
body.home .elementor-widget-button .elementor-button{background:#fb5e04!important;color:#031f41!important;box-shadow:0 8px 22px rgba(251,94,4,.22)}
body.home .elementor-widget-button .elementor-button:hover,
body.home .elementor-widget-button .elementor-button:focus-visible{background:#031f41!important;color:#fff!important}
picture.protexia-modern-media{display:contents}

/*
 * L'icone du panier etait peinte en bleu marine sur un en-tete bleu
 * marine : presente dans la page, invisible a l'oeil. Le kit global
 * d'Elementor impose la couleur des liens par « .elementor-kit-NN a »,
 * plus specifique que la regle du theme, qui perdait donc la main —
 * meme cause que pour la typographie du menu.
 *
 * La regle ci-dessous reprend la main par specificite plutot que par
 * « !important », afin qu'un reglage ulterieur du kit reste possible.
 */
.elementor-widget-shortcode a.protexia-native-cart,
.elementor a.protexia-native-cart{color:#fff}
.elementor-widget-shortcode a.protexia-native-cart:hover,
.elementor-widget-shortcode a.protexia-native-cart:focus-visible,
.elementor a.protexia-native-cart:hover,
.elementor a.protexia-native-cart:focus-visible{color:#fb5e04}

/*
 * Le chariot se reduisait a moins d'un pixel : la colonne d'en-tete ne
 * mesure que 43 px, et le lien etant une rangee flexible, le dessin
 * acceptait de s'ecraser pour laisser la place au compteur. Il etait
 * donc bien present, et invisible.
 *
 * Lui interdire de retrecir suffit ; le compteur, lui, peut se serrer.
 */
.protexia-native-cart svg{flex:0 0 auto;width:23px;height:23px}
.protexia-native-cart .protexia-cart-count{flex:0 1 auto}

/*
 * Le libellé « Panier » débordait de sa colonne et chevauchait l'icone
 * du compte. Mesure a 1600 px : la colonne s'arrete a 1528 px, le
 * libelle allait jusqu'a 1536, et le compte commencait a 1538.
 *
 * L'en-tete n'a aucune place a offrir — le menu lui-meme n'y tient pas,
 * ce qui a deja impose la bascule mobile sous 1400 px. Le libelle est
 * donc retire a toutes les largeurs : le chariot et son compteur se
 * lisent seuls, et le lien garde son intitule pour les lecteurs
 * d'ecran par son attribut aria-label.
 *
 * Les colonnes de la recherche et du panier se touchaient exactement,
 * bord a bord : un ecart les separe desormais.
 */
.protexia-cart-label{display:none}
.protexia-native-cart{gap:6px;padding:0 8px}

/*
 * Les sous-menus de troisieme niveau se posaient sur leurs voisins.
 *
 * La regle de position vaut pour tous les niveaux : « sous le parent, a
 * gauche ». Au premier niveau c'est juste ; au second, le menu se posait
 * sur les entrees suivantes de sa propre liste et les rendait
 * inatteignables — « Haute visibilité » disparaissait sous les
 * sous-categories d'« EPI ».
 *
 * Un menu imbrique s'ouvre desormais a cote de son parent, comme le veut
 * l'usage. Le repli lateral evite qu'il sorte de l'ecran lorsque le
 * parent est deja loin a droite.
 */
@media(min-width:1400px){
    .protexia-main-menu .sub-menu li{position:relative}
    .protexia-main-menu .sub-menu .sub-menu{top:-8px;left:100%;margin-left:1px}
    .protexia-main-menu .sub-menu li:hover>.sub-menu,
    .protexia-main-menu .sub-menu li:focus-within>.sub-menu{display:block}
    .protexia-main-menu>li:nth-last-child(-n+3) .sub-menu .sub-menu{right:100%;left:auto;margin-right:1px;margin-left:0}
    .protexia-main-menu .menu-item-has-children>a::after{content:"›";margin-left:6px;opacity:.7}
    .protexia-main-menu>li>a::after{content:none}
}
.engagement-image .floating-card h3{
	margin:0 0 4px!important;
	color:#031f41!important;
	font-size:16px!important;
	font-weight:800!important;
	line-height:1.2!important;
}

/*
 * Le remplacant conserve sa classe « fa-... » pour rester identifiable. Or
 * Font Awesome attache a cette classe un caractere decoratif, que le
 * remplacant affiche alors avec la police du texte : celle-ci ne connait pas
 * ce caractere et dessine un carre vide par-dessus le SVG. On le neutralise.
 */
.protexia-inline-icon::before,
.protexia-inline-icon::after{content:none!important;}

.protexia-inline-icon{
	display:inline-flex;
	width:1em;
	height:1em;
	align-items:center;
	justify-content:center;
	flex:0 0 auto;
	color:inherit;
	font-size:inherit;
	line-height:1;
	vertical-align:-.125em;
}
.protexia-inline-icon svg{
	display:block;
	width:100%;
	height:100%;
	fill:none;
	stroke:currentColor;
	stroke-linecap:round;
	stroke-linejoin:round;
	stroke-width:2;
}

/*
 * Actions de l'en-tête sur mobile.
 *
 * Le modèle Elementor réserve 98 px aux trois colonnes Recherche, Panier et
 * Compte à 360 px. Les contrôles de 44 px se recouvraient donc de 4,19 px
 * (jusqu'à 6,19 px à 320 px). Le script du thème marque ces colonnes d'après
 * leurs composants, sans identifiant Elementor ni domaine codé en dur.
 */
@media(max-width:1399px){
	#masthead .protexia-header-actions{min-width:140px!important;gap:4px!important;justify-content:flex-end!important}
	#masthead .protexia-header-action-column{width:44px!important;min-width:44px!important;flex:0 0 44px!important}
	#masthead .protexia-native-search,
	#masthead .protexia-search-toggle,
	#masthead .protexia-native-cart,
	#masthead .protexia-header-account-link{
		width:44px!important;
		min-width:44px!important;
		height:44px!important;
		box-sizing:border-box;
	}
	#masthead .protexia-search-toggle,
	#masthead .protexia-native-cart{flex:0 0 44px!important}
	#masthead .protexia-native-cart{position:relative;gap:0;padding:0!important}
	#masthead .protexia-native-cart .protexia-cart-count{
		position:absolute;
		top:0;
		right:0;
		display:flex;
		min-width:16px;
		height:16px;
		align-items:center;
		justify-content:center;
		border-radius:8px;
		background:#fb5e04;
		color:#031f41;
		font-size:10px;
		line-height:1;
	}
	#masthead .protexia-header-account-link{display:flex!important;align-items:center;justify-content:center}
}

/*
 * Le conteneur Elementor du bandeau peut dépasser le viewport de quelques
 * pixels lorsqu'une barre de défilement est présente. Entre tablette et petit
 * bureau, garder une réserve interne de 8 px ramène les trois actions dans la
 * largeur visible sans réduire leurs cibles tactiles de 44 px. Le mobile a sa
 * propre grille exacte ci-dessous et n'est donc pas concerné.
 */
@media(min-width:480px) and (max-width:1399px){
	#masthead .protexia-header-actions-column{
		box-sizing:border-box!important;
		padding-right:8px!important;
	}
	#masthead .protexia-header-actions{
		right:6px!important;
	}
}

@media(max-width:479px){
	#masthead .protexia-header-row{display:flex!important;flex-wrap:nowrap!important}
	#masthead .protexia-header-logo-column{width:auto!important;min-width:0!important;flex:1 1 auto!important}
	#masthead .protexia-header-logo-column img{width:100%!important;max-width:185px!important;height:auto!important}
	#masthead .protexia-header-navigation-column{width:66px!important;flex:0 0 66px!important}
	#masthead .protexia-header-actions-column{width:148px!important;flex:0 0 148px!important}
	#masthead .protexia-header-actions{width:148px!important;max-width:148px!important;gap:8px!important}
	#masthead .protexia-header-action-column{width:44px!important;min-width:44px!important;flex:0 0 44px!important}
	#masthead .protexia-header-action-column>.elementor-widget-wrap{
		padding:0!important;
		align-items:center!important;
		justify-content:center!important;
	}
}

/*
 * Héros d'accueil plus compact sur mobile.
 *
 * Mesure rc.15 à 390 px : 1 574 px de hauteur, les premières actions
 * commençaient à 1 163 px. Cette composition conserve chaque texte, bouton et
 * preuve de service, mais resserre les espacements et place les quatre preuves
 * sur deux colonnes. Le prototype mesuré descend à environ 1 221 px (-22 %).
 */
@media(max-width:768px){
	.hero-protexia{padding:56px 15px 48px!important}
	.hero-protexia .hero-badge{margin-bottom:20px!important;padding:10px 14px!important}
	.hero-protexia .hero-content h1{font-size:34px!important;line-height:1.1!important}
	.hero-protexia .hero-divider{margin:24px auto!important}
	.hero-protexia .hero-subtitle{font-size:19px!important;margin-bottom:18px!important}
	.hero-protexia .hero-description{font-size:15px!important;line-height:1.65!important;margin-bottom:14px!important}
	.hero-protexia .hero-highlight{margin-top:16px!important;padding:12px 14px!important}
	.hero-protexia .hero-buttons{gap:12px!important;margin-top:28px!important}
	.hero-protexia .btn-primary,
	.hero-protexia .btn-secondary{padding:14px 20px!important}
	.hero-protexia .hero-features{
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
		gap:10px!important;
		margin-top:32px!important;
	}
	.hero-protexia .feature{padding:10px 7px!important;font-size:12px!important}
}

/*
 * Contrastes WooCommerce verifies avec Lighthouse mobile.
 *
 * L'orange fournisseur #f36f21 reste un accent graphique mais n'atteint pas
 * WCAG AA pour du texte courant sur blanc. Les prix et le lien depliable
 * utilisent donc l'orange sombre deja valide sur l'accueil. Les boutons
 * conservent l'orange lumineux avec du texte bleu marine, et l'etat desactive
 * reste volontairement neutre et lisible.
 */
.woocommerce div.product p.price,
.woocommerce div.product p.price .woocommerce-Price-amount,
.woocommerce div.product p.price .woocommerce-Price-amount bdi,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .woocommerce-Price-amount,
.woocommerce ul.products li.product .price .woocommerce-Price-amount bdi{
	color:#c44a00!important;
}
.woocommerce .pwi-features-more{
	color:#c44a00!important;
}
.woocommerce ul.products li.product a.button{
	background:#fb5e04!important;
	color:#031f41!important;
}
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product a.button:focus-visible{
	background:#031f41!important;
	color:#fff!important;
}
.woocommerce div.product button.single_add_to_cart_button.disabled,
.woocommerce div.product button.single_add_to_cart_button:disabled,
.woocommerce div.product button.single_add_to_cart_button:disabled[disabled]{
	background:#d6dde8!important;
	color:#334155!important;
	opacity:1!important;
}

/*
 * Page introuvable : une vraie porte de retour vers le catalogue, coherente
 * avec la promesse et l'identite PROTEXIA EPI.
 */
.error404 .protexia-404{
	display:flex;
	min-height:560px;
	align-items:center;
	justify-content:center;
	padding:72px 20px;
	background:
		radial-gradient(circle at 12% 16%,rgba(251,94,4,.17),transparent 28%),
		linear-gradient(135deg,#031f41 0%,#062f5f 100%);
}
.error404 .protexia-404__card{
	width:min(760px,100%);
	padding:48px;
	border:1px solid rgba(255,255,255,.18);
	border-radius:24px;
	background:#fff;
	box-shadow:0 24px 60px rgba(1,21,45,.28);
}
.error404 .protexia-404__eyebrow{
	margin:0 0 10px;
	color:#c44a00;
	font-size:14px;
	font-weight:800;
	letter-spacing:.14em;
	text-transform:uppercase;
}
.error404 .protexia-404__title{
	margin:0;
	color:#031f41;
	font-size:clamp(34px,5vw,58px);
	font-weight:800;
	letter-spacing:-.03em;
	line-height:1.06;
}
.error404 .protexia-404__intro{
	max-width:650px;
	margin:20px 0 30px;
	color:#42536a;
	font-size:18px;
	line-height:1.65;
}
.error404 .protexia-404__search label{
	display:block;
	margin-bottom:8px;
	color:#031f41;
	font-size:14px;
	font-weight:700;
}
.error404 .protexia-404__search-row{display:flex;gap:10px}
.error404 .protexia-404__search input[type="search"]{
	min-width:0;
	min-height:46px;
	flex:1 1 auto;
	padding:10px 14px;
	border:1px solid #cbd6e3;
	border-radius:10px;
	background:#f7f9fc;
	color:#031f41;
}
.error404 .protexia-404__search button,
.error404 .protexia-404__primary{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border:1px solid #fb5e04;
	border-radius:10px;
	background:#fb5e04;
	color:#031f41;
	font-weight:800;
	text-decoration:none;
}
.error404 .protexia-404__search button{padding:12px 20px}
.error404 .protexia-404__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.error404 .protexia-404__primary,
.error404 .protexia-404__secondary{min-height:46px;padding:11px 18px}
.error404 .protexia-404__secondary{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border:1px solid #031f41;
	border-radius:10px;
	color:#031f41;
	font-weight:800;
	text-decoration:none;
}
.error404 .protexia-404__search button:hover,
.error404 .protexia-404__search button:focus-visible,
.error404 .protexia-404__primary:hover,
.error404 .protexia-404__primary:focus-visible,
.error404 .protexia-404__secondary:hover,
.error404 .protexia-404__secondary:focus-visible{
	border-color:#031f41;
	background:#031f41;
	color:#fff;
}

/*
 * Consentement : personnalisation visuelle uniquement. Les boutons, categories
 * et mecanismes de consentement Complianz conservent leur comportement natif.
 */
.cmplz-cookiebanner{
	border:1px solid #d8e1ec!important;
	border-top:5px solid #fb5e04!important;
	border-radius:16px!important;
	background:#fff!important;
	box-shadow:0 20px 48px rgba(3,31,65,.24)!important;
	color:#334155!important;
}
.cmplz-cookiebanner .cmplz-title{color:#031f41!important;font-weight:800!important}
.cmplz-cookiebanner .cmplz-message{color:#42536a!important;line-height:1.55!important}
.cmplz-cookiebanner .cmplz-btn{
	min-height:44px!important;
	border:1px solid #cbd6e3!important;
	border-radius:9px!important;
	background:#f7f9fc!important;
	color:#031f41!important;
	font-weight:800!important;
	letter-spacing:.04em!important;
}
.cmplz-cookiebanner .cmplz-btn.cmplz-accept{
	border-color:#fb5e04!important;
	background:#fb5e04!important;
	color:#031f41!important;
}
.cmplz-cookiebanner .cmplz-btn:hover,
.cmplz-cookiebanner .cmplz-btn:focus-visible{
	border-color:#031f41!important;
	background:#031f41!important;
	color:#fff!important;
}
.cmplz-cookiebanner .cmplz-close{color:#031f41!important}
.cmplz-cookiebanner .cmplz-link{color:#0b4f88!important;text-underline-offset:3px}
.cmplz-cookiebanner .protexia-invalid-consent-token{display:none!important}

/*
 * Les huit onglets produit depassaient des 960 px. Ils se repartissent
 * desormais sur plusieurs lignes avec une cible tactile lisible.
 */
.single-product .woocommerce-tabs ul.tabs{
	display:grid!important;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:8px!important;
	overflow:visible!important;
	padding:0!important;
	border:0!important;
}
.single-product .woocommerce-tabs ul.tabs::before{display:none!important}
.single-product .woocommerce-tabs ul.tabs li{
	display:flex!important;
	min-width:0!important;
	margin:0!important;
	padding:0!important;
	border:1px solid #d8e1ec!important;
	border-radius:10px!important;
	background:#f7f9fc!important;
}
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after{display:none!important}
.single-product .woocommerce-tabs ul.tabs li a{
	display:flex!important;
	width:100%;
	min-height:48px;
	align-items:center;
	justify-content:center;
	padding:10px 12px!important;
	color:#334155!important;
	font-size:14px!important;
	font-weight:800!important;
	line-height:1.25!important;
	text-align:center;
	white-space:normal!important;
}
.single-product .woocommerce-tabs ul.tabs li.active{
	border-color:#031f41!important;
	background:#031f41!important;
}
.single-product .woocommerce-tabs ul.tabs li.active a{color:#fff!important}
/* Le connecteur Portwest peint le libelle de l'onglet actif en bleu marine,
   sur le fond bleu marine que pose la regle ci-dessus : les deux selecteurs
   ont la meme specificite, et sa feuille passe en dernier. Le libelle
   devenait donc illisible. On ajoute la classe que le connecteur pose sur
   le body pour reprendre la main, sans toucher a sa feuille. */
body.single-product.pwi-product-page .woocommerce-tabs ul.tabs li.active a{color:#fff!important}
.single-product .woocommerce-tabs ul.tabs li a:hover,
.single-product .woocommerce-tabs ul.tabs li a:focus-visible{color:#c44a00!important}

/* Notifications WooCommerce coherentes sur tous les ecrans transactionnels. */
body.woocommerce-page .woocommerce-message,
body.woocommerce-page .woocommerce-info,
body.woocommerce-page .woocommerce-error{
	border:1px solid #d8e1ec!important;
	border-left:5px solid #fb5e04!important;
	border-radius:12px!important;
	background:#fff!important;
	box-shadow:0 8px 24px rgba(3,31,65,.08)!important;
	color:#031f41!important;
}
body.woocommerce-page .woocommerce-error{border-left-color:#b42318!important}
body.woocommerce-page .woocommerce-message:focus,
body.woocommerce-page .woocommerce-info:focus,
body.woocommerce-page .woocommerce-error:focus{
	outline:3px solid #fb5e04!important;
	outline-offset:2px!important;
}
body.woocommerce-page .woocommerce-message::before{color:#2f7d4a!important}
body.woocommerce-page .woocommerce-info::before{color:#0b4f88!important}
body.woocommerce-page .woocommerce-error::before{color:#b42318!important}
body.woocommerce-page .woocommerce-message .button,
body.woocommerce-page .woocommerce-info .button,
body.woocommerce-page .woocommerce-error .button{
	border:1px solid #fb5e04!important;
	border-radius:9px!important;
	background:#fb5e04!important;
	color:#031f41!important;
}
body.woocommerce-page .woocommerce-message .button:hover,
body.woocommerce-page .woocommerce-message .button:focus-visible,
body.woocommerce-page .woocommerce-info .button:hover,
body.woocommerce-page .woocommerce-info .button:focus-visible,
body.woocommerce-page .woocommerce-error .button:hover,
body.woocommerce-page .woocommerce-error .button:focus-visible{
	border-color:#031f41!important;
	background:#031f41!important;
	color:#fff!important;
}

@media(max-width:767px){
	.error404 .protexia-404{min-height:0;padding:42px 14px}
	.error404 .protexia-404__card{padding:28px 20px;border-radius:18px}
	.error404 .protexia-404__intro{font-size:16px}
	.error404 .protexia-404__search-row{flex-direction:column}
	.error404 .protexia-404__search button{width:100%}
	.error404 .protexia-404__actions{display:grid;grid-template-columns:1fr}
	.single-product .woocommerce-tabs ul.tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
	body.woocommerce-page .woocommerce-message .button,
	body.woocommerce-page .woocommerce-info .button,
	body.woocommerce-page .woocommerce-error .button{float:none!important;margin:12px 0 0!important}
}

@media(max-width:420px){
	.single-product .woocommerce-tabs ul.tabs{grid-template-columns:1fr}
}
