/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      1.0.0
 Text Domain:  woodmart
*/

/* ==========================================================================
   ABL Soudure - custom polish
   Migrated from the pre-WoodMart sandbox (wp-content/novamira-sandbox/
   abl-soudure-responsive.php). Most of that file targeted FSE-only markup
   (wp:navigation submenu, .abl-header-search, .abl-cart-pill on the
   WooCommerce mini-cart block) that no longer exists now that the header,
   search, account and cart are built natively with the WoodMart Header
   Builder - those rules were retired rather than ported. Poppins is now
   loaded natively via the WoodMart Theme Panel (Typography > Text font),
   so no manual @font-face/Google Fonts import is needed here either.
   Only the generic, theme-agnostic spacing/safety rules below still apply. */

/* A bit more breathing room around headings in hand-built Gutenberg content
   (homepage, category intros, etc.) that carries inline styles from before
   the theme switch. */
.entry-content .wp-block-heading,
.page-content .wp-block-heading {
	margin-bottom: 14px;
}

.entry-content .wp-block-heading + p,
.page-content .wp-block-heading + p {
	margin-top: 0;
}

.entry-content .wp-block-buttons,
.page-content .wp-block-buttons {
	margin-top: 22px;
}

/* Safety net for small screens: prevents horizontal scroll from any
   fixed-width inline content inherited from the previous theme, and makes
   sure two-column blocks that were marked "don't stack on mobile" still
   wrap instead of overflowing on very narrow phones. */
@media (max-width: 782px) {
	body {
		overflow-x: hidden;
	}
}

@media (max-width: 480px) {
	.wp-block-columns.is-not-stacked-on-mobile {
		flex-wrap: wrap;
	}
}

/* ==========================================================================
   Effet de reflet (shine) au survol de tous les boutons du site.
   Cible le selecteur global des boutons WoodMart natifs
   (:is(.btn,.button,button,[type=submit],[type=button])) ainsi que les
   boutons Gutenberg (.wp-block-button__link / .wp-element-button), pour
   couvrir en un seul endroit: boutons du header builder, "Ajouter au
   panier", boutons de fiche produit, boutons de formulaire, et les boutons
   ecrits a la main sur les pages (accueil, professionnels, etc.). */
:is(.btn, .button, button, [type="submit"], [type="button"], .wp-block-button__link, .wp-element-button) {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

:is(.btn, .button, button, [type="submit"], [type="button"], .wp-block-button__link, .wp-element-button)::after {
	content: "";
	position: absolute;
	top: -20%;
	left: -60%;
	width: 35%;
	height: 140%;
	background: linear-gradient(
		115deg,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0.65) 50%,
		rgba(255, 255, 255, 0) 100%
	);
	transform: skewX(-22deg);
	pointer-events: none;
	transition: left 0.7s cubic-bezier(0.22, 0.8, 0.3, 1);
	z-index: 1;
}

:is(.btn, .button, button, [type="submit"], [type="button"], .wp-block-button__link, .wp-element-button):hover::after {
	left: 130%;
}

/* ==========================================================================
   Refonte des pages categories WooCommerce - grille produits + sidebar filtres.
   Palette "Atelier Orange": accent #FF5A1F, accentDark #C1502E, ink #161616,
   surface #FBEEE3, border #EDE0D3, muted #6B6660. Police Poppins (native). */

/* --- Fiches produit de la grille --- */
.wd-product-card-bg {
	border-radius: 0;
	background: #ffffff;
	transition: box-shadow 0.35s ease, transform 0.35s ease;
}

.wd-product.product-grid-item {
	transition: transform 0.35s ease;
}

.wd-product.product-grid-item:hover {
	transform: translateY(-6px);
}

.wd-product.product-grid-item:hover .wd-product-card-bg {
	box-shadow: 0 18px 40px rgba(22, 22, 22, 0.12);
}

.wd-product-thumb {
	border-radius: 0;
	overflow: hidden;
	background: #FFFFFF;
}

.wd-product-img-link img {
	transition: transform 0.6s cubic-bezier(0.22, 0.8, 0.3, 1);
}

.wd-product.product-grid-item:hover .wd-product-img-link img {
	transform: scale(1.07);
}

.product-labels .onsale {
	background-color: #FF5A1F !important;
	font-weight: 600;
	border-radius: 0;
}

.product-element-bottom.product-information {
	padding: 18px 16px 20px;
}

.wd-entities-title {
	font-weight: 600;
	letter-spacing: 0.01em;
}

.wd-entities-title a {
	color: #161616;
	transition: color 0.25s ease;
}

.wd-product.product-grid-item:hover .wd-entities-title a {
	color: #FF5A1F;
}

.wd-product-cats a {
	color: #6B6660;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.wrapp-product-price .price {
	font-weight: 700;
}

.wrapp-product-price ins .woocommerce-Price-amount {
	color: #C1502E;
}

/* Icones d'action (wishlist / ajout panier / apercu) : transition plus douce */
.wd-bottom-actions .wd-action-btn,
.wd-bottom-actions .wd-add-btn a {
	transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.wd-bottom-actions .wd-action-btn:hover {
	transform: translateY(-2px);
}

/* --- Barre latérale de filtres --- */
.widget-area {
	padding-right: 4px;
}

.sidebar-container .widget-area .wd-widget {
	background: #ffffff;
	border: 1px solid #EDE0D3;
	border-radius: 0;
	padding: 22px 22px 26px;
	margin-bottom: 22px;
	box-shadow: 0 4px 18px rgba(22, 22, 22, 0.04);
}

.sidebar-container .widget-area .widget-title {
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #161616;
	padding-bottom: 12px;
	margin-bottom: 16px;
	position: relative;
	border-bottom: 1px solid #EDE0D3;
}

.widget-area .widget-title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 34px;
	height: 2px;
	background: #FF5A1F;
}

/* Catégories */
.widget_product_categories ul li,
.widget_layered_nav .woocommerce-widget-layered-nav-list__item {
	list-style: none;
	margin: 0 0 4px;
}

.widget_product_categories ul li a,
.widget_layered_nav .woocommerce-widget-layered-nav-list__item a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 9px 12px;
	border-radius: 0;
	color: #161616;
	font-size: 14px;
	transition: background-color 0.25s ease, color 0.25s ease, padding-left 0.25s ease;
}

.widget_product_categories ul li a:hover,
.widget_layered_nav .woocommerce-widget-layered-nav-list__item a:hover {
	background-color: #FBEEE3;
	color: #FF5A1F;
	padding-left: 16px;
}

.widget_product_categories ul li.current-cat > a {
	background-color: #FF5A1F;
	color: #ffffff !important;
	font-weight: 600;
}

.widget_layered_nav .woocommerce-widget-layered-nav-list__item.chosen a {
	background-color: #161616;
	color: #ffffff;
}

.widget-area .count {
	color: #6B6660;
	font-size: 12px;
	background: #FBEEE3;
	border-radius: 0;
	padding: 1px 8px;
	margin-left: 8px;
}

.widget_product_categories ul li a:hover .count,
.widget_layered_nav .woocommerce-widget-layered-nav-list__item a:hover .count {
	background: #ffffff;
}

.widget_product_categories ul li.current-cat > a .count {
	background: rgba(255, 255, 255, 0.25);
	color: #ffffff;
}

/* Filtre de prix (slider) */
.price_slider .ui-slider-range,
.price_slider.ui-slider {
	background: #EDE0D3;
	height: 4px;
	border-radius: 0;
}

.price_slider .ui-slider-range {
	background: #FF5A1F;
}

.price_slider .ui-slider-handle,
.widget_price_filter .ui-slider .ui-slider-handle {
	width: 16px;
	height: 16px;
	top: -6px;
	background: #ffffff;
	border: 3px solid #FF5A1F;
	border-radius: 50% !important;
	box-shadow: 0 2px 6px rgba(22, 22, 22, 0.2);
}

.price_slider_amount {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 18px;
}

.price_slider_amount .price_label {
	color: #6B6660;
	font-size: 13px;
}

.widget_price_filter .button {
	border-radius: 0;
	font-size: 13px;
	padding: 8px 18px;
}

/* Bouton "Effacer les filtres" WooCommerce (reset variation link) */
.woocommerce-widget-layered-nav-dropdown__submit,
.wc-block-price-filter__reset-button,
.reset_variations {
	color: #FF5A1F;
}

/* ==========================================================================
   Tableau comparatif "gamme de fers a souder" dans les descriptions produit. */
.abl-power-table {
	width: 100%;
	border-collapse: collapse;
	margin: 18px 0 28px;
	font-size: 14px;
}

.abl-power-table th {
	text-align: left;
	background: #161616;
	color: #ffffff;
	padding: 10px 14px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 12px;
}

.abl-power-table td {
	padding: 10px 14px;
	border-bottom: 1px solid #EDE0D3;
}

.abl-power-table tr:last-child td {
	border-bottom: none;
}

.abl-power-table a {
	color: #C1502E;
	font-weight: 600;
}

.abl-power-table a:hover {
	color: #FF5A1F;
}

/* ==========================================================================
   Articles de blog : mise en forme du contenu (H2/H3, listes, tableaux, FAQ). */
.single-post .wd-entry-content h2 {
	margin-top: 40px;
	margin-bottom: 14px;
	font-size: 26px;
	color: #161616;
}

.single-post .wd-entry-content h3 {
	margin-top: 26px;
	margin-bottom: 10px;
	color: #C1502E;
	font-size: 19px;
}

.single-post .wd-entry-content p {
	line-height: 1.7;
}

.single-post .wd-entry-content ul {
	line-height: 1.7;
	padding-left: 20px;
}

.single-post .wd-entry-content ul li {
	margin-bottom: 6px;
}

.single-post .wd-entry-content a {
	color: #FF5A1F;
	text-decoration: underline;
}

/* ==========================================================================
   Page Blog : hero "Centre d'informations" + sections par categorie. */
.abl-blog-hero {
	text-align: center;
	max-width: 720px;
	margin: 10px auto 46px;
}

.abl-blog-hero-icon {
	width: 60px;
	height: 60px;
	line-height: 60px;
	border-radius: 50%;
	background: #FBEEE3;
	font-size: 28px;
	margin: 0 auto 16px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.abl-blog-hero-title {
	font-size: 34px;
	margin-bottom: 10px;
	color: #161616;
}

.abl-blog-hero-subtitle {
	color: #6B6660;
	font-size: 15px;
}

.abl-blog-category-section {
	margin-bottom: 48px;
}

.abl-blog-cat-title {
	font-size: 22px;
	color: #161616;
	padding-bottom: 12px;
	margin-bottom: 24px;
	position: relative;
	border-bottom: 1px solid #EDE0D3;
}

.abl-blog-cat-title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 46px;
	height: 2px;
	background: #FF5A1F;
}

.abl-blog-card-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
	gap: 28px !important;
}

.abl-blog-card {
	background: #ffffff;
	border: 1px solid #EDE0D3;
	border-top: 3px solid #FF5A1F;
	border-radius: 0;
	overflow: hidden;
	box-shadow: 0 4px 18px rgba(22, 22, 22, 0.05);
	transition: box-shadow 0.3s ease, transform 0.3s ease;
	height: 100%;
}

.abl-blog-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 34px rgba(22, 22, 22, 0.1);
}

.abl-blog-card-img {
	margin: 0;
}

.abl-blog-card-img img {
	transition: transform 0.5s ease;
}

.abl-blog-card:hover .abl-blog-card-img img {
	transform: scale(1.05);
}

.abl-blog-card-body {
	padding: 18px 20px 22px;
}

.abl-blog-card-title a {
	font-size: 17px;
	font-weight: 600;
	color: #161616;
	line-height: 1.35;
	transition: color 0.25s ease;
}

.abl-blog-card:hover .abl-blog-card-title a {
	color: #FF5A1F;
}

.abl-blog-card-date {
	color: #6B6660;
	font-size: 13px;
	margin-top: 8px;
	display: block;
}

/* ==========================================================================
   Pied de page : degrade orange "Atelier Orange" (inspire du degrade bleu
   du footer ABL Transfo, meme technique : lineaire vertical, teinte de
   marque en haut vers une teinte tres sombre en bas). */
footer.footer-container {
	background: linear-gradient(180deg, #FF5A1F 0%, #C1502E 45%, #161616 100%) !important;
}



/* Barre de recherche en-tete : capsule arrondie + icone loupe SVG propre (calque sur le style ABL Transfo). */
.searchform {
	border-radius: 0;
	overflow: hidden;
	border: 2px solid rgba(0, 0, 0, 0.1);
}

.searchform input[type="search"],
.searchform input[type="text"] {
	border: none !important;
}

.searchsubmit {
	position: relative;
	background-image: url('images/icon-search.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: 19px 19px;
}

.searchsubmit > span {
	display: none !important;
}

.searchform .searchsubmit::before {
	content: none !important;
}

/* ==========================================================================
   Bandeau de categorie personnalise (fond illustre + carte blanche),
   inspire de la mise en forme des pages categorie d'ABL Transfo. */
body.tax-product_cat .wd-page-title {
	display: none;
}

body.tax-product_cat .wd-breadcrumbs {
	display: none;
}

.abl-cat-banner {
	background-image: url('images/pattern-soudure.svg');
	background-repeat: repeat;
	background-size: 260px 260px;
	background-color: #FFFBF8;
	padding: 40px 30px;
	margin-bottom: 30px;
	border-bottom: 1px solid #EDE0D3;
}

.abl-cat-banner-card {
	background: #ffffff;
	border-radius: 0;
	box-shadow: 0 20px 50px rgba(22, 22, 22, 0.08);
	padding: 30px 36px;
	display: flex;
	align-items: flex-start;
	gap: 24px;
	max-width: 820px;
}

.abl-cat-banner-icon-wrap {
	position: relative;
	flex-shrink: 0;
}

.abl-cat-banner-icon {
	width: 90px;
	height: 90px;
	object-fit: cover;
	border-radius: 0;
	display: block;
}

.abl-cat-banner-icon-badge {
	position: absolute;
	top: -8px;
	left: -8px;
	width: 26px;
	height: 26px;
	background: #161616;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	box-shadow: 0 4px 10px rgba(22, 22, 22, 0.25);
}

.abl-cat-banner-body {
	flex: 1;
	min-width: 0;
}

.abl-cat-banner-crumb {
	font-size: 12px;
	color: #6B6660;
	margin-bottom: 10px;
}

.abl-cat-banner-crumb a {
	color: #6B6660;
	text-decoration: none;
}

.abl-cat-banner-crumb a:hover {
	color: #FF5A1F;
}

.abl-cat-banner-title {
	font-size: 26px;
	margin: 0 0 10px;
	color: #161616;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 0.01em;
}

.abl-cat-banner-desc {
	color: #6B6660;
	font-size: 14px;
	line-height: 1.6;
	margin: 0;
	max-width: 560px;
}

/* Bandeau de categorie en pleine largeur (sort de la colonne de contenu
   pour couvrir toute la largeur de la fenetre, comme sur ABL Transfo). */
.abl-cat-banner {
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	width: 100vw;
	box-sizing: border-box;
	padding-left: max(30px, calc((100vw - 1600px) / 2 + 30px));
	padding-right: max(30px, calc((100vw - 1600px) / 2 + 30px));
}

/* ABL Soudure - Page Contact (facon ABL Transfo) */
body.page-id-23 .wd-page-title { display: none; }

.abl-contact-page {
    display: flex;
    align-items: flex-start;
    gap: 60px;
    max-width: 1000px;
    margin: 50px auto 80px;
    padding: 0 30px;
}
.abl-contact-info {
    flex: 0 0 300px;
}
.abl-contact-heading {
    font-size: 22px;
    color: #161616;
    margin: 0 0 14px;
    font-weight: 700;
}
.abl-contact-underline {
    width: 46px;
    height: 3px;
    background: #FF5A1F;
    margin-bottom: 24px;
    border-radius: 0;
}
.abl-contact-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.abl-contact-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #161616;
    font-size: 15px;
    margin-bottom: 18px;
}
.abl-contact-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    font-size: 17px;
    flex-shrink: 0;
}
.abl-contact-form-col {
    flex: 1;
    min-width: 0;
}
.abl-contact-intro {
    color: #6B6660;
    font-size: 14px;
    margin: 0 0 6px;
}
.abl-contact-form-title {
    font-size: 26px;
    color: #161616;
    margin: 0 0 24px;
    font-weight: 700;
}
.abl-contact-form-col .wpcf7-form p { margin-bottom: 20px; }
.abl-contact-form-col .wpcf7-form label {
    display: block;
    font-size: 13px;
    color: #6B6660;
    margin-bottom: 6px;
}
.abl-contact-form-col .wpcf7-form input[type="text"],
.abl-contact-form-col .wpcf7-form input[type="email"],
.abl-contact-form-col .wpcf7-form input[type="tel"],
.abl-contact-form-col .wpcf7-form textarea {
    width: 100%;
    border: 1px solid #EDE0D3;
    border-radius: 0;
    padding: 12px 14px;
    font-size: 14px;
    font-family: inherit;
    color: #161616;
    background: #FFFFFF;
    box-sizing: border-box;
    transition: border-color .2s ease;
}
.abl-contact-form-col .wpcf7-form input[type="text"]:focus,
.abl-contact-form-col .wpcf7-form input[type="email"]:focus,
.abl-contact-form-col .wpcf7-form input[type="tel"]:focus,
.abl-contact-form-col .wpcf7-form textarea:focus {
    outline: none;
    border-color: #FF5A1F;
}
.abl-contact-form-col .wpcf7-form textarea { min-height: 140px; resize: vertical; }
.abl-contact-form-col .wpcf7-form input[type="submit"] {
    background: #FF5A1F;
    color: #FFFFFF;
    border: none;
    border-radius: 0;
    padding: 13px 34px;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    cursor: pointer;
    transition: background .2s ease;
}
.abl-contact-form-col .wpcf7-form input[type="submit"]:hover {
    background: #C1502E;
}
@media (max-width: 782px) {
    .abl-contact-page { flex-direction: column; gap: 34px; }
    .abl-contact-info { flex: 1 1 auto; }
}
/* ==========================================================================
   Refonte premium "Atelier Orange" - systeme de sections magazine
   (remplace les patterns cartes identiques / 1-2-3 / stats en carres).
   ========================================================================== */

.abl-reveal {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1);
}
.abl-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}
.abl-reveal.abl-delay-1 { transition-delay: .12s; }
.abl-reveal.abl-delay-2 { transition-delay: .24s; }
.abl-reveal.abl-delay-3 { transition-delay: .36s; }
.abl-reveal.abl-delay-4 { transition-delay: .48s; }

/* Systeme d'animations directionnelles (alternance au scroll) */
.abl-reveal-left { transform: translateX(-40px); }
.abl-reveal-left.is-visible { transform: translateX(0); }
.abl-reveal-right { transform: translateX(40px); }
.abl-reveal-right.is-visible { transform: translateX(0); }
.abl-reveal-scale { transform: scale(.97); }
.abl-reveal-scale.is-visible { transform: scale(1); }
.abl-reveal-up { transform: translateY(24px); }
.abl-reveal-up.is-visible { transform: translateY(0); }

@media (max-width:782px){
	.abl-reveal-left, .abl-reveal-right { transform: translateY(20px); }
	.abl-reveal-left.is-visible, .abl-reveal-right.is-visible { transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
	.abl-reveal, .abl-reveal-left, .abl-reveal-right, .abl-reveal-scale, .abl-reveal-up { opacity: 1; transform: none; transition: none; }
}

.abl-mag-section {
	padding: 56px 30px;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	width: 100vw;
	box-sizing: border-box;
	max-width: 100vw;
}
.abl-mag-section.is-bg-surface { background: #FBEEE3; }
.abl-mag-section.is-bg-ink { background: #161616; color: #E9DED4; }
.abl-mag-section.is-tight { padding: 38px 30px; }
.abl-mag-inner {
	max-width: 1600px;
	margin: 0 auto;
}
.abl-mag-inner.is-narrow { max-width: 820px; }
.abl-mag-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #FF5A1F;
	margin-bottom: 18px;
}
.abl-mag-section.is-bg-ink .abl-mag-eyebrow { color: #FF8A4D; }

/* --- Grande phrase / statement --- */
.abl-mag-statement-text {
	font-size: clamp(28px, 4vw, 46px);
	line-height: 1.22;
	font-weight: 700;
	color: #161616;
	margin: 0;
	letter-spacing: -0.01em;
}
.abl-mag-section.is-bg-ink .abl-mag-statement-text { color: #FFFFFF; }
.abl-mag-statement-text .is-accent { color: #FF5A1F; }

/* --- Alternance image / texte avec leger chevauchement --- */
.abl-mag-split {
	display: flex;
	align-items: center;
	gap: 70px;
}
.abl-mag-split.is-reverse { flex-direction: row-reverse; }
.abl-mag-split-media {
	flex: 0 0 46%;
	position: relative;
}
.abl-mag-split-media img {
	width: 100%;
	height: 420px;
	object-fit: cover;
	border-radius: 0;
	display: block;
	position: relative;
	z-index: 2;
}
.abl-mag-split-media::before {
	content: '';
	position: absolute;
	top: -22px;
	left: -22px;
	width: 60%;
	height: 60%;
	background: #FF5A1F;
	border-radius: 0;
	z-index: 1;
	opacity: .12;
}
.abl-mag-split.is-reverse .abl-mag-split-media::before { left: auto; right: -22px; }
.abl-mag-split-body {
	flex: 1;
	min-width: 0;
}
.abl-mag-split-title {
	font-size: clamp(24px, 3vw, 34px);
	font-weight: 700;
	color: #161616;
	margin: 0 0 18px;
	line-height: 1.2;
}
.abl-mag-split-text {
	color: #6B6660;
	font-size: 16px;
	line-height: 1.7;
	margin: 0 0 22px;
}
.abl-mag-split-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.abl-mag-split-tags {
	align-items: stretch;
}
.abl-mag-split-tags li {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 600;
	color: #161616;
	background: #FBEEE3;
	border: 1px solid #EDE0D3;
	border-radius: 0;
	height: 36px;
	padding: 0 14px;
	white-space: nowrap;
	line-height: 1;
	box-sizing: border-box;
}

/* --- Citation / pull-quote --- */
.abl-mag-quote {
	position: relative;
	text-align: center;
	padding: 20px 40px;
}
.abl-mag-quote::before {
	content: '\201C';
	position: absolute;
	top: -60px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 220px;
	font-weight: 700;
	color: #FF5A1F;
	opacity: .1;
	line-height: 1;
	pointer-events: none;
}
.abl-mag-quote-text {
	position: relative;
	font-size: clamp(22px, 2.6vw, 30px);
	font-weight: 600;
	color: #161616;
	line-height: 1.45;
	margin: 0 0 24px;
}
.abl-mag-quote-cite {
	position: relative;
	color: #6B6660;
	font-size: 14px;
}
.abl-mag-quote-cite strong { color: #161616; }

/* --- Bandeau de chiffres, integres dans une phrase / grand format --- */
.abl-mag-stat-band {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	margin-top: 50px;
}
.abl-mag-stat {
	flex: 1;
	min-width: 160px;
	padding: 0 36px;
	border-left: 1px solid rgba(233,222,212,0.18);
}
.abl-mag-stat:first-child { border-left: none; padding-left: 0; }
.abl-mag-stat-num {
	font-size: clamp(40px, 5vw, 72px);
	font-weight: 700;
	color: #FF8A4D;
	line-height: 1;
	display: block;
	margin-bottom: 10px;
	letter-spacing: -0.02em;
}
.abl-mag-stat-label {
	color: #E9DED4;
	font-size: 14px;
	line-height: 1.5;
}

/* --- Timeline verticale --- */
.abl-mag-timeline {
	position: relative;
	max-width: 900px;
	margin: 60px auto 0;
	padding-left: 0;
}
.abl-mag-timeline::before {
	content: '';
	position: absolute;
	top: 8px;
	bottom: 8px;
	left: 130px;
	width: 2px;
	background: #EDE0D3;
}
.abl-mag-timeline-item {
	position: relative;
	display: flex;
	gap: 36px;
	padding: 0 0 56px;
}
.abl-mag-timeline-item:last-child { padding-bottom: 0; }
.abl-mag-timeline-year {
	flex: 0 0 130px;
	text-align: right;
	padding-right: 36px;
	font-size: 22px;
	font-weight: 700;
	color: #FF5A1F;
	position: relative;
	line-height: 1.3;
}
.abl-mag-timeline-year::after {
	content: '';
	position: absolute;
	top: 8px;
	right: -6px;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	background: #FF5A1F;
	border: 3px solid #FFFBF8;
	box-shadow: 0 0 0 2px #EDE0D3;
}
.abl-mag-timeline-body { flex: 1; padding-top: 2px; }
.abl-mag-timeline-title {
	font-size: 19px;
	font-weight: 700;
	color: #161616;
	margin: 0 0 10px;
}
.abl-mag-timeline-text {
	color: #6B6660;
	font-size: 15px;
	line-height: 1.7;
	margin: 0;
}

/* --- Comparaison deux marques, asymetrique --- */
.abl-mag-compare {
	display: flex;
	border-radius: 0;
	overflow: hidden;
	margin-top: 10px;
}
.abl-mag-compare-panel {
	flex: 1;
	padding: 54px 46px;
	position: relative;
}
.abl-mag-compare-panel.is-dark {
	background: #161616;
	color: #E9DED4;
	flex: 1.15;
}
.abl-mag-compare-panel.is-light {
	background: #FBEEE3;
	color: #161616;
	margin-top: 36px;
}
.abl-mag-compare-eyebrow {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-bottom: 16px;
	display: block;
}
.abl-mag-compare-panel.is-dark .abl-mag-compare-eyebrow { color: #FF8A4D; }
.abl-mag-compare-panel.is-light .abl-mag-compare-eyebrow { color: #C1502E; }
.abl-mag-compare-title {
	font-size: 25px;
	font-weight: 700;
	margin: 0 0 14px;
}
.abl-mag-compare-text {
	font-size: 15px;
	line-height: 1.7;
	margin: 0 0 20px;
	opacity: .88;
}
.abl-mag-compare-meta {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.02em;
}
.abl-mag-compare-panel.is-dark .abl-mag-compare-meta { color: #FF8A4D; }
.abl-mag-compare-panel.is-light .abl-mag-compare-meta { color: #FF5A1F; }

/* --- Grille magazine irreguliere --- */
.abl-mag-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 20px;
	margin-top: 50px;
}
.abl-mag-grid-item {
	border-radius: 0;
	padding: 34px;
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 200px;
}
.abl-mag-grid-item.span-big { grid-column: span 3; grid-row: span 2; min-height: 420px; }
.abl-mag-grid-item.span-wide { grid-column: span 3; }
.abl-mag-grid-item.span-narrow { grid-column: span 2; }
.abl-mag-grid-item.span-full { grid-column: span 4; }
.abl-mag-grid-item.is-photo {
	background-size: cover;
	background-position: center;
	color: #FFFFFF;
}
.abl-mag-grid-item.is-photo::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(10,10,10,0.55) 0%, rgba(10,10,10,0.4) 45%, rgba(10,10,10,0.85) 100%);
	z-index: 0;
}
.abl-mag-grid-item.is-photo * { position: relative; z-index: 1; }
.abl-mag-grid-item.is-photo h2, .abl-mag-grid-item.is-photo p, .abl-mag-grid-item.is-photo span, .abl-mag-grid-item.is-photo a { color: #FFFFFF; }
.abl-mag-grid-item.is-photo a { color: #FFFFFF; }
.abl-mag-grid-item.is-ink { background: #161616; color: #E9DED4; }
.abl-mag-grid-item.is-cream { background: #FBEEE3; color: #161616; border: 1px solid #EDE0D3; }
.abl-mag-grid-item.is-accent { background: #FF5A1F; color: #FFFFFF; }
.abl-mag-grid-item.is-accent .abl-mag-grid-item-title { color: #FFFFFF; }
.abl-mag-grid-item-title {
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 8px;
}
.abl-mag-grid-item-text {
	font-size: 14px;
	line-height: 1.6;
	opacity: .85;
	margin: 0;
}

/* --- Bandeau CTA texture --- */
.abl-mag-cta-band {
	background-image: url('images/pattern-soudure.svg'), linear-gradient(135deg, #FF5A1F 0%, #C1502E 100%);
	background-repeat: repeat, no-repeat;
	background-size: 260px 260px, cover;
	border-radius: 0;
	padding: 70px 50px;
	text-align: center;
	color: #FFFFFF;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	width: 100vw;
	max-width: 100vw;
	box-sizing: border-box;
}
.abl-mag-cta-band-title {
	font-size: clamp(24px, 3vw, 32px);
	font-weight: 700;
	margin: 0 0 14px;
	color: #FFFFFF;
}
.abl-mag-cta-band-text {
	font-size: 15px;
	max-width: 520px;
	margin: 0 auto 28px;
	opacity: .92;
}

/* --- FAQ accordeon --- */
.abl-mag-faq {
	max-width: 780px;
	margin: 40px auto 0;
}
.abl-mag-faq-item {
	border-bottom: 1px solid #EDE0D3;
}
.abl-mag-faq-item summary {
	list-style: none;
	cursor: pointer;
	padding: 22px 34px 22px 0;
	position: relative;
	font-size: 16px;
	font-weight: 600;
	color: #161616;
	transition: color .2s ease;
}
.abl-mag-faq-item summary::-webkit-details-marker { display: none; }
.abl-mag-faq-item summary:hover { color: #FF5A1F; }
.abl-mag-faq-item summary::after {
	content: '+';
	position: absolute;
	right: 4px;
	top: 18px;
	font-size: 24px;
	color: #FF5A1F;
	transition: transform .25s ease;
}
.abl-mag-faq-item[open] summary::after { transform: rotate(45deg); }
.abl-mag-faq-item p {
	color: #6B6660;
	font-size: 15px;
	line-height: 1.7;
	margin: 0 0 24px;
	padding-right: 34px;
}

/* --- Section header (eyebrow + titre + texte), reutilisable --- */
.abl-mag-head { max-width: 640px; margin: 0 0 50px; }
.abl-mag-head.is-center { margin: 0 auto 50px; text-align: center; }
.abl-mag-head-title {
	font-size: clamp(26px, 3.2vw, 38px);
	font-weight: 700;
	color: #161616;
	margin: 0 0 16px;
	line-height: 1.2;
}
.abl-mag-section.is-bg-ink .abl-mag-head-title { color: #FFFFFF; }
.abl-mag-head-text {
	color: #6B6660;
	font-size: 16px;
	line-height: 1.7;
	margin: 0;
}
.abl-mag-section.is-bg-ink .abl-mag-head-text { color: #E9DED4; }

@media (max-width: 900px) {
	.abl-mag-split { flex-direction: column !important; gap: 34px; }
	.abl-mag-split-media { flex: 1 1 auto; width: 100%; }
	.abl-mag-compare { flex-direction: column; }
	.abl-mag-compare-panel.is-light { margin-top: 0; }
	.abl-mag-grid { grid-template-columns: repeat(2, 1fr); }
	.abl-mag-grid-item.span-big,
	.abl-mag-grid-item.span-wide,
	.abl-mag-grid-item.span-narrow,
	.abl-mag-grid-item.span-full { grid-column: span 2; min-height: 220px; }
	.abl-mag-timeline::before { left: 10px; }
	.abl-mag-timeline-item { gap: 20px; }
	.abl-mag-timeline-year { flex: 0 0 auto; text-align: left; padding-right: 0; padding-left: 26px; font-size: 16px; }
	.abl-mag-timeline-year::after { right: auto; left: -4px; top: 4px; }
	.abl-mag-stat-band { flex-direction: column; gap: 30px; }
	.abl-mag-stat { border-left: none !important; padding-left: 0 !important; }
}
/* Grille "Nos engagements" - 1 grande tuile + 4 tuiles, disposition magazine. */
.abl-mag-grid-engagements {
	display: grid;
	grid-template-columns: 1.3fr 1fr 1fr;
	grid-auto-rows: minmax(150px, auto);
	gap: 20px;
	margin-top: 0;
}
.abl-mag-grid-engagements .abl-mag-grid-item.is-intro { grid-column: 1; grid-row: 1 / 3; }
.abl-mag-grid-engagements .abl-mag-grid-item.pos-1 { grid-column: 2; grid-row: 1; }
.abl-mag-grid-engagements .abl-mag-grid-item.pos-2 { grid-column: 3; grid-row: 1; }
.abl-mag-grid-engagements .abl-mag-grid-item.pos-3 { grid-column: 2; grid-row: 2; }
.abl-mag-grid-engagements .abl-mag-grid-item.pos-4 { grid-column: 3; grid-row: 2; }
.abl-mag-grid-item.is-intro {
	background: #161616;
	color: #E9DED4;
	justify-content: center;
}
.abl-mag-grid-item.is-intro .abl-mag-grid-item-title { color: #FFFFFF; }
.abl-mag-grid-item.is-intro .abl-mag-grid-item-text { color: #E9DED4; }
.abl-mag-grid-item-eyebrow {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #FF8A4D;
	margin: 0 0 16px;
	display: block;
}
.abl-mag-grid-item-check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgba(255,90,31,0.14);
	color: #FF5A1F;
	font-weight: 700;
	font-size: 13px;
	margin-bottom: 14px;
}
.abl-mag-grid-item.is-ink .abl-mag-grid-item-check,
.abl-mag-grid-item.is-intro .abl-mag-grid-item-check { background: rgba(255,138,77,0.18); color: #FF8A4D; }
@media (max-width: 900px) {
	.abl-mag-grid-engagements { grid-template-columns: 1fr; }
	.abl-mag-grid-engagements .abl-mag-grid-item.is-intro,
	.abl-mag-grid-engagements .abl-mag-grid-item.pos-1,
	.abl-mag-grid-engagements .abl-mag-grid-item.pos-2,
	.abl-mag-grid-engagements .abl-mag-grid-item.pos-3,
	.abl-mag-grid-engagements .abl-mag-grid-item.pos-4 { grid-column: 1; grid-row: auto; }
}
.abl-cat-thumb:hover { transform: scale(1.06); }

.abl-mag-faq.is-two-col { column-count: 2; column-gap: 40px; }
.abl-mag-faq.is-two-col .abl-mag-faq-item { break-inside: avoid; }
@media (max-width: 900px) { .abl-mag-faq.is-two-col { column-count: 1; } }

/* ABL Soudure - bandeau boutique (page shop) : meme habillage que les pages
   categorie (fond illustre + carte blanche), avec en plus une rangee de
   miniatures de categories a la place de la liste texte native. */
body.woocommerce-shop .wd-page-title {
	display: none;
}

.abl-cat-banner-icon-badge-solo {
	position: static;
	width: 64px;
	height: 64px;
	font-size: 26px;
	border-radius: 0;
	box-shadow: none;
}

.abl-shop-cats {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 20px;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	width: 100vw;
	box-sizing: border-box;
	padding-top: 30px;
	padding-bottom: 10px;
	padding-left: max(30px, calc((100vw - 1600px) / 2 + 30px));
	padding-right: max(30px, calc((100vw - 1600px) / 2 + 30px));
}

.abl-shop-cats a {
	text-decoration: none;
	text-align: center;
}

.abl-shop-cats img {
	width: 84px;
	height: 84px;
	border-radius: 0;
	object-fit: cover;
	display: block;
	margin: 0 auto 10px;
	transition: transform .3s ease;
}

.abl-shop-cats a:hover img {
	transform: scale(1.06);
}

.abl-shop-cats span {
	font-size: 13px;
	font-weight: 600;
	color: #161616;
}

@media (max-width: 992px) {
	.abl-shop-cats { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 600px) {
	.abl-shop-cats { grid-template-columns: repeat(3, 1fr); gap: 14px; }
	.abl-shop-cats img { width: 64px; height: 64px; }
}

/* --- Harmonisation angles arrondis (variables WoodMart) --- */
:root {
	--wd-brd-radius: 14px !important;
	--wd-form-brd-radius: 8px !important;
	--btn-brd-radius: 8px !important;
	--btn-default-brd-radius: 8px !important;
	--btn-accented-brd-radius: 8px !important;
}
.quantity input[type="number"] { border-radius: 0 !important; }


/* --- Mega menu Boutique: format colonnes façon ABL Transfo --- */
.menu-item-106 .wd-sub-accented > .wd-col > a {
	display: inline-block;
	padding-bottom: 8px;
	margin-bottom: 10px;
	border-bottom: 2px solid #FF5A1F;
	pointer-events: none;
}
.menu-item-106 .wd-sub-accented > .wd-col {
	margin-bottom: 4px;
}


/* --- Corriger le chevauchement de la description au survol produit --- */
.wd-products.wd-grid-g {
	row-gap: 145px !important;
	column-gap: 20px !important;
}
@media (max-width: 782px) {
	.wd-products.wd-grid-g {
		row-gap: 130px !important;
	}
}

/* --- Fix: alignfull blocks doivent vraiment prendre toute la largeur --- */
.alignfull {
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	width: 100vw;
	max-width: 100vw;
	box-sizing: border-box;
}

/* --- CTA band variant sombre (sans photo) --- */
.abl-mag-cta-band.is-ink {
	background-image: linear-gradient(135deg, #232323 0%, #0E0E0E 100%);
}

/* --- Fix contraste compteurs filtre Puissance (WooCommerce force gris trop clair) --- */
.widget_layered_nav ul .count,
.widget_layered_nav .woocommerce-widget-layered-nav-list__item .count {
	color: var(--color-gray-500) !important;
}

.abl-blog-card-grid > * {
	width: 100% !important;
	flex: none !important;
	max-width: none !important;
}

/* --- Refonte "Nos engagements": cartes blanches + numeros, remplace les checkmarks generiques --- */
.abl-mag-grid-item.is-white {
	background: #FFFFFF;
	border: 1px solid #EDE0D3;
	box-shadow: 0 4px 16px rgba(22, 22, 22, 0.04);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.abl-mag-grid-item.is-white:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 30px rgba(22, 22, 22, 0.08);
}
.abl-mag-grid-item-num {
	font-size: 34px;
	font-weight: 800;
	line-height: 1;
	color: #FF5A1F;
	margin-bottom: 14px;
	display: block;
	font-variant-numeric: tabular-nums;
}
.abl-mag-grid-item.is-accent .abl-mag-grid-item-num {
	color: rgba(255, 255, 255, 0.75);
}
/* --- Refonte "Nos engagements" v2 : liste editoriale au lieu de la grille de 4 carres --- */
.abl-engagements-layout {
	display: flex;
	align-items: stretch;
	gap: 70px;
	margin-top: 10px;
}
.abl-engagements-intro {
	flex: 0 0 400px;
	background: #161616;
	color: #E9DED4;
	padding: 44px 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.abl-engagements-intro .abl-mag-grid-item-title { color: #FFFFFF; }
.abl-engagements-intro .abl-mag-grid-item-text { color: #C9C0B7; }
.abl-engagements-list {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.abl-engagements-row {
	display: flex;
	align-items: flex-start;
	gap: 30px;
	padding: 28px 0;
	border-bottom: 1px solid #EDE0D3;
}
.abl-engagements-row:first-child { padding-top: 0; }
.abl-engagements-row:last-child { border-bottom: none; padding-bottom: 0; }
.abl-engagements-row-num {
	flex: 0 0 56px;
	font-size: 28px;
	font-weight: 800;
	line-height: 1;
	color: #FF5A1F;
	font-variant-numeric: tabular-nums;
	padding-top: 2px;
}
.abl-engagements-row-body h3 {
	margin: 0 0 8px;
	font-size: 18px;
	font-weight: 700;
	color: #161616;
}
.abl-engagements-row-body p {
	margin: 0;
	font-size: 14px;
	line-height: 1.65;
	color: #6B6660;
	max-width: 480px;
}
@media (max-width: 900px) {
	.abl-engagements-layout { flex-direction: column; gap: 30px; }
	.abl-engagements-intro { flex: none; }
}
/* --- Fix mobile: la rangee de vignettes categories (accueil) empilait 1 par ligne
   (comportement par defaut de Gutenberg wp-block-columns sur petit ecran) --- */
@media (max-width: 782px) {
	.wp-block-columns:has(.abl-cat-thumb) {
		flex-wrap: wrap !important;
		justify-content: center !important;
		gap: 18px !important;
	}
	.wp-block-columns:has(.abl-cat-thumb) > .wp-block-column {
		flex: 0 0 auto !important;
		width: calc(33.333% - 12px) !important;
		min-width: 0 !important;
	}
	.abl-cat-thumb {
		width: 84px !important;
		height: 84px !important;
	}
}
@media (max-width: 480px) {
	.wp-block-columns:has(.abl-cat-thumb) > .wp-block-column {
		width: calc(33.333% - 12px) !important;
	}
	.abl-cat-thumb {
		width: 70px !important;
		height: 70px !important;
	}
}
/* ==========================================================================
   ABL Soudure - refonte fiches produit (badges, points forts, tableau
   technique, applications, pourquoi/aide au choix, FAQ). Reprend les
   tokens deja en place ailleurs sur le site (accent #FF5A1F, ink #161616,
   surface #FBEEE3, border #EDE0D3, muted #6B6660, angles droits). */

.abl-pd-badges{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px;padding:0;}
.abl-pd-badges li{background:#FBEEE3;color:#161616;border:1px solid #EDE0D3;border-radius:0;padding:6px 12px;font-size:12.5px;font-weight:600;letter-spacing:.01em;}

.abl-pd-section{position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;width:100vw;max-width:100vw;box-sizing:border-box;padding:56px max(30px, calc((100vw - 1600px) / 2 + 30px));}
.abl-pd-section.is-alt{background:#FBEEE3;}
.abl-pd-inner{max-width:1600px;margin:0 auto;}
.abl-pd-h2{font-size:26px;font-weight:700;color:#161616;margin:0 0 24px;}

.abl-pd-keypoints{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;}
.abl-pd-keypoint{background:#FFFFFF;border:1px solid #EDE0D3;border-top:3px solid #FF5A1F;border-radius:0;padding:22px 22px;}
.abl-pd-keypoint h3{font-size:16px;font-weight:700;color:#161616;margin:0 0 8px;}
.abl-pd-keypoint p{font-size:14px;line-height:1.6;color:#4A4642;margin:0;}

.abl-pd-spec-table{width:100%;border-collapse:collapse;background:#FFFFFF;border:1px solid #EDE0D3;}
.abl-pd-spec-table tr:nth-child(even){background:#FBEEE3;}
.abl-pd-spec-table th,.abl-pd-spec-table td{text-align:left;padding:13px 18px;font-size:14px;border-bottom:1px solid #EDE0D3;}
.abl-pd-spec-table th{width:38%;font-weight:600;color:#161616;}
.abl-pd-spec-table td{color:#4A4642;}
.abl-pd-spec-table tr:last-child th,.abl-pd-spec-table tr:last-child td{border-bottom:none;}

.abl-pd-apps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;}
.abl-pd-app{padding:0;}
.abl-pd-app h3{font-size:15px;font-weight:700;color:#FF5A1F;margin:0 0 8px;text-transform:uppercase;letter-spacing:.03em;}
.abl-pd-app p{font-size:14px;line-height:1.6;color:#4A4642;margin:0;}

.abl-pd-why p{font-size:16px;line-height:1.75;color:#232323;max-width:900px;margin:0;}

.abl-pd-choose{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;}
.abl-pd-choose-card{display:flex;gap:16px;align-items:flex-start;background:#FFFFFF;border:1px solid #EDE0D3;border-radius:0;padding:18px;text-decoration:none;transition:box-shadow .25s ease,transform .25s ease;}
.abl-pd-choose-card:hover{box-shadow:0 14px 30px rgba(22,22,22,0.1);transform:translateY(-3px);}
.abl-pd-choose-card img{width:64px;height:64px;object-fit:contain;background:#FBEEE3;flex:0 0 auto;}
.abl-pd-choose-card h3{font-size:14.5px;font-weight:700;color:#161616;margin:0 0 6px;}
.abl-pd-choose-card p{font-size:13px;line-height:1.5;color:#6B6660;margin:0;}

.abl-pd-faq{max-width:900px;}
.abl-pd-faq-item{background:#FFFFFF;border:1px solid #EDE0D3;border-radius:0;margin-bottom:10px;padding:4px 20px;}
.abl-pd-faq-item summary{cursor:pointer;list-style:none;font-size:15px;font-weight:600;color:#161616;padding:16px 0;position:relative;}
.abl-pd-faq-item summary::-webkit-details-marker{display:none;}
.abl-pd-faq-item summary::after{content:"+";position:absolute;right:0;top:14px;font-size:20px;color:#FF5A1F;}
.abl-pd-faq-item[open] summary::after{content:"−";}
.abl-pd-faq-item p{font-size:14px;line-height:1.65;color:#4A4642;margin:0 0 18px;}

@media (max-width:782px){
	.abl-pd-section{padding:34px 20px;}
	.abl-pd-h2{font-size:21px;margin-bottom:16px;}
	.abl-pd-choose-card{flex-direction:column;}
}
/* ==========================================================================
   ABL Soudure - habillage de la galerie photo produit (fiche produit).
   La photo elle-meme (fond blanc, detourage) est deja traitee en amont ;
   ici on soigne uniquement le cadre/presentation pour que ca ait l'air
   premium plutot que "photo AliExpress brute posee sur la page". */

.woocommerce-product-gallery{background:#FFFFFF;border:1px solid #EDE0D3;border-radius:0;padding:18px;}
.woocommerce-product-gallery .flex-viewport{border-radius:0;overflow:hidden;}
.woocommerce-product-gallery img{transition:transform .5s ease;}
.woocommerce-product-gallery:hover img{transform:scale(1.035);}
.woocommerce-product-gallery .flex-control-thumbs li{border-radius:0;}
.woocommerce-product-gallery .flex-control-thumbs img{border:1px solid #EDE0D3;border-radius:0;opacity:.75;transition:opacity .2s ease,border-color .2s ease;}
.woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.woocommerce-product-gallery .flex-control-thumbs img:hover{opacity:1;border-color:#FF5A1F;}
/* Un seul visuel : on masque la bande de vignettes vide/inutile pour eviter
   l'effet "case vide" a gauche de la photo. */
.flex-control-thumbs:has(> li:only-child){display:none !important;}
.woocommerce-product-gallery:has(.flex-control-thumbs > li:only-child) .flex-viewport{width:100% !important;}
.abl-cat-banner-icon-shop {
	width: 90px;
	height: 90px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.abl-cat-banner-icon-shop svg {
	width: 72px;
	height: 72px;
}

/* --- Header: recherche centree + nav pleine largeur + bouton Contact --- */
.whb-general-header .whb-col-center{ display:flex; justify-content:center; }
.whb-general-header .whb-col-center .wd-search-form{ width:100%; max-width:820px; }
.whb-header-bottom .whb-column11{ flex:1 1 auto !important; max-width:none !important; }
.whb-header-bottom .whb-column12,
.whb-header-bottom .whb-column13{ flex:0 0 0 !important; width:0 !important; max-width:0 !important; padding:0 !important; overflow:hidden; }
.whb-header-bottom-inner{ position:relative; }
#menu-menu-principal{ display:flex; flex-wrap:nowrap; align-items:center; width:100%; column-gap:13px; }
#menu-menu-principal .nav-link-text{ font-size:12px; letter-spacing:0.01em; white-space:nowrap; }
#menu-menu-principal .menu-item-pro-btn{ margin-left:auto; flex-shrink:0; display:flex; align-items:center; }
#menu-menu-principal .menu-item-pro-btn > a.woodmart-nav-link{ background:#FF5A1F; padding:8px 20px !important; transition:background .2s ease; }
#menu-menu-principal .menu-item-pro-btn > a.woodmart-nav-link .nav-link-text{ color:#FFFFFF !important; font-size:12px; }
#menu-menu-principal .menu-item-pro-btn > a.woodmart-nav-link:hover{ background:#161616; }
#menu-menu-principal .menu-item-pro-btn::after{ content:'/'; color:#FFFFFF; opacity:.55; margin-left:12px; font-size:14px; line-height:1; }
#menu-menu-principal .menu-item-contact-btn{ margin-left:0; flex-shrink:0; }
#menu-menu-principal .menu-item-contact-btn > a.woodmart-nav-link{ background:#FF5A1F; padding:8px 20px !important; transition:background .2s ease; }
#menu-menu-principal .menu-item-contact-btn > a.woodmart-nav-link .nav-link-text{ color:#FFFFFF !important; font-size:12px; }
#menu-menu-principal .menu-item-contact-btn > a.woodmart-nav-link:hover{ background:#161616; }
\@media (max-width:1300px){ #menu-menu-principal{ column-gap:8px; } #menu-menu-principal .nav-link-text{ font-size:11px; } }
\@media (max-width:1024px){ .whb-general-header .whb-col-center .wd-search-form{ max-width:100%; } }

/* --- Hero: glow, etincelles, stats, bouton shine --- */
.abl-hero-media{ position:relative; }
.abl-hero-glow{ position:absolute; top:50%; left:50%; width:120%; height:120%; transform:translate(-50%,-50%); background:radial-gradient(circle, rgba(255,90,31,0.28) 0%, rgba(255,90,31,0) 68%); filter:blur(6px); z-index:1; pointer-events:none; }
.abl-spark{ position:absolute; width:5px; height:5px; border-radius:50%; background:#FF5A1F; box-shadow:0 0 8px 2px rgba(255,90,31,0.7); z-index:3; opacity:0; animation: abl-spark-rise 3.2s ease-in infinite; pointer-events:none; }
.abl-spark-1{ left:12%; bottom:6%; animation-delay:.2s; }
.abl-spark-2{ left:48%; bottom:2%; animation-delay:1.1s; width:4px;height:4px; }
.abl-spark-3{ left:78%; bottom:10%; animation-delay:2s; width:6px;height:6px; }
.abl-spark-4{ left:65%; bottom:0%; animation-delay:.7s; width:3px;height:3px; }
\@keyframes abl-spark-rise{ 0%{ opacity:0; transform:translateY(0) scale(1); } 15%{ opacity:1; } 100%{ opacity:0; transform:translateY(-140px) scale(.4); } }
.abl-hero-stats{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.abl-hero-stat{ display:flex; flex-direction:column; gap:2px; }
.abl-hero-stat-num{ color:#161616; font-size:22px; font-weight:700; line-height:1.1; }
.abl-hero-stat-label{ color:#6B6660; font-size:12.5px; }
.abl-hero-stat-sep{ width:1px; height:30px; background:#EDE0D3; }
.abl-btn-shine::after{ content:''; position:absolute; top:0; left:-60%; width:40%; height:100%; background:linear-gradient(115deg, transparent, rgba(255,255,255,0.55), transparent); transform:skewX(-20deg); }
.abl-btn-shine:hover::after{ animation: abl-shine-sweep .9s ease forwards; }
\@keyframes abl-shine-sweep{ from{ left:-60%; } to{ left:130%; } }
\@media (prefers-reduced-motion: reduce){ .abl-spark, .abl-btn-shine:hover::after{ animation:none; } }
\@media (max-width:782px){ .abl-hero-stats{ gap:12px; } .abl-hero-stat-sep{ display:none; } .abl-hero h1{ font-size:34px !important; } }

/* --- Hero de categorie immersif (image/video contextuelle par univers) --- */
.abl-cat-hero{ position:relative; left:50%; right:50%; margin-left:-50vw; margin-right:-50vw; width:100vw; box-sizing:border-box; min-height:420px; display:flex; align-items:flex-end; background-size:cover; background-position:center; overflow:hidden; }
.abl-cat-hero-video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:1; }
.abl-cat-hero-overlay{ position:absolute; inset:0; z-index:2; background:linear-gradient(180deg, rgba(22,22,22,.35) 0%, rgba(22,22,22,.55) 55%, rgba(22,22,22,.82) 100%); }
.abl-cat-hero-inner{ position:relative; z-index:3; width:100%; box-sizing:border-box; padding:40px 40px 44px max(30px, calc((100vw - 1600px) / 2 + 30px)); text-align:left; }
.abl-cat-hero-crumb{ font-size:12px; color:rgba(255,255,255,.75); margin-bottom:18px; }
.abl-cat-hero-crumb a{ color:rgba(255,255,255,.75); text-decoration:none; }
.abl-cat-hero-crumb a:hover{ color:#FF8A4D; }
.abl-cat-hero-eyebrow{ display:inline-block; color:#FF8A4D; font-size:12px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; margin-bottom:14px; }
.abl-cat-hero-title{ font-size:clamp(30px, 4vw, 46px); margin:0 0 12px; color:#FFFFFF; text-transform:uppercase; font-weight:700; letter-spacing:0.01em; line-height:1.1; }
.abl-cat-hero-desc{ color:rgba(255,255,255,.85); font-size:15px; line-height:1.6; margin:0 0 24px; max-width:600px; }
.abl-cat-hero-cta{ display:inline-flex; align-items:center; gap:8px; color:#FFFFFF; border:1px solid rgba(255,255,255,.55); padding:11px 22px; font-size:13px; font-weight:600; text-decoration:none; border-radius:0; transition:background .25s ease, border-color .25s ease; }
.abl-cat-hero-cta span{ transition:transform .25s ease; }
.abl-cat-hero-cta:hover{ background:#FF5A1F; border-color:#FF5A1F; }
.abl-cat-hero-cta:hover span{ transform:translateY(2px); }
\@media (max-width:782px){ .abl-cat-hero{ min-height:300px; } .abl-cat-hero-inner{ padding:28px 20px 30px; } .abl-cat-hero-desc{ font-size:14px; } }


/* --- Navigation inter-univers (bas de page categorie) --- */
.abl-universe-nav{ position:relative; left:50%; right:50%; margin-left:-50vw; margin-right:-50vw; width:100vw; box-sizing:border-box; background:#111111; padding:64px 0 70px; margin-top:60px; }
.abl-universe-nav-inner{ width:100%; padding:0 max(30px, calc((100vw - 1600px) / 2 + 30px)); box-sizing:border-box; }
.abl-universe-nav-label{ display:block; color:#FF8A4D; font-size:12px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; margin-bottom:22px; }
.abl-universe-nav-grid{ display:grid; grid-template-columns:repeat(2, 1fr); gap:24px; }
.abl-universe-card{ position:relative; display:block; min-height:220px; border-radius:0; overflow:hidden; text-decoration:none; background-size:cover; background-position:center; transition:transform .35s ease; }
.abl-universe-card:hover{ transform:translateY(-4px); }
.abl-universe-card-overlay{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(17,17,17,.35) 0%, rgba(17,17,17,.75) 100%); transition:background .35s ease; }
.abl-universe-card:hover .abl-universe-card-overlay{ background:linear-gradient(180deg, rgba(255,90,31,.25) 0%, rgba(17,17,17,.82) 100%); }
.abl-universe-card-content{ position:relative; z-index:2; display:flex; flex-direction:column; justify-content:flex-end; height:100%; padding:28px 30px; box-sizing:border-box; }
.abl-universe-card-title{ color:#FFFFFF; font-size:22px; font-weight:700; text-transform:uppercase; letter-spacing:0.01em; margin-bottom:8px; }
.abl-universe-card-tagline{ color:rgba(255,255,255,.8); font-size:14px; line-height:1.5; margin-bottom:16px; max-width:420px; }
.abl-universe-card-cta{ display:inline-flex; align-items:center; gap:8px; color:#FF8A4D; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; }
.abl-universe-card-arrow{ display:inline-block; transition:transform .25s ease; }
.abl-universe-card:hover .abl-universe-card-arrow{ transform:translateX(6px); }
@media (max-width:782px){
	.abl-universe-nav{ padding:44px 0 50px; }
	.abl-universe-nav-grid{ grid-template-columns:1fr; gap:16px; }
	.abl-universe-card{ min-height:180px; }
	.abl-universe-card-title{ font-size:19px; }
}

/* --- FAQ : hover desktop + transition fluide entre reponses --- */
@keyframes abl-faq-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
.abl-mag-faq-item[open] > p, .abl-pd-faq-item[open] > p { animation: abl-faq-fade .35s ease; }
.abl-mag-faq-item[open] > summary { color: #FF5A1F; }
.abl-pd-faq-item[open] { border-color: #FF5A1F; }
@media (hover:hover) and (pointer:fine) {
	.abl-mag-faq-item summary, .abl-pd-faq-item summary { transition: color .2s ease, background .2s ease; }
}

/* --- CTA sticky discret (conseil / devis / contact) --- */
@keyframes abl-sticky-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
.abl-sticky-cta {
	position: fixed;
	right: 24px;
	bottom: 90px;
	z-index: 340;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #161616;
	color: #FFFFFF;
	padding: 12px 18px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	border-radius: 999px;
	box-shadow: 0 8px 24px rgba(22,22,22,.28);
	transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
	animation: abl-sticky-in .5s ease .6s both;
	max-width: calc(100vw - 48px);
}
.abl-sticky-cta:hover {
	background: #FF5A1F;
	transform: translateY(-2px);
	box-shadow: 0 10px 26px rgba(255,90,31,.35);
	color: #FFFFFF;
}
.abl-sticky-cta-icon { font-size: 15px; line-height: 1; }
.abl-sticky-cta-text { white-space: nowrap; }
@media (max-width:782px) {
	.abl-sticky-cta { right: 14px; bottom: 78px; padding: 10px 14px; font-size: 12px; }
	.abl-sticky-cta-text { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
	.abl-sticky-cta { animation: none; }
}

/* --- Mega menu categories : dropdown + flyout sous-categories --- */
#menu-menu-principal .menu-simple-dropdown > .wd-dropdown-menu{
	background:#ffffff !important;
	border:1px solid #f0ede4 !important;
	border-radius:0 !important;
	box-shadow:0 18px 40px rgba(20,15,10,.16) !important;
	padding:10px 0 !important;
	min-width:280px !important;
	top:100% !important;
}
#menu-menu-principal .wd-dropdown-menu .container{ padding:0 !important; max-width:none !important; }
#menu-menu-principal .wd-sub-menu{ padding:6px 0 !important; }
#menu-menu-principal .wd-sub-menu > li{ position:relative; }
#menu-menu-principal .wd-sub-menu > li > a{
	display:block;
	padding:11px 26px !important;
	font-size:13px !important;
	letter-spacing:0.01em;
	color:#FF5A1F !important;
	font-weight:600;
	transition:background .2s ease, color .2s ease, padding-left .2s ease;
	border-left:2px solid transparent;
}
#menu-menu-principal .wd-sub-menu > li > a:hover{
	background:#FF5A1F !important;
	color:#ffffff !important;
	padding-left:32px !important;
	border-left-color:#C1502E;
}
#menu-menu-principal .wd-sub-menu > li.menu-item-has-children > a::after{
	content:'\2192';
	float:right;
	margin-left:14px;
	color:#FF5A1F;
	opacity:.8;
}
#menu-menu-principal .wd-sub-menu > li.menu-item-has-children > a:hover::after{
	color:#ffffff;
}
#menu-menu-principal .sub-sub-menu.wd-dropdown{
	position:absolute;
	left:100%;
	top:0;
	margin-left:0 !important;
	background:#ffffff !important;
	border:1px solid #f0ede4 !important;
	border-left:none !important;
	min-width:250px;
	box-shadow:0 18px 40px rgba(20,15,10,.18);
	padding:10px 0;
	opacity:0;
	visibility:hidden;
	transform:translateX(6px);
	transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
	z-index:20;
}
#menu-menu-principal .item-level-1.menu-item-has-children:hover > .sub-sub-menu.wd-dropdown{
	opacity:1;
	visibility:visible;
	transform:translateX(0);
}
#menu-menu-principal .sub-sub-menu.wd-dropdown > li > a{
	display:block;
	padding:10px 24px;
	font-size:12.5px;
	color:#FF5A1F;
	font-weight:600;
	transition:background .2s ease, color .2s ease;
}
#menu-menu-principal .sub-sub-menu.wd-dropdown > li > a:hover{
	background:#FF5A1F;
	color:#ffffff;
}

/* --- Fix grid: hero/nav-univers ne doivent pas perturber le placement grille sidebar+contenu --- */
main.wd-content-layout > .abl-cat-hero,
main.wd-content-layout > #abl-cat-products,
main.wd-content-layout > .abl-universe-nav{
	grid-column: 1 / -1 !important;
}
main.wd-content-layout > .abl-cat-hero,
main.wd-content-layout > .abl-universe-nav{
	width:100vw !important;
	left:50% !important;
	right:50% !important;
	margin-left:-50vw !important;
	margin-right:-50vw !important;
}

/* --- Grille produits catégorie : 5 colonnes au lieu de 4 --- */
.wd-content-area .products.wd-products{
	--wd-col-lg:5 !important;
	grid-template-columns: repeat(5, 1fr) !important;
}
@media (max-width:1400px){
	.wd-content-area .products.wd-products{ --wd-col-lg:4 !important; grid-template-columns: repeat(4, 1fr) !important; }
}
@media (max-width:1024px){
	.wd-content-area .products.wd-products{ --wd-col-lg:3 !important; grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width:782px){
	.wd-content-area .products.wd-products{ --wd-col-lg:2 !important; grid-template-columns: repeat(2, 1fr) !important; }
}

/* --- Cases a cocher filtres sidebar : style personnalise --- */
.sidebar-container .widget-area .woocommerce-widget-layered-nav-list__item{
	display:flex;
	align-items:center;
	padding:6px 4px;
	border-radius:0;
	transition:background .18s ease;
}
.sidebar-container .widget-area .woocommerce-widget-layered-nav-list__item:hover{
	background:#FBEEE3;
}
.sidebar-container .widget-area input[type="checkbox"]{
	appearance:none;
	-webkit-appearance:none;
	width:16px;
	height:16px;
	min-width:16px;
	border:1.5px solid #D8CBBC;
	background:#fff;
	margin-right:10px;
	position:relative;
	cursor:pointer;
	transition:border-color .18s ease, background .18s ease;
}
.sidebar-container .widget-area input[type="checkbox"]:hover{
	border-color:#FF5A1F;
}
.sidebar-container .widget-area input[type="checkbox"]:checked{
	background:#FF5A1F;
	border-color:#FF5A1F;
}
.sidebar-container .widget-area input[type="checkbox"]:checked::after{
	content:'';
	position:absolute;
	left:4px;
	top:1px;
	width:5px;
	height:9px;
	border:solid #fff;
	border-width:0 2px 2px 0;
	transform:rotate(45deg);
}
.sidebar-container .widget-area label{
	cursor:pointer;
	font-size:13px;
	color:#4A4642;
	display:flex;
	align-items:center;
	flex:1;
}
/* --- Fiche produit : bandeau de confiance + analyse technique + cloture (refonte marketing) --- */
.abl-pd-trust{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center;margin:16px 0 20px;padding:14px 18px;background:#FBEEE3;border:1px solid #EDE0D3;}
.abl-pd-trust span{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:#161616;white-space:nowrap;}
.abl-pd-trust svg{flex:0 0 auto;}
@media (max-width:600px){ .abl-pd-trust{gap:8px 16px;padding:12px 14px;} .abl-pd-trust span{white-space:normal;} }

.abl-pd-deepdive p{font-size:15.5px;line-height:1.8;color:#3A3630;max-width:980px;margin:0 0 18px;}
.abl-pd-deepdive p:last-child{margin-bottom:0;}
.abl-pd-deepdive p:first-of-type::first-letter{font-size:42px;font-weight:700;color:#FF5A1F;float:left;line-height:0.8;padding-right:8px;padding-top:6px;}

.abl-pd-closing{position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;width:100vw;max-width:100vw;box-sizing:border-box;padding:60px max(30px, calc((100vw - 1600px) / 2 + 30px));background:linear-gradient(135deg,#161616 0%,#232323 55%,#3a2415 100%);}
.abl-pd-closing-inner{max-width:900px;margin:0 auto;text-align:center;}
.abl-pd-closing-inner p{font-size:17px;line-height:1.75;color:#F3EDE6;margin:0;}

@media (max-width:782px){
	.abl-pd-closing{padding:38px 20px;}
	.abl-pd-closing-inner p{font-size:15px;}
	.abl-pd-deepdive p:first-of-type::first-letter{font-size:32px;}
}


/* ==========================================================================
   ABL Soudure - retire le padding-top blanc (40px) au-dessus du hero video
   de categorie, pour que la video colle directement sous la nav orange.
   ========================================================================== */
main.wd-content-layout:has(> .abl-cat-hero){
	padding-top:0 !important;
}
