@bytebrand/fe-ui-core-autobahn 1.0.154 → 1.0.155
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/package.json +1 -1
- package/theme/md3.css +513 -168
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bytebrand/fe-ui-core-autobahn",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.155",
|
|
4
4
|
"description": "auto.de md3 (Autobahn) design system — UI primitives, cards, chrome, VDP modules, theme CSS and locales. Ships raw TypeScript source (like fe-ui-core before it); each consumer's bundler compiles it.",
|
|
5
5
|
"main": "index.ts",
|
|
6
6
|
"license": "UNLICENSED",
|
package/theme/md3.css
CHANGED
|
@@ -1657,6 +1657,7 @@ line-height: 31px;
|
|
|
1657
1657
|
font-size: 11px;
|
|
1658
1658
|
line-height: 150%;
|
|
1659
1659
|
color: #5B6B7F;
|
|
1660
|
+
text-align: justify;
|
|
1660
1661
|
}
|
|
1661
1662
|
.md3 .co-footer-inner p b {
|
|
1662
1663
|
font-weight: 700;
|
|
@@ -2404,7 +2405,7 @@ line-height: 31px;
|
|
|
2404
2405
|
.md3 .co-form {
|
|
2405
2406
|
display: flex;
|
|
2406
2407
|
flex-direction: column;
|
|
2407
|
-
gap:
|
|
2408
|
+
gap: 20px;
|
|
2408
2409
|
padding-bottom: 20px;
|
|
2409
2410
|
border-bottom: 1px solid #C5C6D2;
|
|
2410
2411
|
}
|
|
@@ -2422,10 +2423,19 @@ line-height: 31px;
|
|
|
2422
2423
|
.md3 .co-form.co-form--payment-details {
|
|
2423
2424
|
border-bottom: 0;
|
|
2424
2425
|
}
|
|
2425
|
-
/* order-overview step only — same reasoning, see OrderOverviewNext.tsx's "co-form oo-page".
|
|
2426
|
+
/* order-overview step only — same reasoning, see OrderOverviewNext.tsx's "co-form oo-page".
|
|
2427
|
+
gap also overridden to the shared ≤600px value (14px) at ALL widths, desktop included, per
|
|
2428
|
+
explicit request — the base .co-form's 20px (every other checkout step, except
|
|
2429
|
+
additional-services below) is untouched. */
|
|
2426
2430
|
.md3 .co-form.oo-page {
|
|
2431
|
+
gap: 14px;
|
|
2427
2432
|
border-bottom: 0;
|
|
2428
2433
|
}
|
|
2434
|
+
/* additional-services step only — see AdditionalServicesNext.tsx's "co-form co-form--additional-
|
|
2435
|
+
services". Same reasoning/value as .oo-page above, desktop included, per explicit request. */
|
|
2436
|
+
.md3 .co-form.co-form--additional-services {
|
|
2437
|
+
gap: 14px;
|
|
2438
|
+
}
|
|
2429
2439
|
.md3 .co-step-title {
|
|
2430
2440
|
font: 700 22px var(--md-font-display, var(--md-font));
|
|
2431
2441
|
margin: 0;
|
|
@@ -4667,79 +4677,189 @@ line-height: 31px;
|
|
|
4667
4677
|
border-left: 0 !important;
|
|
4668
4678
|
}
|
|
4669
4679
|
}
|
|
4670
|
-
/* "5. Monatlich zu zahlen" / "5. Gesamtpreis" (Figma
|
|
4671
|
-
|
|
4672
|
-
|
|
4673
|
-
|
|
4674
|
-
|
|
4675
|
-
|
|
4676
|
-
(
|
|
4677
|
-
.md3 .oo-
|
|
4678
|
-
|
|
4679
|
-
|
|
4680
|
-
|
|
4681
|
-
|
|
4680
|
+
/* "5. Monatlich zu zahlen" / "5. Gesamtpreis" (Figma: Finanzierung 64763:107263, Leasing
|
|
4681
|
+
64794:110315, Kaufen 64794:109673) — own "oo-pay-*" namespace, NOT the shared
|
|
4682
|
+
.cf-rate-row/.fin-eval-* classes CheckoutFinancePanelNext.tsx (step 3) uses: that component
|
|
4683
|
+
still renders the OLDER rate-hero pattern, and this card's Figma ("auto.de / Price Block") is
|
|
4684
|
+
a newer, differently-proportioned design (54px/38px amounts, different UVP layout) — reusing
|
|
4685
|
+
the old shared classes here would either look wrong or risk step 3 regressions if tweaked to
|
|
4686
|
+
fit. EvalBar is still the shared component (only the pill/bar's own wrapper sizing is new). */
|
|
4687
|
+
.md3 .oo-pay-rate {
|
|
4688
|
+
display: flex;
|
|
4689
|
+
flex-direction: column;
|
|
4690
|
+
gap: 6px;
|
|
4691
|
+
width: 100%;
|
|
4692
|
+
}
|
|
4693
|
+
/* Mobile-only condensed line under the price block (Figma: 63571:28425 financing / 64794:110041
|
|
4694
|
+
leasing) — see .show-mobile below for the display toggle. */
|
|
4695
|
+
.md3 .oo-pay-mobile-summary {
|
|
4682
4696
|
margin: 0;
|
|
4697
|
+
font-family: Arimo, Arial, sans-serif;
|
|
4698
|
+
font-size: 13px;
|
|
4699
|
+
color: #0E2238;
|
|
4700
|
+
width: 100%;
|
|
4683
4701
|
}
|
|
4684
|
-
.md3 .oo-
|
|
4702
|
+
.md3 .oo-pay-price-row {
|
|
4685
4703
|
display: flex;
|
|
4686
4704
|
align-items: center;
|
|
4687
4705
|
justify-content: space-between;
|
|
4688
4706
|
gap: 16px;
|
|
4689
4707
|
width: 100%;
|
|
4690
4708
|
}
|
|
4691
|
-
|
|
4692
|
-
|
|
4693
|
-
|
|
4709
|
+
.md3 .oo-pay-left {
|
|
4710
|
+
display: flex;
|
|
4711
|
+
align-items: center;
|
|
4712
|
+
gap: 8px;
|
|
4713
|
+
flex: 1 0 0;
|
|
4714
|
+
min-width: 0;
|
|
4715
|
+
}
|
|
4716
|
+
.md3 .oo-pay-amount {
|
|
4717
|
+
font-family: Arimo, Arial, sans-serif;
|
|
4718
|
+
font-weight: 700;
|
|
4719
|
+
font-size: 54px;
|
|
4720
|
+
line-height: 58px;
|
|
4721
|
+
color: #005CFF;
|
|
4722
|
+
white-space: nowrap;
|
|
4723
|
+
}
|
|
4724
|
+
.md3 .oo-pay-secondary {
|
|
4694
4725
|
display: flex;
|
|
4695
4726
|
flex-direction: column;
|
|
4696
|
-
align-items: flex-end;
|
|
4697
4727
|
gap: 2px;
|
|
4728
|
+
align-items: flex-start;
|
|
4698
4729
|
}
|
|
4699
|
-
.md3 .oo-
|
|
4730
|
+
.md3 .oo-pay-uvp-row {
|
|
4700
4731
|
display: flex;
|
|
4701
4732
|
align-items: center;
|
|
4702
|
-
gap:
|
|
4733
|
+
gap: 3px;
|
|
4703
4734
|
}
|
|
4704
|
-
.md3 .oo-
|
|
4705
|
-
font-family: Arial;
|
|
4735
|
+
.md3 .oo-pay-uvp-label {
|
|
4736
|
+
font-family: Arimo, Arial, sans-serif;
|
|
4737
|
+
font-size: 11px;
|
|
4738
|
+
color: #0E2238;
|
|
4739
|
+
white-space: nowrap;
|
|
4740
|
+
}
|
|
4741
|
+
/* Buy's own "UVP" label (17.14px, no footnote circle immediately after it — the circle sits
|
|
4742
|
+
after the struck amount instead) — kept separate from .oo-pay-uvp-label (11px, financing/
|
|
4743
|
+
leasing) since the two aren't the same text node in Figma. */
|
|
4744
|
+
.md3 .oo-pay-buy-uvp-label {
|
|
4745
|
+
font-family: Arimo, Arial, sans-serif;
|
|
4706
4746
|
font-size: 17px;
|
|
4707
|
-
line-height: normal;
|
|
4708
|
-
/* Figma's "text-primary" token (#0e2238) — NOT var(--md-on-surface)/"text/strong" (#1a1b22),
|
|
4709
|
-
same distinction as .oo-mzz-cond below; matches the literal #0E2238 already hardcoded on
|
|
4710
|
-
.cf-rate-old/.co-card-title/.cf-panel .co-aside-cond elsewhere in this file. */
|
|
4711
4747
|
color: #0E2238;
|
|
4748
|
+
white-space: nowrap;
|
|
4712
4749
|
}
|
|
4713
|
-
.md3 .oo-
|
|
4714
|
-
|
|
4715
|
-
|
|
4716
|
-
|
|
4717
|
-
|
|
4750
|
+
.md3 .oo-pay-footnote {
|
|
4751
|
+
display: flex;
|
|
4752
|
+
align-items: center;
|
|
4753
|
+
justify-content: center;
|
|
4754
|
+
flex: none;
|
|
4755
|
+
width: 13px;
|
|
4756
|
+
height: 13px;
|
|
4757
|
+
border-radius: 999px;
|
|
4758
|
+
border: 1px solid #005CFF;
|
|
4759
|
+
background: #FFFFFF;
|
|
4760
|
+
font-family: Arimo, Arial, sans-serif;
|
|
4761
|
+
font-size: 7px;
|
|
4718
4762
|
color: #005CFF;
|
|
4719
4763
|
}
|
|
4720
|
-
|
|
4721
|
-
|
|
4764
|
+
/* Buy's "①" next to the big price — plain text, no circle (Figma: no border/background on that
|
|
4765
|
+
node, unlike .oo-pay-footnote's "②"/"③"). */
|
|
4766
|
+
.md3 .oo-pay-footnote-plain {
|
|
4767
|
+
font-family: Arimo, Arial, sans-serif;
|
|
4768
|
+
font-size: 9px;
|
|
4769
|
+
color: #005CFF;
|
|
4722
4770
|
}
|
|
4723
|
-
/*
|
|
4724
|
-
|
|
4725
|
-
|
|
4726
|
-
|
|
4727
|
-
|
|
4728
|
-
|
|
4729
|
-
|
|
4771
|
+
/* Struck UVP amount — same mechanism as the shared .cf-rate-old::after (red bar, -10deg), kept
|
|
4772
|
+
as its own rule since .cf-rate-old itself is step 3's shared class (see file header above). */
|
|
4773
|
+
.md3 .oo-pay-uvp-amount {
|
|
4774
|
+
position: relative;
|
|
4775
|
+
display: inline-block;
|
|
4776
|
+
font-family: Arimo, Arial, sans-serif;
|
|
4777
|
+
font-size: 20px;
|
|
4778
|
+
color: #0E2238;
|
|
4779
|
+
white-space: nowrap;
|
|
4780
|
+
}
|
|
4781
|
+
.md3 .oo-pay-uvp-amount::after {
|
|
4782
|
+
content: '';
|
|
4783
|
+
position: absolute;
|
|
4784
|
+
left: -2px;
|
|
4785
|
+
right: -2px;
|
|
4786
|
+
top: 50%;
|
|
4787
|
+
height: 2px;
|
|
4788
|
+
background: #D92D20;
|
|
4789
|
+
transform: rotate(-10deg);
|
|
4790
|
+
transform-origin: center;
|
|
4791
|
+
}
|
|
4792
|
+
.md3 .oo-pay-unit {
|
|
4793
|
+
font-family: Arimo, Arial, sans-serif;
|
|
4794
|
+
font-weight: 700;
|
|
4795
|
+
font-size: 18px;
|
|
4796
|
+
color: #5B6B7F;
|
|
4730
4797
|
}
|
|
4731
|
-
.md3 .oo-
|
|
4798
|
+
.md3 .oo-pay-rating-col {
|
|
4799
|
+
display: flex;
|
|
4800
|
+
flex-direction: column;
|
|
4801
|
+
align-items: center;
|
|
4802
|
+
gap: 8px;
|
|
4803
|
+
flex: none;
|
|
4732
4804
|
width: 120px;
|
|
4733
4805
|
}
|
|
4734
|
-
|
|
4735
|
-
|
|
4736
|
-
|
|
4806
|
+
/* Buy's price block uses its own 108px rating column (Figma: 64794:109673 desktop and 64833:89153
|
|
4807
|
+
mobile both specify 108px, not 120px) — same value at both breakpoints, unlike Financing/
|
|
4808
|
+
Leasing's column which only changes WIDTH BEHAVIOUR (fixed → flexible) on mobile, not this
|
|
4809
|
+
number, so this rule isn't itself inside a media query. */
|
|
4810
|
+
.md3 .oo-pay-rating-col--buy {
|
|
4811
|
+
width: 108px;
|
|
4812
|
+
}
|
|
4813
|
+
.md3 .oo-pay-rating-badge {
|
|
4814
|
+
display: flex;
|
|
4815
|
+
align-items: center;
|
|
4816
|
+
justify-content: center;
|
|
4817
|
+
width: 100%;
|
|
4818
|
+
padding: 5px 10px;
|
|
4819
|
+
border-radius: 16px;
|
|
4820
|
+
box-sizing: border-box;
|
|
4821
|
+
font-family: Arimo, Arial, sans-serif;
|
|
4822
|
+
font-weight: 700;
|
|
4823
|
+
font-size: 12px;
|
|
4824
|
+
line-height: 18px;
|
|
4825
|
+
white-space: nowrap;
|
|
4826
|
+
}
|
|
4827
|
+
.md3 .oo-pay-rating-bar {
|
|
4828
|
+
width: 100%;
|
|
4829
|
+
}
|
|
4830
|
+
/* Buy's price block — right-aligned column (UVP above, big price below), unlike Financing/
|
|
4831
|
+
Leasing's side-by-side .oo-pay-left/.oo-pay-secondary. */
|
|
4832
|
+
.md3 .oo-pay-buy-price-col {
|
|
4833
|
+
display: flex;
|
|
4834
|
+
flex-direction: column;
|
|
4835
|
+
align-items: flex-end;
|
|
4836
|
+
gap: 2px;
|
|
4837
|
+
}
|
|
4838
|
+
.md3 .oo-pay-buy-uvp-row {
|
|
4839
|
+
display: flex;
|
|
4840
|
+
align-items: center;
|
|
4841
|
+
gap: 2px;
|
|
4842
|
+
}
|
|
4843
|
+
.md3 .oo-pay-buy-leftgroup {
|
|
4844
|
+
display: flex;
|
|
4845
|
+
align-items: flex-start;
|
|
4846
|
+
gap: 2px;
|
|
4847
|
+
}
|
|
4848
|
+
.md3 .oo-pay-buy-amount {
|
|
4849
|
+
font-family: Arimo, Arial, sans-serif;
|
|
4850
|
+
font-weight: 700;
|
|
4851
|
+
font-size: 38px;
|
|
4852
|
+
line-height: 52px;
|
|
4853
|
+
color: #005CFF;
|
|
4854
|
+
white-space: nowrap;
|
|
4855
|
+
}
|
|
4856
|
+
.md3 .oo-pay-cond {
|
|
4857
|
+
margin: 0;
|
|
4858
|
+
font-family: Arimo, Arial, sans-serif;
|
|
4737
4859
|
font-size: 13px;
|
|
4738
|
-
line-height: normal;
|
|
4739
|
-
/* Figma's "text-primary" (#0e2238), not "text/strong" — see .oo-mzz-uvp-label above. */
|
|
4740
4860
|
color: #0E2238;
|
|
4741
4861
|
}
|
|
4742
|
-
.md3 .oo-
|
|
4862
|
+
.md3 .oo-pay-cond-link {
|
|
4743
4863
|
background: none;
|
|
4744
4864
|
border: 0;
|
|
4745
4865
|
padding: 0;
|
|
@@ -4749,137 +4869,296 @@ line-height: 31px;
|
|
|
4749
4869
|
text-decoration: underline;
|
|
4750
4870
|
cursor: pointer;
|
|
4751
4871
|
}
|
|
4752
|
-
.md3 .oo-
|
|
4872
|
+
.md3 .oo-pay-row {
|
|
4753
4873
|
display: flex;
|
|
4754
4874
|
align-items: flex-start;
|
|
4755
4875
|
width: 100%;
|
|
4756
|
-
margin-top: 12px;
|
|
4757
4876
|
}
|
|
4758
|
-
|
|
4759
|
-
.md3 .oo-mzz-buy-list {
|
|
4877
|
+
.md3 .oo-pay-col-left {
|
|
4760
4878
|
display: flex;
|
|
4761
4879
|
flex-direction: column;
|
|
4762
4880
|
gap: 8px;
|
|
4763
|
-
|
|
4764
|
-
|
|
4765
|
-
padding-
|
|
4766
|
-
border-top: 1px solid var(--md-outline-variant);
|
|
4881
|
+
flex: none;
|
|
4882
|
+
width: 266px;
|
|
4883
|
+
padding-right: 20px;
|
|
4767
4884
|
box-sizing: border-box;
|
|
4885
|
+
font-family: Arimo, Arial, sans-serif;
|
|
4886
|
+
font-size: 14px;
|
|
4887
|
+
line-height: 1.4;
|
|
4768
4888
|
}
|
|
4769
|
-
.md3 .oo-
|
|
4889
|
+
.md3 .oo-pay-col-right {
|
|
4770
4890
|
display: flex;
|
|
4771
4891
|
flex-direction: column;
|
|
4892
|
+
gap: 10px;
|
|
4772
4893
|
flex: 1 0 0;
|
|
4773
4894
|
min-width: 0;
|
|
4895
|
+
padding-left: 20px;
|
|
4896
|
+
box-sizing: border-box;
|
|
4897
|
+
font-family: Arimo, Arial, sans-serif;
|
|
4898
|
+
font-size: 14px;
|
|
4899
|
+
line-height: 1.4;
|
|
4774
4900
|
}
|
|
4775
|
-
.md3 .oo-
|
|
4776
|
-
gap: 8px;
|
|
4777
|
-
padding-right: 24px;
|
|
4778
|
-
}
|
|
4779
|
-
.md3 .oo-mzz-kv-col--right {
|
|
4780
|
-
gap: 10px;
|
|
4781
|
-
padding-left: 24px;
|
|
4782
|
-
}
|
|
4783
|
-
.md3 .oo-mzz-kv-rule {
|
|
4901
|
+
.md3 .oo-pay-divider {
|
|
4784
4902
|
flex: none;
|
|
4785
4903
|
align-self: stretch;
|
|
4786
4904
|
width: 1px;
|
|
4787
|
-
background:
|
|
4905
|
+
background: #C5C6D2;
|
|
4788
4906
|
}
|
|
4789
|
-
.md3 .oo-
|
|
4907
|
+
.md3 .oo-pay-kv-row {
|
|
4790
4908
|
display: flex;
|
|
4791
4909
|
align-items: baseline;
|
|
4792
|
-
|
|
4793
|
-
gap: 12px;
|
|
4910
|
+
gap: 8px;
|
|
4794
4911
|
width: 100%;
|
|
4795
|
-
font-family: Arial;
|
|
4796
|
-
font-size: 14px;
|
|
4797
|
-
line-height: 1.4;
|
|
4798
4912
|
}
|
|
4799
|
-
.
|
|
4913
|
+
/* Left column: short fixed label, value fills/right-aligns. Right column: label fills/wraps,
|
|
4914
|
+
value stays fixed — same inversion Figma itself uses between the two columns. */
|
|
4915
|
+
.md3 .oo-pay-kv-row--left .oo-pay-kv-label {
|
|
4916
|
+
flex: none;
|
|
4917
|
+
white-space: nowrap;
|
|
4918
|
+
}
|
|
4919
|
+
.md3 .oo-pay-kv-row--left .oo-pay-kv-value {
|
|
4800
4920
|
flex: 1 0 0;
|
|
4801
4921
|
min-width: 0;
|
|
4802
|
-
|
|
4922
|
+
text-align: right;
|
|
4923
|
+
}
|
|
4924
|
+
.md3 .oo-pay-kv-row--right {
|
|
4925
|
+
gap: 12px;
|
|
4926
|
+
align-items: center;
|
|
4927
|
+
}
|
|
4928
|
+
.md3 .oo-pay-kv-row--right .oo-pay-kv-label {
|
|
4929
|
+
flex: 1 0 0;
|
|
4930
|
+
min-width: 0;
|
|
4931
|
+
display: flex;
|
|
4932
|
+
align-items: center;
|
|
4933
|
+
gap: 8px;
|
|
4803
4934
|
}
|
|
4804
|
-
.md3 .oo-
|
|
4935
|
+
.md3 .oo-pay-kv-row--right .oo-pay-kv-value {
|
|
4936
|
+
flex: none;
|
|
4937
|
+
text-align: right;
|
|
4938
|
+
}
|
|
4939
|
+
/* Icon rows (Anschluss-Garantie / Rundum-Sorglos) invert the Fahrzeugrate row's flex roles in
|
|
4940
|
+
Figma: there the LABEL is the fixed, non-wrapping element (shrink-0 whitespace-nowrap) and the
|
|
4941
|
+
VALUE flexes/right-aligns into the remaining space — not the other way around, which is what
|
|
4942
|
+
made the long "2 Jahre Anschluss-Garantie"/icon combination wrap onto a second line. */
|
|
4943
|
+
.md3 .oo-pay-kv-row--icon .oo-pay-kv-label {
|
|
4805
4944
|
flex: none;
|
|
4806
|
-
color: var(--md-on-surface);
|
|
4807
4945
|
white-space: nowrap;
|
|
4808
4946
|
}
|
|
4809
|
-
.md3 .oo-
|
|
4810
|
-
|
|
4811
|
-
|
|
4812
|
-
|
|
4947
|
+
.md3 .oo-pay-kv-row--icon .oo-pay-kv-value {
|
|
4948
|
+
flex: 1 0 0;
|
|
4949
|
+
min-width: 0;
|
|
4950
|
+
white-space: nowrap;
|
|
4951
|
+
}
|
|
4952
|
+
.md3 .oo-pay-kv-label {
|
|
4953
|
+
color: #44464F;
|
|
4954
|
+
}
|
|
4955
|
+
.md3 .oo-pay-kv-value {
|
|
4956
|
+
color: #1A1B22;
|
|
4957
|
+
}
|
|
4958
|
+
.md3 .oo-pay-info-icon {
|
|
4959
|
+
flex: none;
|
|
4960
|
+
}
|
|
4961
|
+
/* Same "open the Garantie explainer in a new tab" onClick behaviour as the Zulassung card's
|
|
4962
|
+
info trigger elsewhere in OrderOverviewNext.tsx — unstyled button wrapper so the icon keeps
|
|
4963
|
+
its inline position in the kv-label. */
|
|
4964
|
+
.md3 .oo-pay-info-trigger {
|
|
4965
|
+
display: inline-flex;
|
|
4966
|
+
align-items: center;
|
|
4967
|
+
justify-content: center;
|
|
4968
|
+
flex: none;
|
|
4969
|
+
width: 18px;
|
|
4970
|
+
height: 18px;
|
|
4971
|
+
background: none;
|
|
4972
|
+
border: 0;
|
|
4973
|
+
padding: 0;
|
|
4974
|
+
margin: 0;
|
|
4975
|
+
appearance: none;
|
|
4976
|
+
line-height: 0;
|
|
4977
|
+
cursor: pointer;
|
|
4813
4978
|
}
|
|
4814
|
-
.md3 .oo-
|
|
4979
|
+
.md3 .oo-pay-rule-h {
|
|
4815
4980
|
width: 100%;
|
|
4816
4981
|
height: 1px;
|
|
4817
4982
|
border: 0;
|
|
4818
4983
|
margin: 0;
|
|
4819
|
-
background:
|
|
4984
|
+
background: #C5C6D2;
|
|
4820
4985
|
}
|
|
4821
|
-
.md3 .oo-
|
|
4822
|
-
|
|
4823
|
-
|
|
4986
|
+
.md3 .oo-pay-total-row {
|
|
4987
|
+
display: flex;
|
|
4988
|
+
align-items: baseline;
|
|
4989
|
+
gap: 3px;
|
|
4990
|
+
width: 100%;
|
|
4991
|
+
font-family: Arimo, Arial, sans-serif;
|
|
4992
|
+
font-weight: 700;
|
|
4993
|
+
font-size: 14px;
|
|
4994
|
+
color: #1A1B22;
|
|
4995
|
+
}
|
|
4996
|
+
.md3 .oo-pay-total-row .oo-pay-kv-label {
|
|
4997
|
+
color: #1A1B22;
|
|
4998
|
+
}
|
|
4999
|
+
.md3 .oo-pay-total-row .oo-pay-kv-value {
|
|
5000
|
+
flex: 1 0 0;
|
|
5001
|
+
text-align: right;
|
|
5002
|
+
color: #1A1B22;
|
|
5003
|
+
}
|
|
5004
|
+
.md3 .oo-pay-vat-line {
|
|
5005
|
+
margin: 0;
|
|
5006
|
+
font-family: Arimo, Arial, sans-serif;
|
|
4824
5007
|
font-size: 13px;
|
|
5008
|
+
color: #44464F;
|
|
5009
|
+
width: 100%;
|
|
5010
|
+
}
|
|
5011
|
+
.md3 .oo-pay-kaufpreis {
|
|
5012
|
+
width: 100%;
|
|
5013
|
+
padding-bottom: 12px;
|
|
5014
|
+
border-bottom: 1px solid #AAB3BF;
|
|
5015
|
+
box-sizing: border-box;
|
|
5016
|
+
}
|
|
5017
|
+
.md3 .oo-pay-kaufpreis p {
|
|
5018
|
+
margin: 0;
|
|
5019
|
+
font-family: Arimo, Arial, sans-serif;
|
|
5020
|
+
font-size: 15px;
|
|
5021
|
+
line-height: 1.35;
|
|
5022
|
+
color: #0E2238;
|
|
5023
|
+
}
|
|
5024
|
+
/* Kaufen only — single list (no left/right KV split), Figma's own "list" node. */
|
|
5025
|
+
.md3 .oo-pay-buy-list {
|
|
5026
|
+
display: flex;
|
|
5027
|
+
flex-direction: column;
|
|
5028
|
+
gap: 8px;
|
|
5029
|
+
width: 100%;
|
|
5030
|
+
padding-top: 12px;
|
|
5031
|
+
border-top: 1px solid #C5C6D2;
|
|
5032
|
+
box-sizing: border-box;
|
|
5033
|
+
font-family: Arimo, Arial, sans-serif;
|
|
5034
|
+
font-size: 14px;
|
|
4825
5035
|
line-height: 1.4;
|
|
4826
|
-
color: var(--md-on-surface);
|
|
4827
5036
|
}
|
|
4828
|
-
.md3 .oo-
|
|
5037
|
+
.md3 .oo-pay-buy-row {
|
|
5038
|
+
display: flex;
|
|
5039
|
+
align-items: baseline;
|
|
5040
|
+
gap: 12px;
|
|
5041
|
+
width: 100%;
|
|
5042
|
+
}
|
|
5043
|
+
.md3 .oo-pay-buy-row--icon {
|
|
5044
|
+
align-items: center;
|
|
5045
|
+
}
|
|
5046
|
+
.md3 .oo-pay-buy-row .oo-pay-kv-label {
|
|
5047
|
+
flex: 1 0 0;
|
|
5048
|
+
min-width: 0;
|
|
5049
|
+
display: flex;
|
|
5050
|
+
align-items: center;
|
|
5051
|
+
gap: 8px;
|
|
5052
|
+
}
|
|
5053
|
+
.md3 .oo-pay-buy-row .oo-pay-kv-value {
|
|
5054
|
+
flex: none;
|
|
5055
|
+
text-align: right;
|
|
5056
|
+
}
|
|
5057
|
+
/* Same Figma inversion as .oo-pay-kv-row--icon above: icon rows fix the label and flex the value. */
|
|
5058
|
+
.md3 .oo-pay-buy-row--icon .oo-pay-kv-label {
|
|
5059
|
+
flex: none;
|
|
5060
|
+
white-space: nowrap;
|
|
5061
|
+
}
|
|
5062
|
+
.md3 .oo-pay-buy-row--icon .oo-pay-kv-value {
|
|
5063
|
+
flex: 1 0 0;
|
|
5064
|
+
min-width: 0;
|
|
5065
|
+
white-space: nowrap;
|
|
5066
|
+
}
|
|
5067
|
+
.md3 .oo-pay-buy-total {
|
|
5068
|
+
display: flex;
|
|
5069
|
+
align-items: baseline;
|
|
5070
|
+
gap: 12px;
|
|
5071
|
+
width: 100%;
|
|
5072
|
+
font-weight: 700;
|
|
5073
|
+
color: #1A1B22;
|
|
5074
|
+
}
|
|
5075
|
+
.md3 .oo-pay-buy-total .oo-pay-kv-label {
|
|
5076
|
+
flex: 1 0 0;
|
|
5077
|
+
color: #1A1B22;
|
|
5078
|
+
}
|
|
5079
|
+
.md3 .oo-pay-buy-total .oo-pay-kv-value {
|
|
5080
|
+
flex: none;
|
|
5081
|
+
color: #1A1B22;
|
|
5082
|
+
}
|
|
5083
|
+
.md3 .oo-pay-hinweis {
|
|
4829
5084
|
display: flex;
|
|
4830
5085
|
align-items: center;
|
|
4831
5086
|
gap: 10px;
|
|
4832
5087
|
width: 100%;
|
|
4833
|
-
margin-top: 12px;
|
|
4834
5088
|
padding: 12px 14px;
|
|
4835
5089
|
border-radius: 12px;
|
|
4836
5090
|
background: #F4F5FA;
|
|
4837
5091
|
box-sizing: border-box;
|
|
4838
5092
|
}
|
|
4839
|
-
.md3 .oo-
|
|
5093
|
+
.md3 .oo-pay-hinweis svg {
|
|
4840
5094
|
flex: none;
|
|
4841
5095
|
}
|
|
4842
|
-
.md3 .oo-
|
|
4843
|
-
flex: 1 0 0;
|
|
4844
|
-
min-width: 0;
|
|
4845
|
-
font-family: Arial;
|
|
4846
|
-
font-size: 13px;
|
|
4847
|
-
line-height: 1.4;
|
|
4848
|
-
color: var(--md-on-surface-variant);
|
|
4849
|
-
margin: 0;
|
|
4850
|
-
}
|
|
4851
|
-
.md3 .oo-mzz-hinweis-link {
|
|
5096
|
+
.md3 .oo-pay-hinweis-link {
|
|
4852
5097
|
flex: none;
|
|
4853
5098
|
background: none;
|
|
4854
5099
|
border: 0;
|
|
4855
5100
|
padding: 0;
|
|
4856
|
-
font-family: Arial;
|
|
5101
|
+
font-family: Arimo, Arial, sans-serif;
|
|
4857
5102
|
font-weight: 700;
|
|
4858
5103
|
font-size: 13px;
|
|
4859
|
-
|
|
4860
|
-
color: var(--md-primary);
|
|
5104
|
+
color: #005CFF;
|
|
4861
5105
|
cursor: pointer;
|
|
4862
5106
|
}
|
|
4863
|
-
.md3 .oo-
|
|
5107
|
+
.md3 .oo-pay-hinweis-link:hover {
|
|
4864
5108
|
text-decoration: underline;
|
|
4865
5109
|
}
|
|
4866
|
-
|
|
4867
|
-
|
|
4868
|
-
|
|
4869
|
-
|
|
4870
|
-
|
|
4871
|
-
|
|
4872
|
-
|
|
4873
|
-
|
|
4874
|
-
|
|
5110
|
+
/* Figma's "CK / Content" wrapper holds rate/row(-or-buy-list)/kaufpreis(-or-vat-line)/hinweis in
|
|
5111
|
+
a flex-col with gap:12px — .co-card itself isn't a flex container, so that inter-section gap
|
|
5112
|
+
has to be reproduced as margin-top on each section that can follow .oo-pay-rate. */
|
|
5113
|
+
.md3 .co-card > .oo-pay-row,
|
|
5114
|
+
.md3 .co-card > .oo-pay-buy-list,
|
|
5115
|
+
.md3 .co-card > .oo-pay-kaufpreis,
|
|
5116
|
+
.md3 .co-card > .oo-pay-vat-line,
|
|
5117
|
+
.md3 .co-card > .oo-pay-hinweis {
|
|
5118
|
+
margin-top: 12px;
|
|
5119
|
+
}
|
|
5120
|
+
/* Leasing only: "inkl. 19 % MwSt." is grouped with Monatliche Gesamtbelastung in its own
|
|
5121
|
+
gap-[12px] sub-wrapper in Figma, not the surrounding .oo-pay-col-right's gap:10px. */
|
|
5122
|
+
.md3 .oo-pay-col-right .oo-pay-vat-line {
|
|
5123
|
+
margin-top: 2px;
|
|
5124
|
+
}
|
|
5125
|
+
/* 600px to match the project-wide .show-mobile/.hide-mobile breakpoint (and the real Figma mobile
|
|
5126
|
+
frames: 63571:28425 financing / 64794:110041 leasing / 64833:89153 buy) — the earlier 800px
|
|
5127
|
+
generic-reflow rule guessed at a mobile layout before those frames existed; this replaces it. */
|
|
5128
|
+
@media (max-width: 600px) {
|
|
5129
|
+
/* Figma mobile swaps which side of the price row grows: the rating column flexes/shrinks and
|
|
5130
|
+
the price+UVP group stays at its natural width, the reverse of desktop's fixed 120px rating
|
|
5131
|
+
column + flexible price group. Buy's own price row (.oo-pay-buy-price-col/-leftgroup, 108px
|
|
5132
|
+
rating column) is unchanged between breakpoints, hence the :not() scope. */
|
|
5133
|
+
.md3 .oo-pay-left {
|
|
5134
|
+
flex: none;
|
|
4875
5135
|
}
|
|
4876
|
-
.md3 .oo-
|
|
4877
|
-
|
|
4878
|
-
|
|
5136
|
+
.md3 .oo-pay-rating-col:not(.oo-pay-rating-col--buy) {
|
|
5137
|
+
flex: 1 0 0;
|
|
5138
|
+
min-width: 0;
|
|
5139
|
+
width: auto;
|
|
4879
5140
|
}
|
|
4880
|
-
|
|
5141
|
+
/* The desktop two-column Laufzeit/Anzahlung/… | Fahrzeugrate/Garantie/RSP/… layout collapses
|
|
5142
|
+
into a single full-width list on mobile — col-left and the vertical divider disappear, and
|
|
5143
|
+
col-right (unchanged content, already exactly Figma's mobile "list") picks up the divider's
|
|
5144
|
+
old job as a border-top + padding-top instead of a padding-left. Figma's mobile "list" node
|
|
5145
|
+
also uses gap:8px row-to-row, not the desktop "rechts" column's gap:10px — same 8px buy's
|
|
5146
|
+
own (unchanged) list already uses. */
|
|
5147
|
+
.md3 .oo-pay-col-left,
|
|
5148
|
+
.md3 .oo-pay-divider {
|
|
4881
5149
|
display: none;
|
|
4882
5150
|
}
|
|
5151
|
+
.md3 .oo-pay-col-right {
|
|
5152
|
+
width: 100%;
|
|
5153
|
+
gap: 8px;
|
|
5154
|
+
padding-left: 0;
|
|
5155
|
+
padding-top: 12px;
|
|
5156
|
+
border-top: 1px solid #C5C6D2;
|
|
5157
|
+
box-sizing: border-box;
|
|
5158
|
+
}
|
|
5159
|
+
.md3 .oo-pay-hinweis {
|
|
5160
|
+
align-items: flex-start;
|
|
5161
|
+
}
|
|
4883
5162
|
}
|
|
4884
5163
|
.md3 .oo-car {
|
|
4885
5164
|
display: flex;
|
|
@@ -5056,11 +5335,15 @@ line-height: 31px;
|
|
|
5056
5335
|
muted gray as the body copy (var(--md-on-surface-variant) === Figma's var(--text/muted,
|
|
5057
5336
|
#44464f) fallback exactly), not the design system's usual blue link color (.oo-underline,
|
|
5058
5337
|
used elsewhere), so links here are styled with underline only. No border per explicit
|
|
5059
|
-
request. Sits
|
|
5060
|
-
|
|
5061
|
-
|
|
5338
|
+
request. Sits right after card 10, at the very bottom of the card stack (before .oo-next) on
|
|
5339
|
+
both desktop and mobile per explicit request — a spot this exact node isn't shown at in Figma
|
|
5340
|
+
(its own component description has it above the buy button instead). margin: 0 (not just
|
|
5341
|
+
margin-top) per explicit request — a bare <p> otherwise keeps the UA stylesheet's default
|
|
5342
|
+
margin-top AND margin-bottom (~1em each), which was still showing even after margin-top alone
|
|
5343
|
+
was removed. Spacing on every side now comes only from the parent .co-form.oo-page's own flex
|
|
5344
|
+
gap (14px), same as every other direct child in this step. */
|
|
5062
5345
|
.md3 .oo-legal-notice {
|
|
5063
|
-
margin
|
|
5346
|
+
margin: 0;
|
|
5064
5347
|
font-family: Arial;
|
|
5065
5348
|
font-size: 13px;
|
|
5066
5349
|
line-height: 1.5;
|
|
@@ -5079,7 +5362,6 @@ line-height: 31px;
|
|
|
5079
5362
|
display: flex;
|
|
5080
5363
|
align-items: center;
|
|
5081
5364
|
gap: 16px;
|
|
5082
|
-
margin-top: 24px;
|
|
5083
5365
|
padding-top: 18px;
|
|
5084
5366
|
border-top: 1px solid #C5C6D2;
|
|
5085
5367
|
}
|
|
@@ -5139,6 +5421,24 @@ line-height: 31px;
|
|
|
5139
5421
|
}
|
|
5140
5422
|
.md3 .oo-buy-btn {
|
|
5141
5423
|
width: 100%;
|
|
5424
|
+
height: 48px;
|
|
5425
|
+
font-size: 24px;
|
|
5426
|
+
}
|
|
5427
|
+
/* Figma 63492:4515 ("auto.de / Checkout CTA Bar") — mobile only, per explicit request: only
|
|
5428
|
+
the full-width buy button remains visible (Zurück/Schritt X already hidden above), so .oo-next
|
|
5429
|
+
itself becomes just that button's own white, padded shell instead of the desktop 3-up row.
|
|
5430
|
+
margin: 0 -23px breaks it out of .contentWrapper.nextLayout's own 23px mobile side padding
|
|
5431
|
+
(CheckoutPage.styl) for a true full-bleed white bar + top border — exact same technique/value
|
|
5432
|
+
already proven for .co-next's identical breakout a few hundred lines up in this file; that
|
|
5433
|
+
padding's parent (.contentContainer) already has overflow:visible at this width for exactly
|
|
5434
|
+
this purpose, so nothing else needs touching. */
|
|
5435
|
+
.md3 .oo-next {
|
|
5436
|
+
flex-direction: column;
|
|
5437
|
+
align-items: flex-start;
|
|
5438
|
+
margin: 0 -23px;
|
|
5439
|
+
gap: 8px;
|
|
5440
|
+
padding: 24px 16px;
|
|
5441
|
+
background: #FFFFFF;
|
|
5142
5442
|
}
|
|
5143
5443
|
}
|
|
5144
5444
|
@media (max-width: 800px) {
|
|
@@ -5151,9 +5451,13 @@ line-height: 31px;
|
|
|
5151
5451
|
800px the row collapses to 4 full-width stacked rows (adding "Hinweise zur Beschaffenheit"),
|
|
5152
5452
|
each divided by a horizontal rule instead — unlike .oo-ls-row's mobile stack, this card's own
|
|
5153
5453
|
Figma mobile variant keeps dividers between every row, so it can't reuse .oo-ls-cell as-is. */
|
|
5454
|
+
/* .oo-fb-notes is now a 4th (conditional) child of .oo-fb-row instead of a separate sibling —
|
|
5455
|
+
flex-wrap + its own flex-basis:100% drops it to its own full-width line on desktop, same as
|
|
5456
|
+
before; on mobile (below) the row becomes one plain stacked column so wrap no longer matters. */
|
|
5154
5457
|
.md3 .oo-fb-row {
|
|
5155
5458
|
display: flex;
|
|
5156
5459
|
align-items: flex-start;
|
|
5460
|
+
flex-wrap: wrap;
|
|
5157
5461
|
gap: 20px;
|
|
5158
5462
|
}
|
|
5159
5463
|
.md3 .oo-fb-cell {
|
|
@@ -5164,15 +5468,15 @@ line-height: 31px;
|
|
|
5164
5468
|
}
|
|
5165
5469
|
.md3 .oo-fb-row .oo-fb-cell {
|
|
5166
5470
|
flex: 1 0 0;
|
|
5167
|
-
padding: 0 20px;
|
|
5168
|
-
}
|
|
5169
|
-
.md3 .oo-fb-row .oo-fb-cell:first-child {
|
|
5170
|
-
padding-left: 0;
|
|
5171
5471
|
}
|
|
5172
|
-
|
|
5173
|
-
|
|
5174
|
-
|
|
5175
|
-
|
|
5472
|
+
/* Figma (64755:99667) has no padding on the cells themselves — the 41px total gap between two
|
|
5473
|
+
cells' content is the row's own 20px gap, a 1px divider, then another 20px gap, modelled here
|
|
5474
|
+
as a border-left (no extra divider element needed) plus 20px padding-left so the border doesn't
|
|
5475
|
+
sit flush against the next cell's icon. Padding on every cell (both sides) double-counted with
|
|
5476
|
+
the row gap and made the gap 61px instead of 41px. Excludes .oo-fb-notes — that one gets its own
|
|
5477
|
+
full-width/horizontal-divider treatment below, never this vertical one. */
|
|
5478
|
+
.md3 .oo-fb-row .oo-fb-cell:not(:first-child):not(.oo-fb-notes) {
|
|
5479
|
+
padding-left: 20px;
|
|
5176
5480
|
border-left: 1px solid var(--md-outline-variant);
|
|
5177
5481
|
}
|
|
5178
5482
|
.md3 .oo-fb-cell svg {
|
|
@@ -5202,20 +5506,37 @@ line-height: 31px;
|
|
|
5202
5506
|
color: var(--md-on-surface-variant);
|
|
5203
5507
|
overflow-wrap: break-word;
|
|
5204
5508
|
}
|
|
5205
|
-
.md3 .oo-fb-notes {
|
|
5509
|
+
.md3 .oo-fb-row .oo-fb-cell.oo-fb-notes {
|
|
5510
|
+
flex-basis: 100%;
|
|
5206
5511
|
width: 100%;
|
|
5207
5512
|
margin-top: 14px;
|
|
5208
5513
|
padding-top: 14px;
|
|
5209
5514
|
border-top: 1px solid var(--md-outline-variant);
|
|
5210
5515
|
}
|
|
5211
|
-
|
|
5516
|
+
/* Mobile (Figma 63571:28484 used-car / 64800:111786 new-car, 3 rows, no Hinweise): the 3-cell row
|
|
5517
|
+
+ separate full-width notes strip both collapse into ONE vertical list — every item gets the
|
|
5518
|
+
same icon+text row with a horizontal divider, first row has no top border/padding, last row has
|
|
5519
|
+
no bottom padding. :last-child picks whichever row (Fahrzeughalter or Hinweise) actually ends up
|
|
5520
|
+
last, since .oo-fb-notes is a real (conditionally-rendered) child of .oo-fb-row now, not a
|
|
5521
|
+
sibling CSS couldn't reach from here. 600px to match the project-wide mobile breakpoint — this
|
|
5522
|
+
used to be 800px, a guess from before any mobile Figma frame for this card existed. */
|
|
5523
|
+
@media (max-width: 600px) {
|
|
5212
5524
|
.md3 .oo-fb-row {
|
|
5213
5525
|
flex-direction: column;
|
|
5526
|
+
flex-wrap: nowrap;
|
|
5214
5527
|
gap: 0;
|
|
5215
5528
|
}
|
|
5216
5529
|
.md3 .oo-fb-row .oo-fb-cell {
|
|
5530
|
+
flex-basis: auto;
|
|
5217
5531
|
width: 100%;
|
|
5218
5532
|
padding: 12px 0;
|
|
5533
|
+
}
|
|
5534
|
+
/* Same selector (and so the same specificity) as the desktop vertical-divider rule above —
|
|
5535
|
+
.oo-fb-row .oo-fb-cell{border-left:0} alone is LESS specific than that :not():not() rule
|
|
5536
|
+
(5 selector components vs 3), so it was silently losing to it and leaving the desktop
|
|
5537
|
+
border-left:1px/padding-left:20px active on mobile, stacked on top of the new border-top. */
|
|
5538
|
+
.md3 .oo-fb-row .oo-fb-cell:not(:first-child):not(.oo-fb-notes) {
|
|
5539
|
+
padding-left: 0;
|
|
5219
5540
|
border-left: 0;
|
|
5220
5541
|
}
|
|
5221
5542
|
.md3 .oo-fb-row .oo-fb-cell:first-child {
|
|
@@ -5224,7 +5545,15 @@ line-height: 31px;
|
|
|
5224
5545
|
.md3 .oo-fb-row .oo-fb-cell:not(:first-child) {
|
|
5225
5546
|
border-top: 1px solid var(--md-outline-variant);
|
|
5226
5547
|
}
|
|
5227
|
-
.md3 .oo-fb-
|
|
5548
|
+
.md3 .oo-fb-row .oo-fb-cell:last-child {
|
|
5549
|
+
padding-bottom: 0;
|
|
5550
|
+
}
|
|
5551
|
+
/* Same specificity as the desktop .oo-fb-row .oo-fb-cell.oo-fb-notes rule (not just .oo-fb-notes
|
|
5552
|
+
alone) — otherwise that rule's margin-top:14px/flex-basis:100%/width:100% would still win here
|
|
5553
|
+
even inside this media query, since media nesting doesn't change specificity. */
|
|
5554
|
+
.md3 .oo-fb-row .oo-fb-cell.oo-fb-notes {
|
|
5555
|
+
flex-basis: auto;
|
|
5556
|
+
width: 100%;
|
|
5228
5557
|
margin-top: 0;
|
|
5229
5558
|
padding-top: 12px;
|
|
5230
5559
|
}
|
|
@@ -5519,15 +5848,7 @@ line-height: 31px;
|
|
|
5519
5848
|
the JSX, not here. Both graphic blocks (the EU statutory-warranty notice, the GARAN
|
|
5520
5849
|
certificate) are static images, not hand-coded — see the long comment above WARRANTY_NOTICE_IMG
|
|
5521
5850
|
in OrderOverviewNext.tsx for why (Figma ships them fully vector-flattened). */
|
|
5522
|
-
/* same fix as .oo-promo-card above — .co-card-title's shared margin-bottom:16px leaves a
|
|
5523
|
-
stray gap under the title when the card is collapsed; .oo-warranty-body's own margin-top
|
|
5524
|
-
restores that 16px only once actually expanded (both cards default expanded, but the user can
|
|
5525
|
-
still collapse them). */
|
|
5526
|
-
.md3 .oo-warranty-card .co-card-title {
|
|
5527
|
-
margin-bottom: 0;
|
|
5528
|
-
}
|
|
5529
5851
|
.md3 .oo-warranty-body {
|
|
5530
|
-
margin-top: 16px;
|
|
5531
5852
|
display: flex;
|
|
5532
5853
|
flex-direction: column;
|
|
5533
5854
|
gap: 12px;
|
|
@@ -5535,13 +5856,61 @@ line-height: 31px;
|
|
|
5535
5856
|
.md3 .oo-warranty-notice-img {
|
|
5536
5857
|
display: block;
|
|
5537
5858
|
width: 100%;
|
|
5538
|
-
max-width:
|
|
5859
|
+
max-width: 331px; /* Figma desktop (node 64763:84703): "Amtliche Mitteilung" 330.5x467.4, not stretched */
|
|
5539
5860
|
height: auto;
|
|
5540
5861
|
}
|
|
5862
|
+
@media (max-width: 600px) {
|
|
5863
|
+
.md3 .oo-warranty-notice-img {
|
|
5864
|
+
max-width: 251px; /* Figma mobile (node 64850:108036): 251.2x355.2 */
|
|
5865
|
+
}
|
|
5866
|
+
}
|
|
5867
|
+
/* Card 9 only — its image+link are centered (Figma: items-center). Card 10's open-state image+
|
|
5868
|
+
link are left-aligned (Figma: both sit at x=0 in their 572px-wide content), so this centering
|
|
5869
|
+
must NOT live on the shared .oo-warranty-notice-img/.oo-warranty-link rules themselves. */
|
|
5870
|
+
.md3 .oo-warranty-body--centered .oo-warranty-notice-img,
|
|
5871
|
+
.md3 .oo-warranty-body--centered .oo-warranty-link {
|
|
5872
|
+
align-self: center;
|
|
5873
|
+
}
|
|
5541
5874
|
.md3 .oo-warranty-garan-img {
|
|
5542
5875
|
display: block;
|
|
5543
5876
|
width: 100%;
|
|
5544
|
-
max-width: 320px;
|
|
5877
|
+
max-width: 320px; /* Figma (node 64669:36509): "vollständig" label, 320x336.8 */
|
|
5878
|
+
height: auto;
|
|
5879
|
+
}
|
|
5880
|
+
@media (max-width: 600px) {
|
|
5881
|
+
.md3 .oo-warranty-garan-img {
|
|
5882
|
+
/* Figma (node 64669:105484, dev-mode inspect): 215x226.31, centered — desktop (64669:36509)
|
|
5883
|
+
is left-aligned at 320px; mobile is centered and narrower, a real per-breakpoint
|
|
5884
|
+
difference in the file, not a mistake. */
|
|
5885
|
+
max-width: 215px;
|
|
5886
|
+
}
|
|
5887
|
+
/* .oo-warranty-garan-img-wrap (the role="img" host) is the actual flex child of
|
|
5888
|
+
.oo-warranty-body — align-self on .oo-warranty-garan-img itself (a grandchild) would be a
|
|
5889
|
+
no-op. */
|
|
5890
|
+
.md3 .oo-warranty-garan-img-wrap {
|
|
5891
|
+
align-self: center;
|
|
5892
|
+
}
|
|
5893
|
+
/* Card 10's "Weitere Informationen" link is left-aligned on desktop (confirmed, node
|
|
5894
|
+
64669:36509) but centered on mobile along with the image above it — same real
|
|
5895
|
+
per-breakpoint difference, not scoped via .oo-warranty-body--centered since that's card 9's
|
|
5896
|
+
own (desktop-centered-too) modifier. */
|
|
5897
|
+
.md3 .oo-warranty-link {
|
|
5898
|
+
align-self: center;
|
|
5899
|
+
}
|
|
5900
|
+
}
|
|
5901
|
+
.md3 .oo-warranty-garan-strip-btn {
|
|
5902
|
+
display: block;
|
|
5903
|
+
width: 208px; /* Figma (node 64535:6410): "nested display" strip, 208x32 */
|
|
5904
|
+
max-width: 100%;
|
|
5905
|
+
background: none;
|
|
5906
|
+
border: 0;
|
|
5907
|
+
padding: 0;
|
|
5908
|
+
margin: 0;
|
|
5909
|
+
cursor: pointer;
|
|
5910
|
+
}
|
|
5911
|
+
.md3 .oo-warranty-garan-nested-img {
|
|
5912
|
+
display: block;
|
|
5913
|
+
width: 100%;
|
|
5545
5914
|
height: auto;
|
|
5546
5915
|
}
|
|
5547
5916
|
.md3 .oo-warranty-link {
|
|
@@ -5557,35 +5926,11 @@ line-height: 31px;
|
|
|
5557
5926
|
font-family: Arial, Helvetica, Arimo, sans-serif;
|
|
5558
5927
|
font-weight: 400;
|
|
5559
5928
|
font-size: 13px;
|
|
5929
|
+
line-height: 1.35;
|
|
5560
5930
|
color: var(--md-primary);
|
|
5561
5931
|
text-decoration: underline;
|
|
5562
5932
|
text-align: left;
|
|
5563
5933
|
}
|
|
5564
|
-
a.oo-warranty-link--icon {
|
|
5565
|
-
text-decoration: none;
|
|
5566
|
-
}
|
|
5567
|
-
a.oo-warranty-link--icon:hover {
|
|
5568
|
-
text-decoration: underline;
|
|
5569
|
-
}
|
|
5570
|
-
.md3 .oo-warranty-link--pending {
|
|
5571
|
-
cursor: default;
|
|
5572
|
-
}
|
|
5573
|
-
.md3 .oo-warranty-years-title {
|
|
5574
|
-
margin: 0;
|
|
5575
|
-
font-family: Arial, Helvetica, Arimo, sans-serif;
|
|
5576
|
-
font-weight: 700;
|
|
5577
|
-
font-size: 14px;
|
|
5578
|
-
line-height: 1.35;
|
|
5579
|
-
color: #0E2238;
|
|
5580
|
-
}
|
|
5581
|
-
.md3 .oo-warranty-years-desc {
|
|
5582
|
-
margin: 0;
|
|
5583
|
-
font-family: Arial, Helvetica, Arimo, sans-serif;
|
|
5584
|
-
font-weight: 400;
|
|
5585
|
-
font-size: 13px;
|
|
5586
|
-
line-height: 1.35;
|
|
5587
|
-
color: #44464F;
|
|
5588
|
-
}
|
|
5589
5934
|
|
|
5590
5935
|
/* ---------- Bestellungen (orders) ---------- */
|
|
5591
5936
|
.md3 .mo-page {
|