/* Shared geometry; the light/dark switch changes only the palette. */
.dp-public .dp-header-catalog-panel {
  --cat-bg:#fff; --cat-soft:#f5f7fc; --cat-text:#19243b; --cat-muted:#66718a;
  --cat-line:#e5e9f2; --cat-accent:#4666dc; --cat-shadow:0 20px 60px #17244225;
}
.dp-timeweb .dp-header-catalog-panel {
  --cat-bg:#141a34; --cat-soft:#1c2340; --cat-text:#f6f7ff; --cat-muted:#aeb8d1;
  --cat-line:#303950; --cat-accent:#99aaff; --cat-shadow:0 22px 65px #0006;
}
.dp-public .dp-header-catalog-panel.is-open {display:block!important;}
.dp-public .dp-header-catalog-panel .big-catalog-menu-content {
  top:10px; left:16px; right:16px; width:auto; max-width:1160px; height:auto;
  max-height:var(--cat-max-height,72dvh); margin:0 auto; padding:20px;
  overflow:auto; border:1px solid var(--cat-line); border-radius:20px;
  background:var(--cat-bg); color:var(--cat-text); box-shadow:var(--cat-shadow);
  overscroll-behavior:contain;
}
.dp-catalog-topline {display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;color:var(--cat-muted);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;}
.dp-catalog-close {display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid var(--cat-line);border-radius:9px;background:var(--cat-bg);color:var(--cat-muted);font-size:19px;cursor:pointer;}
.dp-catalog-close:hover {background:var(--cat-soft);color:var(--cat-text);}
.dp-public .dp-header-catalog-panel .big-catalog-menu-content>.row {display:grid;grid-template-columns:268px minmax(0,1fr);gap:24px;margin:0;}
.dp-public .dp-header-catalog-panel .big-catalog-menu-content>.row>div {width:auto;padding:0;min-width:0;}
.dp-public .dp-header-catalog-panel .big-catalog-menu-content-categories {display:flex;flex-direction:column;gap:8px;height:auto;overflow:visible;}
.dp-public .dp-header-catalog-panel .big-catalog-menu-category-item {display:flex;align-items:center;gap:12px;min-height:68px;margin:0;padding:10px 12px;border:1px solid transparent;border-radius:13px;color:var(--cat-text)!important;background:transparent;line-height:1.35;cursor:pointer;}
.dp-public .dp-header-catalog-panel .big-catalog-menu-category-item:is(.active,:hover) {background:color-mix(in srgb,var(--cat-accent) 10%,var(--cat-bg));border-color:color-mix(in srgb,var(--cat-accent) 38%,var(--cat-line));color:var(--cat-text)!important;}
.dp-public .dp-header-catalog-panel .big-catalog-menu-category-item.active {box-shadow:inset 3px 0 var(--cat-accent);}
.dp-public .dp-header-catalog-panel .big-catalog-menu-category-item>div {display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;margin:0;border-radius:12px;background:color-mix(in srgb,var(--cat-accent) 14%,var(--cat-bg));color:var(--cat-accent);font-size:14px;font-weight:700;letter-spacing:-.04em;}
.dp-catalog-name {flex:1;min-width:0;font-size:14px;font-weight:500;}
.dp-catalog-name small {display:block;margin-top:3px;color:var(--cat-muted);font-size:11px;font-weight:400;}
.dp-catalog-category-arrow {color:var(--cat-muted);font-size:19px;}
.active>.dp-catalog-category-arrow {color:var(--cat-accent);}
.dp-public .dp-header-catalog-panel .big-catalog-menu-content-subcategories {height:auto;max-height:none;overflow:visible;}
.dp-public .dp-header-catalog-panel .big-catalog-menu-content-subcategories-title {display:flex;align-items:center;gap:14px;margin:0 0 20px;padding:4px 0 18px;border-bottom:1px solid var(--cat-line);font-size:24px;line-height:1.2;font-weight:700;}
.dp-catalog-section-mark {display:grid;place-items:center;flex:0 0 52px;height:52px;border-radius:14px;background:color-mix(in srgb,var(--cat-accent) 15%,var(--cat-bg));color:var(--cat-accent);font-size:16px;letter-spacing:-.04em;}
.dp-catalog-section-copy {flex:1;min-width:0;}
.dp-catalog-section-copy small {display:block;margin-bottom:6px;font-size:10px;line-height:1.2;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--cat-accent);}
.dp-public .dp-header-catalog-panel a.dp-catalog-all {display:inline-flex;align-items:center;gap:8px;flex:none;margin:0;padding:9px 12px;border:1px solid var(--cat-line);border-radius:10px;background:var(--cat-soft);color:var(--cat-text);font-size:12px;font-weight:500;line-height:1.3;}
.dp-public .dp-header-catalog-panel a.dp-catalog-all:hover {border-color:var(--cat-accent);color:var(--cat-accent);}
.dp-public .dp-header-catalog-panel .big-catalog-menu-content-subcategories>.row {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0!important;}
.dp-public .dp-header-catalog-panel .big-catalog-menu-content-subcategories>.row>div {width:auto;padding:0;min-width:0;}
.dp-public .dp-header-catalog-panel a.dp-catalog-entry {display:flex;align-items:center;gap:12px;min-height:74px;height:100%;margin:0;padding:14px;border:1px solid var(--cat-line);border-radius:12px;background:var(--cat-bg);color:var(--cat-text);line-height:1.3;}
.dp-public .dp-header-catalog-panel a.dp-catalog-entry:hover {border-color:var(--cat-accent);background:color-mix(in srgb,var(--cat-accent) 8%,var(--cat-bg));color:var(--cat-text);}
.dp-catalog-entry__icon {display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:10px;background:var(--cat-soft);color:var(--cat-accent);}
.dp-catalog-entry__icon svg {width:21px;height:21px;}
.dp-catalog-entry__copy {flex:1;min-width:0;font-size:14px;font-weight:500;}
.dp-catalog-entry__context {display:block;margin-top:5px;color:var(--cat-accent);font-size:10px;font-weight:500;letter-spacing:.04em;}
.dp-catalog-entry__arrow {color:var(--cat-muted);font-size:18px;}
.dp-public .dp-header-catalog-panel :is(a,button):focus-visible {outline:2px solid var(--cat-accent);outline-offset:3px;}
.dp-public .dp-catalog-tone-cs2 {--cat-accent:#ac6500;}
.dp-public .dp-catalog-tone-cs16 {--cat-accent:#007f9e;}
.dp-public .dp-catalog-tone-web {--cat-accent:#7853c9;}
.dp-public .dp-catalog-tone-work {--cat-accent:#158361;}
.dp-timeweb .dp-catalog-tone-cs2 {--cat-accent:#ffbf70;}
.dp-timeweb .dp-catalog-tone-cs16 {--cat-accent:#70d9f4;}
.dp-timeweb .dp-catalog-tone-web {--cat-accent:#bea2ff;}
.dp-timeweb .dp-catalog-tone-work {--cat-accent:#7adfb9;}
@media(max-width:991px) {
  .dp-public .dp-header-catalog-panel .big-catalog-menu-content {left:10px;right:10px;top:8px;padding:14px;border-radius:16px;}
  .dp-catalog-topline {margin-bottom:10px;}
  .dp-public .dp-header-catalog-panel .big-catalog-menu-content>.row {grid-template-columns:minmax(0,1fr);gap:18px;}
  .dp-public .dp-header-catalog-panel .big-catalog-menu-content-categories {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}
  .dp-public .dp-header-catalog-panel .big-catalog-menu-category-item {gap:8px;min-height:62px;padding:8px;}
  .dp-public .dp-header-catalog-panel .big-catalog-menu-category-item>div {flex-basis:36px;width:36px;height:36px;border-radius:10px;font-size:12px;}
  .dp-catalog-name {font-size:12px;}
  .dp-catalog-name small {font-size:9px;margin-top:2px;}
  .dp-catalog-category-arrow {display:none;}
  .dp-public .dp-header-catalog-panel .big-catalog-menu-content-subcategories-title {gap:10px;margin-bottom:12px;padding:0 0 14px;font-size:19px;flex-wrap:wrap;}
  .dp-catalog-section-mark {flex-basis:42px;height:42px;border-radius:11px;font-size:14px;}
  .dp-catalog-section-copy small {font-size:9px;}
  .dp-public .dp-header-catalog-panel a.dp-catalog-all {margin-left:auto;padding:7px 9px;font-size:11px;}
  .dp-public .dp-header-catalog-panel .big-catalog-menu-content-subcategories>.row {gap:8px;}
  .dp-public .dp-header-catalog-panel a.dp-catalog-entry {gap:8px;min-height:90px;padding:10px;flex-wrap:wrap;}
  .dp-catalog-entry__icon {flex-basis:30px;height:30px;border-radius:8px;}
  .dp-catalog-entry__icon svg {width:18px;height:18px;}
  .dp-catalog-entry__copy {font-size:12px;flex-basis:calc(100% - 40px);}
  .dp-catalog-entry__context {font-size:9px;}
  .dp-catalog-entry__arrow {display:none;}
}
@media(prefers-reduced-motion:no-preference) {
  .dp-public .dp-header-catalog-panel a {transition:background-color .12s,border-color .12s;}
}

/* Finishing touches keep the category colours restrained and consistent. */
.dp-public .dp-header-catalog-panel .big-catalog-menu-content {
  background:linear-gradient(135deg,color-mix(in srgb,var(--cat-accent) 3%,var(--cat-bg)),var(--cat-bg) 55%);
  box-shadow:var(--cat-shadow),inset 0 1px 0 color-mix(in srgb,var(--cat-text) 5%,transparent);
}
.dp-public .dp-header-catalog-panel .big-catalog-menu-category-item.active {
  background:linear-gradient(110deg,color-mix(in srgb,var(--cat-accent) 15%,var(--cat-bg)),color-mix(in srgb,var(--cat-accent) 5%,var(--cat-bg)));
  border-color:color-mix(in srgb,var(--cat-accent) 45%,var(--cat-line));
}
.dp-public .dp-header-catalog-panel .big-catalog-menu-category-item.active>div,
.dp-catalog-section-mark {
  background:linear-gradient(145deg,color-mix(in srgb,var(--cat-accent) 24%,var(--cat-bg)),color-mix(in srgb,var(--cat-accent) 10%,var(--cat-bg)));
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cat-accent) 12%,transparent);
}
.dp-public .dp-header-catalog-panel .big-catalog-menu-content-subcategories-title {position:relative;}
.dp-public .dp-header-catalog-panel .big-catalog-menu-content-subcategories-title::after {content:'';position:absolute;left:0;bottom:-1px;width:64px;height:2px;border-radius:2px;background:var(--cat-accent);}
.dp-public .dp-header-catalog-panel a.dp-catalog-entry {background:color-mix(in srgb,var(--cat-soft) 40%,var(--cat-bg));}
.dp-public .dp-header-catalog-panel a.dp-catalog-entry:hover {background:color-mix(in srgb,var(--cat-accent) 8%,var(--cat-bg));box-shadow:0 4px 16px color-mix(in srgb,var(--cat-accent) 7%,transparent);}
.dp-public .dp-header-catalog-panel a.dp-catalog-entry:hover .dp-catalog-entry__icon {background:color-mix(in srgb,var(--cat-accent) 15%,var(--cat-bg));}
@media(min-width:992px) {
  .dp-public .dp-header-catalog-panel .big-catalog-menu-content-categories {padding:6px;border:1px solid var(--cat-line);border-radius:17px;background:color-mix(in srgb,var(--cat-soft) 50%,var(--cat-bg));}
}

/* The selected subcategories always start at the top. */
.dp-public .dp-header-catalog-panel .big-catalog-menu-content-subcategories[hidden] {display:none!important;}
