@bytebrand/fe-ui-core-autobahn 1.0.59 → 1.0.61

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/theme/md3.css CHANGED
@@ -3869,11 +3869,10 @@ line-height: 31px;
3869
3869
  min-height: 230px;
3870
3870
  }
3871
3871
 
3872
- /* grid card media — fixed 4:3, hairline seam so the white photo area reads as a zone */
3872
+ /* grid card media — fixed 4:3 */
3873
3873
  .md3 .cc-media {
3874
3874
  aspect-ratio: 4 / 3;
3875
3875
  width: 100%;
3876
- border-bottom: 1px solid var(--md-outline-variant);
3877
3876
  }
3878
3877
  .md3 .cc-media .cardcar {
3879
3878
  height: 100%;
@@ -3933,6 +3932,52 @@ line-height: 31px;
3933
3932
  font-weight: 600;
3934
3933
  white-space: nowrap;
3935
3934
  }
3935
+ /* Car Card gallery overlay pills (Figma "Vehicle Gallery / Photos Button" node 281:1016 and
3936
+ "Push Chips / Likes" node 297:1037) — light glass pill, distinct from the dark `.imglabel`
3937
+ used elsewhere (VDP main gallery) and from the older `.gallery-pill` iteration above. */
3938
+ .md3 .cc-photo-pill {
3939
+ display: inline-flex;
3940
+ align-items: center;
3941
+ gap: 3px;
3942
+ height: 30px;
3943
+ padding: 0 12px;
3944
+ border-radius: 16px;
3945
+ background: rgba(245, 247, 250, 0.5);
3946
+ border: 1px solid #E5EAF0;
3947
+ backdrop-filter: blur(2px);
3948
+ color: #111820;
3949
+ font-family: Arial, Helvetica, sans-serif;
3950
+ font-weight: 700;
3951
+ font-size: 12px;
3952
+ white-space: nowrap;
3953
+ cursor: pointer;
3954
+ transition: background var(--dur-1) var(--ease-standard), border-color var(--dur-1) var(--ease-standard);
3955
+ }
3956
+ .md3 .cc-photo-pill:hover {
3957
+ background: rgba(245, 247, 250, 0.85);
3958
+ border-color: #d4dde7;
3959
+ }
3960
+ .md3 .cc-activity-pill {
3961
+ display: inline-flex;
3962
+ align-items: center;
3963
+ gap: 13px;
3964
+ height: 30px;
3965
+ padding: 0 12px;
3966
+ border-radius: 16px;
3967
+ background: rgba(245, 247, 250, 0.5);
3968
+ border: 1px solid #E5EAF0;
3969
+ backdrop-filter: blur(2px);
3970
+ white-space: nowrap;
3971
+ }
3972
+ .md3 .cc-activity-pill-item {
3973
+ display: inline-flex;
3974
+ align-items: center;
3975
+ gap: 2px;
3976
+ color: #1D2A38;
3977
+ font-family: Arial, Helvetica, sans-serif;
3978
+ font-weight: 700;
3979
+ font-size: 12px;
3980
+ }
3936
3981
  .md3 .listcard-info {
3937
3982
  padding: 16px 18px;
3938
3983
  display: flex;
@@ -3962,6 +4007,23 @@ line-height: 31px;
3962
4007
  background: var(--md-sc-low);
3963
4008
  border-radius: var(--md-r-md);
3964
4009
  }
4010
+ /* desktop only (mobile keeps the flex-wrap flow above, untouched): a clean 2-column grid so
4011
+ pairs line up (km|EZ, Kraftstoff|Getriebe, Leistung|Halter) instead of reflowing by text
4012
+ length (Figma "mcard"). Facts render in DOM order [km, EZ, Getriebe, Kraftstoff, Leistung,
4013
+ Halter, Verfügbarkeit]; only Getriebe/Kraftstoff swap columns via `order` to land as
4014
+ Kraftstoff|Getriebe per the mockup — the array itself stays untouched (mobile relies on it). */
4015
+ @media (min-width: 601px) {
4016
+ .md3 .specstrip {
4017
+ display: grid;
4018
+ grid-template-columns: 1fr 1fr;
4019
+ }
4020
+ /* km/EZ/Kraftstoff pulled negative (in that order) so they sort ahead of the untouched,
4021
+ default-order Getriebe/Leistung/Halter/Verfügbarkeit — net effect: km, EZ, Kraftstoff,
4022
+ Getriebe, Leistung, Halter, Verfügbarkeit, i.e. only Kraftstoff hops in front of Getriebe. */
4023
+ .md3 .specstrip > span:nth-child(1) { order: -3; }
4024
+ .md3 .specstrip > span:nth-child(2) { order: -2; }
4025
+ .md3 .specstrip > span:nth-child(4) { order: -1; }
4026
+ }
3965
4027
  /* filter rail: collapsible sections */
3966
4028
  .md3 .frail-group {
3967
4029
  border-bottom: 1px solid var(--md-outline-variant);
@@ -4197,8 +4259,25 @@ line-height: 31px;
4197
4259
  /* struck-through reference rate/price shown next to the tabbed hero price (Figma card) —
4198
4260
  same red strike as .pp-old, sized for the hero context rather than the compact list row. */
4199
4261
  .md3 .pp-hero-old { font-size: 15px; color: var(--md-error); text-decoration: line-through; white-space: nowrap; }
4200
- .md3 .pp-hero-val sup, .md3 .pp-hero-old sup, .md3 .pp-hero-unit sup { font-size: .6em; }
4201
4262
  .md3 .pp-hero-terms { margin-top: 9px; font-size: 11.5px; color: var(--md-on-surface-variant); }
4263
+ /* "Details" link at the end of the financing/leasing terms lines (Figma "mcard") — quiet, same
4264
+ color as the rest of the terms line but underlined so it still reads as tappable. */
4265
+ .md3 .pp-details-link { color: var(--md-primary); text-decoration: underline; font-weight: 600; white-space: nowrap; }
4266
+ /* z.B./old-rate/unit column beside the CarCard hero figure — mirrors .fin-rate-unit
4267
+ (FinanceCalculator.tsx/md3.css) exactly; only used inside .cc-price's PriceHero. */
4268
+ .md3 .pp-hero-unit-group {
4269
+ display: flex;
4270
+ flex-direction: column;
4271
+ line-height: 1.25;
4272
+ font-size: 14px;
4273
+ font-weight: 600;
4274
+ color: var(--md-on-surface-variant);
4275
+ flex: none;
4276
+ }
4277
+ .md3 .cc-price .pp-hero-rate {
4278
+ align-items: center;
4279
+ flex-wrap: nowrap;
4280
+ }
4202
4281
  /* separator line between the financing block and the leasing row (legacy-design parity) */
4203
4282
  .md3 .pp-lease-row {
4204
4283
  margin-top: 16px;
@@ -4340,14 +4419,362 @@ line-height: 31px;
4340
4419
  /* grid Car Card price block (Figma "Component | Car Card | Desktop") — the hero price/tabs are
4341
4420
  much larger here than the shared .pp-hero-* sizing used to give them (those classes are only
4342
4421
  consumed inside .cc-price now, so bumping them here is safe). */
4422
+ .md3 .cc-card .md-title {
4423
+ font-family: Arial, Helvetica, sans-serif;
4424
+ font-style: normal;
4425
+ font-weight: 700;
4426
+ font-size: 24px;
4427
+ line-height: 27px;
4428
+ color: #0e2238;
4429
+ margin-bottom: 6px;
4430
+ }
4431
+ .md3 .cc-card .md-body-sm {
4432
+ font-family: Arial, Helvetica, sans-serif;
4433
+ font-style: normal;
4434
+ font-weight: 400;
4435
+ font-size: 13px;
4436
+ line-height: 17px;
4437
+ color: #0e2238;
4438
+ margin-bottom: 6px;
4439
+ }
4440
+ /* SpecLine is only ever used by CarCard (not CarRow) — safe to reach into its inline
4441
+ font-size/color with !important rather than plumbing a style-override prop through it. */
4442
+ .md3 .cc-card .cc-spec {
4443
+ font-family: Arial, Helvetica, sans-serif;
4444
+ font-weight: 400;
4445
+ font-size: 11px !important;
4446
+ line-height: 15px;
4447
+ color: #1d2a38 !important;
4448
+ margin-bottom: 10px;
4449
+ }
4450
+ /* deal chips (Ersparnis / -X% / 0€ Anzahlung) — Figma: 30px tall pill (15px radius = half the
4451
+ height), 14px bold, a tint of the icon/text color (~20% bg, ~5% border). Was previously gated
4452
+ to min-width:1025px (mobile fell back to the plain-JSX solid-fill/white-pill treatment);
4453
+ applied at every width now so mobile CarCard matches too. */
4454
+ .md3 .cc-card .cc-badges {
4455
+ gap: 8px !important;
4456
+ }
4457
+ .md3 .cc-card .deal-chip {
4458
+ height: 30px !important;
4459
+ padding: 0 10px !important;
4460
+ border-radius: 15px !important;
4461
+ font-size: 14px !important;
4462
+ font-weight: 700 !important;
4463
+ box-shadow: none !important;
4464
+ border: 1px solid transparent;
4465
+ }
4466
+ .md3 .cc-card .deal-chip--drop {
4467
+ background: rgba(17, 110, 57, 0.2) !important;
4468
+ border-color: rgba(17, 110, 57, 0.05);
4469
+ color: #116e39 !important;
4470
+ }
4471
+ .md3 .cc-card .deal-chip--percent {
4472
+ background: rgba(217, 45, 32, 0.2) !important;
4473
+ border-color: rgba(217, 45, 32, 0.05);
4474
+ color: #d92d20 !important;
4475
+ }
4476
+ .md3 .cc-card .deal-chip--zerodown {
4477
+ background: rgba(0, 92, 255, 0.2) !important;
4478
+ border-color: rgba(0, 92, 255, 0.05);
4479
+ color: #005cff !important;
4480
+ }
4481
+ /* NEU badge — Figma: amber tint pill, not the mobile solid-primary-blue pill */
4482
+ .md3 .cc-card .neu-badge {
4483
+ height: 30px;
4484
+ padding: 0 10px;
4485
+ background: rgba(255, 184, 0, 0.2);
4486
+ border: 1px solid rgba(255, 184, 0, 0.05);
4487
+ color: #ffb800;
4488
+ font-size: 13px;
4489
+ }
4490
+ /* "⚡ Angebot" badge — Figma: black-tinted ROUNDED RECT (10px radius, not a full pill), black
4491
+ text — bigger than and visually distinct from the mobile dark-solid pill. */
4492
+ .md3 .cc-card .offer-badge {
4493
+ height: 30px;
4494
+ padding: 0 10px;
4495
+ border-radius: 10px;
4496
+ background: rgba(0, 0, 0, 0.2);
4497
+ border: 1px solid rgba(0, 0, 0, 0.05);
4498
+ color: #000;
4499
+ font-size: 14px;
4500
+ }
4501
+ .md3 .cc-card .offer-badge .lucide {
4502
+ width: 15px;
4503
+ height: 15px;
4504
+ color: #000;
4505
+ }
4343
4506
  .md3 .cc-price .fin-tabs { margin-bottom: 12px; }
4344
- .md3 .cc-price .fin-tab { font-size: 17px; font-weight: 700; padding: 8px 4px; }
4345
- .md3 .cc-price .pp-eyebrow { font-size: 13px; margin-bottom: 2px; }
4346
- .md3 .cc-price .pp-hero-val { font-size: 44px; letter-spacing: -1.5px; }
4347
- .md3 .cc-price .pp-hero-old { font-size: 20px; }
4348
- .md3 .cc-price .pp-hero-unit { font-size: 16px; }
4349
- .md3 .cc-price .pp-bar { height: 7px; }
4350
- .md3 .cc-price .pp-bar-dot { width: 16px; height: 16px; }
4507
+ .md3 .cc-price .fin-tab { font-size: 17px; font-weight: 700; padding: 10px 5px; }
4508
+ /* Finanzierung tab price row (Figma "similar cars" card) — matches the VDP finance-calculator's
4509
+ MOBILE .fin-price-grid treatment one-to-one (same rate/old-price/pill typography and colors),
4510
+ by explicit spec. Previously gated to min-width:601px (left the pre-existing mobile .cc-card
4511
+ price row alone); now applied at every width on request, so mobile CarCard matches too. */
4512
+ .md3 .cc-price .pp-eyebrow,
4513
+ .md3 .fin-calc-card .pp-eyebrow {
4514
+ position: relative;
4515
+ font-family: Arial, Helvetica, sans-serif;
4516
+ font-style: normal;
4517
+ font-weight: 400;
4518
+ font-size: 8px;
4519
+ line-height: 9px;
4520
+ letter-spacing: normal;
4521
+ text-transform: none;
4522
+ color: #0e2238;
4523
+ margin-bottom: 2px;
4524
+ }
4525
+ /* footnote badge (small bordered circle, not a plain <sup>) pinned to the eyebrow's top-right
4526
+ corner — absolute against .pp-eyebrow's own position:relative above. Shared by the CarCard
4527
+ hero (.cc-price) and the VDP FinanceCalculator's own rate example (.fin-calc-card). */
4528
+ .md3 .cc-price .pp-eyebrow-badge,
4529
+ .md3 .fin-calc-card .pp-eyebrow-badge {
4530
+ display: inline-flex;
4531
+ align-items: center;
4532
+ justify-content: center;
4533
+ position: absolute;
4534
+ top: -5px;
4535
+ right: -8px;
4536
+ border-radius: 50%;
4537
+ width: 12px;
4538
+ height: 11px;
4539
+ background: rgba(255, 255, 255, 0.96);
4540
+ border: 0.5px solid #005cff;
4541
+ font-family: Arial, Helvetica, sans-serif;
4542
+ font-style: normal;
4543
+ font-weight: 400;
4544
+ font-size: 8px;
4545
+ line-height: 9px;
4546
+ text-align: center;
4547
+ color: #0e2238;
4548
+ cursor: pointer;
4549
+ }
4550
+ /* mobile-only nudge: same badge, tucked slightly closer to the eyebrow text on narrow cards. */
4551
+ @media (max-width: 1024px) {
4552
+ .md3 .cc-price .pp-eyebrow-badge {
4553
+ top: -5px;
4554
+ right: -5px;
4555
+ }
4556
+ }
4557
+ /* "2" badge (Kaufen, nested in .pp-hero-old instead of .pp-eyebrow) sits closer to the price
4558
+ figure than the "3" badge's own offsets above. */
4559
+ .md3 .cc-price .pp-hero-old .pp-eyebrow-badge,
4560
+ .md3 .fin-calc-card .pp-hero-old .pp-eyebrow-badge {
4561
+ top: -7px;
4562
+ right: -12px;
4563
+ }
4564
+ /* "3" footnote popover — click the badge above to open, the × or an outside click to close. */
4565
+ .md3 .cc-price .pp-uvp-tooltip,
4566
+ .md3 .fin-calc-card .pp-uvp-tooltip {
4567
+ position: absolute;
4568
+ top: 6px;
4569
+ right: -84px;
4570
+ z-index: 20;
4571
+ width: 281px;
4572
+ padding: 10px 12px;
4573
+ border-radius: 15px;
4574
+ background: #c5c6d2;
4575
+ box-shadow: var(--md-e2, 0 4px 12px rgba(0, 0, 0, 0.15));
4576
+ white-space: normal;
4577
+ cursor: default;
4578
+ }
4579
+ /* floating circular close button — overlaps the tooltip's top-right corner from outside,
4580
+ same "glass circle" convention as VdpViewer's close/back/next overlay buttons. */
4581
+ .md3 .cc-price .pp-uvp-tooltip-close,
4582
+ .md3 .fin-calc-card .pp-uvp-tooltip-close {
4583
+ position: absolute;
4584
+ top: -38px;
4585
+ right: -35px;
4586
+ display: flex;
4587
+ align-items: center;
4588
+ justify-content: center;
4589
+ width: 48px;
4590
+ height: 48px;
4591
+ border-radius: 50%;
4592
+ background: rgba(11, 19, 32, 0.35);
4593
+ border: 1.5px solid rgba(255, 255, 255, 0.25);
4594
+ padding: 0;
4595
+ cursor: pointer;
4596
+ }
4597
+ .md3 .cc-price .pp-uvp-tooltip-body,
4598
+ .md3 .fin-calc-card .pp-uvp-tooltip-body {
4599
+ font-family: Arial, Helvetica, sans-serif;
4600
+ font-weight: 400;
4601
+ font-size: 11px;
4602
+ line-height: 13px;
4603
+ color: #0e2238;
4604
+ }
4605
+ .md3 .cc-price .pp-hero-val {
4606
+ font-family: Arial, Helvetica, sans-serif;
4607
+ font-style: normal;
4608
+ font-weight: 700;
4609
+ font-size: 65px;
4610
+ line-height: 58px;
4611
+ letter-spacing: -2px;
4612
+ color: #005cff;
4613
+ }
4614
+ /* long rates shrink so the hero figure doesn't overflow the card. */
4615
+ .md3 .cc-price .pp-hero-val--len4 {
4616
+ font-size: 50px;
4617
+ line-height: 53px;
4618
+ }
4619
+ .md3 .cc-price .pp-hero-val--len5 {
4620
+ font-size: 43px;
4621
+ line-height: 45px;
4622
+ }
4623
+ .md3 .cc-price .pp-hero-val--len6 {
4624
+ font-size: 37px;
4625
+ line-height: 40px;
4626
+ }
4627
+ /* diagonal red strike (Figma), replacing the native horizontal line-through — shared by the
4628
+ CarCard hero (.cc-price) and the VDP FinanceCalculator's mobile Kaufen old price
4629
+ (.fin-calc-card, .fin-rate-old-list). */
4630
+ .md3 .cc-price .pp-hero-old,
4631
+ .md3 .fin-calc-card .pp-hero-old {
4632
+ position: relative;
4633
+ display: inline-block;
4634
+ font-family: Arial, Helvetica, sans-serif;
4635
+ font-style: normal;
4636
+ font-weight: 400;
4637
+ font-size: 17px;
4638
+ line-height: 20px;
4639
+ letter-spacing: 0;
4640
+ color: #0e2238;
4641
+ text-decoration: none;
4642
+ }
4643
+ .md3 .cc-price .pp-hero-old::after,
4644
+ .md3 .fin-calc-card .pp-hero-old::after {
4645
+ content: "";
4646
+ position: absolute;
4647
+ left: -2px;
4648
+ right: -2px;
4649
+ top: 50%;
4650
+ border-top: 2px solid #e60000;
4651
+ transform: rotate(12.53deg);
4652
+ transform-origin: center;
4653
+ }
4654
+ .md3 .cc-price .pp-hero-old--len4,
4655
+ .md3 .fin-calc-card .pp-hero-old--len4 {
4656
+ font-size: 13px;
4657
+ line-height: 17px;
4658
+ }
4659
+ .md3 .cc-price .pp-hero-old--len5,
4660
+ .md3 .fin-calc-card .pp-hero-old--len5 {
4661
+ font-family: Arial, Helvetica, sans-serif;
4662
+ font-weight: 400;
4663
+ font-size: 14px;
4664
+ line-height: 16px;
4665
+ color: #0e2238;
4666
+ }
4667
+ .md3 .cc-price .pp-hero-unit {
4668
+ font-family: Arial, Helvetica, sans-serif;
4669
+ font-style: normal;
4670
+ font-weight: 700;
4671
+ font-size: 18px;
4672
+ line-height: 21px;
4673
+ color: #5b6b7f;
4674
+ }
4675
+ /* Kaufen: the UVP/old-price group sits ABOVE the hero figure (Figma), not beside it like the
4676
+ Finanzierung/Leasing z.B. column — stack the row and pull the group first via order. */
4677
+ .md3 .cc-price .pp-hero--buy .pp-hero-rate {
4678
+ flex-direction: column;
4679
+ align-items: flex-start;
4680
+ gap: 2px;
4681
+ }
4682
+ .md3 .cc-price .pp-hero--buy .pp-hero-unit-group {
4683
+ order: -1;
4684
+ align-self: flex-end;
4685
+ }
4686
+ /* Preisbewertung pill + segmented tier bar, grouped in one column exactly like the VDP
4687
+ finance-calculator's MOBILE .fin-eval-col (FinanceCalculator.tsx) — replaces the old
4688
+ StatChip pill + full-width gradient .pp-bar (see PriceEvalCol in cardParts.tsx). No
4689
+ grid here (unlike .fin-price-grid), so the 112px column width is set directly instead
4690
+ of via grid-area/grid-template-columns. */
4691
+ .md3 .cc-price .fin-eval-col {
4692
+ display: flex;
4693
+ flex-direction: column;
4694
+ gap: 16px;
4695
+ width: 112px;
4696
+ flex: none;
4697
+ }
4698
+ .md3 .cc-price .fin-eval-pill {
4699
+ font-family: Arial, Helvetica, sans-serif;
4700
+ font-style: normal;
4701
+ font-weight: 700;
4702
+ font-size: 12px;
4703
+ line-height: 14px;
4704
+ text-align: center;
4705
+ }
4706
+ .md3 .cc-price .fin-eval-pill--good {
4707
+ background: #dff3e5 !important;
4708
+ border-radius: 11px !important;
4709
+ width: 100%;
4710
+ height: 27px;
4711
+ box-sizing: border-box;
4712
+ justify-content: center;
4713
+ }
4714
+ /* footnote 4 ("Top-Preis" claim) — .fin-eval-pill is a flex container, so vertical-align has
4715
+ no effect on the sup (it's a flex item, not inline content); position:relative/top raises
4716
+ it instead, same technique as the hero price's own 1/2/3 footnote markers. Shared by the
4717
+ CarCard hero (.cc-price) and the VDP FinanceCalculator's own pill (.fin-calc-card). */
4718
+ .md3 .cc-price .fin-eval-pill sup,
4719
+ .md3 .fin-calc-card .fin-eval-pill sup {
4720
+ position: relative;
4721
+ top: 0px;
4722
+ left: -4px;
4723
+ font-size: 9px;
4724
+ line-height: 9px;
4725
+ }
4726
+ .md3 .cc-price .fin-eval-bar {
4727
+ height: 7px;
4728
+ }
4729
+ .md3 .cc-price .fin-eval-seg:first-child {
4730
+ border-radius: 4px 0 0 4px;
4731
+ }
4732
+ .md3 .cc-price .fin-eval-seg:last-of-type {
4733
+ border-radius: 0 4px 4px 0;
4734
+ }
4735
+ .md3 .cc-price .fin-eval-thumb {
4736
+ width: 18px;
4737
+ height: 18px;
4738
+ border-width: 2px;
4739
+ border-radius: 9px;
4740
+ }
4741
+ .md3 .cc-price .fin-eval-thumb--good {
4742
+ border-color: #168a45 !important;
4743
+ }
4744
+ /* financing/leasing terms line + "Finanzierungsdetails"/"Leasingdetails" link (PriceTerms in
4745
+ cardParts.tsx), full-width under the price/rating row. Same quiet typography as .pp-hero-terms
4746
+ (PricePaths); the link resets button chrome and reuses the primary color so it reads as tappable. */
4747
+ .md3 .cc-terms {
4748
+ margin-top: 9px;
4749
+ font-family: Arial, Helvetica, sans-serif;
4750
+ font-style: normal;
4751
+ font-weight: 400;
4752
+ font-size: 13px;
4753
+ line-height: 15px;
4754
+ color: #0e2238;
4755
+ }
4756
+ .md3 .cc-terms-dot {
4757
+ display: inline-block;
4758
+ margin: 0 2px;
4759
+ color: #5b6b7f;
4760
+ font-size: 20px;
4761
+ line-height: 0;
4762
+ vertical-align: -2px;
4763
+ }
4764
+ .md3 .cc-terms-link {
4765
+ border: 0;
4766
+ background: none;
4767
+ padding: 0;
4768
+ margin: 0;
4769
+ font-family: Arial, Helvetica, sans-serif;
4770
+ font-style: normal;
4771
+ font-weight: 400;
4772
+ font-size: 13px;
4773
+ line-height: 15px;
4774
+ letter-spacing: -0.03em;
4775
+ color: #0e2238;
4776
+ cursor: pointer;
4777
+ }
4351
4778
  /* card CTA row (Angebot anfragen / phone / Rate anpassen) — the shared .mbtn padding (0 24px)
4352
4779
  and 14px font were sized for full-width VDP buttons; at a ~330-360px card/column width three
4353
4780
  buttons with real text at that size overflow their flex share. Scoped-down here only. */
@@ -4632,6 +5059,14 @@ line-height: 31px;
4632
5059
  gap: 12px;
4633
5060
  flex-wrap: wrap;
4634
5061
  }
5062
+ /* "Persönliche Beratung. Wir sind für Sie da!" — mobile .fin-info, icon + one line. */
5063
+ .md3 .fin-info-line {
5064
+ font-family: Arial, Helvetica, sans-serif;
5065
+ font-weight: 400;
5066
+ font-size: 14px;
5067
+ line-height: 16px;
5068
+ color: #0e2238;
5069
+ }
4635
5070
  .md3 .fin-id {
4636
5071
  font-size: 12px;
4637
5072
  color: var(--md-on-surface-variant);
@@ -6073,7 +6508,7 @@ line-height: 31px;
6073
6508
  (14px) than the 14/24px desktop default set inline. */
6074
6509
  @media (max-width: 600px) {
6075
6510
  .md3 .vdp-main {
6076
- padding: 10px 14px 48px !important;
6511
+ padding: 0 14px 48px !important;
6077
6512
  }
6078
6513
  .md3 .vdp-push-badges {
6079
6514
  gap: 6px;
@@ -6124,7 +6559,7 @@ background: ;
6124
6559
  */
6125
6560
 
6126
6561
  .md3 .push-badge--save {
6127
- background: rgba(17, 110, 57, 0.2);
6562
+ background: color-mix(in srgb, #116e39 20%, white);
6128
6563
  color: #116e39;
6129
6564
  border: 1px solid rgba(17, 110, 57, 0.05);
6130
6565
  font-family: Arial, Helvetica, sans-serif;
@@ -6138,7 +6573,7 @@ background: ;
6138
6573
  color: #116e39;
6139
6574
  }
6140
6575
  .md3 .push-badge--discount {
6141
- background: rgba(217, 45, 32, 0.2);
6576
+ background: color-mix(in srgb, #d92d20 20%, white);
6142
6577
  border: 1px solid rgba(217, 45, 32, 0.05);
6143
6578
  color: #D92D20;
6144
6579
  font-weight: 700;
@@ -6149,7 +6584,7 @@ background: ;
6149
6584
  font-weight: 700;
6150
6585
  font-size: 13px;
6151
6586
  line-height: 15px;
6152
- background: rgba(0, 92, 255, 0.2);
6587
+ background: color-mix(in srgb, #005cff 20%, white);
6153
6588
  border: 1px solid rgba(0, 92, 255, 0.05);
6154
6589
  border-radius: 15px;
6155
6590
  color: #005CFF;
@@ -6157,7 +6592,7 @@ color: #005CFF;
6157
6592
  /* NEU badge, as the trailing pill inside the vdp-push-badges row (VDP mobile mockup) —
6158
6593
  scoped override, the base .neu-badge above still serves the car-card usage. */
6159
6594
  .md3 .vdp-push-badges .neu-badge {
6160
- background: rgba(255, 184, 0, 0.2);
6595
+ background: color-mix(in srgb, #ffb800 20%, white);
6161
6596
  border: 1px solid rgba(255, 184, 0, 0.05);
6162
6597
  border-radius: 15px;
6163
6598
  font-weight: 700;
@@ -6286,34 +6721,6 @@ color: #005CFF;
6286
6721
  gap: 0;
6287
6722
  justify-content: flex-start;
6288
6723
  }
6289
- .md3 .fin-info-main {
6290
- flex: 0 0 53% !important;
6291
- width: 53%;
6292
- padding-left: 21px;
6293
- box-sizing: border-box;
6294
- }
6295
- .md3 .fin-info-details-btn {
6296
- flex: 0 0 37%;
6297
- width: 30%;
6298
- box-sizing: border-box;
6299
- }
6300
- .md3 .fin-info-sub {
6301
- font-family: Arial, Helvetica, sans-serif;
6302
- font-style: normal;
6303
- font-weight: 400;
6304
- font-size: 12px;
6305
- line-height: 14px;
6306
- color: #111820;
6307
- }
6308
- .md3 .fin-info-details-label {
6309
- font-family: Arial, Helvetica, sans-serif;
6310
- font-style: normal;
6311
- font-weight: 400;
6312
- font-size: 10px;
6313
- line-height: 16px;
6314
- color: #111820;
6315
- width: 69px;
6316
- }
6317
6724
  .md3 .fin-adjust-btn-label {
6318
6725
  font-family: Arial, Helvetica, sans-serif;
6319
6726
  font-style: normal;
@@ -7316,6 +7723,24 @@ color: #005CFF;
7316
7723
  line-height: 58px !important;
7317
7724
  color: #005cff !important;
7318
7725
  }
7726
+ /* mobile Kaufen UVP-strike text (.pp-hero-old, shared with CarCard) also carries .num for its
7727
+ tabular-nums digits, so the 65px blue hero rule above would otherwise win via !important —
7728
+ repeat with !important here, same technique as .fin-rate-cash-mobile below. */
7729
+ .md3 .fin-rate-main .num.pp-hero-old {
7730
+ font-family: Arial, Helvetica, sans-serif !important;
7731
+ font-weight: 400 !important;
7732
+ font-size: 17px !important;
7733
+ line-height: 20px !important;
7734
+ color: #0e2238 !important;
7735
+ }
7736
+ .md3 .fin-rate-main .num.pp-hero-old.pp-hero-old--len4 {
7737
+ font-size: 13px !important;
7738
+ line-height: 17px !important;
7739
+ }
7740
+ .md3 .fin-rate-main .num.pp-hero-old.pp-hero-old--len5 {
7741
+ font-size: 14px !important;
7742
+ line-height: 16px !important;
7743
+ }
7319
7744
  /* Kaufen/Barzahlung tab hero price (mobile) — same family/weight/line-height/color as
7320
7745
  the shared .num rule above, just a smaller size for this specific instance. */
7321
7746
  .md3 .fin-rate-main .num.fin-rate-cash-mobile {
@@ -7362,14 +7787,6 @@ color: #005CFF;
7362
7787
  .md3 .fin-rate-main .fin-rate-hero.fin-rate-hero--len6 {
7363
7788
  font-size: 36px !important;
7364
7789
  }
7365
- /* "Finanzierung & Leasing möglich" note (mobile) */
7366
- .md3 .fin-financing-leasing-note {
7367
- font-family: Arial, Helvetica, sans-serif !important;
7368
- font-weight: 400 !important;
7369
- font-size: 10px !important;
7370
- line-height: 16px !important;
7371
- color: #111820 !important;
7372
- }
7373
7790
  /* the struck old figure must NOT inherit the new hero rate styling (font, weight,
7374
7791
  color, line-height) — only the hero .num itself gets the 65px treatment */
7375
7792
  .md3 .fin-rate-main .fin-rate-old {
@@ -7536,6 +7953,16 @@ color: #005CFF;
7536
7953
  color: #111820;
7537
7954
  margin-bottom: 12px;
7538
7955
  }
7956
+ /* "Finanzierungsdetails"/"Leasing-Details" reads as a link here (unlike CarCard's quiet
7957
+ .cc-terms-link, which stays text-colored on purpose) — underlined. */
7958
+ .md3 .fin-cond .cc-terms-link {
7959
+ font-family: Arial, Helvetica, sans-serif;
7960
+ font-weight: 400;
7961
+ font-size: 13px;
7962
+ line-height: 15px;
7963
+ color: #0e2238;
7964
+ text-decoration: underline;
7965
+ }
7539
7966
  .md3 .fin-rate-main > div {
7540
7967
  flex-wrap: wrap;
7541
7968
  }
@@ -9258,3 +9685,82 @@ color: #005CFF;
9258
9685
  grid-template-columns: repeat(4, 1fr);
9259
9686
  }
9260
9687
  }
9688
+
9689
+ /* ==========================================================================
9690
+ CarCard (libs/packages/fe-ui-core-autobahn/cards/CarCard.tsx) — the grid
9691
+ card reused on VDP's "Ähnliche Fahrzeuge" section (VehicleDetailedNextPage
9692
+ .vdp-similar / .cards-3) — desktop-only pixel-match to Figma "Component |
9693
+ Car Card | Desktop", file 2U6FNIz6STpwSBoqvLIKRV:
9694
+ - Finanzierung tab active → node 245:752
9695
+ - Leasing tab active → node 318:1366
9696
+ - Kaufen tab active → node 331:1891
9697
+ Confirmed with the user: only the price/rating block actually changes with
9698
+ the active tab — the image treatment/gallery-nav differences between the
9699
+ 3 frames are just 3 different demo cars' own data, not a tab-driven
9700
+ restyle, so those are intentionally left alone here.
9701
+ Mobile AND tablet are untouched: `.cards-3` itself drops to 2 columns at
9702
+ <=1024px (existing rule above), so "desktop" here starts at 1025px — every
9703
+ rule below is inside that query, and every selector requires
9704
+ `.cc-card`/`.cc-price` so nothing here can leak into any other
9705
+ `.mcard`/`.statchip`/`.neu-badge`/etc. usage elsewhere on the site.
9706
+ ========================================================================== */
9707
+ @media (min-width: 1025px) {
9708
+ /* card shell: 18px corners, #d4dde7 border, resting elevation (Figma shows this shadow at
9709
+ rest, not just on hover — the existing .mcard--interactive:hover elevation is untouched). */
9710
+ .md3 .cc-card {
9711
+ border-radius: 18px;
9712
+ border-color: #d4dde7;
9713
+ box-shadow: 0px 3px 14px 0px rgba(14, 34, 56, 0.09);
9714
+ }
9715
+
9716
+ /* favorite heart + top-left badge stack position (Figma: heart top15/right11 of a 362-wide
9717
+ card; badge stack starts top15, row gap 8 between the chip row and the Angebot badge). */
9718
+ .md3 .cc-card .cc-fav {
9719
+ top: 15px !important;
9720
+ right: 11px !important;
9721
+ }
9722
+ .md3 .cc-card .cc-badges {
9723
+ top: 15px !important;
9724
+ }
9725
+
9726
+ /* hero price — Figma's rate figure (Finanzierung/Leasing) is much larger than the shared
9727
+ .cc-price sizing; the flat purchase price (Kaufen, .pp-hero--buy) stays smaller since real
9728
+ purchase prices run 5-6 digits and would overflow the card at the rate-sized figure. */
9729
+ .md3 .cc-price .pp-hero--buy .pp-hero-val {
9730
+ font-family: Arial, Helvetica, sans-serif;
9731
+ font-weight: 700;
9732
+ font-size: 52px;
9733
+ line-height: 58px;
9734
+ color: #005cff;
9735
+ }
9736
+ /* 6-digit purchase price (e.g. 113.249 €) shrinks further so it still fits. */
9737
+ .md3 .cc-price .pp-hero--buy .pp-hero-val.pp-hero-val--buy-len6 {
9738
+ font-size: 48px;
9739
+ line-height: 54px;
9740
+ }
9741
+ /* 7-digit purchase price (e.g. 1.553.249 €) shrinks even further. */
9742
+ .md3 .cc-price .pp-hero--buy .pp-hero-val.pp-hero-val--buy-len7 {
9743
+ font-size: 43px;
9744
+ line-height: 47px;
9745
+ }
9746
+
9747
+ /* Finanzierung/Leasing/Kaufen tabs — Figma: only the ACTIVE tab is bold + Deep Navy #0e2238
9748
+ inactive text (the shared .fin-tab rule bolds both and uses #111820, since the VDP
9749
+ finance-calculator tabs it's shared with want both bold there); base divider and active
9750
+ underline are literal Figma tokens (#d4dde7 divider, #005cff underline with 2px-rounded
9751
+ ends), not the site-wide --md-outline-variant/--md-primary shades. */
9752
+ .md3 .cc-price .fin-tabs {
9753
+ border-bottom-color: #d4dde7;
9754
+ }
9755
+ .md3 .cc-price .fin-tab {
9756
+ font-weight: 400;
9757
+ color: #0e2238;
9758
+ }
9759
+ .md3 .cc-price .fin-tab.on {
9760
+ font-weight: 700;
9761
+ color: #005cff;
9762
+ border-bottom-width: 3px;
9763
+ border-bottom-left-radius: 2px;
9764
+ border-bottom-right-radius: 2px;
9765
+ }
9766
+ }