@salesmind-ai/design-system 1.6.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/{chunk-REEHJV7M.js → chunk-2TC5EVSJ.js} +8 -4
- package/dist/chunk-2TC5EVSJ.js.map +1 -0
- package/dist/{chunk-UCWMJD4Y.cjs → chunk-4QQKREVH.cjs} +8 -4
- package/dist/chunk-4QQKREVH.cjs.map +1 -0
- package/dist/{chunk-3NS6X2R4.cjs → chunk-5EIBL6DQ.cjs} +133 -38
- package/dist/chunk-5EIBL6DQ.cjs.map +1 -0
- package/dist/{chunk-6BUS7RMS.js → chunk-Q3YVBUKQ.js} +133 -38
- package/dist/chunk-Q3YVBUKQ.js.map +1 -0
- package/dist/{index-r__EEywy.d.ts → index-CUkONzzC.d.ts} +2 -0
- package/dist/{index-I4Xi04oE.d.cts → index-kMlM7caH.d.cts} +2 -0
- package/dist/index.cjs +40 -40
- package/dist/index.css +72 -0
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/marketing/index.cjs +27 -27
- package/dist/marketing/index.css +18 -0
- package/dist/marketing/index.css.map +1 -1
- package/dist/marketing/index.d.cts +1 -1
- package/dist/marketing/index.d.ts +1 -1
- package/dist/marketing/index.js +1 -1
- package/dist/nav/index.cjs +10 -10
- package/dist/nav/index.css +54 -0
- package/dist/nav/index.css.map +1 -1
- package/dist/nav/index.d.cts +9 -0
- package/dist/nav/index.d.ts +9 -0
- package/dist/nav/index.js +1 -1
- package/dist/styles/styles.css +54 -0
- package/package.json +1 -1
- package/dist/chunk-3NS6X2R4.cjs.map +0 -1
- package/dist/chunk-6BUS7RMS.js.map +0 -1
- package/dist/chunk-REEHJV7M.js.map +0 -1
- package/dist/chunk-UCWMJD4Y.cjs.map +0 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { A as AgitationPoint, a as ArchitectureConnection, b as ArchitectureDiagram, c as ArchitectureDiagramProps, d as ArchitectureNode, e as ArchitectureNodeType, f as AuroraVoid, g as AuroraVoidIntensity, h as AuroraVoidProps, B as BeforeAfterBlock, i as BeforeAfterBlockProps, j as BeforeAfterItem, k as BeforeAfterSide, l as BookingEmbed, m as BookingEmbedProps, C as CaseStudyCard, n as CaseStudyCardProps, o as CaseStudyMetric, p as ComparisonColumn, q as ComparisonRow, r as ComparisonTable, s as ComparisonTableProps, t as CompetitorDiff, u as CompetitorDiffItem, v as CompetitorDiffProps, w as ComplianceGrid, x as ComplianceGridProps, y as ComplianceItem, z as ComplianceStatus, E as EcosystemConnection, D as EcosystemDiagram, F as EcosystemDiagramProps, G as EcosystemLayer, H as EnterpriseSLA, I as EnterpriseSignalCategory, J as EnterpriseSignalItem, K as EnterpriseSignalStatus, L as EnterpriseSignaling, M as EnterpriseSignalingProps, N as EraSentiment, O as EvolutionEra, P as EvolutionTimeline, Q as EvolutionTimelineProps, R as GuaranteeHighlight, S as GuaranteeHighlightProps, T as HeroComposition, U as HeroCompositionProps, V as ICPFilter, W as ICPFilterItem, X as ICPFilterProps, Y as IntelligenceBlock, Z as IntelligenceBlockProps, _ as IntelligenceCapability, $ as IntelligenceMetric, a0 as IntentCTA, a1 as IntentCTAProps, a2 as IntentStage, a3 as IntentTriggerType, a8 as MarketingHero, a9 as MarketingHeroProps, aa as MarketingHeroVariant, ab as MarketingSection, ac as MarketingSectionAlign, ad as MarketingSectionBackground, ae as MarketingSectionProps, af as ObjectionFAQ, ag as ObjectionFAQProps, ah as ObjectionItem, ai as PartnerBenefit, aj as PartnerCalcInput, ak as PartnerCalcOutput, al as PartnerDifferentiator, am as PartnerValueProp, an as PartnerValuePropProps, ao as PricingCard, ap as PricingCardProps, aq as PricingFeature, ar as ProblemAgitation, as as ProblemAgitationProps, at as ROICalculator, au as ROICalculatorProps, av as ROIComparisonItem, aw as SegmentSwitch, ax as SegmentSwitchProps, ay as StickyActionBar, az as StickyActionBarProps, aA as ValueAnchor, aB as ValueAnchorInput, aC as ValueAnchorOutput, aD as ValueAnchorProps } from '../index-
|
|
1
|
+
export { A as AgitationPoint, a as ArchitectureConnection, b as ArchitectureDiagram, c as ArchitectureDiagramProps, d as ArchitectureNode, e as ArchitectureNodeType, f as AuroraVoid, g as AuroraVoidIntensity, h as AuroraVoidProps, B as BeforeAfterBlock, i as BeforeAfterBlockProps, j as BeforeAfterItem, k as BeforeAfterSide, l as BookingEmbed, m as BookingEmbedProps, C as CaseStudyCard, n as CaseStudyCardProps, o as CaseStudyMetric, p as ComparisonColumn, q as ComparisonRow, r as ComparisonTable, s as ComparisonTableProps, t as CompetitorDiff, u as CompetitorDiffItem, v as CompetitorDiffProps, w as ComplianceGrid, x as ComplianceGridProps, y as ComplianceItem, z as ComplianceStatus, E as EcosystemConnection, D as EcosystemDiagram, F as EcosystemDiagramProps, G as EcosystemLayer, H as EnterpriseSLA, I as EnterpriseSignalCategory, J as EnterpriseSignalItem, K as EnterpriseSignalStatus, L as EnterpriseSignaling, M as EnterpriseSignalingProps, N as EraSentiment, O as EvolutionEra, P as EvolutionTimeline, Q as EvolutionTimelineProps, R as GuaranteeHighlight, S as GuaranteeHighlightProps, T as HeroComposition, U as HeroCompositionProps, V as ICPFilter, W as ICPFilterItem, X as ICPFilterProps, Y as IntelligenceBlock, Z as IntelligenceBlockProps, _ as IntelligenceCapability, $ as IntelligenceMetric, a0 as IntentCTA, a1 as IntentCTAProps, a2 as IntentStage, a3 as IntentTriggerType, a8 as MarketingHero, a9 as MarketingHeroProps, aa as MarketingHeroVariant, ab as MarketingSection, ac as MarketingSectionAlign, ad as MarketingSectionBackground, ae as MarketingSectionProps, af as ObjectionFAQ, ag as ObjectionFAQProps, ah as ObjectionItem, ai as PartnerBenefit, aj as PartnerCalcInput, ak as PartnerCalcOutput, al as PartnerDifferentiator, am as PartnerValueProp, an as PartnerValuePropProps, ao as PricingCard, ap as PricingCardProps, aq as PricingFeature, ar as ProblemAgitation, as as ProblemAgitationProps, at as ROICalculator, au as ROICalculatorProps, av as ROIComparisonItem, aw as SegmentSwitch, ax as SegmentSwitchProps, ay as StickyActionBar, az as StickyActionBarProps, aA as ValueAnchor, aB as ValueAnchorInput, aC as ValueAnchorOutput, aD as ValueAnchorProps } from '../index-kMlM7caH.cjs';
|
|
2
2
|
import 'react';
|
|
3
3
|
import '../SectionShell-CrgrzWK6.cjs';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { A as AgitationPoint, a as ArchitectureConnection, b as ArchitectureDiagram, c as ArchitectureDiagramProps, d as ArchitectureNode, e as ArchitectureNodeType, f as AuroraVoid, g as AuroraVoidIntensity, h as AuroraVoidProps, B as BeforeAfterBlock, i as BeforeAfterBlockProps, j as BeforeAfterItem, k as BeforeAfterSide, l as BookingEmbed, m as BookingEmbedProps, C as CaseStudyCard, n as CaseStudyCardProps, o as CaseStudyMetric, p as ComparisonColumn, q as ComparisonRow, r as ComparisonTable, s as ComparisonTableProps, t as CompetitorDiff, u as CompetitorDiffItem, v as CompetitorDiffProps, w as ComplianceGrid, x as ComplianceGridProps, y as ComplianceItem, z as ComplianceStatus, E as EcosystemConnection, D as EcosystemDiagram, F as EcosystemDiagramProps, G as EcosystemLayer, H as EnterpriseSLA, I as EnterpriseSignalCategory, J as EnterpriseSignalItem, K as EnterpriseSignalStatus, L as EnterpriseSignaling, M as EnterpriseSignalingProps, N as EraSentiment, O as EvolutionEra, P as EvolutionTimeline, Q as EvolutionTimelineProps, R as GuaranteeHighlight, S as GuaranteeHighlightProps, T as HeroComposition, U as HeroCompositionProps, V as ICPFilter, W as ICPFilterItem, X as ICPFilterProps, Y as IntelligenceBlock, Z as IntelligenceBlockProps, _ as IntelligenceCapability, $ as IntelligenceMetric, a0 as IntentCTA, a1 as IntentCTAProps, a2 as IntentStage, a3 as IntentTriggerType, a8 as MarketingHero, a9 as MarketingHeroProps, aa as MarketingHeroVariant, ab as MarketingSection, ac as MarketingSectionAlign, ad as MarketingSectionBackground, ae as MarketingSectionProps, af as ObjectionFAQ, ag as ObjectionFAQProps, ah as ObjectionItem, ai as PartnerBenefit, aj as PartnerCalcInput, ak as PartnerCalcOutput, al as PartnerDifferentiator, am as PartnerValueProp, an as PartnerValuePropProps, ao as PricingCard, ap as PricingCardProps, aq as PricingFeature, ar as ProblemAgitation, as as ProblemAgitationProps, at as ROICalculator, au as ROICalculatorProps, av as ROIComparisonItem, aw as SegmentSwitch, ax as SegmentSwitchProps, ay as StickyActionBar, az as StickyActionBarProps, aA as ValueAnchor, aB as ValueAnchorInput, aC as ValueAnchorOutput, aD as ValueAnchorProps } from '../index-
|
|
1
|
+
export { A as AgitationPoint, a as ArchitectureConnection, b as ArchitectureDiagram, c as ArchitectureDiagramProps, d as ArchitectureNode, e as ArchitectureNodeType, f as AuroraVoid, g as AuroraVoidIntensity, h as AuroraVoidProps, B as BeforeAfterBlock, i as BeforeAfterBlockProps, j as BeforeAfterItem, k as BeforeAfterSide, l as BookingEmbed, m as BookingEmbedProps, C as CaseStudyCard, n as CaseStudyCardProps, o as CaseStudyMetric, p as ComparisonColumn, q as ComparisonRow, r as ComparisonTable, s as ComparisonTableProps, t as CompetitorDiff, u as CompetitorDiffItem, v as CompetitorDiffProps, w as ComplianceGrid, x as ComplianceGridProps, y as ComplianceItem, z as ComplianceStatus, E as EcosystemConnection, D as EcosystemDiagram, F as EcosystemDiagramProps, G as EcosystemLayer, H as EnterpriseSLA, I as EnterpriseSignalCategory, J as EnterpriseSignalItem, K as EnterpriseSignalStatus, L as EnterpriseSignaling, M as EnterpriseSignalingProps, N as EraSentiment, O as EvolutionEra, P as EvolutionTimeline, Q as EvolutionTimelineProps, R as GuaranteeHighlight, S as GuaranteeHighlightProps, T as HeroComposition, U as HeroCompositionProps, V as ICPFilter, W as ICPFilterItem, X as ICPFilterProps, Y as IntelligenceBlock, Z as IntelligenceBlockProps, _ as IntelligenceCapability, $ as IntelligenceMetric, a0 as IntentCTA, a1 as IntentCTAProps, a2 as IntentStage, a3 as IntentTriggerType, a8 as MarketingHero, a9 as MarketingHeroProps, aa as MarketingHeroVariant, ab as MarketingSection, ac as MarketingSectionAlign, ad as MarketingSectionBackground, ae as MarketingSectionProps, af as ObjectionFAQ, ag as ObjectionFAQProps, ah as ObjectionItem, ai as PartnerBenefit, aj as PartnerCalcInput, ak as PartnerCalcOutput, al as PartnerDifferentiator, am as PartnerValueProp, an as PartnerValuePropProps, ao as PricingCard, ap as PricingCardProps, aq as PricingFeature, ar as ProblemAgitation, as as ProblemAgitationProps, at as ROICalculator, au as ROICalculatorProps, av as ROIComparisonItem, aw as SegmentSwitch, ax as SegmentSwitchProps, ay as StickyActionBar, az as StickyActionBarProps, aA as ValueAnchor, aB as ValueAnchorInput, aC as ValueAnchorOutput, aD as ValueAnchorProps } from '../index-CUkONzzC.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import '../SectionShell-CrgrzWK6.js';
|
package/dist/marketing/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { ArchitectureDiagram, AuroraVoid, BeforeAfterBlock, BookingEmbed, CaseStudyCard, ComparisonTable, CompetitorDiff, ComplianceGrid, EcosystemDiagram, EnterpriseSignaling, EvolutionTimeline, GuaranteeHighlight, HeroComposition, ICPFilter, IntelligenceBlock, IntentCTA, MarketingHero, MarketingSection, ObjectionFAQ, PartnerValueProp, PricingCard, ProblemAgitation, ROICalculator, SegmentSwitch, StickyActionBar, ValueAnchor } from '../chunk-
|
|
1
|
+
export { ArchitectureDiagram, AuroraVoid, BeforeAfterBlock, BookingEmbed, CaseStudyCard, ComparisonTable, CompetitorDiff, ComplianceGrid, EcosystemDiagram, EnterpriseSignaling, EvolutionTimeline, GuaranteeHighlight, HeroComposition, ICPFilter, IntelligenceBlock, IntentCTA, MarketingHero, MarketingSection, ObjectionFAQ, PartnerValueProp, PricingCard, ProblemAgitation, ROICalculator, SegmentSwitch, StickyActionBar, ValueAnchor } from '../chunk-2TC5EVSJ.js';
|
|
2
2
|
import '../chunk-HTLWFOLC.js';
|
|
3
3
|
import '../chunk-KJHPOB3J.js';
|
|
4
4
|
import '../chunk-YSYR54XR.js';
|
package/dist/nav/index.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
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
|
|
12
|
+
get: function () { return chunk5EIBL6DQ_cjs.LocaleDropdown; }
|
|
13
13
|
});
|
|
14
14
|
Object.defineProperty(exports, "MDXOutboundLink", {
|
|
15
15
|
enumerable: true,
|
|
16
|
-
get: function () { return
|
|
16
|
+
get: function () { return chunk5EIBL6DQ_cjs.MDXOutboundLink; }
|
|
17
17
|
});
|
|
18
18
|
Object.defineProperty(exports, "NavbarV2", {
|
|
19
19
|
enumerable: true,
|
|
20
|
-
get: function () { return
|
|
20
|
+
get: function () { return chunk5EIBL6DQ_cjs.NavbarV2; }
|
|
21
21
|
});
|
|
22
22
|
Object.defineProperty(exports, "NavbarV2Actions", {
|
|
23
23
|
enumerable: true,
|
|
24
|
-
get: function () { return
|
|
24
|
+
get: function () { return chunk5EIBL6DQ_cjs.NavbarV2Actions; }
|
|
25
25
|
});
|
|
26
26
|
Object.defineProperty(exports, "NavbarV2Brand", {
|
|
27
27
|
enumerable: true,
|
|
28
|
-
get: function () { return
|
|
28
|
+
get: function () { return chunk5EIBL6DQ_cjs.NavbarV2Brand; }
|
|
29
29
|
});
|
|
30
30
|
Object.defineProperty(exports, "NavbarV2Tab", {
|
|
31
31
|
enumerable: true,
|
|
32
|
-
get: function () { return
|
|
32
|
+
get: function () { return chunk5EIBL6DQ_cjs.NavbarV2Tab; }
|
|
33
33
|
});
|
|
34
34
|
Object.defineProperty(exports, "NavbarV2TabMenu", {
|
|
35
35
|
enumerable: true,
|
|
36
|
-
get: function () { return
|
|
36
|
+
get: function () { return chunk5EIBL6DQ_cjs.NavbarV2TabMenu; }
|
|
37
37
|
});
|
|
38
38
|
Object.defineProperty(exports, "NavbarV2Tabs", {
|
|
39
39
|
enumerable: true,
|
|
40
|
-
get: function () { return
|
|
40
|
+
get: function () { return chunk5EIBL6DQ_cjs.NavbarV2Tabs; }
|
|
41
41
|
});
|
|
42
42
|
Object.defineProperty(exports, "SiteFooter", {
|
|
43
43
|
enumerable: true,
|
|
44
|
-
get: function () { return
|
|
44
|
+
get: function () { return chunk5EIBL6DQ_cjs.SiteFooter; }
|
|
45
45
|
});
|
|
46
46
|
Object.defineProperty(exports, "Breadcrumb", {
|
|
47
47
|
enumerable: true,
|
package/dist/nav/index.css
CHANGED
|
@@ -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 */
|
package/dist/nav/index.css.map
CHANGED
|
@@ -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":[]}
|
package/dist/nav/index.d.cts
CHANGED
|
@@ -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.d.ts
CHANGED
|
@@ -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-
|
|
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
|