.brico-minimalist-badge {
			width: 50px;
			height: 50px;
			border-radius: 50%;
			background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
			border: 1.5px solid #fde68a;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			margin: 0 auto 4px;
			box-shadow: 0 3px 10px rgba(245, 158, 11, 0.14);
			transition: transform 0.25s ease, box-shadow 0.25s ease;
		}
		.brico-minimalist-badge:hover {
			transform: translateY(-2px) scale(1.05);
			box-shadow: 0 6px 16px rgba(245, 158, 11, 0.22);
		}
		.brico-minimalist-badge svg {
			width: 26px;
			height: 26px;
		}
		.brico-minimalist-social-badge {
			width: 50px;
			height: 50px;
			border-radius: 50%;
			background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
			border: 1.5px solid #bbf7d0;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			margin: 0 auto 4px;
			box-shadow: 0 3px 10px rgba(16, 185, 129, 0.12);
			transition: transform 0.25s ease, box-shadow 0.25s ease;
		}
		.brico-minimalist-social-badge:hover {
			transform: translateY(-2px) scale(1.05);
			box-shadow: 0 6px 16px rgba(16, 185, 129, 0.2);
		}
		.brico-minimalist-social-badge svg {
			width: 24px;
			height: 24px;
			color: #059669;
		}
		.brico-minimalist-support-badge {
			width: 50px;
			height: 50px;
			border-radius: 50%;
			background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
			border: 1.5px solid #bfdbfe;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			margin: 0 auto 4px;
			box-shadow: 0 3px 10px rgba(37, 99, 235, 0.12);
			transition: transform 0.25s ease, box-shadow 0.25s ease;
		}
		.brico-minimalist-support-badge:hover {
			transform: translateY(-2px) scale(1.05);
			box-shadow: 0 6px 16px rgba(37, 99, 235, 0.2);
		}
		.brico-minimalist-support-badge svg {
			width: 24px;
			height: 24px;
			color: #2563eb;
		}
		.brico-support-buttons-group {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			gap: 10px;
			flex-wrap: wrap;
			margin-top: 4px;
		}
		.brico-support-buttons-group .btn {
			font-family: inherit;
			font-size: 13px;
			font-weight: 600;
			text-transform: uppercase;
			letter-spacing: 0.3px;
			min-height: 40px;
			padding: 0 18px;
			border-radius: 35px;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			gap: 6px;
			text-decoration: none !important;
			cursor: pointer;
			line-height: 1;
			transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
		}
		.brico-support-buttons-group .btn .wd-btn-icon {
			display: inline-flex;
			align-items: center;
			justify-content: center;
		}
		.brico-support-buttons-group .btn .wd-btn-text {
			font-family: inherit;
			line-height: 1;
		}
		.brico-btn-woodmart-whatsapp {
			background-color: #25D366 !important;
			border-color: #25D366 !important;
			color: #ffffff !important;
			box-shadow: 0 3px 10px rgba(37, 211, 102, 0.3);
		}
		.brico-btn-woodmart-whatsapp:hover {
			background-color: #1eb856 !important;
			border-color: #1eb856 !important;
			color: #ffffff !important;
			transform: translateY(-2px);
			box-shadow: 0 6px 16px rgba(37, 211, 102, 0.4);
		}
		.brico-btn-woodmart-modal {
			background-color: #c80000 !important;
			border-color: #c80000 !important;
			color: #ffffff !important;
			box-shadow: 0 3px 10px rgba(200, 0, 0, 0.25);
		}
		.brico-btn-woodmart-modal:hover {
			background-color: #a60000 !important;
			border-color: #a60000 !important;
			color: #ffffff !important;
			transform: translateY(-2px);
			box-shadow: 0 6px 16px rgba(200, 0, 0, 0.35);
		}
		.brico-reviews-rating-row {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			gap: 8px;
			flex-wrap: wrap;
			margin: 0 auto;

		}
		.brico-rating-badge {
			font-weight: 700;
			font-size: 18px;
			color: #0f172a;
			line-height: 1;
		}
		.brico-verified-pill {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			gap: 5px;
			font-size: 12px;
			font-weight: 600;
			color: #059669;
			background: #ecfdf5;
			border: 1px solid #a7f3d0;
			padding: 4px 12px;
			border-radius: 20px;
			letter-spacing: 0.01em;
			width: fit-content;
			margin: 0 auto;
			box-shadow: 0 1px 3px rgba(16, 185, 129, 0.08);
		}
		.brico-verified-pill svg {
			width: 14px;
			height: 14px;
			flex-shrink: 0;
			color: #059669;
		}
		.brico-reviews-count-text {
			font-size: 14px;
			font-weight: 500;
			color: #475569;
			margin: 0;
			text-align: center;
		}
		/* Contact Modal CSS */
		.brico-modal-overlay {
			position: fixed;
			top: 0;
			left: 0;
			width: 100vw;
			height: 100vh;
			background: rgba(15, 23, 42, 0.65);
			backdrop-filter: blur(4px);
			-webkit-backdrop-filter: blur(4px);
			z-index: 999999;
			display: flex;
			align-items: center;
			justify-content: center;
			opacity: 0;
			visibility: hidden;
			transition: opacity 0.25s ease, visibility 0.25s ease;
			padding: 16px;
			box-sizing: border-box;
		}
		.brico-modal-overlay.active {
			opacity: 1;
			visibility: visible;
		}
		.brico-modal-card {
			background: #ffffff;
			border-radius: 20px;
			width: 100%;
			max-width: 480px;
			max-height: 90vh;
			overflow-y: auto;
			box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
			transform: translateY(20px) scale(0.96);
			transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
			padding: 28px;
			box-sizing: border-box;
			position: relative;
			font-family: inherit;
		}
		.brico-modal-overlay.active .brico-modal-card {
			transform: translateY(0) scale(1);
		}
		.brico-modal-close {
			position: absolute;
			top: 16px;
			right: 16px;
			background: #f1f5f9;
			border: none;
			border-radius: 50%;
			width: 32px;
			height: 32px;
			cursor: pointer;
			display: flex;
			align-items: center;
			justify-content: center;
			color: #64748b;
			font-size: 20px;
			transition: all 0.2s ease;
			line-height: 1;
		}
		[dir="rtl"] .brico-modal-close {
			right: auto;
			left: 16px;
		}
		.brico-modal-close:hover {
			background: #e2e8f0;
			color: #0f172a;
		}
		.brico-modal-header {
			margin-bottom: 20px;
			text-align: center;
		}
		.brico-modal-icon-badge {
			width: 46px;
			height: 46px;
			border-radius: 50%;
			background: #eff6ff;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			margin-bottom: 10px;
		}
		.brico-modal-title {
			font-size: 20px;
			font-weight: 700;
			color: #0f172a;
			margin: 0 0 6px;
		}
		.brico-modal-desc {
			font-size: 13px;
			color: #64748b;
			margin: 0;
			line-height: 1.4;
		}
		.brico-form-group {
			margin-bottom: 12px;
			text-align: left;
		}
		[dir="rtl"] .brico-form-group {
			text-align: right;
		}
		.brico-form-row {
			display: flex;
			gap: 12px;
		}
		.brico-form-col {
			flex: 1;
		}
		.brico-form-group label {
			display: block;
			font-size: 12px;
			font-weight: 600;
			color: #334155;
			margin-bottom: 4px;
		}
		.brico-form-group input,
		.brico-form-group textarea {
			width: 100%;
			padding: 9px 12px;
			border: 1.5px solid #cbd5e1;
			border-radius: 8px;
			font-size: 13px;
			color: #1e293b;
			background: #f8fafc;
			transition: border-color 0.2s ease, box-shadow 0.2s ease;
			box-sizing: border-box;
			font-family: inherit;
		}
		.brico-form-group input:focus,
		.brico-form-group textarea:focus {
			outline: none;
			border-color: #2563eb;
			background: #ffffff;
			box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
		}
		.brico-modal-submit-btn {
			width: 100%;
			padding: 11px;
			background: #0f172a;
			color: #ffffff;
			font-weight: 600;
			font-size: 14px;
			border: none;
			border-radius: 8px;
			cursor: pointer;
			transition: background 0.2s ease;
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 8px;
			margin-top: 6px;
		}
		.brico-modal-submit-btn:hover {
			background: #1e293b;
		}
		.brico-modal-alert {
			padding: 10px 14px;
			border-radius: 8px;
			margin-bottom: 14px;
			font-size: 13px;
			display: none;
		}
		.brico-modal-alert.success {
			background: #ecfdf5;
			color: #065f46;
			border: 1px solid #a7f3d0;
			display: block;
		}
		.brico-modal-alert.error {
			background: #fef2f2;
			color: #991b1b;
			border: 1px solid #fecaca;
			display: block;
		}

		/* Product Reviews Testimonials Carousel Custom Styling */
		.testimonials.testimon-style-boxed .testimonial-inner {
			border-radius: 16px;
			background: #ffffff;
			border: 1px solid #f1f5f9;
			padding: 24px;
			box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
			transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
			display: flex;
			flex-direction: column;
			height: 100%;
			box-sizing: border-box;
		}
		.testimonials.testimon-style-boxed .testimonial-inner:hover {
			transform: translateY(-4px);
			box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
			border-color: #e2e8f0;
		}
		.testimonials .testimonial-avatar {
			border-radius: 14px !important;
			overflow: hidden;
			background: #f8fafc;
			padding: 8px;
			border: 1px solid #e2e8f0;
			box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
			display: inline-flex;
			align-items: center;
			justify-content: center;
			margin-bottom: 14px;
			width: 90px;
			height: 90px;
			flex-shrink: 0;
		}
		.testimonials .testimonial-avatar .testimonial-avatar-image {
			border-radius: 8px !important;
			object-fit: contain !important;
			width: 100% !important;
			height: 100% !important;
			background: #ffffff;
		}
		.testimonials .testimonial-rating {
			margin-bottom: 10px;
		}
		.testimonials .testimonial-rating .star-rating span:before {
			color: #f59e0b !important;
		}
		.testimonials .testimonial-content p {
			font-size: 14px;
			line-height: 1.6;
			color: #475569;
			margin-bottom: 16px;
			font-style: normal;
		}
		.testimonials .testimonial-content footer {
			margin-top: auto;
			padding-top: 12px;
			border-top: 1px solid #f1f5f9;
			font-size: 14px;
			font-weight: 700;
			color: #0f172a;
			line-height: 1.4;
		}
		.testimonials .testimonial-content footer span {
			display: block;
			font-size: 12px;
			font-weight: 600;
			color: #c80000;
			margin-top: 3px;
			text-transform: uppercase;
			letter-spacing: 0.3px;
		}

		/* DIY Marquee Showcase Styling — scoped to the elementor container
		   (id 4e77997) that holds only the two DIY showcase rows, not
		   `.wd-marquee` globally. The top red-banner marquee (small 42px
		   icons) shares the same `.wd-marquee-item img` markup, so an
		   unscoped selector here was forcing its icons up to this rule
		   height too, blowing up that banner row height on every
		   viewport. */
		.elementor-element-4e77997 .wd-marquee-item img {
			border-radius: 16px !important;
			object-fit: cover !important;
			box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
			transition: transform 0.3s ease, box-shadow 0.3s ease;
		}
		.elementor-element-4e77997 .wd-marquee-item:hover img {
			transform: scale(1.03);
			box-shadow: 0 10px 28px rgba(0, 0, 0, 0.15);
		}
		/* The two "DIY showcase" marquee rows (electrician/welder/etc. below
		   the newsletter section) carry a fixed height:200px straight from
		   the per-image custom dimension set in Elementor — a decorative
		   strip that size reads as heavy as the hero slider itself even on
		   desktop, so the cap starts unconditionally rather than only under
		   the mobile/tablet threshold, then steps down further for narrower
		   viewports. */
		.elementor-element-4e77997 .wd-marquee-item img {
			height: 150px !important;
			width: auto !important;
		}
		@media (max-width: 1024px) {
			.elementor-element-4e77997 .wd-marquee-item img {
				height: 130px !important;
			}
		}
		@media (max-width: 768px) {
			.elementor-element-4e77997 .wd-marquee-item img {
				height: 110px !important;
				width: auto !important;
			}
		}
		@media (max-width: 480px) {
			.elementor-element-4e77997 .wd-marquee-item img {
				height: 84px !important;
			}
		}

		/* Top red banner marquee (Large choix outillage / Livraison rapide /
		   Service client). Its icon and padding were left at the Elementor
		   defaults (42px icon, 16px top/bottom padding) which reads as a
		   bulky block next to the compact category cards on narrow phones,
		   so shrink icon, padding and text size, stepping down further on
		   mobile. */
		.elementor-element-2974326 > .elementor-widget-container {
			padding-top: 10px !important;
			padding-bottom: 10px !important;
		}
		.elementor-element-2974326 .wd-marquee-item img {
			width: 26px !important;
			height: 26px !important;
		}
		.elementor-element-2974326 .wd-marquee {
			font-size: 14px !important;
		}
		@media (max-width: 768px) {
			.elementor-element-2974326 > .elementor-widget-container {
				padding-top: 8px !important;
				padding-bottom: 8px !important;
			}
			.elementor-element-2974326 .wd-marquee-item img {
				width: 20px !important;
				height: 20px !important;
			}
			.elementor-element-2974326 .wd-marquee {
				font-size: 12px !important;
			}
		}
		@media (max-width: 480px) {
			.elementor-element-2974326 > .elementor-widget-container {
				padding-top: 6px !important;
				padding-bottom: 6px !important;
			}
			.elementor-element-2974326 .wd-marquee-item img {
				width: 16px !important;
				height: 16px !important;
			}
			.elementor-element-2974326 .wd-marquee {
				font-size: 11px !important;
			}
		}

		/* Homepage: popular categories grid */
		.brico-cat-grid {
			display: grid;
			grid-template-columns: repeat(5, 1fr);
			gap: 20px;
		}
		@media (max-width: 1200px) {
			.brico-cat-grid {
				grid-template-columns: repeat(3, 1fr);
				gap: 16px;
			}
		}
		@media (max-width: 768px) {
			/* Stays 2-up all the way down to phone widths: this grid lists
			   every top-level category (a dozen-plus on this store), and a
			   single column of full-width square cards turned it into
			   several thousand pixels of scrolling before a visitor ever
			   reached the rest of the homepage. */
			.brico-cat-grid {
				grid-template-columns: repeat(2, 1fr);
				gap: 12px;
			}
			.brico-cat-card-name {
				font-size: 14px;
			}
			.brico-cat-card-count {
				font-size: 12px;
			}
		}
		.brico-cat-card {
			position: relative;
			display: block;
			border-radius: 16px;
			overflow: hidden;
			aspect-ratio: 1 / 1;
			text-decoration: none !important;
			box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
			transition: transform 0.3s ease, box-shadow 0.3s ease;
		}
		.brico-cat-card:hover {
			transform: translateY(-4px);
			box-shadow: 0 16px 32px rgba(0, 0, 0, 0.16);
		}
		.brico-cat-card-media {
			position: absolute;
			inset: 0;
			background: #eef1f4;
			display: block;
		}
		.brico-cat-card-media img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			transition: transform 0.45s ease;
		}
		.brico-cat-card:hover .brico-cat-card-media img {
			transform: scale(1.08);
		}
		.brico-cat-card-overlay {
			position: absolute;
			inset: 0;
			background: linear-gradient(180deg, rgba(0, 0, 0, 0) 42%, rgba(0, 0, 0, 0.75) 100%);
		}
		.brico-cat-card-body {
			position: absolute;
			left: 0;
			right: 0;
			bottom: 0;
			padding: 16px;
			display: flex;
			flex-direction: column;
			gap: 3px;
		}
		.brico-cat-card-name {
			color: #ffffff;
			font-family: Geologica, sans-serif;
			font-size: 16px;
			font-weight: 700;
			line-height: 1.25;
		}
		.brico-cat-card-count {
			color: #ffffffcc;
			font-size: 13px;
			font-weight: 500;
		}

		/* Homepage: Top Marques section — styled identical to Avis Clients (#F7F7F7 background, 58px/34px/22px title, centered brands) */
		.bricolex-brands-section {
			display: flex;
			flex-direction: column;
			width: 100%;
			background-color: #F7F7F7;
			margin-top: 0;
			margin-bottom: 80px;
			padding-top: 80px;
			padding-bottom: 80px;
			padding-left: 15px;
			padding-right: 15px;
			box-sizing: border-box;
		}
		.bricolex-brands-section .e-con-inner {
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			gap: 30px;
			width: 100%;
			max-width: var(--wd-container-w, 1222px);
			margin-inline: auto;
			box-sizing: border-box;
		}
		.bricolex-brands-section .elementor-widget-wd_title {
			width: 100%;
			text-align: center;
		}
		.bricolex-brands-section .title-wrapper {
			margin-bottom: 0;
			text-align: center;
		}
		.bricolex-brands-section .woodmart-title-container.title {
			font-size: 58px;
			font-weight: 700;
			line-height: 1.15;
			margin: 0;
			text-align: center;
		}
		@media (max-width: 1024px) {
			.bricolex-brands-section {
				padding-top: 60px;
				padding-bottom: 60px;
				margin-bottom: 60px;
			}
			.bricolex-brands-section .woodmart-title-container.title {
				font-size: 34px;
			}
		}
		@media (max-width: 768px) {
			.bricolex-brands-section {
				padding-top: 40px;
				padding-bottom: 40px;
				margin-bottom: 40px;
			}
			.bricolex-brands-section .woodmart-title-container.title {
				font-size: 22px;
			}
		}

		/* Homepage: top brands grid — centered cards on light background */
		.brico-brand-grid {
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			align-items: stretch;
			gap: 20px;
			width: 100%;
			max-width: 100%;
			margin-inline: auto;
			padding: 0;
			box-sizing: border-box;
		}
		.brico-brand-card {
			flex: 1 1 calc(20% - 16px);
			max-width: 224px;
			min-width: 180px;
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			text-align: center;
			gap: 10px;
			padding: 22px 16px 20px;
			border-radius: 16px;
			background: #ffffff;
			border: 1px solid #f1f5f9;
			text-decoration: none !important;
			box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
			transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
			box-sizing: border-box;
		}
		.brico-brand-card:hover {
			transform: translateY(-4px);
			box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
			border-color: #e2e8f0;
		}
		.brico-brand-card-media {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 100%;
			height: 90px;
			margin: 0 auto;
		}
		.brico-brand-card-media img {
			max-width: 100%;
			max-height: 80px;
			width: auto;
			height: auto;
			object-fit: contain;
			transition: transform 0.35s ease;
			margin: 0 auto;
			display: block;
		}
		.brico-brand-card:hover .brico-brand-card-media img {
			transform: scale(1.06);
		}
		.brico-brand-card-body {
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			gap: 3px;
			text-align: center;
			width: 100%;
			margin: 0 auto;
		}
		.brico-brand-card-name {
			font-family: Geologica, sans-serif;
			font-size: 15px;
			font-weight: 700;
			line-height: 1.25;
			color: #1d1d1d;
			text-align: center;
			margin: 0;
		}
		.brico-brand-card-count {
			font-size: 13px;
			font-weight: 500;
			color: #7a7a7a;
			text-align: center;
			margin: 0;
		}
		@media (max-width: 1024px) {
			.brico-brand-grid {
				gap: 16px;
			}
			.brico-brand-card {
				flex: 0 1 calc(33.333% - 12px);
				max-width: 240px;
				min-width: 160px;
				padding: 18px 14px 16px;
			}
			.brico-brand-card-media {
				height: 75px;
			}
			.brico-brand-card-media img {
				max-height: 65px;
			}
		}
		@media (max-width: 768px) {
			.brico-brand-grid {
				gap: 14px;
			}
			.brico-brand-card {
				flex: 0 1 calc(50% - 10px);
				max-width: 240px;
				min-width: 140px;
				padding: 16px 12px 14px;
			}
			.brico-brand-card-media {
				height: 65px;
			}
			.brico-brand-card-media img {
				max-height: 55px;
			}
			.brico-brand-card-name {
				font-size: 14px;
			}
			.brico-brand-card-count {
				font-size: 12px;
			}
		}
		@media (max-width: 420px) {
			.brico-brand-grid {
				gap: 12px;
			}
			.brico-brand-card {
				flex: 0 1 100%;
				max-width: 280px;
			}
		}

		/* Homepage: intro/H1 block */
		.bricolex-home-seo {
			text-align: center;
			max-width: 900px;
			margin-inline: auto;
			padding: 10px 15px 30px;
		}
		.bricolex-home-seo h1 {
			font-family: Geologica, sans-serif;
			font-size: clamp(24px, 3vw, 34px);
			line-height: 1.25;
			margin: 0 0 14px;
		}
		.bricolex-home-seo p {
			margin: 0 0 10px;
		}

		/* Footer: column headings */
		.brico-footer-heading {
			font-family: Geologica, sans-serif;
			font-size: 14px;
			font-weight: 500;
			color: #FFFFFFCC;
			margin: 0 0 10px;
		}

		/* Footer: popular categories / useful links lists */
		.brico-footer-links-list {
			list-style: none;
			margin: 0;
			padding: 0;
			display: flex;
			flex-direction: column;
			gap: 10px;
		}
		.brico-footer-links-list a {
			color: #FFFFFFB3;
			font-size: 14px;
			text-decoration: none;
			transition: color 0.2s ease;
		}
		.brico-footer-links-list a:hover {
			color: #ffffff;
		}

		/* Footer: app download badges */
		.brico-app-download-title {
			font-size: 12px;
			font-weight: 500;
			color: #FFFFFFCC;
			margin: 4px 0 0;
			text-transform: uppercase;
			letter-spacing: 0.3px;
		}
		.brico-app-badges {
			display: flex;
			flex-direction: column;
			gap: 10px;
			margin-top: 4px;
		}
		.brico-app-badge {
			display: inline-flex;
			align-items: center;
			gap: 10px;
			padding: 8px 14px;
			background: #000000;
			border: 1px solid #FFFFFF33;
			border-radius: 8px;
			text-decoration: none !important;
			transition: background 0.2s ease, border-color 0.2s ease;
		}
		.brico-app-badge:hover {
			background: #1a1a1a;
			border-color: #FFFFFF59;
		}
		.brico-app-badge-icon {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			flex-shrink: 0;
		}
		.brico-app-badge-icon svg {
			width: 24px;
			height: 24px;
		}
		.brico-app-badge .brico-app-badge-text {
			display: flex;
			flex-direction: column;
			line-height: 1.2;
		}
		.brico-app-badge .brico-app-badge-eyebrow {
			font-size: 10px;
			color: #FFFFFFB3;
			letter-spacing: 0.3px;
		}
		.brico-app-badge .brico-app-badge-store {
			font-size: 15px;
			font-weight: 600;
			color: #ffffff;
			font-family: Arial, sans-serif;
		}

		/* Mega Menu Dropdown: Compact Squared Categories Grid */
		#menu-item-814 > .wd-dropdown-menu {
			--wd-dropdown-padding: 16px;
			padding-block: 16px !important;
		}
		.brico-megamenu-cat-wrap {
			max-width: 720px;
			margin: 0 auto;
			padding: 0 4px;
			width: 100%;
			box-sizing: border-box;
		}
		.brico-megamenu-header {
			display: flex;
			align-items: center;
			justify-content: space-between;
			padding: 0 2px 10px;
			border-bottom: 1px solid rgba(0, 0, 0, 0.07);
			margin-bottom: 10px;
		}
		.brico-megamenu-title {
			display: inline-flex;
			align-items: center;
			gap: 6px;
			font-family: Geologica, sans-serif;
			font-size: 14px;
			font-weight: 700;
			color: #0f172a;
			letter-spacing: -0.01em;
		}
		.brico-megamenu-title svg {
			color: #c80000;
			flex-shrink: 0;
			width: 16px;
			height: 16px;
		}
		.brico-megamenu-shop-all {
			display: inline-flex;
			align-items: center;
			gap: 5px;
			font-size: 12px;
			font-weight: 600;
			color: #c80000 !important;
			text-decoration: none !important;
			padding: 3px 10px;
			border-radius: 20px;
			background: #fef2f2;
			border: 1px solid #fee2e2;
			transition: all 0.2s ease;
		}
		.brico-megamenu-shop-all:hover {
			background: #c80000;
			color: #ffffff !important;
			border-color: #c80000;
			transform: translateX(2px);
		}
		[dir="rtl"] .brico-megamenu-shop-all:hover {
			transform: translateX(-2px);
		}
		.brico-megamenu-shop-all svg {
			transition: transform 0.2s ease;
			width: 12px;
			height: 12px;
		}
		.brico-megamenu-shop-all:hover svg {
			transform: translateX(2px);
		}
		[dir="rtl"] .brico-megamenu-shop-all:hover svg {
			transform: translateX(-2px) scaleX(-1);
		}
		.brico-megamenu-cat-grid {
			display: grid;
			grid-template-columns: repeat(5, 1fr);
			gap: 10px;
		}
		@media (max-width: 768px) {
			.brico-megamenu-cat-grid {
				grid-template-columns: repeat(3, 1fr);
				gap: 8px;
			}
		}
		@media (max-width: 480px) {
			.brico-megamenu-cat-grid {
				grid-template-columns: repeat(2, 1fr);
				gap: 6px;
			}
		}
		.brico-megamenu-cat-card {
			position: relative;
			display: block;
			border-radius: 10px;
			overflow: hidden;
			aspect-ratio: 1 / 1;
			text-decoration: none !important;
			box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
			transition: transform 0.25s ease, box-shadow 0.25s ease;
			background: #f1f5f9;
		}
		.brico-megamenu-cat-card:hover {
			transform: translateY(-2px);
			box-shadow: 0 6px 16px rgba(0, 0, 0, 0.16);
		}
		.brico-megamenu-cat-media {
			position: absolute;
			inset: 0;
			display: block;
			background: #e2e8f0;
		}
		.brico-megamenu-cat-media img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			transition: transform 0.4s ease;
		}
		.brico-megamenu-cat-card:hover .brico-megamenu-cat-media img {
			transform: scale(1.08);
		}
		.brico-megamenu-cat-overlay {
			position: absolute;
			inset: 0;
			background: linear-gradient(180deg, rgba(0, 0, 0, 0) 25%, rgba(15, 23, 42, 0.90) 100%);
			transition: background 0.25s ease;
		}
		.brico-megamenu-cat-card:hover .brico-megamenu-cat-overlay {
			background: linear-gradient(180deg, rgba(0, 0, 0, 0.05) 15%, rgba(15, 23, 42, 0.96) 100%);
		}
		.brico-megamenu-cat-body {
			position: absolute;
			left: 0;
			right: 0;
			bottom: 0;
			padding: 7px 8px;
			display: flex;
			flex-direction: column;
			gap: 1px;
			z-index: 2;
		}
		.brico-megamenu-cat-name {
			color: #ffffff;
			font-family: Geologica, sans-serif;
			font-size: 11.5px;
			font-weight: 700;
			line-height: 1.2;
			text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7);
		}
		.brico-megamenu-cat-count {
			color: #e2e8f0;
			font-size: 10px;
			font-weight: 500;
			text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
		}

		/* WhatsApp floating widget drawer clearance */
		body:has(.cart-widget-side.wd-opened) .rc-wa-widget,
		body:has(.wd-side-hidden.wd-opened) .rc-wa-widget,
		body:has(.wd-close-side-opened) .rc-wa-widget,
		.rc-wa-widget.is-hidden {
			opacity: 0 !important;
			visibility: hidden !important;
			pointer-events: none !important;
		}

		/* Mobile sticky toolbar: WhatsApp entry (the "link_1" slot, filled in
		   via brico_toolbar_whatsapp_option() below). Woodmart falls back to a
		   generic chain-link glyph for unconfigured custom links; this swaps
		   it for a WhatsApp mark via a mask so it still follows the toolbar
		   icon color instead of clashing as a fixed-colour image. */
		.wd-toolbar-link-1 .wd-tools-icon {
			width: 22px;
			height: 22px;
			background-color: currentColor;
			-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.04 2c-5.46 0-9.91 4.45-9.91 9.91 0 1.75.46 3.45 1.32 4.95L2.05 22l5.25-1.38c1.45.79 3.08 1.21 4.74 1.21 5.46 0 9.91-4.45 9.91-9.91 0-2.65-1.03-5.14-2.9-7.01A9.82 9.82 0 0 0 12.04 2zm0 18.12c-1.5 0-2.97-.4-4.25-1.16l-.3-.18-3.12.82.83-3.04-.2-.31a8.12 8.12 0 0 1-1.25-4.34c0-4.5 3.66-8.16 8.16-8.16 2.18 0 4.23.85 5.77 2.39a8.1 8.1 0 0 1 2.39 5.77c0 4.5-3.66 8.16-8.16 8.16zm4.47-6.11c-.25-.12-1.45-.71-1.68-.79-.22-.09-.39-.12-.55.12-.17.25-.64.79-.79.96-.14.17-.29.19-.54.07-.25-.12-1.05-.39-2-1.23-.74-.66-1.23-1.47-1.38-1.72-.14-.25-.02-.38.11-.51.11-.11.25-.29.37-.43.12-.15.17-.25.25-.42.08-.17.04-.31-.02-.43-.06-.12-.55-1.33-.76-1.82-.2-.48-.41-.41-.55-.42h-.47c-.17 0-.43.06-.66.31-.22.25-.86.84-.86 2.05s.88 2.38 1 2.54c.12.17 1.73 2.64 4.19 3.7.59.25 1.05.4 1.4.52.59.19 1.13.16 1.56.1.48-.07 1.45-.59 1.66-1.17.2-.57.2-1.07.14-1.17-.06-.1-.23-.16-.48-.28z'/%3E%3C/svg%3E") no-repeat center / contain;
			mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.04 2c-5.46 0-9.91 4.45-9.91 9.91 0 1.75.46 3.45 1.32 4.95L2.05 22l5.25-1.38c1.45.79 3.08 1.21 4.74 1.21 5.46 0 9.91-4.45 9.91-9.91 0-2.65-1.03-5.14-2.9-7.01A9.82 9.82 0 0 0 12.04 2zm0 18.12c-1.5 0-2.97-.4-4.25-1.16l-.3-.18-3.12.82.83-3.04-.2-.31a8.12 8.12 0 0 1-1.25-4.34c0-4.5 3.66-8.16 8.16-8.16 2.18 0 4.23.85 5.77 2.39a8.1 8.1 0 0 1 2.39 5.77c0 4.5-3.66 8.16-8.16 8.16zm4.47-6.11c-.25-.12-1.45-.71-1.68-.79-.22-.09-.39-.12-.55.12-.17.25-.64.79-.79.96-.14.17-.29.19-.54.07-.25-.12-1.05-.39-2-1.23-.74-.66-1.23-1.47-1.38-1.72-.14-.25-.02-.38.11-.51.11-.11.25-.29.37-.43.12-.15.17-.25.25-.42.08-.17.04-.31-.02-.43-.06-.12-.55-1.33-.76-1.82-.2-.48-.41-.41-.55-.42h-.47c-.17 0-.43.06-.66.31-.22.25-.86.84-.86 2.05s.88 2.38 1 2.54c.12.17 1.73 2.64 4.19 3.7.59.25 1.05.4 1.4.52.59.19 1.13.16 1.56.1.48-.07 1.45-.59 1.66-1.17.2-.57.2-1.07.14-1.17-.06-.1-.23-.16-.48-.28z'/%3E%3C/svg%3E") no-repeat center / contain;
		}
		.wd-toolbar-link-1 .wd-tools-icon::before {
			content: none !important;
		}

		/* Mobile off-canvas menu: language switcher */
		.bricolex-mobile-lang-switcher {
			display: flex;
			justify-content: center;
			flex-wrap: wrap;
			gap: 8px;
			list-style: none;
			margin: 0;
			padding: 18px 20px;
			border-top: 1px solid #f1f5f9;
		}
		.bricolex-mobile-lang-item a {
			display: flex;
			align-items: center;
			gap: 6px;
			padding: 7px 14px;
			border-radius: 20px;
			background: #f7f7f7;
			color: #1d1d1d;
			font-size: 13px;
			font-weight: 600;
			text-decoration: none !important;
			transition: background 0.2s ease, color 0.2s ease;
		}
		.bricolex-mobile-lang-item a:hover {
			background: #f1f5f9;
		}
		.bricolex-mobile-lang-item.is-active a {
			background: #c80000;
			color: #ffffff;
		}
		.bricolex-mobile-lang-flag {
			width: 16px;
			height: 16px;
			border-radius: 50%;
			object-fit: cover;
			flex-shrink: 0;
		}

		/* Off-canvas panels on the Arabic site: Woodmart hard-codes their
		   open/closed position with physical left/right
		   (.wd-side-hidden.wd-left / .wd-right) rather than logical
		   inset-inline-*. The cart drawer and login sidebar already come from
		   the server with "wd-right" swapped for "wd-left" on RTL pages (their
		   position setting is direction-aware), so those must NOT be touched
		   here or they get flipped a second time and end up on the wrong
		   side again. The mobile burger menu (.mobile-nav) and the
		   Elementor-built shop-filters off-canvas column
		   (.wd-col-offcanvas-sm/-md-sm) are NOT direction-aware server-side —
		   both are always "wd-left" regardless of language — so only these
		   two are mirrored here. The open-state rule
		   (.wd-opened{transform:none}) is already side-agnostic, so only the
		   closed/starting position needs overriding. */
		[dir="rtl"] .wd-side-hidden.mobile-nav.wd-left,
		[dir="rtl"] .wd-side-hidden.wd-col-offcanvas-sm.wd-left,
		[dir="rtl"] .wd-side-hidden.wd-col-offcanvas-md-sm.wd-left {
			left: auto;
			right: 0;
			transform: translate3d(100%, 0, 0);
		}
		/* Higher specificity than the theme reset rule
		   ".wd-side-hidden.wd-opened{transform:none}" (four selectors vs
		   two), so without this the panel would stay stuck in its closed
		   transform even after JS adds "wd-opened". */
		[dir="rtl"] .wd-side-hidden.mobile-nav.wd-left.wd-opened,
		[dir="rtl"] .wd-side-hidden.wd-col-offcanvas-sm.wd-left.wd-opened,
		[dir="rtl"] .wd-side-hidden.wd-col-offcanvas-md-sm.wd-left.wd-opened {
			transform: translate3d(0, 0, 0);
		}
	