/* BDXPrint Theme v3 — main.css */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; }
body { font-family: 'Inter', 'Inter-fallback', -apple-system, sans-serif; background: #f3f4f6; color: #111827; line-height: 1.5; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font-family: inherit; }

/* ── Layout ──────────────────────────────────────────────────────────────── */

.bdx-layout { display: flex; min-height: 100vh; }
.bdx-sidebar { width: 240px; flex-shrink: 0; background: #fff; border-right: 1px solid #f3f4f6; box-shadow: 1px 0 4px rgba(0,0,0,.04); position: fixed; top: 0; left: 0; height: 100vh; height: 100dvh; z-index: 200; display: flex; flex-direction: column; transition: transform .25s ease; }
.bdx-sidebar-inner { display: flex; flex-direction: column; height: 100%; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
.bdx-main { margin-left: 240px; flex: 1; display: flex; flex-direction: column; min-width: 0; }
.bdx-content { flex: 1; padding: 28px 32px; }

/* ── Logo zone ────────────────────────────────────────────────────────────── */

.bdx-logo-zone { background: linear-gradient(to bottom, rgba(252,175,59,.08), #fff); border-bottom: 1px solid #f3f4f6; padding: 12px 16px 14px; }
.bdx-logo { display: flex; align-items: center; justify-content: center; }
.bdx-logo-img { width: 100%; max-width: 140px; height: auto; max-height: 90px; object-fit: contain; display: block; }

/* ── Sidebar search ──────────────────────────────────────────────────────── */

.bdx-search-wrap { position: relative; padding: 10px 12px 6px; }
.bdx-search-icon { position: absolute; left: 22px; top: 50%; transform: translateY(-50%); color: #9ca3af; pointer-events: none; }
.bdx-search-input { width: 100%; padding: 8px 12px 8px 32px; border: 1.5px solid #e5e7eb; border-radius: 10px; font-size: 13px; color: #111827; background: #f9fafb; outline: none; transition: border-color .15s, background .15s; }
.bdx-search-input:focus { border-color: #FCAF3B; background: #fff; }
.bdx-search-results { position: absolute; top: calc(100% - 2px); left: 12px; right: 12px; background: #fff; border: 1.5px solid #e5e7eb; border-radius: 12px; box-shadow: 0 8px 24px rgba(0,0,0,.1); z-index: 999; overflow: hidden; max-height: 320px; overflow-y: auto; }
.bdx-search-item { display: flex; align-items: center; justify-content: space-between; padding: 10px 14px; border-bottom: 1px solid #f3f4f6; transition: background .1s; }
.bdx-search-item:last-child { border-bottom: none; }
.bdx-search-item:hover { background: #fffbeb; }
.bdx-search-title { font-size: 13px; color: #111827; font-weight: 500; }
.bdx-search-sku { font-size: 11px; color: #9ca3af; font-family: monospace; }
.bdx-search-empty { padding: 14px; text-align: center; font-size: 13px; color: #9ca3af; }

/* ── Navigation v4-style ─────────────────────────────────────────────────── */

.bdx-nav-label { font-size: 10px; font-weight: 700; letter-spacing: .08em; color: #9ca3af; padding: 10px 12px 4px; text-transform: uppercase; }
.bdx-nav ul { list-style: none; }
.bdx-nav li a { display: flex; align-items: center; gap: 10px; padding: 8px 8px; font-size: 13px; font-weight: 500; color: #6b7280; border-radius: 12px; transition: background .12s, color .12s; position: relative; }
.bdx-nav li a:hover { background: #f9fafb; color: #111827; }
.bdx-nav li a:hover .bdx-nav-icon-box { background: #e5e7eb; color: #374151; }
.bdx-nav li.active > a { background: rgba(252,175,59,.08); color: #d97706; font-weight: 600; }
.bdx-nav li.active > a .bdx-nav-icon-box { background: #FCAF3B; color: #fff; box-shadow: 0 2px 8px rgba(252,175,59,.4); }
.bdx-nav-icon-box { width: 26px; height: 26px; border-radius: 8px; background: #f3f4f6; color: #9ca3af; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: background .12s, color .12s; }
.bdx-nav-dot { width: 6px; height: 6px; border-radius: 50%; background: #FCAF3B; margin-left: auto; flex-shrink: 0; }
.bdx-nav-sep { height: 1px; background: #f3f4f6; margin: 6px 0; }
.bdx-cart-badge { background: #ef4444; color: #fff; font-size: 10px; font-weight: 700; padding: 1px 6px; border-radius: 999px; margin-left: auto; }

/* ── AI button ────────────────────────────────────────────────────────────── */

.bdx-ai-zone { padding: 8px 8px 4px; }
.bdx-ai-btn { width: 100%; display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 12px; border: none; background: linear-gradient(135deg, #FCAF3B, #f59e0b); color: #fff; cursor: pointer; text-align: left; box-shadow: 0 4px 12px rgba(252,175,59,.35); transition: box-shadow .15s, transform .15s; }
.bdx-ai-btn:hover { box-shadow: 0 6px 18px rgba(252,175,59,.5); transform: translateY(-1px); }
.bdx-ai-icon-box { width: 28px; height: 28px; border-radius: 8px; background: rgba(255,255,255,.2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.bdx-ai-text { flex: 1; }
.bdx-ai-text p:first-child { font-size: 12px; font-weight: 700; line-height: 1.2; }
.bdx-ai-text p:last-child { font-size: 10px; opacity: .8; line-height: 1.2; }

/* ── User zone ────────────────────────────────────────────────────────────── */

.bdx-user-zone { padding: 8px; border-top: 1px solid #f3f4f6; margin-top: auto; }
.bdx-user-card { display: flex; align-items: center; gap: 6px; }
.bdx-user-info { display: flex; align-items: center; gap: 8px; flex: 1; padding: 8px 8px; border-radius: 10px; transition: background .12s; min-width: 0; }
.bdx-user-info:hover { background: #f9fafb; }
.bdx-user-avatar { width: 32px; height: 32px; border-radius: 50%; background: linear-gradient(135deg, #FCAF3B, #f59e0b); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 12px; font-weight: 700; flex-shrink: 0; }
.bdx-user-details { flex: 1; min-width: 0; }
.bdx-user-name { display: block; font-size: 12px; font-weight: 600; color: #111827; truncate: true; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bdx-user-email { display: block; font-size: 11px; color: #9ca3af; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bdx-logout-btn { padding: 6px; border-radius: 8px; color: #9ca3af; transition: color .12s, background .12s; display: flex; }
.bdx-logout-btn:hover { color: #ef4444; background: #fef2f2; }
.bdx-auth-links { display: flex; flex-direction: column; gap: 4px; }
.bdx-login-link { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 10px; font-size: 13px; color: #6b7280; transition: background .12s, color .12s; }
.bdx-login-link:hover { background: #f9fafb; color: #111827; }
.bdx-register-link { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 10px; font-size: 13px; font-weight: 600; color: #d97706; background: rgba(252,175,59,.08); transition: background .12s, color .12s; }
.bdx-register-link:hover { background: #FCAF3B; color: #fff; }

/* ── Topbar ──────────────────────────────────────────────────────────────── */

.bdx-topbar { display: flex; align-items: center; gap: 12px; padding: 0 20px; height: 56px; background: #fff; border-bottom: 1px solid #f3f4f6; position: sticky; top: 0; z-index: 100; box-shadow: 0 1px 4px rgba(0,0,0,.04); }
.bdx-hamburger { background: none; border: none; cursor: pointer; color: #374151; padding: 6px; display: none; border-radius: 8px; transition: background .12s; }
.bdx-hamburger:hover { background: #f3f4f6; }
.bdx-topbar-logo { display: none; align-items: center; gap: 6px; font-size: 16px; font-weight: 800; color: #111827; }
.bdx-topbar-right { display: flex; align-items: center; gap: 8px; }
/* Curseur HT/TTC */
.bdx-price-toggle { display: inline-flex; border: 1.5px solid #e5e7eb; border-radius: 999px; overflow: hidden; background: #f9fafb; }
.bdx-pt-opt { appearance: none; background: none; border: none; cursor: pointer; font-size: 12px; font-weight: 700; color: #6b7280; padding: 5px 11px; line-height: 1; transition: background .12s, color .12s; }
.bdx-pt-opt:hover { color: #111; }
.bdx-pt-opt.active { background: #FCAF3B; color: #fff; }
.bdx-pt-opt:focus-visible { outline: 2px solid #FCAF3B; outline-offset: -2px; }
.bdx-pm-suf { font-size: .8em; font-weight: 500; color: #9ca3af; }
@media (max-width: 480px) { .bdx-pt-opt { padding: 5px 8px; font-size: 11px; } }
.bdx-topbar-cart { display: flex; color: #374151; position: relative; }
.bdx-topbar-cart .bdx-cart-badge { position: absolute; top: -4px; right: -6px; }
.bdx-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.4); z-index: 150; }

/* ── Page header ─────────────────────────────────────────────────────────── */

.bdx-page-header { margin-bottom: 24px; }
.bdx-page-header h1 { font-size: 26px; font-weight: 800; color: #111827; }
.bdx-page-header p { font-size: 14px; color: #6b7280; margin-top: 4px; }

/* ── Homepage ────────────────────────────────────────────────────────────── */

.bdx-homepage { display: flex; flex-direction: column; gap: 32px; }

/* Hero */
.bdx-hero { position: relative; border-radius: 20px; overflow: hidden; background: linear-gradient(135deg, #111827 0%, #1f2937 100%); padding: 40px 48px; }
.bdx-hero-content { position: relative; z-index: 1; max-width: 520px; }
.bdx-hero-label { color: #FCAF3B; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 10px; }
.bdx-hero-title { font-size: 32px; font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: 12px; }
.bdx-hero-highlight { color: #FCAF3B; }
.bdx-hero-desc { font-size: 14px; color: rgba(255,255,255,.7); margin-bottom: 24px; line-height: 1.6; }
.bdx-hero-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.bdx-btn-primary { display: inline-flex; align-items: center; padding: 11px 20px; border-radius: 10px; background: #FCAF3B; color: #fff; font-size: 14px; font-weight: 600; transition: background .15s; }
.bdx-btn-primary:hover { background: #f59e0b; }
.bdx-btn-outline { display: inline-flex; align-items: center; padding: 11px 20px; border-radius: 10px; background: rgba(255,255,255,.1); border: 1.5px solid rgba(255,255,255,.2); color: #fff; font-size: 14px; font-weight: 600; transition: background .15s; }
.bdx-btn-outline:hover { background: rgba(255,255,255,.2); }
.bdx-hero-decoration { position: absolute; right: -40px; top: -40px; width: 280px; height: 280px; border-radius: 50%; background: radial-gradient(circle, rgba(252,175,59,.2) 0%, transparent 70%); pointer-events: none; }

/* Welcome (logged-in) */
.bdx-welcome { margin-bottom: -8px; }
.bdx-welcome-title { font-size: 24px; font-weight: 800; color: #111827; }
.bdx-welcome-sub { font-size: 14px; color: #6b7280; margin-top: 2px; }

/* Stats */
.bdx-stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.bdx-stat-card { background: #fff; border: 1.5px solid #e5e7eb; border-radius: 14px; padding: 16px 20px; display: flex; align-items: center; gap: 14px; transition: border-color .15s, box-shadow .15s; }
.bdx-stat-card:hover { border-color: rgba(var(--stat-color, 252,175,59), .4); box-shadow: 0 4px 16px rgba(0,0,0,.06); }
.bdx-stat-icon { width: 40px; height: 40px; border-radius: 10px; background: var(--stat-bg, #fffbeb); color: var(--stat-color, #d97706); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.bdx-stat-value { font-size: 24px; font-weight: 800; color: #111827; line-height: 1; }
.bdx-stat-label { font-size: 12px; color: #6b7280; margin-top: 2px; }

/* Sections */
.bdx-hp-section { display: flex; flex-direction: column; gap: 14px; }
.bdx-hp-section-header { display: flex; align-items: center; justify-content: space-between; }
.bdx-hp-section-title { font-size: 20px; font-weight: 800; color: #111827; }
.bdx-hp-section-link { display: flex; align-items: center; gap: 4px; font-size: 13px; color: #FCAF3B; font-weight: 600; transition: color .12s; }
.bdx-hp-section-link:hover { color: #f59e0b; }

/* Category grid */
.bdx-cat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.bdx-cat-card { display: block; border-radius: 14px; overflow: hidden; border: 1.5px solid #e5e7eb; transition: border-color .15s, box-shadow .15s, transform .15s; background: #fff; }
.bdx-cat-card:hover { border-color: rgba(252,175,59,.6); box-shadow: 0 6px 24px rgba(0,0,0,.12); transform: translateY(-2px); }
.bdx-cat-img { position: relative; height: 200px; overflow: hidden; }
.bdx-cat-img-card.compact .bdx-cat-img-card img, .bdx-cat-img-grid.compact .bdx-cat-img-card img { height: 180px; object-fit: cover; width: 100%; display: block; }
.bdx-cat-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; display: block; }
.bdx-cat-card:hover .bdx-cat-img img { transform: scale(1.05); }
.bdx-cat-img-fallback { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.bdx-cat-img-fallback span { font-size: 48px; font-weight: 900; color: rgba(255,255,255,.9); text-shadow: 0 2px 8px rgba(0,0,0,.2); }
.bdx-cat-overlay { padding: 10px 12px 11px; background: #fff; }
.bdx-cat-name { font-size: 13px; font-weight: 600; color: #111827; }
.bdx-cat-card:hover .bdx-cat-name { color: #d97706; }

/* Product grid (homepage) */
.bdx-prod-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.bdx-prod-card { display: flex; flex-direction: column; background: #fff; border: 1.5px solid #e5e7eb; border-radius: 12px; overflow: hidden; transition: border-color .15s, box-shadow .15s; }
.bdx-prod-card:hover { border-color: #FCAF3B; box-shadow: 0 4px 20px rgba(252,175,59,.15); }
.bdx-prod-img { height: 100px; background: #f9fafb; display: flex; align-items: center; justify-content: center; border-bottom: 1px solid #f3f4f6; }
.bdx-prod-info { padding: 10px 12px 12px; }
.bdx-prod-name { font-size: 12px; font-weight: 600; color: #111827; line-height: 1.35; margin-bottom: 6px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bdx-prod-cta { display: block; font-size: 11px; font-weight: 600; color: #FCAF3B; }
.bdx-prod-card:hover .bdx-prod-name { color: #d97706; }

/* CTA Banner */
.bdx-cta-banner { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 24px 32px; border-radius: 16px; background: linear-gradient(135deg, #FCAF3B 0%, #f59e0b 100%); transition: transform .15s, box-shadow .15s; }
.bdx-cta-banner:hover { transform: translateY(-2px); box-shadow: 0 8px 32px rgba(252,175,59,.4); }
.bdx-cta-title { font-size: 18px; font-weight: 800; color: #fff; }
.bdx-cta-sub { font-size: 13px; color: rgba(255,255,255,.85); margin-top: 2px; }
.bdx-cta-btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 20px; border-radius: 10px; background: #fff; color: #d97706; font-size: 14px; font-weight: 700; white-space: nowrap; flex-shrink: 0; transition: background .12s; }
.bdx-cta-banner:hover .bdx-cta-btn { background: #fffbeb; }

/* ── WooCommerce overrides ────────────────────────────────────────────────── */

.bdx-woo-wrap { max-width: 1400px; width: 100%; }

/* Boutique & catégories : pleine largeur (fin des grandes marges grises) */
body.is-shop .bdx-content,
body.woocommerce-shop .bdx-content,
body.tax-product_cat .bdx-content,
body.post-type-archive-product .bdx-content { max-width: 100%; padding: 0 clamp(12px, 2vw, 28px); }
body.is-shop .bdx-woo-wrap,
body.woocommerce-shop .bdx-woo-wrap,
body.tax-product_cat .bdx-woo-wrap,
body.post-type-archive-product .bdx-woo-wrap { max-width: 100%; }

/* Breadcrumb */
.woocommerce-breadcrumb { font-size: 12px; color: #9ca3af; margin-bottom: 16px; }
.woocommerce-breadcrumb a { color: #6b7280; }
.woocommerce-breadcrumb a:hover { color: #FCAF3B; }

/* Shop header */
.woocommerce-products-header { margin-bottom: 8px; }
.woocommerce-products-header__title { font-size: 24px; font-weight: 800; color: #111827; }

/* Product count + ordering toolbar */
.woocommerce-result-count { font-size: 13px; color: #6b7280; }
.woocommerce-ordering select { padding: 6px 10px; border: 1.5px solid #e5e7eb; border-radius: 8px; font-size: 13px; color: #374151; background: #fff; outline: none; cursor: pointer; }
.woocommerce-ordering select:focus { border-color: #FCAF3B; }

/* Product grid (shop) */
ul.products { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important; gap: 16px !important; list-style: none !important; margin: 0 !important; padding: 0 !important; }
ul.products li.product { background: #fff; border-radius: 12px; border: 1.5px solid #e5e7eb; overflow: hidden; transition: border-color .15s, box-shadow .15s; position: relative; }
ul.products li.product:hover { border-color: #FCAF3B; box-shadow: 0 4px 20px rgba(252,175,59,.15); }
ul.products li.product a { display: block; }
ul.products li.product img { width: 100%; aspect-ratio: 4/3; object-fit: contain; background: #f9fafb; border-bottom: 1px solid #f3f4f6; }
ul.products li.product .woocommerce-placeholder { background: #f9fafb; display: flex; align-items: center; justify-content: center; }
ul.products li.product .woocommerce-loop-product__title { font-size: 13px; font-weight: 600; color: #111827; padding: 10px 12px 4px; line-height: 1.3; }
ul.products li.product .woocommerce-loop-product__title:hover { color: #d97706; }
ul.products li.product .price { display: none !important; }
ul.products li.product .bdx-loop-configure { display: block; margin: 6px 12px 12px; padding: 7px 12px; border-radius: 8px; background: #FCAF3B; color: #fff; font-size: 12px; font-weight: 600; text-align: center; transition: background .15s; }
ul.products li.product:hover .bdx-loop-configure { background: #f59e0b; }

/* Pagination */
.woocommerce-pagination { margin-top: 32px; display: flex; justify-content: center; }
.woocommerce-pagination ul { display: flex; gap: 6px; list-style: none; }
.woocommerce-pagination ul li a, .woocommerce-pagination ul li span { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 8px; border: 1.5px solid #e5e7eb; font-size: 13px; color: #374151; transition: border-color .15s, background .15s; }
.woocommerce-pagination ul li a:hover { border-color: #FCAF3B; }
.woocommerce-pagination ul li span.current { background: #FCAF3B; border-color: #FCAF3B; color: #fff; font-weight: 700; }

/* Single product */
.woocommerce div.product { display: block; }
.single-product .woocommerce-product-gallery { display: none !important; }
.woocommerce div.product .summary { padding: 0; float: none !important; width: 100% !important; }
.single-product .woocommerce div.product .woocommerce-product-gallery { float: none !important; width: auto; }
.woocommerce div.product h1.product_title { font-size: 26px; font-weight: 800; color: #111827; margin-bottom: 8px; }
.woocommerce div.product .woocommerce-product-details__short-description { font-size: 14px; color: #6b7280; margin-bottom: 16px; }
.woocommerce div.product p.price { font-size: 22px; font-weight: 700; color: #d97706; margin-bottom: 16px; }
.woocommerce span.sku { font-size: 11px; color: #9ca3af; font-family: monospace; }

/* Related products */
.related.products > h2 { font-size: 20px; font-weight: 700; color: #111827; margin: 32px 0 16px; }

/* Notices */
.woocommerce-info, .woocommerce-message { background: #fffbeb; border: 1.5px solid #fde68a; color: #92400e; border-radius: 10px; padding: 12px 16px; font-size: 14px; margin-bottom: 16px; }
.woocommerce-error { background: #fef2f2; border-color: #fecaca; color: #991b1b; border-radius: 10px; padding: 12px 16px; font-size: 14px; margin-bottom: 16px; list-style: none; }

/* Cart */
table.shop_table { width: 100%; border-collapse: collapse; }
table.shop_table th { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: #9ca3af; padding: 8px 12px; border-bottom: 2px solid #e5e7eb; text-align: left; }
table.shop_table td { padding: 14px 12px; border-bottom: 1px solid #f3f4f6; font-size: 14px; vertical-align: middle; }
table.shop_table .product-name a { font-weight: 600; color: #111827; }
table.shop_table .product-name a:hover { color: #d97706; }
.cart-subtotal th, .order-total th { font-size: 14px; font-weight: 700; color: #111827; }
.order-total td .amount { font-size: 20px; font-weight: 800; color: #d97706; }

/* Buttons */
.woocommerce .button, button.button { display: inline-flex; align-items: center; justify-content: center; padding: 10px 20px; border-radius: 8px; border: none; background: #FCAF3B; color: #fff; font-size: 14px; font-weight: 600; cursor: pointer; transition: background .15s; font-family: inherit; }
.woocommerce .button:hover, button.button:hover { background: #f59e0b; color: #fff; }
.woocommerce #payment #place_order, .woocommerce-checkout #payment #place_order { background: #ef4444; font-size: 16px; padding: 14px 24px; width: 100%; }
.woocommerce #payment #place_order:hover, .woocommerce-checkout #payment #place_order:hover { background: #dc2626; }

/* Forms */
.woocommerce form .form-row label { font-size: 13px; font-weight: 600; color: #374151; margin-bottom: 4px; display: block; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea { width: 100%; padding: 10px 12px; border: 1.5px solid #e5e7eb; border-radius: 8px; font-size: 14px; color: #111827; outline: none; transition: border-color .15s; font-family: inherit; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus { border-color: #FCAF3B; }

/* Account */
.woocommerce-account.logged-in .woocommerce { display: flex; gap: 24px; align-items: flex-start; }
.woocommerce-account .woocommerce-MyAccount-navigation { width: 200px; flex-shrink: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; background: #fff; border: 1.5px solid #e5e7eb; border-radius: 12px; overflow: hidden; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a { display: block; padding: 10px 16px; font-size: 13px; color: #374151; border-bottom: 1px solid #f3f4f6; transition: background .1s; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover { background: #fffbeb; color: #d97706; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a { color: #d97706; font-weight: 600; background: #fffbeb; }
.woocommerce-account .woocommerce-MyAccount-content { flex: 1; }

/* Category archive header */
.term-description { font-size: 14px; color: #6b7280; margin-bottom: 16px; }

/* ── Responsive ─────────────────────────────────────────────────────────── */

/* ── Coming soon pages ───────────────────────────────────────────────────── */

.bdx-coming-soon { display: flex; align-items: center; justify-content: center; min-height: 60vh; }
.bdx-coming-card { background: #fff; border: 1.5px solid #e5e7eb; border-radius: 20px; padding: 48px 40px; text-align: center; max-width: 480px; width: 100%; box-shadow: 0 4px 24px rgba(0,0,0,.06); }
.bdx-coming-icon { width: 64px; height: 64px; border-radius: 16px; background: rgba(252,175,59,.1); color: #FCAF3B; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; }
.bdx-coming-title { font-size: 24px; font-weight: 800; color: #111827; margin-bottom: 10px; }
.bdx-coming-desc { font-size: 14px; color: #6b7280; line-height: 1.6; margin-bottom: 20px; }
.bdx-coming-badge { display: inline-flex; align-items: center; gap: 6px; background: rgba(252,175,59,.12); color: #d97706; font-size: 12px; font-weight: 700; padding: 4px 14px; border-radius: 999px; margin-bottom: 28px; }
.bdx-coming-badge::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #FCAF3B; }
.bdx-coming-actions { display: flex; flex-direction: column; gap: 8px; align-items: center; }
.bdx-btn-ghost { display: inline-flex; align-items: center; padding: 10px 20px; border-radius: 10px; font-size: 14px; font-weight: 500; color: #6b7280; transition: color .12s; }
.bdx-btn-ghost:hover { color: #111827; }

/* ── Generic page ─────────────────────────────────────────────────────────── */

.bdx-page-content { max-width: 1000px; }
.bdx-page-body { background: #fff; border: 1.5px solid #e5e7eb; border-radius: 14px; padding: 28px 32px; font-size: 15px; line-height: 1.7; color: #374151; }
.bdx-page-body h2 { font-size: 20px; font-weight: 700; color: #111827; margin: 24px 0 10px; }
.bdx-page-body p { margin-bottom: 14px; }
.bdx-page-body ul { padding-left: 20px; margin-bottom: 14px; }

@media (max-width: 1023px) {
  .bdx-sidebar { transform: translateX(-100%); }
  .bdx-sidebar.open { transform: translateX(0); }
  .bdx-overlay.active { display: block; }
  .bdx-main { margin-left: 0; }
  .bdx-hamburger { display: flex; }
  .bdx-topbar-logo { display: flex; }
  .bdx-topbar-search { display: none; }
  .bdx-content { padding: 16px; }
  .bdx-cat-grid { grid-template-columns: repeat(2, 1fr); }
  .bdx-prod-grid { grid-template-columns: repeat(2, 1fr); }
  .bdx-stats-grid { grid-template-columns: repeat(2, 1fr); }
  .bdx-hero { padding: 28px 24px; }
  .bdx-hero-title { font-size: 24px; }
  .bdx-cta-banner { flex-direction: column; text-align: center; }
  ul.products { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)) !important; }
  .woocommerce div.product { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  ul.products { grid-template-columns: repeat(2, 1fr) !important; }
  .bdx-content { padding: 12px; }
  .bdx-cat-grid { grid-template-columns: repeat(2, 1fr); }
  .bdx-prod-grid { grid-template-columns: repeat(2, 1fr); }
  .bdx-stats-grid { grid-template-columns: repeat(2, 1fr); }
  .bdx-hero-actions { flex-direction: column; }
}

/* ── Product loop images (Contentful CDN) ───────────────────────────────── */
.bdx-loop-img { width: 100%; aspect-ratio: 4/3; overflow: hidden; background: #f9fafb; border-bottom: 1px solid #f3f4f6; padding: 10px; }
.bdx-loop-img img { width: 100%; height: 100%; object-fit: contain; transition: transform .3s; }
ul.products li.product:hover .bdx-loop-img img { transform: scale(1.02); }
.bdx-loop-img-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: #f9fafb; }

/* ── Single product: sticky right panel ─────────────────────────────────── */
.bdx-single-img img { width: 100%; height: auto; border-radius: 12px; border: 1.5px solid #e5e7eb; }
.woocommerce div.product { align-items: start; }

/* Hide WC reviews, tabs meta on product page */
.woocommerce-tabs, .woocommerce div.product .woocommerce-product-rating,
.woocommerce div.product p.cart, .woocommerce div.product form.cart,
.related.products, .upsells.products { display: none !important; }

/* Product meta: only show SKU subtly */
.woocommerce div.product .product_meta .sku_wrapper { display: inline-block; }
.woocommerce div.product .product_meta .posted_in,
.woocommerce div.product .product_meta .tagged_as { display: none; }

/* ── Top search bar ──────────────────────────────────────────────────────── */
.bdx-topbar-search { flex: 1; position: relative; display: flex; align-items: center; }
.bdx-topbar-search-icon { position: absolute; left: 12px; color: #9ca3af; pointer-events: none; }
.bdx-topbar-search input { width: 100%; padding: 9px 16px 9px 36px; border: 1.5px solid #e5e7eb; border-radius: 10px; font-size: 14px; color: #111827; background: #f9fafb; outline: none; transition: border-color .15s, background .15s; font-family: inherit; }
.bdx-topbar-search input:focus { border-color: #FCAF3B; background: #fff; }
.bdx-topbar-search-results { position: absolute; top: calc(100% + 6px); left: 0; right: 0; background: #fff; border: 1.5px solid #e5e7eb; border-radius: 12px; box-shadow: 0 8px 30px rgba(0,0,0,.12); z-index: 200; overflow: hidden; max-height: 420px; overflow-y: auto; }
.bdx-topbar-search-results:empty { display: none; }
.bdx-search-result-item { display: flex; align-items: center; gap: 12px; padding: 10px 14px; text-decoration: none; transition: background .1s; border-bottom: 1px solid #f3f4f6; }
.bdx-search-result-item:last-child { border-bottom: none; }
.bdx-search-result-item:hover { background: #fffbeb; }
.bdx-search-result-thumb { width: 44px; height: 44px; border-radius: 8px; object-fit: contain; padding: 2px; flex-shrink: 0; background: #f3f4f6; border: 1px solid #f3f4f6; }
.bdx-search-result-info { flex: 1; min-width: 0; }
.bdx-search-result-name { font-size: 13px; font-weight: 600; color: #111827; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bdx-search-result-cat { font-size: 11px; color: #9ca3af; margin-top: 2px; }
.bdx-search-result-cta { font-size: 12px; color: #FCAF3B; font-weight: 600; flex-shrink: 0; }
.bdx-search-result-header { padding: 8px 14px 6px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #9ca3af; background: #f9fafb; }

/* ── Single product image ────────────────────────────────────────────────── */
.bdx-product-gallery { width: 100%; }
.bdx-product-main-img img { width: 100%; height: auto; border-radius: 12px; border: 1.5px solid #e5e7eb; display: block; }
.bdx-product-img-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 260px; background: #f9fafb; border-radius: 12px; border: 1.5px solid #e5e7eb; }

/* ── Subcategory grid on category pages ─────────────────────────────────── */
.bdx-subcat-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 12px; margin-bottom: 28px; }
.bdx-subcat-card { display: flex; flex-direction: column; background: #fff; border: 1.5px solid #e5e7eb; border-radius: 12px; overflow: hidden; transition: border-color .15s, box-shadow .15s; text-decoration: none; }
.bdx-subcat-card:hover { border-color: #FCAF3B; box-shadow: 0 4px 16px rgba(252,175,59,.15); }
.bdx-subcat-img { height: 160px; overflow: hidden; background: #f9fafb; }
.bdx-subcat-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.bdx-subcat-card:hover .bdx-subcat-img img { transform: scale(1.05); }
.bdx-subcat-img--placeholder { display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg,#FCAF3B,#f59e0b); }
.bdx-subcat-img--placeholder span { font-size: 24px; font-weight: 800; color: #fff; }
.bdx-subcat-info { padding: 10px 12px; }
.bdx-subcat-name { font-size: 12px; font-weight: 700; color: #111827; margin-bottom: 2px; line-height: 1.3; }
.bdx-subcat-count { font-size: 11px; color: #9ca3af; }

/* Product page two-column layout */
.bdx-product-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 32px; align-items: start; width: 100%; }
.bdx-product-main { min-width: 0; overflow: hidden; }
.bdx-product-aside { position: sticky; top: 24px; min-width: 0; }
@media (max-width: 1024px) { .bdx-product-layout { grid-template-columns: 1fr; } .bdx-product-aside { display: none; } }

/* ── Catalogue hiérarchique ───────────────────────────────────── */
.bdx-catalogue-wrap { display: flex; gap: 0; min-height: 80vh; }

/* Category sidebar */
.bdx-cat-sidebar { width: 220px; min-width: 200px; border-right: 1px solid #f0f0f0; padding: 0 0 32px; flex-shrink: 0; }
.bdx-cat-sidebar-header { padding: 16px 16px 8px; font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: #9ca3af; }
.bdx-cat-sidebar-header .bdx-cat-all { display: block; font-size: .8rem; font-weight: 600; color: #374151; text-transform: none; letter-spacing: 0; margin-top: 4px; padding: 6px 8px; border-radius: 6px; }
.bdx-cat-sidebar-header .bdx-cat-all:hover, .bdx-cat-sidebar-header .bdx-cat-all.active { background: #FCAF3B22; color: #FCAF3B; }

.bdx-cat-nav { padding: 0 8px; }
.bdx-cat-node { margin-bottom: 2px; }
.bdx-cat-item { display: flex; align-items: center; justify-content: space-between; padding: 6px 8px; border-radius: 6px; font-size: .82rem; color: #374151; font-weight: 500; transition: background .12s, color .12s; cursor: pointer; }
.bdx-cat-item:hover { background: #f9fafb; color: #111; }
.bdx-cat-item.active { background: #FCAF3B22; color: #d97706; font-weight: 600; }
.bdx-cat-item.level-2 { padding-left: 20px; font-size: .79rem; font-weight: 400; color: #6b7280; }
.bdx-cat-item.level-2.active { color: #d97706; font-weight: 600; }
.bdx-cat-item.level-3 { padding-left: 34px; font-size: .76rem; color: #9ca3af; font-weight: 400; }
.bdx-cat-item.level-3.active { color: #d97706; font-weight: 600; }
.bdx-cat-arrow { font-size: 1rem; color: #9ca3af; transition: transform .15s; line-height: 1; }
.bdx-cat-node.open > .bdx-cat-item > .bdx-cat-arrow { transform: rotate(90deg); }

/* Children hidden by default, visible when open */
.bdx-cat-children { display: none; }
.bdx-cat-node.open > .bdx-cat-children { display: block; }

/* Main content */
.bdx-catalogue-main { flex: 1; min-width: 0; padding: 16px 24px 32px; }

/* Breadcrumb */
.bdx-cat-breadcrumb { display: flex; align-items: center; gap: 6px; font-size: .78rem; color: #9ca3af; margin-bottom: 12px; flex-wrap: wrap; }
.bdx-cat-breadcrumb a { color: #6b7280; }
.bdx-cat-breadcrumb a:hover { color: #FCAF3B; }
.bdx-cat-breadcrumb strong { color: #111; }

/* Category title */
.bdx-cat-title { font-size: 1.3rem; font-weight: 700; color: #111; margin: 0 0 20px; }
.bdx-cat-title small { font-size: .8rem; font-weight: 400; color: #9ca3af; margin-left: 8px; }

/* Subcategory cards grid */
.bdx-subcat-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; margin-bottom: 32px; }
.bdx-subcat-card { background: #fff; border: 1px solid #f0f0f0; border-radius: 10px; padding: 16px 12px 12px; display: flex; flex-direction: column; align-items: center; text-align: center; transition: box-shadow .15s, border-color .15s; cursor: pointer; }
.bdx-subcat-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.08); border-color: #FCAF3B; }
.bdx-subcat-img { width: 64px; height: 64px; object-fit: cover; border-radius: 8px; margin-bottom: 8px; }
.bdx-subcat-letter { width: 56px; height: 56px; border-radius: 50%; background: linear-gradient(135deg,#FCAF3B,#f59e0b); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; font-weight: 700; color: #fff; margin-bottom: 8px; }
.bdx-subcat-name { font-size: .82rem; font-weight: 600; color: #111; line-height: 1.3; margin-bottom: 4px; }
.bdx-subcat-count { font-size: .72rem; color: #9ca3af; margin-bottom: 6px; }
.bdx-subsubcat-list { display: flex; flex-wrap: wrap; gap: 3px; justify-content: center; margin-top: 4px; }
.bdx-subsubcat-list span { font-size: .66rem; background: #f3f4f6; color: #6b7280; padding: 2px 6px; border-radius: 10px; }

/* Shop toolbar (count + sort) */
.bdx-shop-toolbar { margin-bottom: 16px; }
.bdx-shop-toolbar .woocommerce-result-count { font-size: .82rem; color: #6b7280; }

/* Responsive */
@media (max-width: 900px) {
  .bdx-catalogue-wrap { flex-direction: column; }
  .bdx-cat-sidebar { width: 100%; border-right: none; border-bottom: 1px solid #f0f0f0; padding-bottom: 12px; }
  .bdx-cat-nav { display: flex; flex-wrap: wrap; gap: 4px; padding: 0 8px 8px; }
  .bdx-cat-node { flex-shrink: 0; }
  .bdx-cat-children { position: absolute; top: 100%; left: 0; margin-top: 4px; background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; box-shadow: 0 4px 16px rgba(0,0,0,.1); min-width: 180px; max-width: calc(100vw - 24px); max-height: 70vh; overflow-y: auto; z-index: 100; padding: 4px; }
  .bdx-cat-node { position: relative; }
  .bdx-subcat-grid { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
}

/* ── Shop homepage sections ──────────────────────────────────── */
.bdx-shop-section { margin-bottom: 40px; }
.bdx-shop-section-header { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 16px; }
.bdx-shop-section-header h2 { font-size: 1.15rem; font-weight: 700; color: #111; margin: 0; }
.bdx-shop-see-all { font-size: .78rem; color: #FCAF3B; font-weight: 600; white-space: nowrap; }
.bdx-shop-see-all:hover { color: #d97706; }

/* Category image grid */
.bdx-cat-img-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.bdx-cat-img-grid.compact { grid-template-columns: repeat(auto-fill, minmax(220px,1fr)); }
.bdx-cat-img-card { position: relative; border-radius: 12px; overflow: hidden; aspect-ratio: 4/3; display: block; }
.bdx-cat-img-card.compact { aspect-ratio: 4/3; }
.bdx-cat-img-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.bdx-cat-img-card:hover img { transform: scale(1.04); }
.bdx-cat-img-placeholder { width: 100%; height: 100%; background: linear-gradient(135deg,#FCAF3B,#f59e0b); }
.bdx-cat-img-label { position: absolute; bottom: 0; left: 0; right: 0; background: rgba(255,255,255,.94); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); border-top: 2px solid #FCAF3B; padding: 10px 12px; color: #111827; }
.bdx-cat-img-name { display: block; font-size: .9rem; font-weight: 700; line-height: 1.2; color: #111827; }
.bdx-cat-img-count { display: block; font-size: .72rem; color: #9a6510; opacity: 1; margin-top: 2px; font-weight: 600; }
.bdx-cat-subsubs { position: absolute; top: 8px; left: 8px; display: flex; flex-wrap: wrap; gap: 3px; }
.bdx-cat-subsubs span { font-size: .62rem; background: rgba(255,255,255,.85); color: #333; padding: 2px 6px; border-radius: 8px; }

/* Themes grid */
.bdx-themes-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.bdx-theme-card { position: relative; border-radius: 10px; overflow: hidden; aspect-ratio: 3/2; display: block; }
.bdx-theme-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.bdx-theme-card:hover img { transform: scale(1.05); }
.bdx-theme-placeholder { width: 100%; height: 100%; background: linear-gradient(135deg,#374151,#6b7280); }
.bdx-theme-overlay { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(to top,rgba(0,0,0,.75),transparent); padding: 20px 10px 10px; }
.bdx-theme-overlay span { color: #fff; font-size: .78rem; font-weight: 600; display: block; }

/* Product strip (nouveautés + best-sellers) */
.bdx-product-strip { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
.bdx-strip-card { display: flex; flex-direction: column; align-items: center; text-align: center; border-radius: 10px; overflow: hidden; border: 1px solid #f3f4f6; transition: box-shadow .15s; }
.bdx-strip-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.08); }
.bdx-strip-img { width: 100%; aspect-ratio: 1; overflow: hidden; background: #f9fafb; padding: 8px; }
.bdx-strip-img img { width: 100%; height: 100%; object-fit: contain; transition: transform .3s; }
.bdx-strip-card:hover .bdx-strip-img img { transform: scale(1.02); }
.bdx-strip-name { font-size: .72rem; font-weight: 500; color: #374151; padding: 8px 6px; line-height: 1.3; }

/* Responsive */
@media (max-width: 1200px) {
  .bdx-cat-img-grid { grid-template-columns: repeat(3, 1fr); }
  .bdx-themes-grid { grid-template-columns: repeat(4, 1fr); }
  .bdx-product-strip { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 900px) {
  .bdx-cat-img-grid { grid-template-columns: repeat(2, 1fr); }
  .bdx-themes-grid { grid-template-columns: repeat(3, 1fr); }
  .bdx-product-strip { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {
  .bdx-cat-img-grid { grid-template-columns: repeat(2, 1fr); }
  .bdx-themes-grid { grid-template-columns: repeat(2, 1fr); }
  .bdx-product-strip { grid-template-columns: repeat(2, 1fr); }
}

/* ── Homepage Thèmes ──────────────────────────────────────────── */
.bdx-hp-themes-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.bdx-hp-theme-card { display: flex; flex-direction: column; border-radius: 12px; overflow: hidden; border: 1px solid #f0f0f0; transition: box-shadow .15s, transform .15s; }
.bdx-hp-theme-card:hover { box-shadow: 0 6px 20px rgba(0,0,0,.1); transform: translateY(-2px); }
.bdx-hp-theme-img { position: relative; aspect-ratio: 16/9; overflow: hidden; }
.bdx-hp-theme-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.bdx-hp-theme-card:hover .bdx-hp-theme-img img { transform: scale(1.05); }
.bdx-hp-theme-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, transparent 40%, rgba(0,0,0,.35)); }
.bdx-hp-theme-info { padding: 10px 12px 12px; background: #fff; }
.bdx-hp-theme-name { display: block; font-size: .83rem; font-weight: 700; color: #111; margin-bottom: 2px; }
.bdx-hp-theme-desc { display: block; font-size: .72rem; color: #9ca3af; }

/* ── Homepage Nouveautés strip ───────────────────────────────── */
.bdx-hp-prod-strip { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
.bdx-hp-strip-card { display: flex; flex-direction: column; align-items: center; text-align: center; border-radius: 10px; overflow: hidden; border: 1px solid #f3f4f6; transition: box-shadow .15s; }
.bdx-hp-strip-card:hover { box-shadow: 0 4px 14px rgba(0,0,0,.08); }
.bdx-hp-strip-img { width: 100%; aspect-ratio: 1; overflow: hidden; background: #f9fafb; padding: 8px; }
.bdx-hp-strip-img img { width: 100%; height: 100%; object-fit: contain; transition: transform .25s; }
.bdx-hp-strip-card:hover .bdx-hp-strip-img img { transform: scale(1.02); }
.bdx-hp-strip-name { font-size: .73rem; font-weight: 600; color: #374151; padding: 7px 6px 2px; line-height: 1.3; }
.bdx-hp-strip-cta { font-size: .68rem; color: #FCAF3B; padding-bottom: 8px; font-weight: 500; }

/* ── Responsive homepage ─────────────────────────────────────── */
@media (max-width: 1100px) {
  .bdx-hp-themes-grid { grid-template-columns: repeat(3, 1fr); }
  .bdx-hp-prod-strip { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 700px) {
  .bdx-hp-themes-grid { grid-template-columns: repeat(2, 1fr); }
  .bdx-hp-prod-strip { grid-template-columns: repeat(3, 1fr); }
}

/* ── Page connexion / inscription ─────────────────────────────────────────── */
.bdx-login-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; max-width: 900px; margin: 0 auto; padding: 16px 0 40px; }
.bdx-login-card { background: #fff; border: 1.5px solid #e5e7eb; border-radius: 16px; padding: 32px; }
.bdx-register-card { border-color: #FCAF3B44; background: #fffdf7; }
.bdx-login-title { font-size: 20px; font-weight: 800; color: #111827; margin: 0 0 4px; }
.bdx-login-sub { font-size: 13px; color: #6b7280; margin: 0 0 24px; }
.bdx-field { display: flex; flex-direction: column; gap: 5px; margin-bottom: 14px; }
.bdx-field label { font-size: 13px; font-weight: 600; color: #374151; }
.bdx-field input { padding: 10px 12px; border: 1.5px solid #d1d5db; border-radius: 8px; font-size: 14px; color: #111827; font-family: inherit; outline: none; transition: border-color .15s; background: #fff; }
.bdx-field input:focus { border-color: #FCAF3B; }
.bdx-req { color: #f87171; }
.bdx-login-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.bdx-remember { display: flex; align-items: center; gap: 6px; font-size: 13px; color: #374151; cursor: pointer; }
.bdx-remember input { accent-color: #FCAF3B; width: 14px; height: 14px; }
.bdx-lost-pw { font-size: 13px; color: #FCAF3B; text-decoration: none; }
.bdx-lost-pw:hover { text-decoration: underline; }
.bdx-btn-login { width: 100%; padding: 12px; border-radius: 10px; border: none; background: #FCAF3B; color: #fff; font-size: 15px; font-weight: 700; cursor: pointer; font-family: inherit; transition: background .15s; }
.bdx-btn-login:hover { background: #f59e0b; }
.bdx-btn-register { width: 100%; padding: 12px; border-radius: 10px; border: 2px solid #FCAF3B; background: #fff; color: #d97706; font-size: 15px; font-weight: 700; cursor: pointer; font-family: inherit; transition: background .15s, color .15s; margin-top: 4px; }
.bdx-btn-register:hover { background: #FCAF3B; color: #fff; }
.bdx-pw-notice { font-size: 12px; color: #6b7280; background: #f9fafb; border-radius: 8px; padding: 10px 12px; margin-bottom: 14px; }
.bdx-register-benefits { list-style: none; margin: 0 0 20px; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.bdx-register-benefits li { font-size: 13px; color: #374151; padding-left: 20px; position: relative; }
.bdx-register-benefits li::before { content: '✓'; position: absolute; left: 0; color: #FCAF3B; font-weight: 700; }
@media (max-width: 700px) { .bdx-login-wrap { grid-template-columns: 1fr; } }

/* === v5.2 Header fixes === */
/* Hide sidebar search on desktop (topbar search is primary) */
@media(min-width:1024px) {
  .bdx-search-wrap { display: none; }
}
/* More spacing in topbar */
.bdx-topbar { gap: 16px; padding: 0 28px; height: 60px; }
.bdx-topbar-search input { padding: 10px 18px 10px 38px; font-size: 14px; }
.bdx-topbar-right { gap: 14px; margin-left: 8px; }


/* === BDX ACCOUNT PAGES === */
.woocommerce-account:not(.logged-in) .bdx-page-content{max-width:100%}
.woocommerce-account:not(.logged-in) .bdx-page-body{background:none;border:none;padding:0}
.woocommerce-account .bdx-login-wrap,
.woocommerce-account #customer_login{display:flex;flex-direction:column;gap:28px;width:100%;max-width:800px;margin:0 auto}
.woocommerce-account #customer_login>form,
.woocommerce-account #customer_login>div,
.woocommerce-account .bdx-login-wrap>form,
.woocommerce-account .bdx-login-wrap>div{width:100%;background:#fff;border-radius:16px;padding:40px;box-shadow:0 2px 20px rgba(0,0,0,.06);border:1px solid #f0f0f0;box-sizing:border-box}

/* Blog page */
.bdx-blog-page{max-width:100%}
.bdx-blog-cats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.bdx-blog-cat-pill{padding:6px 16px;border-radius:20px;font-size:13px;font-weight:600;color:#374151;background:#f3f4f6;text-decoration:none;transition:all .15s}
.bdx-blog-cat-pill:hover,.bdx-blog-cat-pill.active{background:#FCAF3B;color:#fff}
.bdx-blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.bdx-blog-card{background:#fff;border-radius:14px;border:1.5px solid #e5e7eb;overflow:hidden;text-decoration:none;transition:all .2s}
.bdx-blog-card:hover{border-color:#FCAF3B;box-shadow:0 4px 16px rgba(0,0,0,.06);transform:translateY(-2px)}
.bdx-blog-card-img{height:180px;overflow:hidden;position:relative;background:#f8f9fa}
.bdx-blog-card-img img{width:100%;height:100%;object-fit:cover}
.bdx-blog-card-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#FCAF3B,#f59e0b);display:flex;align-items:center;justify-content:center}
.bdx-blog-card-placeholder span{font-size:48px;font-weight:900;color:rgba(255,255,255,.3)}
.bdx-blog-card-badge{position:absolute;top:10px;left:10px;background:rgba(0,0,0,.6);color:#fff;padding:3px 10px;border-radius:6px;font-size:11px;font-weight:600}
.bdx-blog-card-body{padding:16px}
.bdx-blog-card-date{font-size:11px;color:#9ca3af}
.bdx-blog-card-title{font-size:15px;font-weight:700;color:#111;margin:6px 0;line-height:1.3}
.bdx-blog-card-excerpt{font-size:13px;color:#6b7280;line-height:1.5;margin:0 0 10px}
.bdx-blog-card-cta{font-size:13px;color:#FCAF3B;font-weight:600}
.bdx-blog-pagination{margin-top:32px;display:flex;justify-content:center}
@media(max-width:768px){.bdx-blog-grid{grid-template-columns:1fr}}

/* Hide WC cart/checkout page title */
.woocommerce-cart .bdx-page-body > h1:first-child,
.woocommerce-cart .entry-title,
.woocommerce-checkout .bdx-page-body > h1:first-child,
.woocommerce-checkout .entry-title { display: none !important; }

/* bdx-checkout-restyle v2 — la grille DOIT être sur form.checkout (vrai parent
   des colonnes #customer_details / #order_review). Avant, elle était sur .woocommerce
   → une seule cellule remplie, formulaire collé à droite. */
.woocommerce-checkout .woocommerce{display:block!important}
.woocommerce-checkout form.checkout{display:grid!important;grid-template-columns:minmax(0,1fr) 380px;grid-template-rows:auto 1fr;gap:12px 32px;align-items:start;max-width:1400px;margin:0 auto}
.woocommerce-checkout form.checkout > *{min-width:0}
.woocommerce-checkout #customer_details{grid-column:1;grid-row:1 / span 2}
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{width:100%!important;float:none!important;padding:0!important}
.woocommerce-checkout #order_review_heading{grid-column:2;grid-row:1;margin:0}
.woocommerce-checkout #order_review,.woocommerce-checkout .woocommerce-checkout-review-order{grid-column:2;grid-row:2;position:sticky;top:20px;background:#fff;border:1.5px solid #e5e7eb;border-radius:16px;padding:24px}
.woocommerce-checkout form.checkout > .woocommerce-form-coupon-toggle,
.woocommerce-checkout form.checkout > .checkout_coupon,
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup{grid-column:1 / -1}
.woocommerce-checkout #payment{background:transparent;padding:0;margin-top:0}
@media(max-width:900px){.woocommerce-checkout form.checkout{grid-template-columns:1fr}.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{grid-column:1;grid-row:auto}.woocommerce-checkout #order_review{position:static}}
.woocommerce-checkout .form-row{margin-bottom:14px!important}
.woocommerce-checkout .form-row label{font-size:12px!important;font-weight:600!important;color:#374151!important;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px!important;display:block!important}
.woocommerce-checkout .form-row .required{color:#dc2626}
.woocommerce-checkout .form-row input.input-text,.woocommerce-checkout .form-row textarea,.woocommerce-checkout .form-row select,.woocommerce-checkout .select2-container--default .select2-selection--single{border:1.5px solid #e5e7eb!important;border-radius:10px!important;padding:11px 14px!important;font-size:14px!important;background:#fff!important;box-shadow:none!important;height:auto!important;transition:border-color .15s!important}
.woocommerce-checkout .form-row input.input-text:focus,.woocommerce-checkout .form-row textarea:focus{border-color:#FCAF3B!important;outline:none!important;box-shadow:0 0 0 3px rgba(252,175,59,.15)!important}
.woocommerce-checkout .select2-container--default .select2-selection--single{min-height:44px!important}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:44px!important;padding-left:14px!important}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{height:44px!important}
.woocommerce-checkout .col2-set h3,.woocommerce-checkout .woocommerce-billing-fields h3{font-size:20px!important;font-weight:800!important;color:#111!important;margin:0 0 20px!important;padding-bottom:12px;border-bottom:2px solid #f0f0f0}
.woocommerce-checkout-review-order h3{font-size:18px;font-weight:800;margin:0 0 16px;color:#111}
.woocommerce-checkout-review-order-table{border:none!important}
.woocommerce-checkout-review-order-table thead{display:none}
.woocommerce-checkout-review-order-table td,.woocommerce-checkout-review-order-table th{border:none!important;padding:10px 0!important;font-size:13px;vertical-align:top}
.woocommerce-checkout-review-order-table .cart_item td{border-bottom:1px solid #f0f0f0!important;padding:14px 0!important}
.woocommerce-checkout-review-order-table .cart_item .product-name{color:#111;font-weight:600;font-size:14px;max-width:220px}
.woocommerce-checkout-review-order-table .cart_item .product-total{text-align:right;font-weight:700;color:#111;font-size:14px}
.woocommerce-checkout-review-order-table tfoot th{font-size:13px;font-weight:600;color:#6b7280;text-align:left}
.woocommerce-checkout-review-order-table tfoot td{font-size:13px;font-weight:600;color:#374151;text-align:right}
.woocommerce-checkout-review-order-table tfoot .order-total th,.woocommerce-checkout-review-order-table tfoot .order-total td{font-size:20px!important;font-weight:900!important;color:#111!important;padding-top:16px!important;border-top:2px solid #111!important}
.woocommerce-checkout #payment .payment_methods{border:none!important;padding:0!important;margin:0!important}
.woocommerce-checkout #payment .payment_methods li{border:1.5px solid #e5e7eb!important;border-radius:12px!important;padding:14px 16px!important;margin-bottom:10px!important;background:#fff!important;transition:all .15s;list-style:none!important}
.woocommerce-checkout #payment .payment_methods li:hover{border-color:#FCAF3B!important}
.woocommerce-checkout #payment .payment_methods li>label{font-size:14px!important;font-weight:600!important;cursor:pointer;display:flex!important;align-items:center;gap:8px}
.woocommerce-checkout #payment .payment_methods li .payment_box{background:#f8f9fa!important;border-radius:8px;margin-top:10px;padding:12px!important;font-size:13px;color:#6b7280;border:none!important}
.woocommerce-checkout #payment .payment_methods li .payment_box::before{display:none!important}
.woocommerce-checkout #payment #place_order{background:linear-gradient(135deg,#16a34a,#15803d)!important;color:#fff!important;border:none!important;border-radius:12px!important;font-size:16px!important;font-weight:800!important;padding:16px 24px!important;width:100%!important;cursor:pointer!important;transition:all .2s!important;text-transform:none!important}
.woocommerce-checkout #payment #place_order:hover{transform:translateY(-1px)!important;box-shadow:0 4px 14px rgba(22,163,74,.3)!important}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{font-size:12px;color:#9ca3af;margin-bottom:16px}
.woocommerce-checkout .woocommerce-privacy-policy-text{font-size:12px;color:#9ca3af;margin-bottom:12px}
.woocommerce-checkout .woocommerce-info{border-top-color:#FCAF3B!important;background:#FFF8E1!important;color:#92400e!important;border-radius:10px!important;font-size:13px}
.woocommerce-checkout .checkout_coupon{border:1.5px solid #e5e7eb!important;border-radius:12px!important;padding:16px!important}
.woocommerce-checkout .checkout_coupon button.button{background:#111!important;color:#fff!important;border-radius:8px!important;font-weight:700!important}
.woocommerce-checkout .wc-stripe-payment-request-wrapper{display:none!important}

/* ═══ MEGA MENU IN SEARCH BAR ═══ */
.bdx-mega-search-wrap{position:relative}
.bdx-mega-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1.5px solid #e5e7eb;border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.12);z-index:9999;overflow:hidden;min-width:700px;max-width:100vw;box-sizing:border-box}
/* Garde-fou 1024-1200px : neutralise min-width:700px dès que la topbar devient étroite (évite le débordement du viewport). */
@media(max-width:1200px){.bdx-mega-dropdown{min-width:0;max-width:100vw;box-sizing:border-box}}
@media(max-width:900px){.bdx-mega-dropdown{min-width:auto;left:0;right:0;box-sizing:border-box;max-width:100vw;border-radius:0 0 16px 16px}}
.bdx-mega-inner{display:flex;min-height:360px;max-height:70vh}
.bdx-mega-cats{width:260px;border-right:1.5px solid #f0f0f0;padding:12px 0;overflow-y:auto;flex-shrink:0}
@media(max-width:700px){.bdx-mega-cats{width:200px}}
.bdx-mega-cats-title{font-size:11px;font-weight:700;text-transform:uppercase;color:#9ca3af;letter-spacing:.5px;padding:4px 16px 8px;margin-bottom:4px}
.bdx-mega-cat-parent{display:flex;align-items:center;gap:6px;padding:9px 16px;font-size:13px;font-weight:600;color:#374151;text-decoration:none;transition:all .1s;cursor:pointer;border-left:3px solid transparent;min-width:0}
.bdx-mega-cat-parent:hover,.bdx-mega-cat-parent.active{background:#FFF8E1;color:#d97706;border-left-color:#FCAF3B}
.bdx-mega-cat-name{flex:1;min-width:0;overflow-wrap:anywhere}
.bdx-mega-cat-count{flex:0 0 auto;white-space:nowrap;font-size:11px;color:#9ca3af;font-weight:400}
.bdx-mega-subs{flex:1;padding:16px 20px;overflow-y:auto}
.bdx-mega-sub-title{font-size:16px;font-weight:800;color:#111;margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid #f0f0f0}
.bdx-mega-sub-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}
@media(max-width:700px){.bdx-mega-sub-grid{grid-template-columns:1fr}}
.bdx-mega-sub-item{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:8px 12px;border-radius:8px;font-size:13px;color:#374151;text-decoration:none;transition:all .1s;min-width:0;overflow-wrap:anywhere}
.bdx-mega-sub-item:hover{background:#f8f9fa;color:#d97706}
.bdx-mega-sub-count{flex:0 0 auto;white-space:nowrap;font-size:11px;color:#9ca3af}
.bdx-mega-sub-all{display:inline-block;margin-top:14px;font-size:13px;color:#FCAF3B;font-weight:600;text-decoration:none}
.bdx-mega-sub-all:hover{color:#d97706}
/* Search results in mega */
.bdx-mega-search-results .bdx-mega-sub-grid{grid-template-columns:1fr}
.bdx-mega-result-item{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:8px;text-decoration:none;color:#374151;transition:all .1s}
.bdx-mega-result-item:hover{background:#f8f9fa}
.bdx-mega-result-img{width:44px;height:44px;border-radius:6px;background:#f3f4f6;overflow:hidden;flex-shrink:0}
.bdx-mega-result-img img{width:100%;height:100%;object-fit:contain}
.bdx-mega-result-name{font-size:13px;font-weight:600;color:#111}
.bdx-mega-result-cat{font-size:11px;color:#9ca3af}
.bdx-mega-noresult{padding:20px;text-align:center;color:#9ca3af;font-size:13px}
/* Groupes de résultats (Catégories / Produits) dans la recherche */
.bdx-mega-res-group + .bdx-mega-res-group{margin-top:6px;padding-top:6px;border-top:1px solid #f0f1f3}
.bdx-mega-res-grouptitle{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#9ca3af;padding:6px 10px 4px}
.bdx-mega-cat-result .bdx-mega-result-img{background:#f7861e10}
.bdx-mega-cat-result .bdx-mega-result-name{color:#f7861e}
.bdx-mega-result-from{font-size:11px;color:#f7861e;font-weight:600;margin-top:1px}
/* Prix repère « à partir de » sous les cartes produit (boutique/catégories + best-sellers) */
.bdx-from-price{font-size:12.5px;color:#374151;margin:2px 0 4px;padding:0 12px;line-height:1.5}
.bdx-from-price strong{color:#f7861e;font-weight:700}
.bdx-from-qty{color:#9ca3af}
.bdx-strip-card .bdx-from-price{font-size:12px;margin:3px 0 0;padding:0 2px}

/* ============================================
   BDX DASHBOARD — Mon Compte
   ============================================ */

.bdx-dashboard { max-width: 100%; padding: 0 0 40px; }

.bdx-dash-header {
    display: flex; align-items: center; gap: 16px;
    padding: 24px 0 20px; border-bottom: 1px solid #f0f0f0;
    margin-bottom: 24px; flex-wrap: wrap;
}
.bdx-dash-avatar {
    width: 52px; height: 52px; border-radius: 50%;
    background: linear-gradient(135deg, #FCAF3B, #e09020);
    color: #fff; font-size: 20px; font-weight: 700;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0; letter-spacing: -1px;
}
.bdx-dash-welcome { flex: 1; min-width: 150px; }
.bdx-dash-welcome h2 { margin: 0 0 2px; font-size: 20px; font-weight: 700; color: #1a1a1a; }
.bdx-dash-welcome p { margin: 0; font-size: 13px; color: #888; }
.bdx-dash-badge {
    display: flex; align-items: center; gap: 6px;
    padding: 6px 14px; border-radius: 20px;
    background: color-mix(in srgb, var(--tier-color) 12%, white);
    border: 1.5px solid var(--tier-color);
    font-size: 13px; font-weight: 600; color: var(--tier-color);
}
.bdx-badge-icon { font-size: 14px; }
.bdx-badge-disc {
    background: var(--tier-color); color: #fff;
    padding: 1px 7px; border-radius: 10px;
    font-size: 11px; font-weight: 700;
}

.bdx-dash-stats {
    display: grid; grid-template-columns: repeat(4, 1fr);
    gap: 12px; margin-bottom: 24px;
}
@media (max-width: 900px) { .bdx-dash-stats { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .bdx-dash-stats { grid-template-columns: repeat(2, 1fr); } }
.bdx-stat-card {
    background: #fff; border: 1px solid #f0f0f0;
    border-radius: 12px; padding: 18px 16px; text-align: center;
    transition: box-shadow 0.2s, transform 0.2s;
}
.bdx-stat-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.08); transform: translateY(-1px); }
.bdx-stat-icon { font-size: 22px; margin-bottom: 6px; }
.bdx-stat-value { font-size: 22px; font-weight: 700; color: #1a1a1a; line-height: 1.1; margin-bottom: 4px; }
.bdx-stat-label { font-size: 11px; color: #999; text-transform: uppercase; letter-spacing: 0.5px; font-weight: 500; }

.bdx-dash-grid {
    display: grid; grid-template-columns: 1fr 340px;
    gap: 20px; align-items: start; margin-bottom: 24px;
}
@media (max-width: 900px) { .bdx-dash-grid { grid-template-columns: 1fr; } }

.bdx-dash-section {
    background: #fff; border: 1px solid #f0f0f0;
    border-radius: 14px; padding: 20px; margin-bottom: 16px;
}
.bdx-section-header {
    display: flex; justify-content: space-between;
    align-items: center; margin-bottom: 16px;
}
.bdx-section-header h3 { margin: 0; font-size: 15px; font-weight: 700; color: #1a1a1a; }
.bdx-see-all { font-size: 12px; color: #FCAF3B; font-weight: 600; text-decoration: none; }
.bdx-see-all:hover { text-decoration: underline; }

.bdx-orders-list { display: flex; flex-direction: column; gap: 10px; }
.bdx-order-card {
    display: flex; align-items: center; gap: 12px;
    padding: 12px; border: 1px solid #f5f5f5;
    border-radius: 10px; background: #fafafa; transition: border-color 0.2s;
}
.bdx-order-card:hover { border-color: #FCAF3B; background: #fff; }
.bdx-order-img {
    width: 52px; height: 52px; border-radius: 8px; overflow: hidden;
    flex-shrink: 0; background: #f0f0f0;
    display: flex; align-items: center; justify-content: center;
}
.bdx-order-img img { width: 100%; height: 100%; object-fit: contain; }
.bdx-order-img-placeholder { font-size: 22px; }
.bdx-order-info { flex: 1; min-width: 0; }
.bdx-order-name {
    font-size: 13px; font-weight: 600; color: #1a1a1a;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 3px;
}
.bdx-order-more {
    background: #f0f0f0; color: #777; font-size: 10px;
    padding: 1px 6px; border-radius: 8px; font-weight: 500; margin-left: 4px;
}
.bdx-order-meta { display: flex; gap: 8px; font-size: 11px; color: #aaa; }
.bdx-order-num { font-weight: 600; color: #888; }
.bdx-order-right { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; flex-shrink: 0; }
.bdx-order-total { font-size: 14px; font-weight: 700; color: #1a1a1a; }
.bdx-btn-sm {
    font-size: 11px; color: #FCAF3B; font-weight: 600;
    text-decoration: none; border: 1px solid #FCAF3B;
    padding: 3px 10px; border-radius: 20px; transition: background 0.2s, color 0.2s;
}
.bdx-btn-sm:hover { background: #FCAF3B; color: #fff; }

.bdx-status-badge {
    font-size: 10px; font-weight: 700; padding: 3px 8px;
    border-radius: 10px; text-transform: uppercase;
    letter-spacing: 0.3px; white-space: nowrap;
}
.bdx-status-pending    { background: #fff8e1; color: #f57c00; }
.bdx-status-processing { background: #e3f2fd; color: #1565c0; }
.bdx-status-hold       { background: #f3e5f5; color: #7b1fa2; }
.bdx-status-completed  { background: #e8f5e9; color: #2e7d32; }
.bdx-status-cancelled  { background: #fce4ec; color: #c62828; }
.bdx-status-refunded   { background: #f5f5f5; color: #616161; }
.bdx-status-default    { background: #f5f5f5; color: #616161; }

.bdx-devis-list { display: flex; flex-direction: column; gap: 8px; }
.bdx-devis-item {
    display: flex; justify-content: space-between; align-items: center;
    padding: 10px 0; border-bottom: 1px solid #f5f5f5;
}
.bdx-devis-item:last-child { border-bottom: none; }
.bdx-devis-title { font-size: 13px; font-weight: 600; color: #1a1a1a; margin-bottom: 2px; }
.bdx-devis-date { font-size: 11px; color: #aaa; }
.bdx-devis-right { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.bdx-devis-total { font-size: 13px; font-weight: 700; color: #1a1a1a; }
.bdx-empty-state-sm { text-align: center; color: #bbb; font-size: 13px; padding: 10px 0; }

.bdx-empty-state { text-align: center; padding: 30px 20px; color: #bbb; }
.bdx-empty-state span { font-size: 36px; display: block; margin-bottom: 8px; }
.bdx-empty-state p { margin: 0 0 14px; font-size: 13px; }
.bdx-btn-primary {
    display: inline-block; background: #FCAF3B; color: #fff;
    font-weight: 700; font-size: 13px; padding: 9px 20px;
    border-radius: 8px; text-decoration: none; transition: background 0.2s;
}
.bdx-btn-primary:hover { background: #e09820; color: #fff; }

.bdx-loyalty-tier {
    display: flex; align-items: center; gap: 12px; padding: 14px;
    border-radius: 10px;
    background: color-mix(in srgb, var(--tier-color) 8%, white);
    border: 1.5px solid color-mix(in srgb, var(--tier-color) 30%, white);
    margin-bottom: 14px;
}
.bdx-loyalty-star { font-size: 24px; color: var(--tier-color); flex-shrink: 0; }
.bdx-loyalty-info { flex: 1; }
.bdx-loyalty-name { font-size: 14px; font-weight: 700; color: var(--tier-color); }
.bdx-loyalty-pts { font-size: 12px; color: #888; }
.bdx-loyalty-disc { font-size: 18px; font-weight: 800; color: var(--tier-color); }
.bdx-progress-bar {
    height: 8px; background: #f0f0f0; border-radius: 4px;
    overflow: hidden; margin-bottom: 6px;
}
.bdx-progress-fill {
    height: 100%; background: linear-gradient(90deg, #FCAF3B, #e09020);
    border-radius: 4px; transition: width 0.6s ease;
}
.bdx-progress-labels {
    display: flex; justify-content: space-between;
    font-size: 11px; color: #aaa;
}

.bdx-quick-links {
    display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px;
}
@media (max-width: 900px) { .bdx-quick-links { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 480px) { .bdx-quick-links { grid-template-columns: repeat(2, 1fr); } }
.bdx-quick-link {
    display: flex; flex-direction: column; align-items: center; gap: 6px;
    padding: 16px 8px; background: #fff; border: 1px solid #f0f0f0;
    border-radius: 12px; text-decoration: none; color: #444;
    font-size: 12px; font-weight: 500; transition: all 0.2s;
}
.bdx-quick-link:hover {
    border-color: #FCAF3B; background: #fffbf0; color: #1a1a1a;
    transform: translateY(-2px); box-shadow: 0 4px 12px rgba(252,175,59,0.15);
}
.bdx-ql-icon { font-size: 22px; }

/* ============================================
   DASHBOARD — Full width + nav cachée
   ============================================ */

/* Cacher la nav latérale WC sur le dashboard uniquement */
.woocommerce-account .woocommerce-MyAccount-navigation {
    display: none !important;
}

/* Full width pour le contenu */
.woocommerce-account .woocommerce-MyAccount-content {
    width: 100% !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    float: none !important;
}

/* Wrapper full width */
.woocommerce-account .woocommerce {
    display: block !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
}

/* Stats en grille propre */
.bdx-dash-stats {
    grid-template-columns: repeat(4, 1fr) !important;
}

/* Amélioration header dashboard */
.bdx-dash-header {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 60%, #0f3460 100%);
    border-radius: 16px;
    padding: 28px 32px !important;
    border-bottom: none !important;
    margin-bottom: 20px !important;
}
.bdx-dash-welcome h2 {
    color: #fff !important;
    font-size: 22px !important;
}
.bdx-dash-welcome p {
    color: rgba(255,255,255,0.6) !important;
}
.bdx-dash-badge {
    background: rgba(255,255,255,0.15) !important;
    border-color: rgba(255,255,255,0.3) !important;
    color: #fff !important;
}
.bdx-dash-avatar {
    width: 56px !important;
    height: 56px !important;
    font-size: 22px !important;
    box-shadow: 0 4px 12px rgba(252,175,59,0.4) !important;
}

/* Stat cards avec ombre */
.bdx-stat-card {
    border-radius: 14px !important;
    border: none !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
    padding: 20px !important;
}
.bdx-stat-value {
    font-size: 26px !important;
}

/* Sections avec ombre douce */
.bdx-dash-section {
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
    border: none !important;
    border-radius: 16px !important;
}

/* Quick links améliorés — masquer les doublons du bas car on les garde */
.bdx-quick-links {
    background: #fff;
    border-radius: 16px;
    padding: 8px !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
    grid-template-columns: repeat(6, 1fr) !important;
}
.bdx-quick-link {
    border-radius: 10px !important;
    border: none !important;
    padding: 14px 8px !important;
}
.bdx-quick-link:hover {
    background: #fffbf0 !important;
    box-shadow: none !important;
    transform: none !important;
}
.bdx-ql-icon { font-size: 24px !important; }

/* ============================================
   BDX MULTI-CART — Mes paniers
   ============================================ */

.bdx-multicart { max-width: 100%; padding: 0 0 40px; }

.bdx-mc-header {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 24px;
}
.bdx-mc-header h2 { margin: 0; font-size: 20px; font-weight: 700; color: #1a1a1a; }

.bdx-mc-btn-new {
    background: #FCAF3B; color: #fff; border: none;
    padding: 10px 20px; border-radius: 8px; font-size: 13px;
    font-weight: 700; cursor: pointer; transition: background 0.2s;
}
.bdx-mc-btn-new:hover { background: #e09820; }

.bdx-mc-list { display: flex; flex-direction: column; gap: 12px; }

.bdx-mc-card {
    display: flex; justify-content: space-between; align-items: center;
    padding: 18px 20px; background: #fff;
    border: 2px solid #f0f0f0; border-radius: 14px;
    transition: all 0.2s;
}
.bdx-mc-card:hover { border-color: #FCAF3B; box-shadow: 0 4px 16px rgba(252,175,59,0.1); }
.bdx-mc-active {
    border-color: #FCAF3B !important;
    background: #fffbf0 !important;
    box-shadow: 0 4px 16px rgba(252,175,59,0.15) !important;
}

.bdx-mc-card-left { display: flex; align-items: center; gap: 14px; }
.bdx-mc-icon { font-size: 28px; }
.bdx-mc-name { font-size: 15px; font-weight: 700; color: #1a1a1a; margin-bottom: 3px; }
.bdx-mc-meta { font-size: 12px; color: #999; }

.bdx-mc-card-right { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }

.bdx-mc-badge-active {
    background: #e8f5e9; color: #2e7d32;
    font-size: 11px; font-weight: 700;
    padding: 4px 10px; border-radius: 20px;
    text-transform: uppercase; letter-spacing: 0.3px;
}
.bdx-mc-btn-switch {
    background: #1a1a1a; color: #fff; border: none;
    padding: 8px 16px; border-radius: 8px; font-size: 12px;
    font-weight: 600; cursor: pointer; transition: background 0.2s;
}
.bdx-mc-btn-switch:hover { background: #333; }
.bdx-mc-btn-secondary {
    background: #fff; color: #1a1a1a; border: 1.5px solid #e0e0e0;
    padding: 7px 14px; border-radius: 8px; font-size: 12px;
    font-weight: 600; cursor: pointer; text-decoration: none;
    transition: border-color 0.2s;
}
.bdx-mc-btn-secondary:hover { border-color: #FCAF3B; color: #FCAF3B; }
.bdx-mc-btn-rename, .bdx-mc-btn-delete {
    background: none; border: none; cursor: pointer;
    font-size: 16px; padding: 6px; border-radius: 6px;
    transition: background 0.2s; opacity: 0.6;
}
.bdx-mc-btn-rename:hover { background: #f5f5f5; opacity: 1; }
.bdx-mc-btn-delete:hover { background: #fce4ec; opacity: 1; }

.bdx-mc-tip {
    margin-top: 24px; padding: 14px 18px;
    background: #f8f9fa; border-radius: 10px;
    font-size: 13px; color: #666; border-left: 3px solid #FCAF3B;
}

/* v2.2.8 — conteneur global centre (panier, compte, toutes pages) */
.bdx-content{max-width:1400px;margin-left:auto;margin-right:auto;padding:0 clamp(16px,3vw,40px);box-sizing:border-box}

/* === Bouton de fermeture de la sidebar (mobile) === */
.bdx-sidebar-close{display:none;position:absolute;top:12px;right:12px;width:36px;height:36px;border:none;background:#f3f4f6;border-radius:50%;font-size:24px;line-height:1;color:#374151;cursor:pointer;z-index:5}
.bdx-sidebar-close:hover{background:#e5e7eb;color:#111}
@media(max-width:1024px){.bdx-sidebar-close{display:flex;align-items:center;justify-content:center}}

/* === Footer === */
.bdx-footer{background:#111827;color:#cbd5e1;margin-top:48px}
.bdx-footer-inner{max-width:1400px;margin:0 auto;padding:48px clamp(16px,3vw,40px) 28px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px}
.bdx-footer-col h4{color:#fff;font-size:14px;font-weight:700;margin:0 0 14px;text-transform:uppercase;letter-spacing:.4px}
.bdx-footer-col ul{list-style:none;margin:0;padding:0}
.bdx-footer-col li{margin-bottom:9px}
.bdx-footer-col a{color:#cbd5e1;text-decoration:none;font-size:14px;transition:color .15s}
.bdx-footer-col a:hover{color:#FCAF3B}
.bdx-footer-logo{height:34px;width:auto;margin-bottom:14px;filter:brightness(0) invert(1)}
.bdx-footer-logo-txt{font-size:24px;font-weight:900;letter-spacing:1px;color:#fff;margin-bottom:14px}
.bdx-footer-logo-txt span{color:#FCAF3B}
.bdx-footer-tag{font-size:13.5px;line-height:1.6;color:#9ca3af;margin:0 0 16px;max-width:340px}
.bdx-footer-contact{font-size:14px;line-height:1.9}
.bdx-footer-contact a{color:#fff;text-decoration:none}
.bdx-footer-contact a:hover{color:#FCAF3B}
.bdx-footer-bottom{border-top:1px solid #1f2937;padding:18px clamp(16px,3vw,40px);max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;color:#9ca3af}
.bdx-footer-legal{display:flex;gap:20px;flex-wrap:wrap}
.bdx-footer-legal a{color:#9ca3af;text-decoration:none}
.bdx-footer-legal a:hover{color:#FCAF3B}
@media(max-width:900px){.bdx-footer-inner{grid-template-columns:1fr 1fr;gap:28px}.bdx-footer-brand{grid-column:1 / -1}}
@media(max-width:560px){.bdx-footer-inner{grid-template-columns:1fr}.bdx-footer-bottom{flex-direction:column;align-items:flex-start}}
/* Titre H1 des pages catalogue/catégorie (SEO + lisibilité) */
.bdx-cat-h1{font-size:26px;font-weight:800;margin:6px 0 14px;color:#1a1a1a;letter-spacing:-.01em}
@media(max-width:600px){.bdx-cat-h1{font-size:21px}}

/* ── Catalogue/boutique en PLEINE LARGEUR ──
   .bdx-content (enfant flex) avait margin:auto → il rétrécissait à ~665px et la grille
   des catégories restait coincée à 1 colonne. On force le plein large sur les pages catalogue. */
.bdx-content:has(.bdx-catalogue-wrap){ max-width:none !important; margin-left:0 !important; margin-right:0 !important; width:auto !important; }
.bdx-catalogue-wrap{ width:100%; }
.bdx-cat-img-grid.compact{ grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); }
/* plus d'air au-dessus du fil d'ariane (ne pas le coller au topbar) */
.bdx-cat-breadcrumb{ margin-top:36px; }

/* Bouton × de fermeture du méga-menu (visible surtout sur mobile, où le dropdown couvre l'écran) */
.bdx-mega-close{ position:absolute; top:6px; right:8px; z-index:6; width:36px; height:36px; border:none; background:transparent; font-size:28px; line-height:1; color:#6b7280; cursor:pointer; border-radius:8px; display:none; }
.bdx-mega-close:hover{ background:#f3f4f6; color:#111; }
@media(max-width:1023px){ .bdx-mega-close{ display:flex; align-items:center; justify-content:center; } }

/* ═══ Responsive mobile/tablette — correctifs consolidés (2026-06-26) ═══ */

/* Garde-fou anti scroll horizontal global (le site ne doit défiler que verticalement).
   ⚠️ `clip` et PAS `hidden` : overflow-x:hidden transforme html/body en conteneur de
   défilement → position:sticky ne se déclenche plus NULLE PART sur la page (c'était LE
   bug récurrent du récap produit). `clip` coupe le débordement sans créer de scroller. */
html, body { overflow-x: clip; max-width: 100%; }
.bdx-layout, .bdx-main, .bdx-content { max-width: 100%; min-width: 0; }

/* Recherche méga : en mode recherche, on masque le rail « Categories » et les
   résultats prennent toute la largeur (sinon le rail écrase les résultats sur mobile). */
.bdx-mega-dropdown.bdx-mega-searching .bdx-mega-cats { display: none; }
.bdx-mega-dropdown.bdx-mega-searching .bdx-mega-subs { flex: 1 1 100%; width: 100%; }

/* Méga-dropdown en plein écran, une colonne, défilable sous 1024px (topbar = 56px). */
@media (max-width: 1023px) {
  .bdx-mega-dropdown { position: fixed; top: 56px; left: 0; right: 0; bottom: 0; width: auto; min-width: 0; max-width: 100%; border-radius: 0; border-left: 0; border-right: 0; }
  .bdx-mega-inner { display: block; min-height: 0; max-height: calc(100dvh - 56px); overflow-y: auto; }
  .bdx-mega-cats { width: 100%; border-right: 0; border-bottom: 1.5px solid #f0f0f0; }
  .bdx-mega-subs { padding: 14px 16px; }
  .bdx-mega-sub-grid { grid-template-columns: 1fr; }
}

/* Cibles tactiles ≥ 44px sur mobile/tablette (accessibilité). */
@media (max-width: 1024px) {
  .bdx-hamburger, .bdx-sidebar-close, .bdx-mega-close,
  .woocommerce-pagination ul li a, .woocommerce-pagination ul li span { min-width: 44px; min-height: 44px; }
}

/* Mobile : la méga-liste recherche/catégories débordait EN HAUTEUR (arbre entier empilé,
   items du bas inaccessibles surtout clavier ouvert). On borne le panneau à la hauteur
   visible avec défilement interne, et on laisse le panneau être le seul conteneur scrollable. */
@media (max-width: 900px) {
  .bdx-mega-dropdown { max-height: 74vh; overflow-y: auto; overflow-x: hidden; -webkit-overflow-scrolling: touch; }
  .bdx-mega-inner { max-height: none; min-height: 0; display: block; }
  .bdx-mega-cats, .bdx-mega-subs { max-height: none; overflow: visible; width: 100%; box-sizing: border-box; }
}
/* ==== BDX-ORDERS2 (liste Mes commandes façon Print) ==== */
.bdx-orders2 { --brand:#FCAF3B; --brand-d:#e59a1f; --ink:#111827; --muted:#6b7280; --line:#e7e9ee; }
.bdx-orders2-filters { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 20px; }
.bdx-ofilter { display:inline-flex; align-items:center; gap:7px; background:#f3f4f6; color:#374151;
  border:1px solid transparent; border-radius:999px; padding:8px 15px; font-size:13.5px; font-weight:600;
  cursor:pointer; transition:.15s; line-height:1; }
.bdx-ofilter:hover { background:#e9ebef; }
.bdx-ofilter.is-active { background:var(--ink); color:#fff; }
.bdx-ofilter-n { background:rgba(0,0,0,.10); color:inherit; border-radius:999px; padding:1px 8px; font-size:12px; font-weight:700; }
.bdx-ofilter.is-active .bdx-ofilter-n { background:rgba(255,255,255,.22); }

.bdx-orders2-list { display:flex; flex-direction:column; gap:16px; }
.bdx-ocard { background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden;
  box-shadow:0 1px 2px rgba(16,24,40,.04); }
.bdx-ocard-top { display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:16px 20px; border-bottom:1px solid var(--line); background:#fcfcfd; }
.bdx-ocard-ref { display:flex; flex-direction:column; gap:2px; min-width:0; }
.bdx-ocard-num { font-weight:800; font-size:15px; color:var(--ink); letter-spacing:-.01em; }
.bdx-ocard-date { font-size:12.5px; color:var(--muted); }

.bdx-ocard-lines { padding:6px 20px; }
.bdx-oline { display:flex; align-items:flex-start; gap:16px; padding:16px 0; border-bottom:1px dashed var(--line); }
.bdx-oline:last-child { border-bottom:0; }
.bdx-oline-thumb { flex:0 0 76px; width:76px; height:76px; border-radius:12px; overflow:hidden;
  background:#f6f7f9; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; }
.bdx-oline-thumb img { width:100%; height:100%; object-fit:contain; display:block; }
.bdx-oline-noimg { font-size:26px; opacity:.5; }
.bdx-oline-body { flex:1 1 auto; min-width:0; }
.bdx-oline-name { font-size:15px; font-weight:700; color:var(--ink); }
.bdx-oline-qty { color:var(--muted); font-weight:600; font-size:13.5px; }
.bdx-oline-specs { display:flex; flex-wrap:wrap; gap:6px; margin:9px 0 4px; }
.bdx-spec { background:#f3f4f6; color:#4b5563; border-radius:7px; padding:3px 9px; font-size:11.5px; font-weight:600; white-space:nowrap; }
.bdx-oline-status { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:8px; }
.bdx-otag { display:inline-block; border-radius:999px; padding:3px 10px; font-size:11.5px; font-weight:700; color:#fff; }
.bdx-otag.ok { background:#3c8c40; }
.bdx-otag.wait { background:#b26a00; }
.bdx-otag.no { background:#b32d2e; }
.bdx-otag.prod { background:#b26a00; }
.bdx-otag.ship { background:#1d6ad6; }
.bdx-otag.warnrecalc { background:var(--brand); color:#7a4e00; }
.bdx-oeta { font-size:12.5px; color:var(--muted); font-weight:600; }
.bdx-oline-price { flex:0 0 auto; text-align:right; font-weight:800; color:var(--ink); font-size:15px; white-space:nowrap; }
.bdx-oline-price .suf { font-size:11px; color:var(--muted); font-weight:700; }

.bdx-ocard-bot { display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:14px 20px; border-top:1px solid var(--line); background:#fcfcfd; flex-wrap:wrap; }
.bdx-ocard-total { font-size:14px; color:#374151; }
.bdx-ocard-total strong { color:var(--ink); font-size:16px; }
.bdx-ocard-actions { display:flex; gap:8px; flex-wrap:wrap; }
.bdx-obtn { display:inline-flex; align-items:center; gap:6px; border-radius:10px; padding:9px 16px;
  font-size:13.5px; font-weight:700; text-decoration:none; border:1px solid var(--line); background:#fff; color:var(--ink); transition:.15s; cursor:pointer; }
.bdx-obtn:hover { background:#f6f7f9; }
.bdx-obtn.primary { background:var(--brand); border-color:var(--brand); color:#3a2a00; }
.bdx-obtn.primary:hover { background:var(--brand-d); }
.bdx-obtn.ghost { background:#fff; color:#374151; }

.bdx-orders2-empty { text-align:center; color:var(--muted); padding:40px 0; font-size:14px; }
.bdx-orders2-pag { display:flex; justify-content:center; gap:10px; margin-top:20px; }

@media (max-width:640px) {
  .bdx-oline { flex-wrap:wrap; }
  .bdx-oline-thumb { flex-basis:60px; width:60px; height:60px; }
  .bdx-oline-price { flex-basis:100%; text-align:left; margin-top:6px; }
  .bdx-ocard-bot { flex-direction:column; align-items:stretch; }
  .bdx-ocard-actions .bdx-obtn { flex:1 1 auto; justify-content:center; }
}
/* ==== /BDX-ORDERS2 ==== */

/* Description SEO de catégorie (2026-07-08) */
.bdx-cat-desc{max-width:900px;margin:8px 0 22px;color:#374151;font-size:15px;line-height:1.65}
.bdx-cat-desc h2,.bdx-cat-desc h3{font-size:17px;color:#111827;margin:16px 0 6px}
.bdx-cat-desc p{margin:0 0 10px}
.bdx-cat-desc a{color:#EC008C;text-decoration:underline}
.bdx-cat-title small{color:#8a919c;font-weight:500}
