@salesmind-ai/design-system 1.7.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@ export { ColorPicker, ThemeSelector } from './chunk-VFO2MUPI.js';
4
4
  export { BREAKPOINTS, CARD_HOVER, COLORS, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, DISTANCE, DURATION, EASING, FONT_FAMILY, FONT_SIZE, FONT_WEIGHT, HERO_ENTRANCE, LINE_HEIGHT, Label, MEDIA_QUERIES, MOTION, PANEL_CROSSFADE, PRESETS, RADIUS, REDUCED_PANEL_CROSSFADE, REDUCED_VARIANTS, SECTION_REVEAL, SHADOWS, SPACING, Select, SelectContent, SelectGroup, SelectItem, SelectSeparator, SelectTrigger, Separator, Skeleton, Switch, TAB_SLIDE, TRANSITION, TextArea, VARIANTS, VARIANT_MAP, Z_INDEX } from './chunk-PYREXCZK.js';
5
5
  export { AppearanceProvider, accentForegroundRgb, hexToRgb, initializeAppearance, prefersReducedMotion, relativeLuminance, useAppearance } from './chunk-MBAG654R.js';
6
6
  export { CTASection, FeatureSection, HeroSection, StatsSection } from './chunk-PBYRTNQ5.js';
7
- export { LocaleDropdown, MDXOutboundLink, NavbarV2, NavbarV2Actions, NavbarV2Brand, NavbarV2Tab, NavbarV2TabMenu, NavbarV2Tabs, SiteFooter } from './chunk-6BUS7RMS.js';
7
+ export { LocaleDropdown, MDXOutboundLink, NavbarV2, NavbarV2Actions, NavbarV2Brand, NavbarV2Tab, NavbarV2TabMenu, NavbarV2Tabs, SiteFooter } from './chunk-Q3YVBUKQ.js';
8
8
  export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from './chunk-XU3OMQ7V.js';
9
9
  export { CursorSpotlight, SpotlightCard } from './chunk-WB6XDNU7.js';
10
10
  export { PlatformBadge, SocialProofCard, SocialProofCarousel, SocialProofFeatured, SocialProofGrid, SocialProofLogos, StarRating, VideoLightbox } from './chunk-PW56UU3S.js';
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunk3NS6X2R4_cjs = require('../chunk-3NS6X2R4.cjs');
4
+ var chunk5EIBL6DQ_cjs = require('../chunk-5EIBL6DQ.cjs');
5
5
  var chunkNT4LBP7D_cjs = require('../chunk-NT4LBP7D.cjs');
6
6
  var chunkLJADZITX_cjs = require('../chunk-LJADZITX.cjs');
7
7
 
@@ -9,39 +9,39 @@ var chunkLJADZITX_cjs = require('../chunk-LJADZITX.cjs');
9
9
 
10
10
  Object.defineProperty(exports, "LocaleDropdown", {
11
11
  enumerable: true,
12
- get: function () { return chunk3NS6X2R4_cjs.LocaleDropdown; }
12
+ get: function () { return chunk5EIBL6DQ_cjs.LocaleDropdown; }
13
13
  });
14
14
  Object.defineProperty(exports, "MDXOutboundLink", {
15
15
  enumerable: true,
16
- get: function () { return chunk3NS6X2R4_cjs.MDXOutboundLink; }
16
+ get: function () { return chunk5EIBL6DQ_cjs.MDXOutboundLink; }
17
17
  });
18
18
  Object.defineProperty(exports, "NavbarV2", {
19
19
  enumerable: true,
20
- get: function () { return chunk3NS6X2R4_cjs.NavbarV2; }
20
+ get: function () { return chunk5EIBL6DQ_cjs.NavbarV2; }
21
21
  });
22
22
  Object.defineProperty(exports, "NavbarV2Actions", {
23
23
  enumerable: true,
24
- get: function () { return chunk3NS6X2R4_cjs.NavbarV2Actions; }
24
+ get: function () { return chunk5EIBL6DQ_cjs.NavbarV2Actions; }
25
25
  });
26
26
  Object.defineProperty(exports, "NavbarV2Brand", {
27
27
  enumerable: true,
28
- get: function () { return chunk3NS6X2R4_cjs.NavbarV2Brand; }
28
+ get: function () { return chunk5EIBL6DQ_cjs.NavbarV2Brand; }
29
29
  });
30
30
  Object.defineProperty(exports, "NavbarV2Tab", {
31
31
  enumerable: true,
32
- get: function () { return chunk3NS6X2R4_cjs.NavbarV2Tab; }
32
+ get: function () { return chunk5EIBL6DQ_cjs.NavbarV2Tab; }
33
33
  });
34
34
  Object.defineProperty(exports, "NavbarV2TabMenu", {
35
35
  enumerable: true,
36
- get: function () { return chunk3NS6X2R4_cjs.NavbarV2TabMenu; }
36
+ get: function () { return chunk5EIBL6DQ_cjs.NavbarV2TabMenu; }
37
37
  });
38
38
  Object.defineProperty(exports, "NavbarV2Tabs", {
39
39
  enumerable: true,
40
- get: function () { return chunk3NS6X2R4_cjs.NavbarV2Tabs; }
40
+ get: function () { return chunk5EIBL6DQ_cjs.NavbarV2Tabs; }
41
41
  });
42
42
  Object.defineProperty(exports, "SiteFooter", {
43
43
  enumerable: true,
44
- get: function () { return chunk3NS6X2R4_cjs.SiteFooter; }
44
+ get: function () { return chunk5EIBL6DQ_cjs.SiteFooter; }
45
45
  });
46
46
  Object.defineProperty(exports, "Breadcrumb", {
47
47
  enumerable: true,
@@ -1445,4 +1445,58 @@
1445
1445
  background: var(--fallback-surface);
1446
1446
  }
1447
1447
  }
1448
+ .ds-locale-dropdown__panel--searchable {
1449
+ display: flex;
1450
+ flex-direction: column;
1451
+ min-width: 220px;
1452
+ }
1453
+ .ds-locale-dropdown__search {
1454
+ display: flex;
1455
+ align-items: center;
1456
+ gap: var(--space-2);
1457
+ padding: var(--space-1-5) var(--space-2-5);
1458
+ margin-bottom: var(--space-1);
1459
+ border-radius: var(--radius-button);
1460
+ background: var(--glass-base-hover);
1461
+ }
1462
+ .ds-locale-dropdown__search:focus-within {
1463
+ box-shadow: var(--focus-ring);
1464
+ }
1465
+ .ds-locale-dropdown__search-icon {
1466
+ display: flex;
1467
+ align-items: center;
1468
+ color: var(--text-tertiary);
1469
+ flex-shrink: 0;
1470
+ }
1471
+ .ds-locale-dropdown__search-input {
1472
+ flex: 1;
1473
+ min-width: 0;
1474
+ padding: 0;
1475
+ border: none;
1476
+ background: transparent;
1477
+ color: var(--text-primary);
1478
+ font-family: var(--font-family);
1479
+ font-size: var(--font-size-sm);
1480
+ line-height: 1;
1481
+ }
1482
+ .ds-locale-dropdown__search-input::placeholder {
1483
+ color: var(--text-tertiary);
1484
+ }
1485
+ .ds-locale-dropdown__search-input:focus,
1486
+ .ds-locale-dropdown__search-input:focus-visible {
1487
+ outline: none;
1488
+ }
1489
+ .ds-locale-dropdown__list {
1490
+ display: flex;
1491
+ flex-direction: column;
1492
+ max-height: 280px;
1493
+ overflow-y: auto;
1494
+ }
1495
+ .ds-locale-dropdown__empty {
1496
+ padding: var(--space-3);
1497
+ color: var(--text-tertiary);
1498
+ font-family: var(--font-family);
1499
+ font-size: var(--font-size-sm);
1500
+ text-align: center;
1501
+ }
1448
1502
  /*# sourceMappingURL=index.css.map */
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/NavbarV2/NavbarV2.css","../../src/components/Breadcrumb/Breadcrumb.css","../../src/components/SiteFooter/SiteFooter.css","../../src/components/LocaleDropdown/LocaleDropdown.css"],"sourcesContent":["/* ============================================================================\n NAVBAR V2 — FLOATING GLASS PILL TAB NAVIGATION\n ============================================================================\n A centered floating glass pill with vertical icon+label tabs.\n Brand and actions flank the pill on a TRANSPARENT bar — only the pill\n has a visual surface when unscrolled. On scroll, an outer container\n activates glass with border, and the inner pill demotes to fully\n transparent to avoid double-border visual noise.\n\n Layout: <nav> → <container (grid: 1fr auto 1fr)>\n [Brand ←] [— Tabs (centered) —] [→ Actions]\n ============================================================================ */\n\n/* ==========================================================================\n Outer Shell — Sticky, transparent, centering wrapper.\n Only provides positioning. Visual surface lives on __container.\n ========================================================================== */\n\n.ds-navbar-v2 {\n position: sticky;\n top: 0;\n z-index: var(--z-modal-backdrop);\n width: 100%;\n display: flex;\n justify-content: center;\n /* Add a small halo around the floating bar so it does not crowd the\n viewport edge or the hero copy underneath. */\n padding: var(--space-2) var(--space-3) var(--space-3);\n box-sizing: border-box;\n\n /* Transparent — clicks pass through gutters */\n background: transparent;\n pointer-events: none;\n}\n\n/* ==========================================================================\n Inner Container — CSS Grid for true viewport centering.\n Transparent by default, gains glass surface on scroll.\n ========================================================================== */\n\n.ds-navbar-v2__container {\n position: relative;\n /* CSS Grid: brand left, tabs TRUE center, actions right */\n display: grid;\n grid-template-columns: 1fr auto 1fr;\n align-items: center;\n width: 100%;\n padding: var(--space-2) var(--space-5);\n box-sizing: border-box;\n border-radius: var(--radius-card);\n pointer-events: auto;\n\n /* Transparent by default — no visual surface */\n background: transparent;\n border: 1px solid transparent;\n\n /* Explicit property transitions (not `all`) for performance */\n transition:\n background var(--transition-glass),\n border-color var(--transition-glass),\n box-shadow var(--transition-glass),\n backdrop-filter var(--transition-glass),\n -webkit-backdrop-filter var(--transition-glass);\n}\n\n/* ==========================================================================\n Scrolled State — Container gains solid surface with border.\n Uses near-opaque void-base so hero/page content never bleeds through.\n 92% opacity preserves a hint of depth; backdrop blur adds polish.\n --void-base-rgb adapts automatically across all themes (dark/light).\n ========================================================================== */\n\n.ds-navbar-v2--scrolled .ds-navbar-v2__container {\n background: rgba(var(--void-base-rgb), 0.97);\n backdrop-filter: blur(80px) saturate(180%) brightness(90%);\n -webkit-backdrop-filter: blur(80px) saturate(180%) brightness(90%);\n border-color: var(--rim-light-bottom);\n box-shadow:\n var(--glass-shadow-elevated-combined),\n 0 1px 0 0 var(--rim-light-top) inset;\n}\n\n/* Rim light on scrolled container */\n.ds-navbar-v2--scrolled .ds-navbar-v2__container::before {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n padding: var(--space-px);\n background: linear-gradient(\n 180deg,\n var(--rim-light-top) 0%,\n var(--rim-light-bottom) 100%\n );\n mask:\n linear-gradient(#fff 0 0) content-box,\n linear-gradient(#fff 0 0);\n mask-composite: exclude;\n -webkit-mask:\n linear-gradient(#fff 0 0) content-box,\n linear-gradient(#fff 0 0);\n -webkit-mask-composite: xor;\n pointer-events: none;\n opacity: 0.6;\n}\n\n/* ==========================================================================\n Brand — Grid column 1, left-aligned\n ========================================================================== */\n\n.ds-navbar-v2__brand {\n grid-column: 1;\n justify-self: start;\n display: flex;\n align-items: center;\n gap: var(--space-2);\n font-family: var(--font-family);\n font-weight: var(--font-weight-bold);\n font-size: var(--font-size-lg);\n color: var(--text-primary);\n text-decoration: none;\n flex-shrink: 0;\n white-space: nowrap;\n}\n\n/* ==========================================================================\n Tabs — Grid column 2, TRUE CENTER in viewport.\n The glass pill is the single visual surface when unscrolled.\n ========================================================================== */\n\n.ds-navbar-v2__tabs {\n grid-column: 2;\n justify-self: center;\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--space-1);\n padding: var(--space-2);\n flex-shrink: 0;\n\n /* Glass ornament — Level 2 (FloatingTabBar treatment)\n Use a stronger base than the global token to ensure the pill is legible.\n The backdrop blur + brightness bring the surface alive, so we need\n sufficient base opacity to give the blur something to render over. */\n background: var(--glass-base, rgba(255, 255, 255, 0.07));\n backdrop-filter: var(--glass-backdrop);\n -webkit-backdrop-filter: var(--glass-backdrop);\n border-radius: var(--radius-card);\n box-shadow: var(--glass-shadow-elevated-combined);\n\n /* Mega menu panels escape the pill */\n overflow: visible;\n\n /* Transition for demotion */\n transition:\n background var(--transition-glass),\n box-shadow var(--transition-glass),\n backdrop-filter var(--transition-glass),\n -webkit-backdrop-filter var(--transition-glass);\n}\n\n/* Rim light — Level 2 */\n.ds-navbar-v2__tabs::before {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n padding: var(--space-px);\n background: linear-gradient(\n 180deg,\n var(--rim-light-hover-top) 0%,\n var(--rim-light-top) 100%\n );\n mask:\n linear-gradient(#fff 0 0) content-box,\n linear-gradient(#fff 0 0);\n mask-composite: exclude;\n -webkit-mask:\n linear-gradient(#fff 0 0) content-box,\n linear-gradient(#fff 0 0);\n -webkit-mask-composite: xor;\n pointer-events: none;\n transition: opacity var(--transition-glass);\n}\n\n/* ==========================================================================\n Tabs — DEMOTED STATE (when outer container has glass)\n FULLY transparent — zero visual presence. Container is the sole surface.\n No border, no glass, no shadow, no rim light. Just the tab items inside.\n ========================================================================== */\n\n.ds-navbar-v2__tabs--demoted {\n background: transparent;\n backdrop-filter: none;\n -webkit-backdrop-filter: none;\n box-shadow: none;\n}\n\n/* Kill rim light completely when demoted */\n.ds-navbar-v2__tabs--demoted::before {\n opacity: 0;\n}\n\n/* ==========================================================================\n Tab Item — VERTICAL: icon on top, label below\n ========================================================================== */\n\n.ds-navbar-v2__tab {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: var(--space-1);\n padding: var(--space-2) var(--space-4);\n min-width: 64px;\n flex-shrink: 0;\n border: none;\n border-radius: var(--radius-button);\n background: transparent;\n color: var(--text-tertiary);\n font-family: var(--font-family);\n font-size: var(--font-size-xs);\n font-weight: var(--font-weight-medium);\n line-height: 1;\n cursor: pointer;\n text-decoration: none;\n white-space: nowrap;\n\n transition:\n background var(--transition-glass),\n color var(--transition-glass),\n box-shadow var(--transition-glass);\n}\n\n/* Rim light per-tab (hidden by default) */\n.ds-navbar-v2__tab::before {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n padding: var(--space-px);\n background: linear-gradient(\n 180deg,\n var(--rim-light-top) 0%,\n var(--rim-light-bottom) 100%\n );\n mask:\n linear-gradient(#fff 0 0) content-box,\n linear-gradient(#fff 0 0);\n mask-composite: exclude;\n -webkit-mask:\n linear-gradient(#fff 0 0) content-box,\n linear-gradient(#fff 0 0);\n -webkit-mask-composite: xor;\n pointer-events: none;\n opacity: 0;\n transition: opacity var(--transition-glass);\n}\n\n/* Hover — use a consistent tint that is visible regardless of the glass-base token value */\n.ds-navbar-v2__tab:hover {\n background: var(--glass-base-hover, rgba(255, 255, 255, 0.06));\n color: var(--text-secondary);\n}\n\n.ds-navbar-v2__tab:hover::before {\n opacity: 1;\n}\n\n/* Focus */\n.ds-navbar-v2__tab:focus-visible {\n outline: none;\n box-shadow: var(--focus-ring);\n}\n\n/* Active — Brand Pink, contained inset glow */\n.ds-navbar-v2__tab--active {\n background: rgba(var(--brand-pink-rgb), 0.12);\n color: var(--text-primary);\n box-shadow:\n var(--glass-shadow-inner),\n inset 0 0 16px rgba(var(--brand-pink-rgb), 0.2);\n}\n\n.ds-navbar-v2__tab--active::before {\n opacity: 1;\n background: linear-gradient(\n 180deg,\n rgba(var(--brand-pink-rgb), 0.35) 0%,\n rgba(var(--brand-pink-rgb), 0.08) 100%\n );\n}\n\n.ds-navbar-v2__tab--active:hover {\n background: rgba(var(--brand-pink-rgb), 0.18);\n}\n\n/* ==========================================================================\n Tab Internals\n ========================================================================== */\n\n/* Icon — 24px, centered above label */\n.ds-navbar-v2__tab-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.5rem;\n height: 1.5rem;\n flex-shrink: 0;\n}\n\n.ds-navbar-v2__tab-icon svg {\n width: 100%;\n height: 100%;\n}\n\n/* Label */\n.ds-navbar-v2__tab-label {\n white-space: nowrap;\n}\n\n/* Label row — for TabMenu: label + tiny chevron */\n.ds-navbar-v2__tab-label-row {\n display: flex;\n align-items: center;\n gap: var(--space-1);\n}\n\n/* Chevron — subtle, brightens on hover/open, CSS rotation replaces framer-motion */\n.ds-navbar-v2__tab-chevron {\n display: inline-flex;\n align-items: center;\n opacity: 0.3;\n transition:\n opacity var(--transition-fast),\n transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);\n}\n\n.ds-navbar-v2__tab-chevron[data-state='open'] {\n transform: rotate(180deg);\n}\n\n.ds-navbar-v2__tab:hover .ds-navbar-v2__tab-chevron,\n.ds-navbar-v2__tab--active .ds-navbar-v2__tab-chevron {\n opacity: 0.7;\n}\n\n/* ==========================================================================\n Tab Menu Container — static so panel positions relative to __tabs\n ========================================================================== */\n\n.ds-navbar-v2__tab-menu {\n position: static;\n display: flex;\n flex-shrink: 0;\n}\n\n/* ==========================================================================\n Mega Menu Panel — Centered below the pill\n ========================================================================== */\n\n.ds-navbar-v2__mega-panel {\n position: absolute;\n top: calc(100% + 4px);\n left: calc(50% + var(--panel-nudge, 0px));\n width: max-content;\n min-width: 280px;\n max-width: min(90vw, calc(100vw - 32px));\n padding: var(--space-6);\n z-index: var(--z-dropdown);\n transform-origin: top center;\n /* overflow:visible so wide mega-panels (e.g. 4-column grids) are not\n clipped by max-width rounding or viewport-edge clamping race. */\n overflow: visible;\n\n /* Solid glass surface for the dropdown */\n background: var(--void-base);\n backdrop-filter: blur(24px) saturate(180%);\n -webkit-backdrop-filter: blur(24px) saturate(180%);\n border: 1px solid var(--rim-light-bottom);\n border-radius: var(--radius-card);\n\n box-shadow:\n var(--shadow-xl),\n 0 0 0 1px var(--rim-light-bottom);\n\n /* CSS transition replaces framer-motion — closed by default\n translateX(-50%) is static centering, translateY + scale are animated */\n opacity: 0;\n transform: translateX(-50%) translateY(-8px) scale(0.98);\n visibility: hidden;\n pointer-events: none;\n\n /* Exit timing: 150ms fast-out */\n transition:\n opacity 150ms cubic-bezier(0.4, 0, 1, 1),\n transform 150ms cubic-bezier(0.4, 0, 1, 1),\n visibility 0s linear 150ms;\n}\n\n.ds-navbar-v2__mega-panel[data-state='open'] {\n opacity: 1;\n transform: translateX(-50%) translateY(0) scale(1);\n visibility: visible;\n pointer-events: auto;\n\n /* Enter timing: 250ms smooth ease-out */\n transition:\n opacity 250ms cubic-bezier(0.2, 0.8, 0.2, 1),\n transform 250ms cubic-bezier(0.2, 0.8, 0.2, 1),\n visibility 0s linear 0s;\n}\n\n/* Rim light at top of panel */\n.ds-navbar-v2__mega-panel::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 1px;\n border-radius: var(--radius-card) var(--radius-card) 0 0;\n background: linear-gradient(\n 90deg,\n transparent 0%,\n var(--rim-light-top) 20%,\n var(--rim-light-hover-top) 50%,\n var(--rim-light-top) 80%,\n transparent 100%\n );\n opacity: 0.8;\n pointer-events: none;\n}\n\n/* Hover bridge — invisible hit-area that spans the 4px gap between the\n trigger pill and the panel. Without this, fast diagonal mouse movements\n cross the gap, trigger mouseleave on the parent, and close the panel. */\n.ds-navbar-v2__mega-panel::after {\n content: '';\n position: absolute;\n top: -8px; /* extend above the panel by gap + buffer */\n left: 0;\n right: 0;\n height: 8px;\n /* transparent, no visual, but captures pointer events */\n background: transparent;\n}\n\n/* ==========================================================================\n Actions — Grid column 3, right-aligned\n ========================================================================== */\n\n.ds-navbar-v2__actions {\n grid-column: 3;\n justify-self: end;\n display: flex;\n align-items: center;\n gap: var(--space-3);\n flex-shrink: 0;\n white-space: nowrap;\n}\n\n/* ==========================================================================\n Mobile Toggle\n ========================================================================== */\n\n.ds-navbar-v2__toggle {\n display: none;\n background: none;\n border: none;\n color: var(--text-primary);\n padding: var(--space-2);\n cursor: pointer;\n border-radius: var(--radius-button);\n flex-shrink: 0;\n}\n\n.ds-navbar-v2__toggle:hover {\n background: var(--glass-base-hover);\n}\n\n.ds-navbar-v2__toggle:focus-visible {\n outline: none;\n box-shadow: var(--focus-ring);\n}\n\n/* ==========================================================================\n Responsive — Space Budget Ladder\n ========================================================================== */\n\n/* Level 2: Compact Desktop (<=1279px) */\n@media (max-width: 1279px) {\n .ds-navbar-v2 {\n padding: var(--space-2) var(--space-2) var(--space-2);\n }\n\n .ds-navbar-v2__container {\n padding: var(--space-2) var(--space-3);\n }\n\n .ds-navbar-v2__tab {\n padding: var(--space-2) var(--space-3);\n min-width: 56px;\n }\n\n .ds-navbar-v2__actions {\n gap: var(--space-2);\n }\n}\n\n/* Level 3: Narrow Desktop (<=1099px) — hide icons, compact text pill\n IMPORTANT: Pill inner padding must be ≥ space-2 (8px) so that the\n active tab's pink background (radius-button = 12px) doesn't bleed\n past the pill's rounded corners (radius-card = 24px). */\n@media (max-width: 1099px) {\n .ds-navbar-v2 {\n padding: var(--space-2) var(--space-2) var(--space-2);\n }\n\n .ds-navbar-v2__container {\n padding: var(--space-2) var(--space-3);\n }\n\n .ds-navbar-v2__tabs {\n padding: var(--space-2);\n }\n\n .ds-navbar-v2__tab {\n flex-direction: row;\n gap: var(--space-1);\n padding: var(--space-2) var(--space-3);\n min-width: auto;\n }\n\n .ds-navbar-v2__tab-icon {\n display: none;\n }\n\n .ds-navbar-v2__actions {\n gap: var(--space-2);\n }\n}\n\n/* Level 5: Wide (>=1920px) — expanded spacing, larger targets */\n@media (min-width: 1920px) {\n .ds-navbar-v2__container {\n padding: var(--space-3) var(--space-8);\n }\n\n .ds-navbar-v2__tabs {\n gap: var(--space-2);\n padding: var(--space-3);\n }\n\n .ds-navbar-v2__tab {\n padding: var(--space-3) var(--space-5);\n min-width: 72px;\n }\n\n .ds-navbar-v2__actions {\n gap: var(--space-4);\n }\n\n .ds-navbar-v2__mega-panel {\n padding: var(--space-8);\n min-width: 320px;\n }\n}\n\n/* Level 6: Ultra (>=2560px) — maximum luxury spacing */\n@media (min-width: 2560px) {\n .ds-navbar-v2__container {\n padding: var(--space-4) var(--space-10);\n }\n\n .ds-navbar-v2__tabs {\n gap: var(--space-3);\n padding: var(--space-4);\n }\n\n .ds-navbar-v2__tab {\n padding: var(--space-4) var(--space-6);\n min-width: 80px;\n font-size: var(--font-size-sm);\n }\n\n .ds-navbar-v2__tab-icon {\n width: 1.75rem;\n height: 1.75rem;\n }\n\n .ds-navbar-v2__actions {\n gap: var(--space-5);\n }\n\n .ds-navbar-v2__mega-panel {\n padding: var(--space-10);\n min-width: 360px;\n }\n}\n\n/* Level 4: Mobile (<=767px) — collapse to hamburger */\n@media (max-width: 767px) {\n .ds-navbar-v2 {\n padding: 0;\n }\n\n /* Switch from grid to flex on mobile */\n .ds-navbar-v2__container {\n display: flex;\n justify-content: space-between;\n padding: var(--space-2) var(--space-3);\n /* Full-width on mobile — no rounded floating pill */\n border-radius: 0;\n }\n\n /* On mobile, use same near-opaque surface as scrolled desktop —\n the mobile bar must always be fully legible over any page content. */\n .ds-navbar-v2__container {\n background: rgba(var(--void-base-rgb), 0.97);\n backdrop-filter: blur(80px) saturate(180%) brightness(90%);\n -webkit-backdrop-filter: blur(80px) saturate(180%) brightness(90%);\n border-bottom: 1px solid var(--rim-light-bottom);\n }\n\n .ds-navbar-v2__tabs {\n display: none;\n }\n\n .ds-navbar-v2__actions {\n display: none;\n }\n\n .ds-navbar-v2__toggle {\n display: flex;\n }\n}\n\n/* ==========================================================================\n Mobile Menu Overlay\n ========================================================================== */\n\n.ds-navbar-v2__mobile-overlay {\n position: fixed;\n /* top set via inline style from ResizeObserver measurement */\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--void-base);\n border-top: 1px solid var(--rim-light-bottom);\n z-index: var(--z-modal);\n overflow-y: auto;\n overscroll-behavior: contain;\n -webkit-overflow-scrolling: touch;\n\n /* CSS transition replaces framer-motion — closed by default */\n opacity: 0;\n transform: translateY(-12px);\n visibility: hidden;\n pointer-events: none;\n\n /* Exit timing: 200ms fast-out */\n transition:\n opacity 200ms cubic-bezier(0.4, 0, 1, 1),\n transform 200ms cubic-bezier(0.4, 0, 1, 1),\n visibility 0s linear 200ms;\n}\n\n.ds-navbar-v2__mobile-overlay[data-state='open'] {\n opacity: 1;\n transform: translateY(0);\n visibility: visible;\n pointer-events: auto;\n\n /* Enter timing: 250ms smooth ease-out */\n transition:\n opacity 250ms cubic-bezier(0.2, 0.8, 0.2, 1),\n transform 250ms cubic-bezier(0.2, 0.8, 0.2, 1),\n visibility 0s linear 0s;\n}\n\n.ds-navbar-v2__mobile-content {\n display: flex;\n flex-direction: column;\n gap: var(--space-2);\n padding: var(--space-4);\n min-height: 100%;\n}\n\n/* ==========================================================================\n Light Mode\n ========================================================================== */\n\n:root[data-theme='light'] .ds-navbar-v2__mega-panel,\n:root[data-theme='light-contrast'] .ds-navbar-v2__mega-panel {\n box-shadow:\n var(--shadow-sm),\n 0 0 0 1px var(--rim-light-bottom);\n}\n\n/* Tabs pill: light themes have higher --glass-base-hover already (65%+) */\n:root[data-theme='light'] .ds-navbar-v2__tabs,\n:root[data-theme='light-contrast'] .ds-navbar-v2__tabs {\n background: var(--glass-base-hover);\n}\n\n/* Tab hover: token value is sufficient in light themes */\n:root[data-theme='light'] .ds-navbar-v2__tab:hover,\n:root[data-theme='light-contrast'] .ds-navbar-v2__tab:hover {\n background: var(--glass-base);\n}\n\n/* Scrolled container: --void-base-rgb already adapts to light themes,\n so rgba(var(--void-base-rgb), 0.92) gives rgba(244,245,247,0.92) automatically.\n No override needed here. */\n\n/* ==========================================================================\n Reduced Motion — instant state changes, no transitions\n ========================================================================== */\n\n@media (prefers-reduced-motion: reduce) {\n .ds-navbar-v2__container {\n transition: none;\n }\n\n .ds-navbar-v2__tabs {\n transition: none;\n }\n\n .ds-navbar-v2__tabs::before {\n transition: none;\n }\n\n .ds-navbar-v2__tab {\n transition: none;\n }\n\n .ds-navbar-v2__tab::before {\n transition: none;\n }\n\n .ds-navbar-v2__tab-chevron {\n transition: none;\n }\n\n .ds-navbar-v2__mobile-overlay {\n transition: none;\n }\n\n .ds-navbar-v2__mega-panel {\n transition: none;\n }\n}\n\n/* ==========================================================================\n High Contrast\n ========================================================================== */\n\n@media (prefers-contrast: more) {\n .ds-navbar-v2--scrolled .ds-navbar-v2__container {\n background: var(--hc-surface);\n border: 1px solid var(--hc-border);\n }\n\n .ds-navbar-v2--scrolled .ds-navbar-v2__container::before {\n display: none;\n }\n\n .ds-navbar-v2__tabs {\n background: var(--hc-surface);\n border: 1px solid var(--hc-border);\n }\n\n .ds-navbar-v2__tabs::before {\n display: none;\n }\n\n .ds-navbar-v2__tab--active {\n background: rgba(var(--brand-pink-rgb), 0.4);\n border: 1px solid rgba(var(--brand-pink-rgb), 0.6);\n }\n}\n\n/* ==========================================================================\n Backdrop Fallback\n ========================================================================== */\n\n@supports not (backdrop-filter: blur(1px)) {\n /* Without backdrop blur, go fully opaque so content never shows through */\n .ds-navbar-v2--scrolled .ds-navbar-v2__container {\n background: var(--void-base);\n }\n\n /* Mobile always-on surface: fully opaque fallback */\n @media (max-width: 767px) {\n .ds-navbar-v2__container {\n background: var(--void-base);\n }\n }\n\n .ds-navbar-v2__tabs {\n background: var(--fallback-surface);\n }\n\n .ds-navbar-v2__mega-panel {\n background: var(--fallback-surface);\n }\n}\n\n/* ==========================================================================\n Mobile Responsive Fixes — 320px viewport support\n ========================================================================== */\n\n/* Fix hamburger menu padding clip at 320px */\n@media (max-width: 320px) {\n .ds-navbar-v2__container {\n padding: var(--space-2) var(--space-2);\n }\n\n .ds-navbar-v2__hamburger {\n padding: var(--space-1);\n min-width: 2.5rem;\n min-height: 2.5rem;\n }\n}\n\n/* Improve glass backdrop contrast for readability */\n@media (prefers-contrast: more) {\n .ds-navbar-v2--scrolled .ds-navbar-v2__container {\n background: rgba(10, 10, 10, 0.98);\n backdrop-filter: blur(32px);\n }\n}\n","/* ============================================================================\n BREADCRUMB — NAVIGATION TRAIL\n ============================================================================ */\n\n.ds-breadcrumb {\n /* Root nav element — no visual styling needed */\n}\n\n/* ==========================================================================\n List\n ========================================================================== */\n\n.ds-breadcrumb__list {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--space-2);\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/* ==========================================================================\n Item\n ========================================================================== */\n\n.ds-breadcrumb__item {\n display: inline-flex;\n align-items: center;\n gap: var(--space-2);\n}\n\n/* ==========================================================================\n Link\n ========================================================================== */\n\n.ds-breadcrumb__link {\n color: var(--text-secondary);\n font-size: var(--font-size-sm);\n text-decoration: none;\n transition: color var(--transition-glass);\n}\n\n.ds-breadcrumb__link:hover {\n color: var(--text-primary);\n}\n\n/* ==========================================================================\n Page (current)\n ========================================================================== */\n\n.ds-breadcrumb__page {\n color: var(--text-primary);\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-medium);\n}\n\n/* ==========================================================================\n Separator\n ========================================================================== */\n\n.ds-breadcrumb__separator {\n color: var(--text-secondary);\n opacity: 0.5;\n font-size: var(--font-size-sm);\n}\n\n/* ==========================================================================\n Ellipsis\n ========================================================================== */\n\n.ds-breadcrumb__ellipsis {\n color: var(--text-secondary);\n}\n\n/* ==========================================================================\n High Contrast Mode\n ========================================================================== */\n\n@media (prefers-contrast: more) {\n .ds-breadcrumb__link {\n text-decoration: underline;\n }\n}\n","/* ============================================================================\n SITE FOOTER — 5-Zone Architecture (Hardened)\n ============================================================================\n Zone 1: Strategic CTA\n Zone 2: Structured Navigation Grid (4-level responsive ladder)\n Zone 3: Authority Layer (brand + socials + trust badges)\n Zone 4+5: System Controls + Legal\n ============================================================================\n Resilience patterns ported from Navbar/NavbarV2:\n — Four-layer text overflow shield on headings, links, triggers\n — flex-shrink / min-width guards on structural zones\n — Space Budget Ladder: accordion → 2-col → 5-col (compact) → 5-col (full)\n — Responsive padding scaling per zone\n — Viewport-safe clamps on decorative pseudo-elements\n — High contrast + reduced motion media queries\n — WCAG touch-target minimums on interactive elements\n ============================================================================ */\n\n.ds-footer {\n width: 100%;\n box-sizing: border-box;\n border-top: 1px solid var(--rim-light-bottom);\n background: var(--void-base);\n position: relative;\n overflow: clip;\n}\n\n/* Background noise texture — low-opacity fractal overlay */\n.ds-footer::before {\n content: '';\n position: absolute;\n inset: 0;\n background:\n radial-gradient(circle at 50% 0%, var(--glass-base-hover), transparent 60%),\n url(\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E\");\n pointer-events: none;\n}\n\n\n/* ============================================================================\n Zone 1: Strategic CTA\n ============================================================================ */\n\n.ds-footer__cta {\n position: relative;\n padding: var(--space-10) 0 var(--space-8);\n text-align: center;\n}\n\n@media (min-width: 768px) {\n .ds-footer__cta {\n padding: var(--space-16) 0 var(--space-12);\n }\n}\n\n/* Accent glow behind CTA — adapts to brand color, viewport-safe */\n.ds-footer__cta::before {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: min(600px, 90vw);\n height: 300px;\n background: radial-gradient(\n ellipse at center,\n rgba(var(--accent-rgb, 255, 0, 90), 0.05),\n transparent 70%\n );\n pointer-events: none;\n}\n\n/* Gradient separator below CTA */\n.ds-footer__cta::after {\n content: '';\n position: absolute;\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n width: 80%;\n max-width: 600px;\n height: 1px;\n background: linear-gradient(\n 90deg,\n transparent,\n var(--rim-light-bottom),\n transparent\n );\n}\n\n.ds-footer__cta-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--space-4);\n max-width: 640px;\n margin: 0 auto;\n position: relative;\n}\n\n.ds-footer__cta-headline {\n font-family: var(--font-family);\n font-size: var(--font-size-2xl);\n font-weight: var(--font-weight-bold);\n color: var(--text-primary);\n margin: 0;\n line-height: var(--line-height-tight);\n letter-spacing: var(--letter-spacing-tight);\n text-wrap: balance;\n}\n\n@media (min-width: 768px) {\n .ds-footer__cta-headline {\n font-size: var(--font-size-3xl);\n }\n}\n\n.ds-footer__cta-subtext {\n font-family: var(--font-family);\n font-size: var(--font-size-base);\n color: var(--text-secondary);\n margin: 0;\n max-width: 480px;\n line-height: var(--line-height-relaxed);\n text-wrap: balance;\n}\n\n.ds-footer__cta-actions {\n display: flex;\n gap: var(--space-3);\n margin-top: var(--space-2);\n flex-wrap: wrap;\n justify-content: center;\n}\n\n.ds-footer__cta-trust {\n font-family: var(--font-family);\n font-size: var(--font-size-xs);\n color: var(--text-tertiary);\n margin: 0;\n margin-top: var(--space-1);\n}\n\n\n/* ============================================================================\n Zone 2: Navigation — Space Budget Ladder\n ============================================================================\n Level 1 (< 768px): Mobile accordion\n Level 2 (768–1023px): 2-column grid (tablet)\n Level 3 (≥ 1024px): 5-column grid, compact gaps\n Level 4 (≥ 1280px): 5-column grid, full gaps\n ============================================================================ */\n\n.ds-footer__nav {\n padding: var(--space-8) 0;\n}\n\n@media (min-width: 768px) {\n .ds-footer__nav {\n padding: var(--space-10) 0;\n }\n}\n\n@media (min-width: 1024px) {\n .ds-footer__nav {\n padding: var(--space-12) 0;\n }\n}\n\n/* ── Orientation line ────────────────────────────────────────────────────── */\n\n.ds-footer__orientation {\n font-family: var(--font-family);\n font-size: var(--font-size-sm);\n color: var(--text-tertiary);\n padding-bottom: var(--space-8);\n border-bottom: 1px solid var(--rim-light-bottom);\n margin-bottom: var(--space-10);\n}\n\n.ds-footer__orientation a {\n color: var(--text-secondary);\n text-decoration: underline;\n text-underline-offset: 2px;\n transition: color var(--transition-fast);\n}\n\n.ds-footer__orientation a:hover {\n color: var(--text-primary);\n}\n\n/* ── Desktop grid — hidden at mobile, progressive column count ───────────── */\n\n.ds-footer__grid {\n display: none;\n}\n\n/* Level 2: Tablet — 2 columns */\n@media (min-width: 768px) {\n .ds-footer__grid {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: var(--space-6) var(--space-8);\n }\n}\n\n/* Level 3: Desktop — 5 columns, compact gaps */\n@media (min-width: 1024px) {\n .ds-footer__grid {\n grid-template-columns: repeat(5, 1fr);\n gap: var(--space-6);\n }\n}\n\n/* Level 4: Wide desktop — 5 columns, full gaps */\n@media (min-width: 1280px) {\n .ds-footer__grid {\n gap: var(--space-10);\n }\n}\n\n/* Level 5: Wide (>=1920px) — 5 columns, wider gaps, larger CTA zone */\n@media (min-width: 1920px) {\n .ds-footer__grid {\n gap: var(--space-12);\n }\n\n .ds-footer__cta {\n padding: var(--space-20) 0 var(--space-16);\n }\n\n .ds-footer__cta-content {\n max-width: 720px;\n }\n\n .ds-footer__nav {\n padding: var(--space-16) 0;\n }\n}\n\n/* Level 6: Ultra (>=2560px) — luxury spacing */\n@media (min-width: 2560px) {\n .ds-footer__grid {\n gap: var(--space-16);\n }\n\n .ds-footer__cta {\n padding: var(--space-20) 0 var(--space-20);\n }\n\n .ds-footer__cta-headline {\n font-size: var(--font-size-4xl);\n }\n\n .ds-footer__cta-content {\n max-width: 800px;\n gap: var(--space-6);\n }\n\n .ds-footer__nav {\n padding: var(--space-20) 0;\n }\n\n .ds-footer__authority {\n padding: var(--space-10) 0;\n }\n}\n\n/* ── Mobile accordion — hidden once grid is active ───────────────────────── */\n\n.ds-footer__mobile-nav {\n display: block;\n}\n\n@media (min-width: 768px) {\n .ds-footer__mobile-nav {\n display: none;\n }\n}\n\n/* ── Shared column / link styles ─────────────────────────────────────────── */\n\n.ds-footer__column {\n display: flex;\n flex-direction: column;\n gap: var(--space-4);\n min-width: 0; /* prevent grid blowout — allow column to shrink */\n}\n\n/* Four-layer text overflow shield (ported from Navbar) */\n.ds-footer__heading {\n font-family: var(--font-family);\n font-size: var(--font-size-xs);\n font-weight: var(--font-weight-semibold);\n color: var(--text-primary);\n text-transform: uppercase;\n letter-spacing: var(--letter-spacing-wider);\n margin: 0;\n white-space: nowrap;\n hyphens: none;\n word-break: normal;\n overflow-wrap: normal;\n}\n\n.ds-footer__links {\n list-style: none;\n padding: 0;\n margin: 0;\n display: flex;\n flex-direction: column;\n gap: var(--space-3);\n}\n\n/* Four-layer text overflow shield on links */\n.ds-footer__link {\n font-family: var(--font-family);\n font-size: var(--font-size-sm);\n color: var(--text-secondary);\n text-decoration: none;\n transition: color var(--transition-fast);\n display: inline-flex;\n align-items: center;\n gap: var(--space-2);\n opacity: 0.85;\n white-space: nowrap;\n hyphens: none;\n word-break: normal;\n overflow-wrap: normal;\n}\n\n.ds-footer__link:hover {\n color: var(--text-primary);\n opacity: 1;\n}\n\n.ds-footer__link:focus-visible {\n outline: 2px solid var(--color-accent, currentColor);\n outline-offset: 2px;\n border-radius: 2px;\n}\n\n/* \"NEW\" badge on links */\n.ds-footer__badge {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n font-size: var(--font-size-2xs);\n font-weight: var(--font-weight-bold);\n text-transform: uppercase;\n letter-spacing: var(--letter-spacing-wide);\n color: var(--text-primary);\n background: var(--glass-base);\n border: 1px solid var(--rim-light-bottom);\n padding: var(--space-px) var(--space-2);\n border-radius: var(--radius-badge, 4px);\n line-height: 1.4;\n white-space: nowrap;\n}\n\n\n/* ============================================================================\n Mobile Accordion\n ============================================================================ */\n\n.ds-footer__accordion-item {\n border-bottom: 1px solid var(--rim-light-bottom);\n}\n\n.ds-footer__accordion-trigger {\n display: flex;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n padding: var(--space-4) 0;\n min-height: 44px; /* WCAG touch target minimum */\n background: none;\n border: none;\n cursor: pointer;\n font-family: var(--font-family);\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-semibold);\n color: var(--text-primary);\n text-transform: uppercase;\n letter-spacing: var(--letter-spacing-wider);\n /* Four-layer text shield */\n white-space: nowrap;\n hyphens: none;\n word-break: normal;\n overflow-wrap: normal;\n}\n\n.ds-footer__accordion-trigger:focus-visible {\n outline: 2px solid var(--color-accent, currentColor);\n outline-offset: 2px;\n}\n\n.ds-footer__accordion-chevron {\n color: var(--text-tertiary);\n transition: transform var(--transition-fast);\n flex-shrink: 0;\n}\n\n.ds-footer__accordion-item--open .ds-footer__accordion-chevron {\n transform: rotate(180deg);\n}\n\n.ds-footer__accordion-panel {\n padding-bottom: var(--space-4);\n}\n\n\n/* ============================================================================\n Zone 3: Authority Layer\n ============================================================================ */\n\n.ds-footer__authority {\n border-top: 1px solid var(--rim-light-bottom);\n padding: var(--space-6) 0;\n}\n\n@media (min-width: 768px) {\n .ds-footer__authority {\n padding: var(--space-8) 0;\n }\n}\n\n.ds-footer__authority-content {\n display: flex;\n flex-direction: column;\n gap: var(--space-6);\n align-items: flex-start;\n}\n\n@media (min-width: 768px) {\n .ds-footer__authority-content {\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: space-between;\n align-items: center;\n row-gap: var(--space-4);\n }\n}\n\n.ds-footer__brand {\n display: flex;\n flex-direction: column;\n gap: var(--space-3);\n flex-shrink: 0; /* brand zone never compresses */\n min-width: 0;\n}\n\n.ds-footer__logo {\n font-family: var(--font-family);\n font-weight: var(--font-weight-bold);\n font-size: var(--font-size-lg);\n color: var(--text-primary);\n display: flex;\n align-items: center;\n gap: var(--space-2);\n flex-shrink: 0;\n}\n\n.ds-footer__tagline {\n font-family: var(--font-family);\n font-size: var(--font-size-sm);\n color: var(--text-secondary);\n margin: 0;\n line-height: var(--line-height-relaxed);\n max-width: 360px;\n}\n\n.ds-footer__socials {\n display: flex;\n gap: var(--space-4);\n flex-shrink: 0;\n}\n\n.ds-footer__socials a,\n.ds-footer__socials button {\n color: var(--text-tertiary);\n transition:\n color var(--transition-fast),\n opacity var(--transition-fast);\n opacity: 0.7;\n /* WCAG 2.5.8 — minimum 44×44 CSS-pixel touch target */\n min-width: 44px;\n min-height: 44px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n.ds-footer__socials a:hover,\n.ds-footer__socials button:hover {\n color: var(--text-primary);\n opacity: 1;\n}\n\n.ds-footer__socials a:focus-visible,\n.ds-footer__socials button:focus-visible {\n outline: 2px solid var(--color-accent, currentColor);\n outline-offset: 2px;\n border-radius: 2px;\n}\n\n/* ── Trust badges ────────────────────────────────────────────────────────── */\n\n.ds-footer__trust-badges {\n display: flex;\n flex-wrap: wrap;\n gap: var(--space-3);\n flex-shrink: 0;\n}\n\n.ds-footer__trust-badge {\n display: inline-flex;\n align-items: center;\n gap: var(--space-1);\n font-family: var(--font-family);\n font-size: var(--font-size-xs);\n color: var(--text-tertiary);\n background: var(--glass-base);\n border: 1px solid var(--rim-light-bottom);\n padding: var(--space-1) var(--space-3);\n border-radius: var(--radius-badge, 4px);\n white-space: nowrap;\n}\n\n\n/* ============================================================================\n Zone 4 + 5: Bottom Bar\n ============================================================================ */\n\n.ds-footer__bottom {\n border-top: 1px solid var(--rim-light-bottom);\n padding: var(--space-6) 0;\n}\n\n/*\n * Bottom bar uses CSS grid on desktop to give controls their own\n * centered row, preventing the copyright + theme + locale + colors +\n * legal links from fighting for a single overcrowded row.\n *\n * Visual layout (≥ 768px):\n * Row 1: © 2026 SalesMind AI ····················· Legal links\n * Row 2: [ Locale ] [ Theme ] [ Colors ]\n */\n\n.ds-footer__bottom-content {\n display: flex;\n flex-direction: column;\n gap: var(--space-4);\n align-items: center;\n text-align: center;\n}\n\n@media (min-width: 768px) {\n .ds-footer__bottom-content {\n display: grid;\n grid-template-columns: 1fr auto 1fr;\n row-gap: var(--space-4);\n column-gap: var(--space-6);\n align-items: center;\n text-align: left;\n }\n\n .ds-footer__copyright {\n grid-column: 1;\n grid-row: 1;\n justify-self: start;\n }\n\n .ds-footer__controls {\n grid-column: 1 / -1;\n grid-row: 2;\n justify-self: center;\n }\n\n .ds-footer__legal {\n grid-column: 3;\n grid-row: 1;\n justify-self: end;\n }\n}\n\n.ds-footer__copyright {\n font-family: var(--font-family);\n font-size: var(--font-size-xs);\n color: var(--text-tertiary);\n white-space: nowrap;\n}\n\n.ds-footer__controls {\n display: flex;\n align-items: center;\n gap: var(--space-3);\n flex-wrap: wrap;\n justify-content: center;\n}\n\n.ds-footer__legal {\n display: flex;\n flex-wrap: wrap;\n gap: var(--space-4);\n justify-content: center;\n}\n\n@media (min-width: 768px) {\n .ds-footer__legal {\n justify-content: flex-end;\n }\n}\n\n.ds-footer__legal-link {\n font-family: var(--font-family);\n font-size: var(--font-size-xs);\n color: var(--text-tertiary);\n text-decoration: none;\n transition: color var(--transition-fast);\n white-space: nowrap;\n}\n\n.ds-footer__legal-link:hover {\n color: var(--text-secondary);\n}\n\n.ds-footer__legal-link:focus-visible {\n outline: 2px solid var(--color-accent, currentColor);\n outline-offset: 2px;\n border-radius: 2px;\n}\n\n/* ── Bottom Extra (e.g., Explore AI Summary) ─────────────────────────── */\n\n.ds-footer__bottom-extra {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--space-4);\n flex-wrap: wrap;\n margin-top: var(--space-4);\n padding-top: var(--space-4);\n border-top: 1px solid var(--rim-light-bottom, rgba(255 255 255 / 0.06));\n}\n\n.ds-footer__bottom-extra-label {\n font-family: var(--font-family);\n font-size: var(--font-size-xs);\n color: var(--text-tertiary);\n white-space: nowrap;\n}\n\n.ds-footer__bottom-extra-icons {\n display: flex;\n align-items: center;\n gap: var(--space-2);\n}\n\n.ds-footer__ai-icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border-radius: var(--radius-full, 9999px);\n background: var(--bg-tertiary, rgba(255 255 255 / 0.06));\n color: var(--text-tertiary);\n transition: color var(--transition-fast), background var(--transition-fast);\n text-decoration: none;\n}\n\n.ds-footer__ai-icon:hover {\n color: var(--text-primary);\n background: var(--bg-secondary, rgba(255 255 255 / 0.1));\n}\n\n.ds-footer__ai-icon:focus-visible {\n outline: 2px solid var(--color-accent, currentColor);\n outline-offset: 2px;\n}\n\n.ds-footer__ai-icon svg {\n width: 16px;\n height: 16px;\n}\n\n.ds-footer__company-info {\n font-family: var(--font-family);\n font-size: var(--font-size-xs);\n color: var(--text-tertiary);\n text-align: center;\n margin: var(--space-3) 0 0;\n opacity: 0.7;\n}\n\n\n/* ============================================================================\n High Contrast\n ============================================================================ */\n\n@media (prefers-contrast: more) {\n .ds-footer {\n border-top-color: var(--hc-border, var(--rim-light-bottom));\n }\n\n .ds-footer__cta::after {\n background: var(--hc-border, var(--rim-light-bottom));\n }\n\n .ds-footer__orientation {\n border-bottom-color: var(--hc-border, var(--rim-light-bottom));\n }\n\n .ds-footer__accordion-item {\n border-bottom-color: var(--hc-border, var(--rim-light-bottom));\n }\n\n .ds-footer__authority,\n .ds-footer__bottom {\n border-top-color: var(--hc-border, var(--rim-light-bottom));\n }\n\n .ds-footer__trust-badge,\n .ds-footer__badge {\n border-color: var(--hc-border, var(--rim-light-bottom));\n color: var(--text-primary);\n }\n\n .ds-footer__link,\n .ds-footer__legal-link {\n opacity: 1;\n }\n\n .ds-footer__socials a,\n .ds-footer__socials button {\n opacity: 1;\n }\n\n .ds-footer__company-info {\n opacity: 1;\n }\n}\n\n\n/* ============================================================================\n Reduced Motion\n ============================================================================ */\n\n@media (prefers-reduced-motion: reduce) {\n .ds-footer__accordion-chevron,\n .ds-footer__link,\n .ds-footer__legal-link,\n .ds-footer__socials a,\n .ds-footer__socials button,\n .ds-footer__orientation a {\n transition: none;\n }\n}\n\n/* ==========================================================================\n Mobile Responsive Fixes — Prevent overflow + WCAG touch targets\n ========================================================================== */\n\n/* Prevent horizontal overflow on mobile */\n@media (max-width: 767px) {\n .ds-footer {\n overflow-x: hidden;\n }\n\n /* Increase touch target size to 44px (WCAG 2.5.5) */\n .ds-footer__link,\n .ds-footer__legal-link,\n .ds-footer__socials a,\n .ds-footer__socials button {\n min-height: 2.75rem;\n min-width: 2.75rem;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n}\n","/* ============================================================================\n LOCALE DROPDOWN — Globe + Flag Trigger with Dropdown Panel\n ============================================================================\n Compact locale selector for navigation bars. Shows globe icon + current\n locale flag as trigger, with an animated dropdown listing all locales.\n Uses DS tokens exclusively — no hardcoded colors.\n ============================================================================ */\n\n/* ==========================================================================\n Container\n ========================================================================== */\n\n.ds-locale-dropdown {\n position: relative;\n display: inline-flex;\n flex-shrink: 0;\n}\n\n.ds-locale-dropdown__wrapper {\n position: relative;\n}\n\n/* ==========================================================================\n Trigger — Globe + Flag + Chevron\n ========================================================================== */\n\n.ds-locale-dropdown__trigger {\n display: inline-flex;\n align-items: center;\n gap: var(--space-1-5);\n padding: var(--space-2) var(--space-2-5);\n border: none;\n border-radius: var(--radius-button);\n background: transparent;\n color: var(--text-secondary);\n font-family: var(--font-family);\n font-size: var(--font-size-xs);\n font-weight: var(--font-weight-medium);\n line-height: 1;\n cursor: pointer;\n white-space: nowrap;\n\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n}\n\n.ds-locale-dropdown__trigger:hover {\n background: var(--glass-base-hover);\n color: var(--text-primary);\n}\n\n.ds-locale-dropdown__trigger:focus-visible {\n outline: none;\n box-shadow: var(--focus-ring);\n}\n\n/* Trigger sub-elements */\n.ds-locale-dropdown__trigger-icon {\n display: flex;\n align-items: center;\n color: var(--text-tertiary);\n flex-shrink: 0;\n}\n\n.ds-locale-dropdown__trigger-flag {\n font-size: var(--font-size-xs);\n line-height: 1;\n /* Constrain emoji height to prevent macOS emoji blowup */\n display: inline-flex;\n align-items: center;\n height: 16px;\n overflow: hidden;\n}\n\n.ds-locale-dropdown__trigger-chevron {\n display: inline-flex;\n align-items: center;\n color: var(--text-tertiary);\n flex-shrink: 0;\n\n /* CSS rotation replaces framer-motion animate */\n transition:\n transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1),\n color var(--transition-fast);\n}\n\n.ds-locale-dropdown__trigger-chevron[data-state='open'] {\n transform: rotate(180deg);\n}\n\n.ds-locale-dropdown__trigger:hover .ds-locale-dropdown__trigger-chevron {\n color: var(--text-secondary);\n}\n\n/* ==========================================================================\n Dropdown Panel\n ========================================================================== */\n\n.ds-locale-dropdown__panel {\n position: absolute;\n top: calc(100% + var(--space-2));\n right: 0;\n min-width: 180px;\n padding: var(--space-1-5);\n z-index: var(--z-dropdown);\n transform-origin: top right;\n overflow: hidden;\n\n /* Glass surface */\n background: var(--void-base);\n backdrop-filter: blur(24px) saturate(180%);\n -webkit-backdrop-filter: blur(24px) saturate(180%);\n border: 1px solid var(--rim-light-bottom);\n border-radius: var(--radius-card);\n box-shadow:\n var(--shadow-xl),\n 0 0 0 1px var(--rim-light-bottom);\n\n /* CSS transitions — replaces framer-motion panel variants */\n opacity: 0;\n transform: translateY(-8px) scale(0.95);\n visibility: hidden;\n pointer-events: none;\n transition:\n opacity 0.15s cubic-bezier(0.4, 0, 1, 1),\n transform 0.15s cubic-bezier(0.4, 0, 1, 1),\n visibility 0s 0.15s;\n}\n\n/* Open state */\n.ds-locale-dropdown__panel[data-state='open'] {\n opacity: 1;\n transform: translateY(0) scale(1);\n visibility: visible;\n pointer-events: auto;\n transition:\n opacity 0.2s cubic-bezier(0.2, 0.8, 0.2, 1),\n transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1),\n visibility 0s 0s;\n}\n\n/* Modifiers for Drop Direction */\n.ds-locale-dropdown--up .ds-locale-dropdown__panel {\n top: auto;\n bottom: calc(100% + var(--space-2));\n transform-origin: bottom right;\n}\n\n.ds-locale-dropdown--up .ds-locale-dropdown__panel[data-state='closed'] {\n transform: translateY(8px) scale(0.95);\n}\n\n/* Modifiers for Alignment */\n.ds-locale-dropdown--align-left .ds-locale-dropdown__panel {\n right: auto;\n left: 0;\n transform-origin: top left;\n}\n\n.ds-locale-dropdown--align-center .ds-locale-dropdown__panel {\n right: auto;\n left: 50%;\n transform-origin: top center;\n}\n\n/* Center alignment: base centering + animation transform combined */\n.ds-locale-dropdown--align-center .ds-locale-dropdown__panel[data-state='closed'] {\n transform: translateX(-50%) translateY(-8px) scale(0.95);\n}\n\n.ds-locale-dropdown--align-center .ds-locale-dropdown__panel[data-state='open'] {\n transform: translateX(-50%) translateY(0) scale(1);\n}\n\n.ds-locale-dropdown--up.ds-locale-dropdown--align-left .ds-locale-dropdown__panel {\n transform-origin: bottom left;\n}\n\n.ds-locale-dropdown--up.ds-locale-dropdown--align-center .ds-locale-dropdown__panel {\n transform-origin: bottom center;\n}\n\n.ds-locale-dropdown--up.ds-locale-dropdown--align-center .ds-locale-dropdown__panel[data-state='closed'] {\n transform: translateX(-50%) translateY(8px) scale(0.95);\n}\n\n/* Rim light at top of panel */\n.ds-locale-dropdown__panel::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 1px;\n border-radius: var(--radius-card) var(--radius-card) 0 0;\n background: linear-gradient(\n 90deg,\n transparent 0%,\n var(--rim-light-top) 30%,\n var(--rim-light-hover-top) 50%,\n var(--rim-light-top) 70%,\n transparent 100%\n );\n opacity: 0.6;\n pointer-events: none;\n}\n\n/* ==========================================================================\n Option\n ========================================================================== */\n\n.ds-locale-dropdown__option {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: var(--space-2) var(--space-3);\n border: none;\n border-radius: var(--radius-button);\n background: transparent;\n color: var(--text-secondary);\n font-family: var(--font-family);\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-regular);\n cursor: pointer;\n text-decoration: none;\n text-align: left;\n white-space: nowrap;\n\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n}\n\n.ds-locale-dropdown__option:hover,\n.ds-locale-dropdown__option--focused {\n background: var(--glass-base-hover);\n color: var(--text-primary);\n}\n\n.ds-locale-dropdown__option:focus-visible {\n outline: none;\n box-shadow: var(--focus-ring);\n}\n\n/* Active locale */\n.ds-locale-dropdown__option--active {\n background: rgba(var(--brand-pink-rgb), 0.08);\n color: var(--text-primary);\n font-weight: var(--font-weight-medium);\n}\n\n.ds-locale-dropdown__option--active:hover,\n.ds-locale-dropdown__option--active.ds-locale-dropdown__option--focused {\n background: rgba(var(--brand-pink-rgb), 0.14);\n}\n\n/* Option content: flag + label */\n.ds-locale-dropdown__option-content {\n display: flex;\n align-items: center;\n gap: var(--space-2);\n}\n\n.ds-locale-dropdown__option-flag {\n font-size: var(--font-size-sm);\n line-height: 1;\n flex-shrink: 0;\n}\n\n.ds-locale-dropdown__option-label {\n white-space: nowrap;\n}\n\n/* Checkmark for active locale */\n.ds-locale-dropdown__option-check {\n display: flex;\n align-items: center;\n color: rgba(var(--brand-pink-rgb), 1);\n flex-shrink: 0;\n margin-left: var(--space-3);\n}\n\n/* ==========================================================================\n Responsive\n ========================================================================== */\n\n/* Level 1.5 (≤1399px): Flag hides first, chevron hides — globe icon only */\n@media (max-width: 1399px) {\n .ds-locale-dropdown__trigger {\n padding: var(--space-1-5) var(--space-2);\n gap: var(--space-1);\n }\n\n /* Hide flag — globe icon stays visible */\n .ds-locale-dropdown__trigger-flag {\n display: none;\n }\n\n /* Hide chevron to save space */\n .ds-locale-dropdown__trigger-chevron {\n display: none;\n }\n}\n\n/* ==========================================================================\n Light Mode\n ========================================================================== */\n\n:root[data-theme='light'] .ds-locale-dropdown__panel,\n:root[data-theme='light-contrast'] .ds-locale-dropdown__panel {\n box-shadow:\n var(--shadow-sm),\n 0 0 0 1px var(--rim-light-bottom);\n}\n\n/* ==========================================================================\n Reduced Motion\n ========================================================================== */\n\n@media (prefers-reduced-motion: reduce) {\n .ds-locale-dropdown__trigger {\n transition: none;\n }\n\n .ds-locale-dropdown__trigger-chevron {\n transition: none;\n }\n\n .ds-locale-dropdown__panel {\n transition: none;\n }\n\n .ds-locale-dropdown__option {\n transition: none;\n }\n}\n\n/* ==========================================================================\n High Contrast\n ========================================================================== */\n\n@media (prefers-contrast: more) {\n .ds-locale-dropdown__trigger {\n outline: 1px solid var(--hc-border);\n outline-offset: -1px;\n }\n\n .ds-locale-dropdown__panel {\n border: 1px solid var(--hc-border);\n background: var(--hc-surface);\n }\n\n .ds-locale-dropdown__option--active {\n background: rgba(var(--brand-pink-rgb), 0.3);\n border: 1px solid rgba(var(--brand-pink-rgb), 0.5);\n }\n}\n\n/* ==========================================================================\n Backdrop Fallback\n ========================================================================== */\n\n@supports not (backdrop-filter: blur(1px)) {\n .ds-locale-dropdown__panel {\n background: var(--fallback-surface);\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/components/NavbarV2/NavbarV2.css","../../src/components/Breadcrumb/Breadcrumb.css","../../src/components/SiteFooter/SiteFooter.css","../../src/components/LocaleDropdown/LocaleDropdown.css"],"sourcesContent":["/* ============================================================================\n NAVBAR V2 — FLOATING GLASS PILL TAB NAVIGATION\n ============================================================================\n A centered floating glass pill with vertical icon+label tabs.\n Brand and actions flank the pill on a TRANSPARENT bar — only the pill\n has a visual surface when unscrolled. On scroll, an outer container\n activates glass with border, and the inner pill demotes to fully\n transparent to avoid double-border visual noise.\n\n Layout: <nav> → <container (grid: 1fr auto 1fr)>\n [Brand ←] [— Tabs (centered) —] [→ Actions]\n ============================================================================ */\n\n/* ==========================================================================\n Outer Shell — Sticky, transparent, centering wrapper.\n Only provides positioning. Visual surface lives on __container.\n ========================================================================== */\n\n.ds-navbar-v2 {\n position: sticky;\n top: 0;\n z-index: var(--z-modal-backdrop);\n width: 100%;\n display: flex;\n justify-content: center;\n /* Add a small halo around the floating bar so it does not crowd the\n viewport edge or the hero copy underneath. */\n padding: var(--space-2) var(--space-3) var(--space-3);\n box-sizing: border-box;\n\n /* Transparent — clicks pass through gutters */\n background: transparent;\n pointer-events: none;\n}\n\n/* ==========================================================================\n Inner Container — CSS Grid for true viewport centering.\n Transparent by default, gains glass surface on scroll.\n ========================================================================== */\n\n.ds-navbar-v2__container {\n position: relative;\n /* CSS Grid: brand left, tabs TRUE center, actions right */\n display: grid;\n grid-template-columns: 1fr auto 1fr;\n align-items: center;\n width: 100%;\n padding: var(--space-2) var(--space-5);\n box-sizing: border-box;\n border-radius: var(--radius-card);\n pointer-events: auto;\n\n /* Transparent by default — no visual surface */\n background: transparent;\n border: 1px solid transparent;\n\n /* Explicit property transitions (not `all`) for performance */\n transition:\n background var(--transition-glass),\n border-color var(--transition-glass),\n box-shadow var(--transition-glass),\n backdrop-filter var(--transition-glass),\n -webkit-backdrop-filter var(--transition-glass);\n}\n\n/* ==========================================================================\n Scrolled State — Container gains solid surface with border.\n Uses near-opaque void-base so hero/page content never bleeds through.\n 92% opacity preserves a hint of depth; backdrop blur adds polish.\n --void-base-rgb adapts automatically across all themes (dark/light).\n ========================================================================== */\n\n.ds-navbar-v2--scrolled .ds-navbar-v2__container {\n background: rgba(var(--void-base-rgb), 0.97);\n backdrop-filter: blur(80px) saturate(180%) brightness(90%);\n -webkit-backdrop-filter: blur(80px) saturate(180%) brightness(90%);\n border-color: var(--rim-light-bottom);\n box-shadow:\n var(--glass-shadow-elevated-combined),\n 0 1px 0 0 var(--rim-light-top) inset;\n}\n\n/* Rim light on scrolled container */\n.ds-navbar-v2--scrolled .ds-navbar-v2__container::before {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n padding: var(--space-px);\n background: linear-gradient(\n 180deg,\n var(--rim-light-top) 0%,\n var(--rim-light-bottom) 100%\n );\n mask:\n linear-gradient(#fff 0 0) content-box,\n linear-gradient(#fff 0 0);\n mask-composite: exclude;\n -webkit-mask:\n linear-gradient(#fff 0 0) content-box,\n linear-gradient(#fff 0 0);\n -webkit-mask-composite: xor;\n pointer-events: none;\n opacity: 0.6;\n}\n\n/* ==========================================================================\n Brand — Grid column 1, left-aligned\n ========================================================================== */\n\n.ds-navbar-v2__brand {\n grid-column: 1;\n justify-self: start;\n display: flex;\n align-items: center;\n gap: var(--space-2);\n font-family: var(--font-family);\n font-weight: var(--font-weight-bold);\n font-size: var(--font-size-lg);\n color: var(--text-primary);\n text-decoration: none;\n flex-shrink: 0;\n white-space: nowrap;\n}\n\n/* ==========================================================================\n Tabs — Grid column 2, TRUE CENTER in viewport.\n The glass pill is the single visual surface when unscrolled.\n ========================================================================== */\n\n.ds-navbar-v2__tabs {\n grid-column: 2;\n justify-self: center;\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--space-1);\n padding: var(--space-2);\n flex-shrink: 0;\n\n /* Glass ornament — Level 2 (FloatingTabBar treatment)\n Use a stronger base than the global token to ensure the pill is legible.\n The backdrop blur + brightness bring the surface alive, so we need\n sufficient base opacity to give the blur something to render over. */\n background: var(--glass-base, rgba(255, 255, 255, 0.07));\n backdrop-filter: var(--glass-backdrop);\n -webkit-backdrop-filter: var(--glass-backdrop);\n border-radius: var(--radius-card);\n box-shadow: var(--glass-shadow-elevated-combined);\n\n /* Mega menu panels escape the pill */\n overflow: visible;\n\n /* Transition for demotion */\n transition:\n background var(--transition-glass),\n box-shadow var(--transition-glass),\n backdrop-filter var(--transition-glass),\n -webkit-backdrop-filter var(--transition-glass);\n}\n\n/* Rim light — Level 2 */\n.ds-navbar-v2__tabs::before {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n padding: var(--space-px);\n background: linear-gradient(\n 180deg,\n var(--rim-light-hover-top) 0%,\n var(--rim-light-top) 100%\n );\n mask:\n linear-gradient(#fff 0 0) content-box,\n linear-gradient(#fff 0 0);\n mask-composite: exclude;\n -webkit-mask:\n linear-gradient(#fff 0 0) content-box,\n linear-gradient(#fff 0 0);\n -webkit-mask-composite: xor;\n pointer-events: none;\n transition: opacity var(--transition-glass);\n}\n\n/* ==========================================================================\n Tabs — DEMOTED STATE (when outer container has glass)\n FULLY transparent — zero visual presence. Container is the sole surface.\n No border, no glass, no shadow, no rim light. Just the tab items inside.\n ========================================================================== */\n\n.ds-navbar-v2__tabs--demoted {\n background: transparent;\n backdrop-filter: none;\n -webkit-backdrop-filter: none;\n box-shadow: none;\n}\n\n/* Kill rim light completely when demoted */\n.ds-navbar-v2__tabs--demoted::before {\n opacity: 0;\n}\n\n/* ==========================================================================\n Tab Item — VERTICAL: icon on top, label below\n ========================================================================== */\n\n.ds-navbar-v2__tab {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: var(--space-1);\n padding: var(--space-2) var(--space-4);\n min-width: 64px;\n flex-shrink: 0;\n border: none;\n border-radius: var(--radius-button);\n background: transparent;\n color: var(--text-tertiary);\n font-family: var(--font-family);\n font-size: var(--font-size-xs);\n font-weight: var(--font-weight-medium);\n line-height: 1;\n cursor: pointer;\n text-decoration: none;\n white-space: nowrap;\n\n transition:\n background var(--transition-glass),\n color var(--transition-glass),\n box-shadow var(--transition-glass);\n}\n\n/* Rim light per-tab (hidden by default) */\n.ds-navbar-v2__tab::before {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n padding: var(--space-px);\n background: linear-gradient(\n 180deg,\n var(--rim-light-top) 0%,\n var(--rim-light-bottom) 100%\n );\n mask:\n linear-gradient(#fff 0 0) content-box,\n linear-gradient(#fff 0 0);\n mask-composite: exclude;\n -webkit-mask:\n linear-gradient(#fff 0 0) content-box,\n linear-gradient(#fff 0 0);\n -webkit-mask-composite: xor;\n pointer-events: none;\n opacity: 0;\n transition: opacity var(--transition-glass);\n}\n\n/* Hover — use a consistent tint that is visible regardless of the glass-base token value */\n.ds-navbar-v2__tab:hover {\n background: var(--glass-base-hover, rgba(255, 255, 255, 0.06));\n color: var(--text-secondary);\n}\n\n.ds-navbar-v2__tab:hover::before {\n opacity: 1;\n}\n\n/* Focus */\n.ds-navbar-v2__tab:focus-visible {\n outline: none;\n box-shadow: var(--focus-ring);\n}\n\n/* Active — Brand Pink, contained inset glow */\n.ds-navbar-v2__tab--active {\n background: rgba(var(--brand-pink-rgb), 0.12);\n color: var(--text-primary);\n box-shadow:\n var(--glass-shadow-inner),\n inset 0 0 16px rgba(var(--brand-pink-rgb), 0.2);\n}\n\n.ds-navbar-v2__tab--active::before {\n opacity: 1;\n background: linear-gradient(\n 180deg,\n rgba(var(--brand-pink-rgb), 0.35) 0%,\n rgba(var(--brand-pink-rgb), 0.08) 100%\n );\n}\n\n.ds-navbar-v2__tab--active:hover {\n background: rgba(var(--brand-pink-rgb), 0.18);\n}\n\n/* ==========================================================================\n Tab Internals\n ========================================================================== */\n\n/* Icon — 24px, centered above label */\n.ds-navbar-v2__tab-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.5rem;\n height: 1.5rem;\n flex-shrink: 0;\n}\n\n.ds-navbar-v2__tab-icon svg {\n width: 100%;\n height: 100%;\n}\n\n/* Label */\n.ds-navbar-v2__tab-label {\n white-space: nowrap;\n}\n\n/* Label row — for TabMenu: label + tiny chevron */\n.ds-navbar-v2__tab-label-row {\n display: flex;\n align-items: center;\n gap: var(--space-1);\n}\n\n/* Chevron — subtle, brightens on hover/open, CSS rotation replaces framer-motion */\n.ds-navbar-v2__tab-chevron {\n display: inline-flex;\n align-items: center;\n opacity: 0.3;\n transition:\n opacity var(--transition-fast),\n transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);\n}\n\n.ds-navbar-v2__tab-chevron[data-state='open'] {\n transform: rotate(180deg);\n}\n\n.ds-navbar-v2__tab:hover .ds-navbar-v2__tab-chevron,\n.ds-navbar-v2__tab--active .ds-navbar-v2__tab-chevron {\n opacity: 0.7;\n}\n\n/* ==========================================================================\n Tab Menu Container — static so panel positions relative to __tabs\n ========================================================================== */\n\n.ds-navbar-v2__tab-menu {\n position: static;\n display: flex;\n flex-shrink: 0;\n}\n\n/* ==========================================================================\n Mega Menu Panel — Centered below the pill\n ========================================================================== */\n\n.ds-navbar-v2__mega-panel {\n position: absolute;\n top: calc(100% + 4px);\n left: calc(50% + var(--panel-nudge, 0px));\n width: max-content;\n min-width: 280px;\n max-width: min(90vw, calc(100vw - 32px));\n padding: var(--space-6);\n z-index: var(--z-dropdown);\n transform-origin: top center;\n /* overflow:visible so wide mega-panels (e.g. 4-column grids) are not\n clipped by max-width rounding or viewport-edge clamping race. */\n overflow: visible;\n\n /* Solid glass surface for the dropdown */\n background: var(--void-base);\n backdrop-filter: blur(24px) saturate(180%);\n -webkit-backdrop-filter: blur(24px) saturate(180%);\n border: 1px solid var(--rim-light-bottom);\n border-radius: var(--radius-card);\n\n box-shadow:\n var(--shadow-xl),\n 0 0 0 1px var(--rim-light-bottom);\n\n /* CSS transition replaces framer-motion — closed by default\n translateX(-50%) is static centering, translateY + scale are animated */\n opacity: 0;\n transform: translateX(-50%) translateY(-8px) scale(0.98);\n visibility: hidden;\n pointer-events: none;\n\n /* Exit timing: 150ms fast-out */\n transition:\n opacity 150ms cubic-bezier(0.4, 0, 1, 1),\n transform 150ms cubic-bezier(0.4, 0, 1, 1),\n visibility 0s linear 150ms;\n}\n\n.ds-navbar-v2__mega-panel[data-state='open'] {\n opacity: 1;\n transform: translateX(-50%) translateY(0) scale(1);\n visibility: visible;\n pointer-events: auto;\n\n /* Enter timing: 250ms smooth ease-out */\n transition:\n opacity 250ms cubic-bezier(0.2, 0.8, 0.2, 1),\n transform 250ms cubic-bezier(0.2, 0.8, 0.2, 1),\n visibility 0s linear 0s;\n}\n\n/* Rim light at top of panel */\n.ds-navbar-v2__mega-panel::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 1px;\n border-radius: var(--radius-card) var(--radius-card) 0 0;\n background: linear-gradient(\n 90deg,\n transparent 0%,\n var(--rim-light-top) 20%,\n var(--rim-light-hover-top) 50%,\n var(--rim-light-top) 80%,\n transparent 100%\n );\n opacity: 0.8;\n pointer-events: none;\n}\n\n/* Hover bridge — invisible hit-area that spans the 4px gap between the\n trigger pill and the panel. Without this, fast diagonal mouse movements\n cross the gap, trigger mouseleave on the parent, and close the panel. */\n.ds-navbar-v2__mega-panel::after {\n content: '';\n position: absolute;\n top: -8px; /* extend above the panel by gap + buffer */\n left: 0;\n right: 0;\n height: 8px;\n /* transparent, no visual, but captures pointer events */\n background: transparent;\n}\n\n/* ==========================================================================\n Actions — Grid column 3, right-aligned\n ========================================================================== */\n\n.ds-navbar-v2__actions {\n grid-column: 3;\n justify-self: end;\n display: flex;\n align-items: center;\n gap: var(--space-3);\n flex-shrink: 0;\n white-space: nowrap;\n}\n\n/* ==========================================================================\n Mobile Toggle\n ========================================================================== */\n\n.ds-navbar-v2__toggle {\n display: none;\n background: none;\n border: none;\n color: var(--text-primary);\n padding: var(--space-2);\n cursor: pointer;\n border-radius: var(--radius-button);\n flex-shrink: 0;\n}\n\n.ds-navbar-v2__toggle:hover {\n background: var(--glass-base-hover);\n}\n\n.ds-navbar-v2__toggle:focus-visible {\n outline: none;\n box-shadow: var(--focus-ring);\n}\n\n/* ==========================================================================\n Responsive — Space Budget Ladder\n ========================================================================== */\n\n/* Level 2: Compact Desktop (<=1279px) */\n@media (max-width: 1279px) {\n .ds-navbar-v2 {\n padding: var(--space-2) var(--space-2) var(--space-2);\n }\n\n .ds-navbar-v2__container {\n padding: var(--space-2) var(--space-3);\n }\n\n .ds-navbar-v2__tab {\n padding: var(--space-2) var(--space-3);\n min-width: 56px;\n }\n\n .ds-navbar-v2__actions {\n gap: var(--space-2);\n }\n}\n\n/* Level 3: Narrow Desktop (<=1099px) — hide icons, compact text pill\n IMPORTANT: Pill inner padding must be ≥ space-2 (8px) so that the\n active tab's pink background (radius-button = 12px) doesn't bleed\n past the pill's rounded corners (radius-card = 24px). */\n@media (max-width: 1099px) {\n .ds-navbar-v2 {\n padding: var(--space-2) var(--space-2) var(--space-2);\n }\n\n .ds-navbar-v2__container {\n padding: var(--space-2) var(--space-3);\n }\n\n .ds-navbar-v2__tabs {\n padding: var(--space-2);\n }\n\n .ds-navbar-v2__tab {\n flex-direction: row;\n gap: var(--space-1);\n padding: var(--space-2) var(--space-3);\n min-width: auto;\n }\n\n .ds-navbar-v2__tab-icon {\n display: none;\n }\n\n .ds-navbar-v2__actions {\n gap: var(--space-2);\n }\n}\n\n/* Level 5: Wide (>=1920px) — expanded spacing, larger targets */\n@media (min-width: 1920px) {\n .ds-navbar-v2__container {\n padding: var(--space-3) var(--space-8);\n }\n\n .ds-navbar-v2__tabs {\n gap: var(--space-2);\n padding: var(--space-3);\n }\n\n .ds-navbar-v2__tab {\n padding: var(--space-3) var(--space-5);\n min-width: 72px;\n }\n\n .ds-navbar-v2__actions {\n gap: var(--space-4);\n }\n\n .ds-navbar-v2__mega-panel {\n padding: var(--space-8);\n min-width: 320px;\n }\n}\n\n/* Level 6: Ultra (>=2560px) — maximum luxury spacing */\n@media (min-width: 2560px) {\n .ds-navbar-v2__container {\n padding: var(--space-4) var(--space-10);\n }\n\n .ds-navbar-v2__tabs {\n gap: var(--space-3);\n padding: var(--space-4);\n }\n\n .ds-navbar-v2__tab {\n padding: var(--space-4) var(--space-6);\n min-width: 80px;\n font-size: var(--font-size-sm);\n }\n\n .ds-navbar-v2__tab-icon {\n width: 1.75rem;\n height: 1.75rem;\n }\n\n .ds-navbar-v2__actions {\n gap: var(--space-5);\n }\n\n .ds-navbar-v2__mega-panel {\n padding: var(--space-10);\n min-width: 360px;\n }\n}\n\n/* Level 4: Mobile (<=767px) — collapse to hamburger */\n@media (max-width: 767px) {\n .ds-navbar-v2 {\n padding: 0;\n }\n\n /* Switch from grid to flex on mobile */\n .ds-navbar-v2__container {\n display: flex;\n justify-content: space-between;\n padding: var(--space-2) var(--space-3);\n /* Full-width on mobile — no rounded floating pill */\n border-radius: 0;\n }\n\n /* On mobile, use same near-opaque surface as scrolled desktop —\n the mobile bar must always be fully legible over any page content. */\n .ds-navbar-v2__container {\n background: rgba(var(--void-base-rgb), 0.97);\n backdrop-filter: blur(80px) saturate(180%) brightness(90%);\n -webkit-backdrop-filter: blur(80px) saturate(180%) brightness(90%);\n border-bottom: 1px solid var(--rim-light-bottom);\n }\n\n .ds-navbar-v2__tabs {\n display: none;\n }\n\n .ds-navbar-v2__actions {\n display: none;\n }\n\n .ds-navbar-v2__toggle {\n display: flex;\n }\n}\n\n/* ==========================================================================\n Mobile Menu Overlay\n ========================================================================== */\n\n.ds-navbar-v2__mobile-overlay {\n position: fixed;\n /* top set via inline style from ResizeObserver measurement */\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--void-base);\n border-top: 1px solid var(--rim-light-bottom);\n z-index: var(--z-modal);\n overflow-y: auto;\n overscroll-behavior: contain;\n -webkit-overflow-scrolling: touch;\n\n /* CSS transition replaces framer-motion — closed by default */\n opacity: 0;\n transform: translateY(-12px);\n visibility: hidden;\n pointer-events: none;\n\n /* Exit timing: 200ms fast-out */\n transition:\n opacity 200ms cubic-bezier(0.4, 0, 1, 1),\n transform 200ms cubic-bezier(0.4, 0, 1, 1),\n visibility 0s linear 200ms;\n}\n\n.ds-navbar-v2__mobile-overlay[data-state='open'] {\n opacity: 1;\n transform: translateY(0);\n visibility: visible;\n pointer-events: auto;\n\n /* Enter timing: 250ms smooth ease-out */\n transition:\n opacity 250ms cubic-bezier(0.2, 0.8, 0.2, 1),\n transform 250ms cubic-bezier(0.2, 0.8, 0.2, 1),\n visibility 0s linear 0s;\n}\n\n.ds-navbar-v2__mobile-content {\n display: flex;\n flex-direction: column;\n gap: var(--space-2);\n padding: var(--space-4);\n min-height: 100%;\n}\n\n/* ==========================================================================\n Light Mode\n ========================================================================== */\n\n:root[data-theme='light'] .ds-navbar-v2__mega-panel,\n:root[data-theme='light-contrast'] .ds-navbar-v2__mega-panel {\n box-shadow:\n var(--shadow-sm),\n 0 0 0 1px var(--rim-light-bottom);\n}\n\n/* Tabs pill: light themes have higher --glass-base-hover already (65%+) */\n:root[data-theme='light'] .ds-navbar-v2__tabs,\n:root[data-theme='light-contrast'] .ds-navbar-v2__tabs {\n background: var(--glass-base-hover);\n}\n\n/* Tab hover: token value is sufficient in light themes */\n:root[data-theme='light'] .ds-navbar-v2__tab:hover,\n:root[data-theme='light-contrast'] .ds-navbar-v2__tab:hover {\n background: var(--glass-base);\n}\n\n/* Scrolled container: --void-base-rgb already adapts to light themes,\n so rgba(var(--void-base-rgb), 0.92) gives rgba(244,245,247,0.92) automatically.\n No override needed here. */\n\n/* ==========================================================================\n Reduced Motion — instant state changes, no transitions\n ========================================================================== */\n\n@media (prefers-reduced-motion: reduce) {\n .ds-navbar-v2__container {\n transition: none;\n }\n\n .ds-navbar-v2__tabs {\n transition: none;\n }\n\n .ds-navbar-v2__tabs::before {\n transition: none;\n }\n\n .ds-navbar-v2__tab {\n transition: none;\n }\n\n .ds-navbar-v2__tab::before {\n transition: none;\n }\n\n .ds-navbar-v2__tab-chevron {\n transition: none;\n }\n\n .ds-navbar-v2__mobile-overlay {\n transition: none;\n }\n\n .ds-navbar-v2__mega-panel {\n transition: none;\n }\n}\n\n/* ==========================================================================\n High Contrast\n ========================================================================== */\n\n@media (prefers-contrast: more) {\n .ds-navbar-v2--scrolled .ds-navbar-v2__container {\n background: var(--hc-surface);\n border: 1px solid var(--hc-border);\n }\n\n .ds-navbar-v2--scrolled .ds-navbar-v2__container::before {\n display: none;\n }\n\n .ds-navbar-v2__tabs {\n background: var(--hc-surface);\n border: 1px solid var(--hc-border);\n }\n\n .ds-navbar-v2__tabs::before {\n display: none;\n }\n\n .ds-navbar-v2__tab--active {\n background: rgba(var(--brand-pink-rgb), 0.4);\n border: 1px solid rgba(var(--brand-pink-rgb), 0.6);\n }\n}\n\n/* ==========================================================================\n Backdrop Fallback\n ========================================================================== */\n\n@supports not (backdrop-filter: blur(1px)) {\n /* Without backdrop blur, go fully opaque so content never shows through */\n .ds-navbar-v2--scrolled .ds-navbar-v2__container {\n background: var(--void-base);\n }\n\n /* Mobile always-on surface: fully opaque fallback */\n @media (max-width: 767px) {\n .ds-navbar-v2__container {\n background: var(--void-base);\n }\n }\n\n .ds-navbar-v2__tabs {\n background: var(--fallback-surface);\n }\n\n .ds-navbar-v2__mega-panel {\n background: var(--fallback-surface);\n }\n}\n\n/* ==========================================================================\n Mobile Responsive Fixes — 320px viewport support\n ========================================================================== */\n\n/* Fix hamburger menu padding clip at 320px */\n@media (max-width: 320px) {\n .ds-navbar-v2__container {\n padding: var(--space-2) var(--space-2);\n }\n\n .ds-navbar-v2__hamburger {\n padding: var(--space-1);\n min-width: 2.5rem;\n min-height: 2.5rem;\n }\n}\n\n/* Improve glass backdrop contrast for readability */\n@media (prefers-contrast: more) {\n .ds-navbar-v2--scrolled .ds-navbar-v2__container {\n background: rgba(10, 10, 10, 0.98);\n backdrop-filter: blur(32px);\n }\n}\n","/* ============================================================================\n BREADCRUMB — NAVIGATION TRAIL\n ============================================================================ */\n\n.ds-breadcrumb {\n /* Root nav element — no visual styling needed */\n}\n\n/* ==========================================================================\n List\n ========================================================================== */\n\n.ds-breadcrumb__list {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--space-2);\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/* ==========================================================================\n Item\n ========================================================================== */\n\n.ds-breadcrumb__item {\n display: inline-flex;\n align-items: center;\n gap: var(--space-2);\n}\n\n/* ==========================================================================\n Link\n ========================================================================== */\n\n.ds-breadcrumb__link {\n color: var(--text-secondary);\n font-size: var(--font-size-sm);\n text-decoration: none;\n transition: color var(--transition-glass);\n}\n\n.ds-breadcrumb__link:hover {\n color: var(--text-primary);\n}\n\n/* ==========================================================================\n Page (current)\n ========================================================================== */\n\n.ds-breadcrumb__page {\n color: var(--text-primary);\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-medium);\n}\n\n/* ==========================================================================\n Separator\n ========================================================================== */\n\n.ds-breadcrumb__separator {\n color: var(--text-secondary);\n opacity: 0.5;\n font-size: var(--font-size-sm);\n}\n\n/* ==========================================================================\n Ellipsis\n ========================================================================== */\n\n.ds-breadcrumb__ellipsis {\n color: var(--text-secondary);\n}\n\n/* ==========================================================================\n High Contrast Mode\n ========================================================================== */\n\n@media (prefers-contrast: more) {\n .ds-breadcrumb__link {\n text-decoration: underline;\n }\n}\n","/* ============================================================================\n SITE FOOTER — 5-Zone Architecture (Hardened)\n ============================================================================\n Zone 1: Strategic CTA\n Zone 2: Structured Navigation Grid (4-level responsive ladder)\n Zone 3: Authority Layer (brand + socials + trust badges)\n Zone 4+5: System Controls + Legal\n ============================================================================\n Resilience patterns ported from Navbar/NavbarV2:\n — Four-layer text overflow shield on headings, links, triggers\n — flex-shrink / min-width guards on structural zones\n — Space Budget Ladder: accordion → 2-col → 5-col (compact) → 5-col (full)\n — Responsive padding scaling per zone\n — Viewport-safe clamps on decorative pseudo-elements\n — High contrast + reduced motion media queries\n — WCAG touch-target minimums on interactive elements\n ============================================================================ */\n\n.ds-footer {\n width: 100%;\n box-sizing: border-box;\n border-top: 1px solid var(--rim-light-bottom);\n background: var(--void-base);\n position: relative;\n overflow: clip;\n}\n\n/* Background noise texture — low-opacity fractal overlay */\n.ds-footer::before {\n content: '';\n position: absolute;\n inset: 0;\n background:\n radial-gradient(circle at 50% 0%, var(--glass-base-hover), transparent 60%),\n url(\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E\");\n pointer-events: none;\n}\n\n\n/* ============================================================================\n Zone 1: Strategic CTA\n ============================================================================ */\n\n.ds-footer__cta {\n position: relative;\n padding: var(--space-10) 0 var(--space-8);\n text-align: center;\n}\n\n@media (min-width: 768px) {\n .ds-footer__cta {\n padding: var(--space-16) 0 var(--space-12);\n }\n}\n\n/* Accent glow behind CTA — adapts to brand color, viewport-safe */\n.ds-footer__cta::before {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: min(600px, 90vw);\n height: 300px;\n background: radial-gradient(\n ellipse at center,\n rgba(var(--accent-rgb, 255, 0, 90), 0.05),\n transparent 70%\n );\n pointer-events: none;\n}\n\n/* Gradient separator below CTA */\n.ds-footer__cta::after {\n content: '';\n position: absolute;\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n width: 80%;\n max-width: 600px;\n height: 1px;\n background: linear-gradient(\n 90deg,\n transparent,\n var(--rim-light-bottom),\n transparent\n );\n}\n\n.ds-footer__cta-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--space-4);\n max-width: 640px;\n margin: 0 auto;\n position: relative;\n}\n\n.ds-footer__cta-headline {\n font-family: var(--font-family);\n font-size: var(--font-size-2xl);\n font-weight: var(--font-weight-bold);\n color: var(--text-primary);\n margin: 0;\n line-height: var(--line-height-tight);\n letter-spacing: var(--letter-spacing-tight);\n text-wrap: balance;\n}\n\n@media (min-width: 768px) {\n .ds-footer__cta-headline {\n font-size: var(--font-size-3xl);\n }\n}\n\n.ds-footer__cta-subtext {\n font-family: var(--font-family);\n font-size: var(--font-size-base);\n color: var(--text-secondary);\n margin: 0;\n max-width: 480px;\n line-height: var(--line-height-relaxed);\n text-wrap: balance;\n}\n\n.ds-footer__cta-actions {\n display: flex;\n gap: var(--space-3);\n margin-top: var(--space-2);\n flex-wrap: wrap;\n justify-content: center;\n}\n\n.ds-footer__cta-trust {\n font-family: var(--font-family);\n font-size: var(--font-size-xs);\n color: var(--text-tertiary);\n margin: 0;\n margin-top: var(--space-1);\n}\n\n\n/* ============================================================================\n Zone 2: Navigation — Space Budget Ladder\n ============================================================================\n Level 1 (< 768px): Mobile accordion\n Level 2 (768–1023px): 2-column grid (tablet)\n Level 3 (≥ 1024px): 5-column grid, compact gaps\n Level 4 (≥ 1280px): 5-column grid, full gaps\n ============================================================================ */\n\n.ds-footer__nav {\n padding: var(--space-8) 0;\n}\n\n@media (min-width: 768px) {\n .ds-footer__nav {\n padding: var(--space-10) 0;\n }\n}\n\n@media (min-width: 1024px) {\n .ds-footer__nav {\n padding: var(--space-12) 0;\n }\n}\n\n/* ── Orientation line ────────────────────────────────────────────────────── */\n\n.ds-footer__orientation {\n font-family: var(--font-family);\n font-size: var(--font-size-sm);\n color: var(--text-tertiary);\n padding-bottom: var(--space-8);\n border-bottom: 1px solid var(--rim-light-bottom);\n margin-bottom: var(--space-10);\n}\n\n.ds-footer__orientation a {\n color: var(--text-secondary);\n text-decoration: underline;\n text-underline-offset: 2px;\n transition: color var(--transition-fast);\n}\n\n.ds-footer__orientation a:hover {\n color: var(--text-primary);\n}\n\n/* ── Desktop grid — hidden at mobile, progressive column count ───────────── */\n\n.ds-footer__grid {\n display: none;\n}\n\n/* Level 2: Tablet — 2 columns */\n@media (min-width: 768px) {\n .ds-footer__grid {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: var(--space-6) var(--space-8);\n }\n}\n\n/* Level 3: Desktop — 5 columns, compact gaps */\n@media (min-width: 1024px) {\n .ds-footer__grid {\n grid-template-columns: repeat(5, 1fr);\n gap: var(--space-6);\n }\n}\n\n/* Level 4: Wide desktop — 5 columns, full gaps */\n@media (min-width: 1280px) {\n .ds-footer__grid {\n gap: var(--space-10);\n }\n}\n\n/* Level 5: Wide (>=1920px) — 5 columns, wider gaps, larger CTA zone */\n@media (min-width: 1920px) {\n .ds-footer__grid {\n gap: var(--space-12);\n }\n\n .ds-footer__cta {\n padding: var(--space-20) 0 var(--space-16);\n }\n\n .ds-footer__cta-content {\n max-width: 720px;\n }\n\n .ds-footer__nav {\n padding: var(--space-16) 0;\n }\n}\n\n/* Level 6: Ultra (>=2560px) — luxury spacing */\n@media (min-width: 2560px) {\n .ds-footer__grid {\n gap: var(--space-16);\n }\n\n .ds-footer__cta {\n padding: var(--space-20) 0 var(--space-20);\n }\n\n .ds-footer__cta-headline {\n font-size: var(--font-size-4xl);\n }\n\n .ds-footer__cta-content {\n max-width: 800px;\n gap: var(--space-6);\n }\n\n .ds-footer__nav {\n padding: var(--space-20) 0;\n }\n\n .ds-footer__authority {\n padding: var(--space-10) 0;\n }\n}\n\n/* ── Mobile accordion — hidden once grid is active ───────────────────────── */\n\n.ds-footer__mobile-nav {\n display: block;\n}\n\n@media (min-width: 768px) {\n .ds-footer__mobile-nav {\n display: none;\n }\n}\n\n/* ── Shared column / link styles ─────────────────────────────────────────── */\n\n.ds-footer__column {\n display: flex;\n flex-direction: column;\n gap: var(--space-4);\n min-width: 0; /* prevent grid blowout — allow column to shrink */\n}\n\n/* Four-layer text overflow shield (ported from Navbar) */\n.ds-footer__heading {\n font-family: var(--font-family);\n font-size: var(--font-size-xs);\n font-weight: var(--font-weight-semibold);\n color: var(--text-primary);\n text-transform: uppercase;\n letter-spacing: var(--letter-spacing-wider);\n margin: 0;\n white-space: nowrap;\n hyphens: none;\n word-break: normal;\n overflow-wrap: normal;\n}\n\n.ds-footer__links {\n list-style: none;\n padding: 0;\n margin: 0;\n display: flex;\n flex-direction: column;\n gap: var(--space-3);\n}\n\n/* Four-layer text overflow shield on links */\n.ds-footer__link {\n font-family: var(--font-family);\n font-size: var(--font-size-sm);\n color: var(--text-secondary);\n text-decoration: none;\n transition: color var(--transition-fast);\n display: inline-flex;\n align-items: center;\n gap: var(--space-2);\n opacity: 0.85;\n white-space: nowrap;\n hyphens: none;\n word-break: normal;\n overflow-wrap: normal;\n}\n\n.ds-footer__link:hover {\n color: var(--text-primary);\n opacity: 1;\n}\n\n.ds-footer__link:focus-visible {\n outline: 2px solid var(--color-accent, currentColor);\n outline-offset: 2px;\n border-radius: 2px;\n}\n\n/* \"NEW\" badge on links */\n.ds-footer__badge {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n font-size: var(--font-size-2xs);\n font-weight: var(--font-weight-bold);\n text-transform: uppercase;\n letter-spacing: var(--letter-spacing-wide);\n color: var(--text-primary);\n background: var(--glass-base);\n border: 1px solid var(--rim-light-bottom);\n padding: var(--space-px) var(--space-2);\n border-radius: var(--radius-badge, 4px);\n line-height: 1.4;\n white-space: nowrap;\n}\n\n\n/* ============================================================================\n Mobile Accordion\n ============================================================================ */\n\n.ds-footer__accordion-item {\n border-bottom: 1px solid var(--rim-light-bottom);\n}\n\n.ds-footer__accordion-trigger {\n display: flex;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n padding: var(--space-4) 0;\n min-height: 44px; /* WCAG touch target minimum */\n background: none;\n border: none;\n cursor: pointer;\n font-family: var(--font-family);\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-semibold);\n color: var(--text-primary);\n text-transform: uppercase;\n letter-spacing: var(--letter-spacing-wider);\n /* Four-layer text shield */\n white-space: nowrap;\n hyphens: none;\n word-break: normal;\n overflow-wrap: normal;\n}\n\n.ds-footer__accordion-trigger:focus-visible {\n outline: 2px solid var(--color-accent, currentColor);\n outline-offset: 2px;\n}\n\n.ds-footer__accordion-chevron {\n color: var(--text-tertiary);\n transition: transform var(--transition-fast);\n flex-shrink: 0;\n}\n\n.ds-footer__accordion-item--open .ds-footer__accordion-chevron {\n transform: rotate(180deg);\n}\n\n.ds-footer__accordion-panel {\n padding-bottom: var(--space-4);\n}\n\n\n/* ============================================================================\n Zone 3: Authority Layer\n ============================================================================ */\n\n.ds-footer__authority {\n border-top: 1px solid var(--rim-light-bottom);\n padding: var(--space-6) 0;\n}\n\n@media (min-width: 768px) {\n .ds-footer__authority {\n padding: var(--space-8) 0;\n }\n}\n\n.ds-footer__authority-content {\n display: flex;\n flex-direction: column;\n gap: var(--space-6);\n align-items: flex-start;\n}\n\n@media (min-width: 768px) {\n .ds-footer__authority-content {\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: space-between;\n align-items: center;\n row-gap: var(--space-4);\n }\n}\n\n.ds-footer__brand {\n display: flex;\n flex-direction: column;\n gap: var(--space-3);\n flex-shrink: 0; /* brand zone never compresses */\n min-width: 0;\n}\n\n.ds-footer__logo {\n font-family: var(--font-family);\n font-weight: var(--font-weight-bold);\n font-size: var(--font-size-lg);\n color: var(--text-primary);\n display: flex;\n align-items: center;\n gap: var(--space-2);\n flex-shrink: 0;\n}\n\n.ds-footer__tagline {\n font-family: var(--font-family);\n font-size: var(--font-size-sm);\n color: var(--text-secondary);\n margin: 0;\n line-height: var(--line-height-relaxed);\n max-width: 360px;\n}\n\n.ds-footer__socials {\n display: flex;\n gap: var(--space-4);\n flex-shrink: 0;\n}\n\n.ds-footer__socials a,\n.ds-footer__socials button {\n color: var(--text-tertiary);\n transition:\n color var(--transition-fast),\n opacity var(--transition-fast);\n opacity: 0.7;\n /* WCAG 2.5.8 — minimum 44×44 CSS-pixel touch target */\n min-width: 44px;\n min-height: 44px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n.ds-footer__socials a:hover,\n.ds-footer__socials button:hover {\n color: var(--text-primary);\n opacity: 1;\n}\n\n.ds-footer__socials a:focus-visible,\n.ds-footer__socials button:focus-visible {\n outline: 2px solid var(--color-accent, currentColor);\n outline-offset: 2px;\n border-radius: 2px;\n}\n\n/* ── Trust badges ────────────────────────────────────────────────────────── */\n\n.ds-footer__trust-badges {\n display: flex;\n flex-wrap: wrap;\n gap: var(--space-3);\n flex-shrink: 0;\n}\n\n.ds-footer__trust-badge {\n display: inline-flex;\n align-items: center;\n gap: var(--space-1);\n font-family: var(--font-family);\n font-size: var(--font-size-xs);\n color: var(--text-tertiary);\n background: var(--glass-base);\n border: 1px solid var(--rim-light-bottom);\n padding: var(--space-1) var(--space-3);\n border-radius: var(--radius-badge, 4px);\n white-space: nowrap;\n}\n\n\n/* ============================================================================\n Zone 4 + 5: Bottom Bar\n ============================================================================ */\n\n.ds-footer__bottom {\n border-top: 1px solid var(--rim-light-bottom);\n padding: var(--space-6) 0;\n}\n\n/*\n * Bottom bar uses CSS grid on desktop to give controls their own\n * centered row, preventing the copyright + theme + locale + colors +\n * legal links from fighting for a single overcrowded row.\n *\n * Visual layout (≥ 768px):\n * Row 1: © 2026 SalesMind AI ····················· Legal links\n * Row 2: [ Locale ] [ Theme ] [ Colors ]\n */\n\n.ds-footer__bottom-content {\n display: flex;\n flex-direction: column;\n gap: var(--space-4);\n align-items: center;\n text-align: center;\n}\n\n@media (min-width: 768px) {\n .ds-footer__bottom-content {\n display: grid;\n grid-template-columns: 1fr auto 1fr;\n row-gap: var(--space-4);\n column-gap: var(--space-6);\n align-items: center;\n text-align: left;\n }\n\n .ds-footer__copyright {\n grid-column: 1;\n grid-row: 1;\n justify-self: start;\n }\n\n .ds-footer__controls {\n grid-column: 1 / -1;\n grid-row: 2;\n justify-self: center;\n }\n\n .ds-footer__legal {\n grid-column: 3;\n grid-row: 1;\n justify-self: end;\n }\n}\n\n.ds-footer__copyright {\n font-family: var(--font-family);\n font-size: var(--font-size-xs);\n color: var(--text-tertiary);\n white-space: nowrap;\n}\n\n.ds-footer__controls {\n display: flex;\n align-items: center;\n gap: var(--space-3);\n flex-wrap: wrap;\n justify-content: center;\n}\n\n.ds-footer__legal {\n display: flex;\n flex-wrap: wrap;\n gap: var(--space-4);\n justify-content: center;\n}\n\n@media (min-width: 768px) {\n .ds-footer__legal {\n justify-content: flex-end;\n }\n}\n\n.ds-footer__legal-link {\n font-family: var(--font-family);\n font-size: var(--font-size-xs);\n color: var(--text-tertiary);\n text-decoration: none;\n transition: color var(--transition-fast);\n white-space: nowrap;\n}\n\n.ds-footer__legal-link:hover {\n color: var(--text-secondary);\n}\n\n.ds-footer__legal-link:focus-visible {\n outline: 2px solid var(--color-accent, currentColor);\n outline-offset: 2px;\n border-radius: 2px;\n}\n\n/* ── Bottom Extra (e.g., Explore AI Summary) ─────────────────────────── */\n\n.ds-footer__bottom-extra {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--space-4);\n flex-wrap: wrap;\n margin-top: var(--space-4);\n padding-top: var(--space-4);\n border-top: 1px solid var(--rim-light-bottom, rgba(255 255 255 / 0.06));\n}\n\n.ds-footer__bottom-extra-label {\n font-family: var(--font-family);\n font-size: var(--font-size-xs);\n color: var(--text-tertiary);\n white-space: nowrap;\n}\n\n.ds-footer__bottom-extra-icons {\n display: flex;\n align-items: center;\n gap: var(--space-2);\n}\n\n.ds-footer__ai-icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border-radius: var(--radius-full, 9999px);\n background: var(--bg-tertiary, rgba(255 255 255 / 0.06));\n color: var(--text-tertiary);\n transition: color var(--transition-fast), background var(--transition-fast);\n text-decoration: none;\n}\n\n.ds-footer__ai-icon:hover {\n color: var(--text-primary);\n background: var(--bg-secondary, rgba(255 255 255 / 0.1));\n}\n\n.ds-footer__ai-icon:focus-visible {\n outline: 2px solid var(--color-accent, currentColor);\n outline-offset: 2px;\n}\n\n.ds-footer__ai-icon svg {\n width: 16px;\n height: 16px;\n}\n\n.ds-footer__company-info {\n font-family: var(--font-family);\n font-size: var(--font-size-xs);\n color: var(--text-tertiary);\n text-align: center;\n margin: var(--space-3) 0 0;\n opacity: 0.7;\n}\n\n\n/* ============================================================================\n High Contrast\n ============================================================================ */\n\n@media (prefers-contrast: more) {\n .ds-footer {\n border-top-color: var(--hc-border, var(--rim-light-bottom));\n }\n\n .ds-footer__cta::after {\n background: var(--hc-border, var(--rim-light-bottom));\n }\n\n .ds-footer__orientation {\n border-bottom-color: var(--hc-border, var(--rim-light-bottom));\n }\n\n .ds-footer__accordion-item {\n border-bottom-color: var(--hc-border, var(--rim-light-bottom));\n }\n\n .ds-footer__authority,\n .ds-footer__bottom {\n border-top-color: var(--hc-border, var(--rim-light-bottom));\n }\n\n .ds-footer__trust-badge,\n .ds-footer__badge {\n border-color: var(--hc-border, var(--rim-light-bottom));\n color: var(--text-primary);\n }\n\n .ds-footer__link,\n .ds-footer__legal-link {\n opacity: 1;\n }\n\n .ds-footer__socials a,\n .ds-footer__socials button {\n opacity: 1;\n }\n\n .ds-footer__company-info {\n opacity: 1;\n }\n}\n\n\n/* ============================================================================\n Reduced Motion\n ============================================================================ */\n\n@media (prefers-reduced-motion: reduce) {\n .ds-footer__accordion-chevron,\n .ds-footer__link,\n .ds-footer__legal-link,\n .ds-footer__socials a,\n .ds-footer__socials button,\n .ds-footer__orientation a {\n transition: none;\n }\n}\n\n/* ==========================================================================\n Mobile Responsive Fixes — Prevent overflow + WCAG touch targets\n ========================================================================== */\n\n/* Prevent horizontal overflow on mobile */\n@media (max-width: 767px) {\n .ds-footer {\n overflow-x: hidden;\n }\n\n /* Increase touch target size to 44px (WCAG 2.5.5) */\n .ds-footer__link,\n .ds-footer__legal-link,\n .ds-footer__socials a,\n .ds-footer__socials button {\n min-height: 2.75rem;\n min-width: 2.75rem;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n}\n","/* ============================================================================\n LOCALE DROPDOWN — Globe + Flag Trigger with Dropdown Panel\n ============================================================================\n Compact locale selector for navigation bars. Shows globe icon + current\n locale flag as trigger, with an animated dropdown listing all locales.\n Uses DS tokens exclusively — no hardcoded colors.\n ============================================================================ */\n\n/* ==========================================================================\n Container\n ========================================================================== */\n\n.ds-locale-dropdown {\n position: relative;\n display: inline-flex;\n flex-shrink: 0;\n}\n\n.ds-locale-dropdown__wrapper {\n position: relative;\n}\n\n/* ==========================================================================\n Trigger — Globe + Flag + Chevron\n ========================================================================== */\n\n.ds-locale-dropdown__trigger {\n display: inline-flex;\n align-items: center;\n gap: var(--space-1-5);\n padding: var(--space-2) var(--space-2-5);\n border: none;\n border-radius: var(--radius-button);\n background: transparent;\n color: var(--text-secondary);\n font-family: var(--font-family);\n font-size: var(--font-size-xs);\n font-weight: var(--font-weight-medium);\n line-height: 1;\n cursor: pointer;\n white-space: nowrap;\n\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n}\n\n.ds-locale-dropdown__trigger:hover {\n background: var(--glass-base-hover);\n color: var(--text-primary);\n}\n\n.ds-locale-dropdown__trigger:focus-visible {\n outline: none;\n box-shadow: var(--focus-ring);\n}\n\n/* Trigger sub-elements */\n.ds-locale-dropdown__trigger-icon {\n display: flex;\n align-items: center;\n color: var(--text-tertiary);\n flex-shrink: 0;\n}\n\n.ds-locale-dropdown__trigger-flag {\n font-size: var(--font-size-xs);\n line-height: 1;\n /* Constrain emoji height to prevent macOS emoji blowup */\n display: inline-flex;\n align-items: center;\n height: 16px;\n overflow: hidden;\n}\n\n.ds-locale-dropdown__trigger-chevron {\n display: inline-flex;\n align-items: center;\n color: var(--text-tertiary);\n flex-shrink: 0;\n\n /* CSS rotation replaces framer-motion animate */\n transition:\n transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1),\n color var(--transition-fast);\n}\n\n.ds-locale-dropdown__trigger-chevron[data-state='open'] {\n transform: rotate(180deg);\n}\n\n.ds-locale-dropdown__trigger:hover .ds-locale-dropdown__trigger-chevron {\n color: var(--text-secondary);\n}\n\n/* ==========================================================================\n Dropdown Panel\n ========================================================================== */\n\n.ds-locale-dropdown__panel {\n position: absolute;\n top: calc(100% + var(--space-2));\n right: 0;\n min-width: 180px;\n padding: var(--space-1-5);\n z-index: var(--z-dropdown);\n transform-origin: top right;\n overflow: hidden;\n\n /* Glass surface */\n background: var(--void-base);\n backdrop-filter: blur(24px) saturate(180%);\n -webkit-backdrop-filter: blur(24px) saturate(180%);\n border: 1px solid var(--rim-light-bottom);\n border-radius: var(--radius-card);\n box-shadow:\n var(--shadow-xl),\n 0 0 0 1px var(--rim-light-bottom);\n\n /* CSS transitions — replaces framer-motion panel variants */\n opacity: 0;\n transform: translateY(-8px) scale(0.95);\n visibility: hidden;\n pointer-events: none;\n transition:\n opacity 0.15s cubic-bezier(0.4, 0, 1, 1),\n transform 0.15s cubic-bezier(0.4, 0, 1, 1),\n visibility 0s 0.15s;\n}\n\n/* Open state */\n.ds-locale-dropdown__panel[data-state='open'] {\n opacity: 1;\n transform: translateY(0) scale(1);\n visibility: visible;\n pointer-events: auto;\n transition:\n opacity 0.2s cubic-bezier(0.2, 0.8, 0.2, 1),\n transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1),\n visibility 0s 0s;\n}\n\n/* Modifiers for Drop Direction */\n.ds-locale-dropdown--up .ds-locale-dropdown__panel {\n top: auto;\n bottom: calc(100% + var(--space-2));\n transform-origin: bottom right;\n}\n\n.ds-locale-dropdown--up .ds-locale-dropdown__panel[data-state='closed'] {\n transform: translateY(8px) scale(0.95);\n}\n\n/* Modifiers for Alignment */\n.ds-locale-dropdown--align-left .ds-locale-dropdown__panel {\n right: auto;\n left: 0;\n transform-origin: top left;\n}\n\n.ds-locale-dropdown--align-center .ds-locale-dropdown__panel {\n right: auto;\n left: 50%;\n transform-origin: top center;\n}\n\n/* Center alignment: base centering + animation transform combined */\n.ds-locale-dropdown--align-center .ds-locale-dropdown__panel[data-state='closed'] {\n transform: translateX(-50%) translateY(-8px) scale(0.95);\n}\n\n.ds-locale-dropdown--align-center .ds-locale-dropdown__panel[data-state='open'] {\n transform: translateX(-50%) translateY(0) scale(1);\n}\n\n.ds-locale-dropdown--up.ds-locale-dropdown--align-left .ds-locale-dropdown__panel {\n transform-origin: bottom left;\n}\n\n.ds-locale-dropdown--up.ds-locale-dropdown--align-center .ds-locale-dropdown__panel {\n transform-origin: bottom center;\n}\n\n.ds-locale-dropdown--up.ds-locale-dropdown--align-center\n .ds-locale-dropdown__panel[data-state='closed'] {\n transform: translateX(-50%) translateY(8px) scale(0.95);\n}\n\n/* Rim light at top of panel */\n.ds-locale-dropdown__panel::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 1px;\n border-radius: var(--radius-card) var(--radius-card) 0 0;\n background: linear-gradient(\n 90deg,\n transparent 0%,\n var(--rim-light-top) 30%,\n var(--rim-light-hover-top) 50%,\n var(--rim-light-top) 70%,\n transparent 100%\n );\n opacity: 0.6;\n pointer-events: none;\n}\n\n/* ==========================================================================\n Option\n ========================================================================== */\n\n.ds-locale-dropdown__option {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: var(--space-2) var(--space-3);\n border: none;\n border-radius: var(--radius-button);\n background: transparent;\n color: var(--text-secondary);\n font-family: var(--font-family);\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-regular);\n cursor: pointer;\n text-decoration: none;\n text-align: left;\n white-space: nowrap;\n\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n}\n\n.ds-locale-dropdown__option:hover,\n.ds-locale-dropdown__option--focused {\n background: var(--glass-base-hover);\n color: var(--text-primary);\n}\n\n.ds-locale-dropdown__option:focus-visible {\n outline: none;\n box-shadow: var(--focus-ring);\n}\n\n/* Active locale */\n.ds-locale-dropdown__option--active {\n background: rgba(var(--brand-pink-rgb), 0.08);\n color: var(--text-primary);\n font-weight: var(--font-weight-medium);\n}\n\n.ds-locale-dropdown__option--active:hover,\n.ds-locale-dropdown__option--active.ds-locale-dropdown__option--focused {\n background: rgba(var(--brand-pink-rgb), 0.14);\n}\n\n/* Option content: flag + label */\n.ds-locale-dropdown__option-content {\n display: flex;\n align-items: center;\n gap: var(--space-2);\n}\n\n.ds-locale-dropdown__option-flag {\n font-size: var(--font-size-sm);\n line-height: 1;\n flex-shrink: 0;\n}\n\n.ds-locale-dropdown__option-label {\n white-space: nowrap;\n}\n\n/* Checkmark for active locale */\n.ds-locale-dropdown__option-check {\n display: flex;\n align-items: center;\n color: rgba(var(--brand-pink-rgb), 1);\n flex-shrink: 0;\n margin-left: var(--space-3);\n}\n\n/* ==========================================================================\n Responsive\n ========================================================================== */\n\n/* Level 1.5 (≤1399px): Flag hides first, chevron hides — globe icon only */\n@media (max-width: 1399px) {\n .ds-locale-dropdown__trigger {\n padding: var(--space-1-5) var(--space-2);\n gap: var(--space-1);\n }\n\n /* Hide flag — globe icon stays visible */\n .ds-locale-dropdown__trigger-flag {\n display: none;\n }\n\n /* Hide chevron to save space */\n .ds-locale-dropdown__trigger-chevron {\n display: none;\n }\n}\n\n/* ==========================================================================\n Light Mode\n ========================================================================== */\n\n:root[data-theme='light'] .ds-locale-dropdown__panel,\n:root[data-theme='light-contrast'] .ds-locale-dropdown__panel {\n box-shadow:\n var(--shadow-sm),\n 0 0 0 1px var(--rim-light-bottom);\n}\n\n/* ==========================================================================\n Reduced Motion\n ========================================================================== */\n\n@media (prefers-reduced-motion: reduce) {\n .ds-locale-dropdown__trigger {\n transition: none;\n }\n\n .ds-locale-dropdown__trigger-chevron {\n transition: none;\n }\n\n .ds-locale-dropdown__panel {\n transition: none;\n }\n\n .ds-locale-dropdown__option {\n transition: none;\n }\n}\n\n/* ==========================================================================\n High Contrast\n ========================================================================== */\n\n@media (prefers-contrast: more) {\n .ds-locale-dropdown__trigger {\n outline: 1px solid var(--hc-border);\n outline-offset: -1px;\n }\n\n .ds-locale-dropdown__panel {\n border: 1px solid var(--hc-border);\n background: var(--hc-surface);\n }\n\n .ds-locale-dropdown__option--active {\n background: rgba(var(--brand-pink-rgb), 0.3);\n border: 1px solid rgba(var(--brand-pink-rgb), 0.5);\n }\n}\n\n/* ==========================================================================\n Backdrop Fallback\n ========================================================================== */\n\n@supports not (backdrop-filter: blur(1px)) {\n .ds-locale-dropdown__panel {\n background: var(--fallback-surface);\n }\n}\n\n/* ==========================================================================\n Search field (searchable variant)\n ========================================================================== */\n\n.ds-locale-dropdown__panel--searchable {\n display: flex;\n flex-direction: column;\n min-width: 220px;\n}\n\n.ds-locale-dropdown__search {\n display: flex;\n align-items: center;\n gap: var(--space-2);\n padding: var(--space-1-5) var(--space-2-5);\n margin-bottom: var(--space-1);\n border-radius: var(--radius-button);\n background: var(--glass-base-hover);\n}\n\n.ds-locale-dropdown__search:focus-within {\n box-shadow: var(--focus-ring);\n}\n\n.ds-locale-dropdown__search-icon {\n display: flex;\n align-items: center;\n color: var(--text-tertiary);\n flex-shrink: 0;\n}\n\n.ds-locale-dropdown__search-input {\n flex: 1;\n min-width: 0;\n padding: 0;\n border: none;\n background: transparent;\n color: var(--text-primary);\n font-family: var(--font-family);\n font-size: var(--font-size-sm);\n line-height: 1;\n}\n\n.ds-locale-dropdown__search-input::placeholder {\n color: var(--text-tertiary);\n}\n\n.ds-locale-dropdown__search-input:focus,\n.ds-locale-dropdown__search-input:focus-visible {\n outline: none;\n}\n\n.ds-locale-dropdown__list {\n display: flex;\n flex-direction: column;\n max-height: 280px;\n overflow-y: auto;\n}\n\n.ds-locale-dropdown__empty {\n padding: var(--space-3);\n color: var(--text-tertiary);\n font-family: var(--font-family);\n font-size: var(--font-size-sm);\n text-align: center;\n}\n"],"mappings":"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","names":[]}
@@ -151,6 +151,15 @@ interface LocaleDropdownProps {
151
151
  direction?: 'up' | 'down';
152
152
  /** Alignment of the dropdown panel relative to the trigger. Defaults to 'right'. */
153
153
  align?: 'left' | 'right' | 'center';
154
+ /**
155
+ * Show a search field to filter the list — useful for long locale lists.
156
+ * @default false
157
+ */
158
+ searchable?: boolean;
159
+ /** Placeholder for the search field. @default 'Search languages' */
160
+ searchPlaceholder?: string;
161
+ /** Message shown when no locale matches the query. @default 'No languages found' */
162
+ searchEmptyLabel?: string;
154
163
  }
155
164
  declare const LocaleDropdown: React__default.ForwardRefExoticComponent<LocaleDropdownProps & React__default.RefAttributes<HTMLDivElement>>;
156
165
 
@@ -151,6 +151,15 @@ interface LocaleDropdownProps {
151
151
  direction?: 'up' | 'down';
152
152
  /** Alignment of the dropdown panel relative to the trigger. Defaults to 'right'. */
153
153
  align?: 'left' | 'right' | 'center';
154
+ /**
155
+ * Show a search field to filter the list — useful for long locale lists.
156
+ * @default false
157
+ */
158
+ searchable?: boolean;
159
+ /** Placeholder for the search field. @default 'Search languages' */
160
+ searchPlaceholder?: string;
161
+ /** Message shown when no locale matches the query. @default 'No languages found' */
162
+ searchEmptyLabel?: string;
154
163
  }
155
164
  declare const LocaleDropdown: React__default.ForwardRefExoticComponent<LocaleDropdownProps & React__default.RefAttributes<HTMLDivElement>>;
156
165
 
package/dist/nav/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- export { LocaleDropdown, MDXOutboundLink, NavbarV2, NavbarV2Actions, NavbarV2Brand, NavbarV2Tab, NavbarV2TabMenu, NavbarV2Tabs, SiteFooter } from '../chunk-6BUS7RMS.js';
2
+ export { LocaleDropdown, MDXOutboundLink, NavbarV2, NavbarV2Actions, NavbarV2Brand, NavbarV2Tab, NavbarV2TabMenu, NavbarV2Tabs, SiteFooter } from '../chunk-Q3YVBUKQ.js';
3
3
  export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from '../chunk-XU3OMQ7V.js';
4
4
  export { OutboundLink, appendGovernedUTMs, appendUTMs, isExemptUrl } from '../chunk-KJ2OXQF4.js';
5
5
  //# sourceMappingURL=out.js.map
@@ -2403,6 +2403,60 @@ a:hover {
2403
2403
  background: var(--fallback-surface);
2404
2404
  }
2405
2405
  }
2406
+ .ds-locale-dropdown__panel--searchable {
2407
+ display: flex;
2408
+ flex-direction: column;
2409
+ min-width: 220px;
2410
+ }
2411
+ .ds-locale-dropdown__search {
2412
+ display: flex;
2413
+ align-items: center;
2414
+ gap: var(--space-2);
2415
+ padding: var(--space-1-5) var(--space-2-5);
2416
+ margin-bottom: var(--space-1);
2417
+ border-radius: var(--radius-button);
2418
+ background: var(--glass-base-hover);
2419
+ }
2420
+ .ds-locale-dropdown__search:focus-within {
2421
+ box-shadow: var(--focus-ring);
2422
+ }
2423
+ .ds-locale-dropdown__search-icon {
2424
+ display: flex;
2425
+ align-items: center;
2426
+ color: var(--text-tertiary);
2427
+ flex-shrink: 0;
2428
+ }
2429
+ .ds-locale-dropdown__search-input {
2430
+ flex: 1;
2431
+ min-width: 0;
2432
+ padding: 0;
2433
+ border: none;
2434
+ background: transparent;
2435
+ color: var(--text-primary);
2436
+ font-family: var(--font-family);
2437
+ font-size: var(--font-size-sm);
2438
+ line-height: 1;
2439
+ }
2440
+ .ds-locale-dropdown__search-input::placeholder {
2441
+ color: var(--text-tertiary);
2442
+ }
2443
+ .ds-locale-dropdown__search-input:focus,
2444
+ .ds-locale-dropdown__search-input:focus-visible {
2445
+ outline: none;
2446
+ }
2447
+ .ds-locale-dropdown__list {
2448
+ display: flex;
2449
+ flex-direction: column;
2450
+ max-height: 280px;
2451
+ overflow-y: auto;
2452
+ }
2453
+ .ds-locale-dropdown__empty {
2454
+ padding: var(--space-3);
2455
+ color: var(--text-tertiary);
2456
+ font-family: var(--font-family);
2457
+ font-size: var(--font-size-sm);
2458
+ text-align: center;
2459
+ }
2406
2460
 
2407
2461
  /* src/components/ThemeSelector/ThemeSelector.css */
2408
2462
  .ds-theme-selector {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesmind-ai/design-system",
3
- "version": "1.7.0",
3
+ "version": "1.8.0",
4
4
  "description": "Salesmind AI Design System",
5
5
  "license": "MIT",
6
6
  "type": "module",