/* OUTILPRO — compléments à style.css (composants propres à cette boutique) */
[hidden] { display: none !important; }
.notice-success { background: var(--success-surface); color: var(--success-ink); border-color: #bfe0cc; }
.notice-error { background: #fdecea; color: #8d2b22; border-color: #f2c4bf; }
.site-content > .container > .notice { margin-top: var(--space-5); }
.department-panel { display: flex; flex-direction: column; }
.department-panel a strong { font-weight: 600; }
.mega-menu .mega-columns > div { min-width: 0; }
.mobile-menu { display: none; }
.mobile-category-row > button { background: none; }
.mobile-submenu a { display: block; }
.desktop-nav > button { background: none; }
.search-wrap button, .quantity button, .icon-button, .card-actions > button, .card-add, .hero-arrow, .hero-indicators > button, .chip, .text-link, .close-button, .deal-tabs button, .tab-list > button, .view-options > *, .product-secondary button { background: none; border: 0; cursor: pointer; font: inherit; color: inherit; }
button { font-family: inherit; }
.view-options > a { padding: var(--space-2); color: #999; display: grid; place-items: center; }
.view-options > a.active { color: var(--accent); }
.hero-copy h1 > span { display: block; }
.card-actions > button[aria-pressed="true"] { background: var(--brand); }
.product-secondary button[aria-pressed="true"] { color: var(--accent-ink); }
.eyebrow.active, a.eyebrow { text-decoration: none; }
.product-info > a.eyebrow { display: inline-block; }
.toast.visible { opacity: 1; transform: translate(-50%); }
.cart-drawer-body { display: flex; flex-direction: column; flex: 1; min-height: 0; }
.cart-lines { display: block; }
.cart-line > a { display: block; }
.cart-line-info .price { font-size: 14px; }
.cart-actions { display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); padding-top: var(--space-6); flex-wrap: wrap; }
.coupon-row { display: flex; gap: var(--space-2); margin-top: var(--space-2); }
.coupon-row input { flex: 1; min-width: 0; }
.checkout-coupon, .delivery-choice { margin-bottom: var(--space-5); font-size: var(--font-sm); display: grid; gap: var(--space-3); }
.checkout-coupon label { font-size: 12px; }
.order-summary .inline-check { font-size: 13px; }
.shipping-options { display: grid; gap: var(--space-3); margin-bottom: var(--space-6); }
.checkout-grid .inline-check { font-size: var(--font-sm); }
.checkout-grid textarea { width: 100%; min-height: 90px; }
.checkout-page .logo { color: var(--brand); }
.checkout-header .logo strong { color: var(--accent); }
.account-page h1 { margin-bottom: var(--space-2); }
.auth-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gutter); }
.auth-grid .auth-panel { max-width: none; }
.auth-panel textarea, .account-layout textarea { width: 100%; }
.commerce-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gutter); margin-bottom: var(--space-7); }
.commerce-stats > div { background: #fff; border-radius: var(--radius); padding: var(--space-5); }
.commerce-stats b { display: block; font-size: 22px; color: var(--brand); }
.commerce-stats span { font-size: 12px; color: var(--muted); }
.customer-order-row small { display: block; color: var(--muted); font-size: 12px; }
.customer-order-row .button { margin-top: 0; }
.account-layout nav > a.active { background: var(--brand); color: #fff; }
.badge { display: inline-block; padding: 3px 9px; border-radius: 999px; font-size: 11px; font-weight: 500; vertical-align: middle; }
.badge-warn { background: #fff3cd; color: #7a5a00; }
.badge-info { background: #e4edf3; color: var(--brand); }
.badge-ok { background: var(--success-surface); color: var(--success-ink); }
.badge-danger { background: #fdecea; color: #8d2b22; }
.badge-muted { background: #eef1f4; color: var(--muted); }
.timeline { list-style: none; padding: 0; margin: 0; border-left: 2px solid var(--border); }
.timeline li { padding: 0 0 14px 16px; position: relative; font-size: 14px; }
.timeline li::before { content: ''; position: absolute; left: -7px; top: 4px; width: 12px; height: 12px; border-radius: 50%; background: var(--accent); }
.timeline span { display: block; color: var(--muted); font-size: 12px; }
.timeline small { display: block; color: var(--muted); }
.support-order .conversion-steps { list-style: none; padding: 0; counter-reset: s; }
.conversion-steps li { flex: 1; text-align: center; font-size: 12px; color: var(--muted); padding-top: 32px; position: relative; }
.conversion-steps li::before { counter-increment: s; content: counter(s); position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 24px; height: 24px; border-radius: 50%; background: var(--surface-alt); display: grid; place-items: center; font-weight: 500; }
.conversion-steps li.done { color: var(--brand); font-weight: 500; }
.conversion-steps li.done::before { background: var(--success); color: #fff; }
.order-demo { max-width: 850px; margin: auto; text-align: center; }
.order-demo .transfer-panel { text-align: left; }
.order-demo .cart-lines { text-align: left; }
.order-demo .order-demo-summary strong { font-size: 22px; color: var(--brand); }
.transfer-panel code { font-size: 15px; }
.product-tags a { display: inline-block; background: var(--surface); padding: 3px 9px; border-radius: var(--radius-pill); font-size: 12px; margin: 0 4px 4px 0; }
.product-tabs .tab-panel { display: none; }
.product-tabs .tab-panel.active { display: block; }
.product-tabs .specifications dd { color: var(--text); }
.catalog-category-links.subcategories { padding-top: 0; }
.catalog-category-links.subcategories a { min-height: 38px; padding: var(--space-2) var(--space-4); background: var(--surface); border-color: var(--surface); font-size: 13px; gap: 6px; }
.catalog-category-links.subcategories a small { color: var(--muted); }
.catalog-category-links.subcategories a[aria-current="page"] { background: var(--brand); border-color: var(--brand); }
.facet-categories .subcategory-link.active { color: var(--accent-ink); font-weight: 600; }
.filter-reset { display: flex; justify-content: center; }
.price-filter .button { width: 100%; margin-top: var(--space-3); min-height: 40px; }
.footer-newsletter { margin-top: var(--space-6); }
.footer-newsletter label { color: #fff; font-size: var(--font-sm); display: block; margin-bottom: var(--space-2); }
.footer-newsletter > div { display: flex; gap: var(--space-2); }
.footer-newsletter input { flex: 1; min-width: 0; border: 1px solid var(--brand-light); background: #ffffff12; color: #fff; border-radius: var(--radius); padding: var(--space-2) var(--space-3); min-height: 42px; }
.footer-newsletter .button { min-height: 42px; padding-inline: var(--space-4); }
.footer-brand .logo strong { color: var(--accent); }
.rich h2 { font-size: 22px; margin: var(--space-6) 0 var(--space-3); }
.rich p { color: var(--muted); line-height: 1.85; margin-bottom: var(--space-4); }
.rich ul { padding-left: var(--space-6); line-height: 1.8; color: var(--muted); }
.info-page .journal-image { margin: var(--space-6) 0; height: 320px; }
.info-page .journal-image .product-media { width: 320px; }
.info-page .rich p { font-size: 16px; }
.contact-form { margin-top: var(--space-5); }
.contact-form textarea { width: 100%; min-height: 140px; }
.contact-form .form-grid label { font-size: 13px; }
.contact-form .button { margin-top: var(--space-5); }
.contact-channels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gutter); margin-bottom: var(--space-6); }
.contact-channels > * { display: flex; gap: var(--space-3); align-items: flex-start; padding: var(--space-5); border: 1px solid var(--border); border-radius: var(--radius); font-size: var(--font-sm); color: var(--text); }
.contact-channels svg { color: var(--brand); flex-shrink: 0; }
.contact-channels strong { display: block; margin-bottom: 4px; }
.support-actions { display: flex; gap: var(--space-3); flex-wrap: wrap; margin-bottom: var(--space-6); }
.information-section form label { font-size: 13px; }
.empty-state .eyebrow { display: block; margin-bottom: var(--space-3); }
.compare-grid .product-media { background: var(--surface); margin-bottom: var(--space-3); }
.compare-grid .product-media .media-art { mix-blend-mode: multiply; }
.compare-grid > article > .text-link { background: none; border: 0; }
.zoom-stage .product-media { background: var(--surface); }
.sticky-buy { display: none; }
.sticky-buy.visible { display: flex; }
.sticky-buy .button { white-space: nowrap; }
.loop-slide { display: flex; }
.media-art { width: 100%; height: 100%; object-fit: contain; }
.card-visual .product-media { background: #fff; }
.hero-slide > img { position: absolute; inset: 0; }
.chip[aria-pressed="true"] { background: var(--brand); border-color: var(--brand); color: #fff; }
.analytics-consent { display: none; }
.analytics-consent.visible { display: grid; }
@media (width <= 989px) {
  .mega-menu, .department-panel, .desktop-nav { display: none !important; }
  .mobile-menu { display: flex; }
  .mobile-menu[hidden] { display: none !important; }
  .auth-grid, .contact-channels, .commerce-stats { grid-template-columns: 1fr; }
  .workshop-products .product-card:nth-child(2) { display: block; }
}
@media (width <= 749px) {
  .information-layout { grid-template-columns: 1fr; }
  .information-nav { position: static; }
  .compare-grid { grid-template-columns: 1fr 1fr !important; }
  .cart-actions { flex-direction: column; align-items: stretch; }
}
.mobile-menu { color: var(--text); }
.mobile-menu .mobile-category-row > a { color: var(--text); }
