:root {
  --da2-menu-red: #cd2014;
  --da2-menu-red-dark: #a91a10;
  --da2-menu-blue: #1b4fbf;
  --da2-menu-navy: #1a2f7a;
  --da2-menu-navy-light: #24408f;
  --da2-menu-white: #fff;
  --da2-menu-gray: #f4f6fa;
  --da2-menu-text: #1a2540;
  --da2-menu-muted: #5a6a8a;
  --da2-menu-border: rgba(27, 79, 191, 0.12);
  --da2-menu-shadow: 0 12px 42px rgba(15, 30, 58, 0.16);
}

.da2-categories,
.da2-categories *,
.da2-categories *::before,
.da2-categories *::after { box-sizing: border-box; }

.da2-categories { position: relative; display: inline-block; font-family: inherit; }
.da2-categories button, .da2-categories a { font-family: inherit; }
.da2-categories__trigger { display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:linear-gradient(135deg,var(--da2-menu-navy),var(--da2-menu-navy-light));color:#fff;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 6px 16px -6px rgba(26,47,122,.55);transition:.2s; }
.da2-categories__trigger:hover,.da2-categories__trigger[aria-expanded="true"] { background:linear-gradient(135deg,var(--da2-menu-navy-light),var(--da2-menu-blue));transform:translateY(-1px); }
.da2-categories__arrow { font-size:11px;opacity:.75;transition:transform .2s; }
.da2-categories__trigger[aria-expanded="true"] .da2-categories__arrow { transform:rotate(180deg); }
.da2-categories__overlay { display:none;position:fixed;inset:0;background:rgba(10,20,40,.5);backdrop-filter:blur(3px);z-index:9990; }
.da2-categories.is-open .da2-categories__overlay { display:block; }
.da2-categories__mega { display:none;position:absolute;top:calc(100% + 10px);left:0;width:min(860px,96vw);max-height:520px;background:#fff;border:1px solid var(--da2-menu-border);border-radius:14px;box-shadow:var(--da2-menu-shadow);overflow:hidden;z-index:9999; }
.da2-categories.is-open .da2-categories__mega { display:flex;animation:da2-menu-in .2s ease; }
@keyframes da2-menu-in { from{opacity:0;transform:translateY(-8px)} to{opacity:1;transform:none} }
.da2-categories__parents { width:250px;flex:0 0 250px;max-height:520px;overflow:auto;padding:10px 0;background:linear-gradient(180deg,var(--da2-menu-navy),#142363); }
.da2-categories__parent { width:100%;display:grid;grid-template-columns:22px minmax(0,1fr) 12px;align-items:center;gap:8px;padding:11px 14px;border:0;border-left:3px solid transparent;background:transparent;color:rgba(255,255,255,.8);font-size:12.5px;font-weight:600;text-align:left;cursor:pointer; }
.da2-categories__parent span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.da2-categories__parent:hover,.da2-categories__parent.is-active { color:#fff;background:rgba(205,32,20,.2);border-left-color:var(--da2-menu-red); }
.da2-categories__panels { flex:1;min-width:0;max-height:520px;overflow:auto;padding:20px 22px; }
.da2-categories__panel[hidden] { display:none; }
.da2-categories__panel-header { display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;margin-bottom:16px;border-bottom:2px solid var(--da2-menu-gray); }
.da2-categories__panel-header div { display:flex;align-items:center;gap:9px;min-width:0;color:var(--da2-menu-text); }
.da2-categories__panel-header strong { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px; }
.da2-categories__panel-header a { flex:0 0 auto;padding:5px 12px;border:1.5px solid var(--da2-menu-navy);border-radius:20px;color:var(--da2-menu-navy);font-size:12px;font-weight:700;text-decoration:none; }
.da2-categories__panel-header a:hover { color:#fff;background:var(--da2-menu-navy); }
.da2-categories__grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px; }
.da2-categories__card { display:flex;align-items:center;gap:9px;min-height:48px;padding:9px 12px;border:1.5px solid var(--da2-menu-border);border-radius:10px;background:var(--da2-menu-gray);color:var(--da2-menu-text);text-decoration:none;transition:.18s; }
.da2-categories__card:hover { border-color:var(--da2-menu-red);background:#fff5f5;color:var(--da2-menu-red-dark);transform:translateY(-2px);box-shadow:0 4px 14px rgba(205,32,20,.1); }
.da2-categories__card > span:last-child { min-width:0;display:flex;flex-direction:column; }
.da2-categories__card strong { font-size:12px;line-height:1.25; }
.da2-categories__card small { margin-top:2px;color:var(--da2-menu-muted);font-size:10px; }
.da2-categories__empty { padding:40px 20px;text-align:center;color:var(--da2-menu-muted);font-size:13px; }
.da2-categories__drawer { display:none; }

@media (max-width:768px) {
  .da2-categories { display:block; }
  .da2-categories__trigger { width:100%;justify-content:center; }
  .da2-categories__mega { display:none !important; }
  .da2-categories.is-open .da2-categories__drawer { display:flex;transform:translateY(0); }
  .da2-categories__drawer { position:fixed;left:0;right:0;bottom:0;z-index:9999;height:min(85vh,720px);flex-direction:column;overflow:hidden;border-radius:20px 20px 0 0;background:#fff;box-shadow:0 -6px 40px rgba(15,30,58,.2);transform:translateY(100%);transition:transform .3s ease; }
  .da2-categories__handle { width:38px;height:4px;margin:12px auto 4px;border-radius:4px;background:rgba(15,30,58,.12); }
  .da2-categories__drawer-header { display:flex;align-items:center;justify-content:space-between;padding:10px 18px 14px;border-bottom:1px solid #eef0f5; }
  .da2-categories__drawer-header strong { color:var(--da2-menu-text);font-size:15px; }
  .da2-categories__close { width:32px;height:32px;border:0;border-radius:50%;background:var(--da2-menu-gray);color:var(--da2-menu-text);font-size:21px;line-height:1;cursor:pointer; }
  .da2-categories__accordion { flex:1;overflow:auto;padding-bottom:28px; }
  .da2-categories__accordion-item { border-bottom:1px solid #eef0f5; }
  .da2-categories__accordion-button,.da2-categories__direct { width:100%;display:grid;grid-template-columns:24px minmax(0,1fr) auto 14px;align-items:center;gap:10px;padding:13px 18px;border:0;background:transparent;color:var(--da2-menu-text);font-size:13.5px;font-weight:700;text-align:left;text-decoration:none;cursor:pointer; }
  .da2-categories__accordion-button small { padding:2px 7px;border-radius:12px;background:var(--da2-menu-gray);color:var(--da2-menu-muted);font-size:10px; }
  .da2-categories__accordion-button[aria-expanded="true"] { color:var(--da2-menu-red);background:#fff3f3; }
  .da2-categories__accordion-button > span:last-child { transition:transform .2s; }
  .da2-categories__accordion-button[aria-expanded="true"] > span:last-child { transform:rotate(90deg); }
  .da2-categories__accordion-panel { background:#f8f9fc; }
  .da2-categories__accordion-panel[hidden] { display:none; }
  .da2-categories__accordion-panel a { display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px 18px 11px 54px;border-bottom:1px solid rgba(0,0,0,.04);color:var(--da2-menu-text);font-size:12.5px;font-weight:600;text-decoration:none; }
  .da2-categories__accordion-panel small { color:var(--da2-menu-muted);font-size:11px; }
  .da2-categories__see-all { display:block !important;color:var(--da2-menu-navy) !important;font-weight:700 !important; }
  body.da2-categories-lock { overflow:hidden; }
}


/* ═══ v1.8.30 — Icônes SVG outline (remplacement des emojis) ═══ */
.da2-categories .tda-cat-ico{width:20px;height:20px;color:#233b91;display:block;flex:0 0 auto}
.da2-categories span[aria-hidden="true"]:has(> .tda-cat-ico){display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;flex:0 0 auto}
.da2-categories__drawer-header .tda-cat-ico,
.da2-categories__trigger .tda-cat-ico{display:inline-block;vertical-align:-4px;margin-right:8px}
