diff --git a/pass/public/styles/key/checkout-amount.less b/pass/public/styles/key/checkout-amount.less
index 990b70b1e1fdd49d4e423167f9e61c951300bebf..dba390576aa79a295717f3a83cabffae9f940c7c 100644
--- a/pass/public/styles/key/checkout-amount.less
+++ b/pass/public/styles/key/checkout-amount.less
@@ -19,17 +19,14 @@
       text-decoration: none;
       color: inherit;
       display: grid;
-      width: max-content;
       grid-template-columns: 7em 3.5em;
       grid-template-rows: 2.5em 2em;
-      height: max-content;
+      place-items: stretch;
       > .checkout-amount {
         font-size: 2rem;
         font-weight: bold;
         line-height: 1;
         display: flex;
-        width: 100%;
-        height: 100%;
         align-items: center;
         justify-content: center;
         border-top-left-radius: 10px;
@@ -38,8 +35,6 @@
         border-right: 0;
       }
       > .checkout-duration {
-        width: 100%;
-        height: 100%;
         border-bottom-left-radius: 10px;
         display: flex;
         align-items: center;
@@ -60,9 +55,6 @@
         border: 1px solid rgb(255, 127, 0);
         border-left: 0;
         display: flex;
-        width: 100%;
-        height: 100%;
-        align-self: center;
       }
     }
     @media (max-width: @checkout-amount-breakpoint-1) {
diff --git a/pass/public/styles/key/checkout-payment.less b/pass/public/styles/key/checkout-payment.less
index 849baa12fada402335b49f30af7e86736335168b..c2b38ba96180ff554842289765fa15b6db2b6df9 100644
--- a/pass/public/styles/key/checkout-payment.less
+++ b/pass/public/styles/key/checkout-payment.less
@@ -1,7 +1,7 @@
 #payment {
   margin-bottom: 1rem;
-  @payment-group-breakpoint-1: 1050px;
-  @payment-group-breakpoint-2: 580px;
+  @payment-group-breakpoint-1: 930px;
+  @payment-group-breakpoint-2: 470px;
   > h2 {
     margin: 0 0 1rem;
     text-align: center;
@@ -30,6 +30,7 @@
     border: 1px solid #777;
     padding: 1rem;
     border-top: 0;
+    place-items: stretch;
     > div {
       width: 14em;
     }
@@ -38,9 +39,10 @@
     }
     @media (max-width: @payment-group-breakpoint-2) {
       grid-template-columns: 1fr;
-      > div {
-        width: 100%;
-      }
+    }
+
+    > div {
+      min-width: 10em;
     }
 
     &#paypal-payments {
@@ -48,7 +50,6 @@
         display: flex;
         border: 1px solid #777;
         padding: 1rem;
-        width: 10em;
         align-items: center;
         justify-content: center;
         height: 2em;
@@ -71,4 +72,37 @@
     text-align: center;
     border-bottom: 1px solid @color-main;
   }
+  #paypal-payment-card #paypal-card-form {
+    @paypal-card-form-breakpoint-1: 460px;
+    display: grid;
+    grid-template-columns: 1fr 5em 9em;
+    place-items: stretch;
+    gap: 0.5rem;
+    > div {
+      display: flex;
+      flex-direction: column;
+      gap: 0.5rem;
+      > label {
+        font-weight: bold;
+        font-size: 0.8rem;
+        white-space: nowrap;
+      }
+      > div {
+        height: 2em;
+        border: 1px solid #777;
+        border-radius: 5px;
+      }
+    }
+    > button#submit-credit-card {
+      grid-column: span 3;
+      padding: 0.5rem;
+      justify-self: center;
+    }
+    @media (max-width: @paypal-card-form-breakpoint-1) {
+      grid-template-columns: 1fr;
+      > button#submit-credit-card {
+        grid-column: auto;
+      }
+    }
+  }
 }
diff --git a/pass/public/styles/key/key.css b/pass/public/styles/key/key.css
index 0d881d3510157e5410ceaf3a020b9ad4862813c1..80b5ee265d461e7630cfcf8317521a0d35fcd0d1 100644
--- a/pass/public/styles/key/key.css
+++ b/pass/public/styles/key/key.css
@@ -1 +1 @@
-#checkout>h2{margin:0 0 1rem;text-align:center;border-bottom:1px solid #ff7f00}#checkout #checkout-amount{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;justify-items:center;align-items:center}#checkout #checkout-amount.single{grid-template-columns:1fr}#checkout #checkout-amount>a{text-decoration:none;color:inherit;display:grid;width:max-content;grid-template-columns:7em 3.5em;grid-template-rows:2.5em 2em;height:max-content}#checkout #checkout-amount>a>.checkout-amount{font-size:2rem;font-weight:bold;line-height:1;display:flex;width:100%;height:100%;align-items:center;justify-content:center;border-top-left-radius:10px;border:1px solid #ff7f00;border-bottom:0;border-right:0}#checkout #checkout-amount>a>.checkout-duration{width:100%;height:100%;border-bottom-left-radius:10px;display:flex;align-items:center;justify-content:center;border:1px solid #ff7f00;border-top:0;border-right:0}#checkout #checkout-amount>a>.checkout-cost{grid-row:span 2;justify-content:center;background-color:#ff7f00;color:white;font-size:1.7rem;align-items:center;border-top-right-radius:10px;border-bottom-right-radius:10px;border:1px solid #ff7f00;border-left:0;display:flex;width:100%;height:100%;align-self:center}@media (max-width:800px){#checkout #checkout-amount{grid-template-columns:1fr 1fr}#checkout #checkout-amount.single{grid-template-columns:1fr}}@media (max-width:470px){#checkout #checkout-amount{grid-template-columns:1fr}#checkout #checkout-amount>a{width:100%;grid-template-columns:1fr 3em}}#payment{margin-bottom:1rem}#payment>h2{margin:0 0 1rem;text-align:center;border-bottom:1px solid #ff7f00}#payment>label[for="payment-group-paypal"]{border:1px solid #777;display:block;padding:.5rem;border-top-left-radius:5px;border-top-right-radius:5px;background-color:#f0f0f0;border-bottom-color:#ff7f00;border-bottom-width:2px}#payment>#payment-group-paypal{display:none}#payment>.payment-group{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;justify-items:center;gap:1rem;border:1px solid #777;padding:1rem;border-top:0}#payment>.payment-group>div{width:14em}@media (max-width:1050px){#payment>.payment-group{grid-template-columns:1fr 1fr}}@media (max-width:580px){#payment>.payment-group{grid-template-columns:1fr}#payment>.payment-group>div{width:100%}}#payment>.payment-group#paypal-payments>.funding_source{display:flex;border:1px solid #777;padding:1rem;width:10em;align-items:center;justify-content:center;height:2em;border-radius:5px;gap:.5rem;color:inherit;text-decoration:none}#payment>.payment-group#paypal-payments>.funding_source img{max-width:100%;max-height:100%}#paypal-checkout>h2{margin:0 0 1rem;text-align:center;border-bottom:1px solid #ff7f00}main{max-width:980px;margin:0 auto;display:grid;row-gap:1rem;padding-right:1rem;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr auto auto;grid-template-areas:"qr key        " "qr setting-url" "qr buttons" "amount charge"}main>#qr{grid-area:qr;justify-self:center}main #key{grid-area:key;font-size:clamp(.9rem, 4.8vw, 1.5rem);font-weight:bold;width:max-content;margin-top:11px;margin-right:1rem}main #setting-url{grid-area:setting-url;align-self:start;display:flex;padding:.5rem 1rem;border-radius:5px}main #setting-url>input{line-height:1.5;padding:.1rem .5rem;border-radius:5px;flex-grow:1}main>#buttons{grid-area:buttons;display:flex;gap:1rem;margin-bottom:17px;justify-content:flex-end}@media (max-width:435px){main>#buttons{display:grid;grid-template-columns:1fr}main>#buttons .button{width:auto}main>#buttons>*{display:grid;justify-items:center;text-align:center}}main>#amount{grid-area:amount;max-width:200px;justify-self:center;display:flex;flex-direction:column;align-items:center}main>#amount>h3{font-size:1.5rem;margin:0}main>#amount>div.amount{font-size:3rem}main>#charge{grid-area:charge}main>#charge>#store>p{line-height:1.5}@media (max-width:770px){main{padding:0 1rem;grid-template-rows:auto auto auto auto auto;grid-template-columns:auto auto;grid-template-areas:"amount          qr         " "key key" "setting-url setting-url" "buttons     buttons    " "charge      charge     "}main>#key{margin:0;justify-self:center}main>#setting-url{text-align:center}main>#buttons{justify-content:center;margin-bottom:0}main>#amount{align-self:center}main>#charge>#store{display:flex;flex-direction:column;align-items:center}}@media (max-width:430px){main{grid-template-rows:auto auto auto auto auto auto;grid-template-columns:auto;grid-template-areas:"qr" "key" "setting-url" "buttons" "amount" "charge"}}
\ No newline at end of file
+#checkout>h2{margin:0 0 1rem;text-align:center;border-bottom:1px solid #ff7f00}#checkout #checkout-amount{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;justify-items:center;align-items:center}#checkout #checkout-amount.single{grid-template-columns:1fr}#checkout #checkout-amount>a{text-decoration:none;color:inherit;display:grid;grid-template-columns:7em 3.5em;grid-template-rows:2.5em 2em;place-items:stretch}#checkout #checkout-amount>a>.checkout-amount{font-size:2rem;font-weight:bold;line-height:1;display:flex;align-items:center;justify-content:center;border-top-left-radius:10px;border:1px solid #ff7f00;border-bottom:0;border-right:0}#checkout #checkout-amount>a>.checkout-duration{border-bottom-left-radius:10px;display:flex;align-items:center;justify-content:center;border:1px solid #ff7f00;border-top:0;border-right:0}#checkout #checkout-amount>a>.checkout-cost{grid-row:span 2;justify-content:center;background-color:#ff7f00;color:white;font-size:1.7rem;align-items:center;border-top-right-radius:10px;border-bottom-right-radius:10px;border:1px solid #ff7f00;border-left:0;display:flex}@media (max-width:800px){#checkout #checkout-amount{grid-template-columns:1fr 1fr}#checkout #checkout-amount.single{grid-template-columns:1fr}}@media (max-width:470px){#checkout #checkout-amount{grid-template-columns:1fr}#checkout #checkout-amount>a{width:100%;grid-template-columns:1fr 3em}}#payment{margin-bottom:1rem}#payment>h2{margin:0 0 1rem;text-align:center;border-bottom:1px solid #ff7f00}#payment>label[for="payment-group-paypal"]{border:1px solid #777;display:block;padding:.5rem;border-top-left-radius:5px;border-top-right-radius:5px;background-color:#f0f0f0;border-bottom-color:#ff7f00;border-bottom-width:2px}#payment>#payment-group-paypal{display:none}#payment>.payment-group{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;justify-items:center;gap:1rem;border:1px solid #777;padding:1rem;border-top:0;place-items:stretch}#payment>.payment-group>div{width:14em}@media (max-width:930px){#payment>.payment-group{grid-template-columns:1fr 1fr}}@media (max-width:470px){#payment>.payment-group{grid-template-columns:1fr}}#payment>.payment-group>div{min-width:10em}#payment>.payment-group#paypal-payments>.funding_source{display:flex;border:1px solid #777;padding:1rem;align-items:center;justify-content:center;height:2em;border-radius:5px;gap:.5rem;color:inherit;text-decoration:none}#payment>.payment-group#paypal-payments>.funding_source img{max-width:100%;max-height:100%}#paypal-checkout>h2{margin:0 0 1rem;text-align:center;border-bottom:1px solid #ff7f00}#paypal-checkout #paypal-payment-card #paypal-card-form{display:grid;grid-template-columns:1fr 5em 9em;place-items:stretch;gap:.5rem}#paypal-checkout #paypal-payment-card #paypal-card-form>div{display:flex;flex-direction:column;gap:.5rem}#paypal-checkout #paypal-payment-card #paypal-card-form>div>label{font-weight:bold;font-size:.8rem;white-space:nowrap}#paypal-checkout #paypal-payment-card #paypal-card-form>div>div{height:2em;border:1px solid #777;border-radius:5px}#paypal-checkout #paypal-payment-card #paypal-card-form>button#submit-credit-card{grid-column:span 3;padding:.5rem;justify-self:center}@media (max-width:460px){#paypal-checkout #paypal-payment-card #paypal-card-form{grid-template-columns:1fr}#paypal-checkout #paypal-payment-card #paypal-card-form>button#submit-credit-card{grid-column:auto}}main{max-width:980px;margin:0 auto;display:grid;row-gap:1rem;padding-right:1rem;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr auto auto;grid-template-areas:"qr key        " "qr setting-url" "qr buttons" "amount charge"}main>#qr{grid-area:qr;justify-self:center}main #key{grid-area:key;font-size:clamp(.9rem, 4.8vw, 1.5rem);font-weight:bold;width:max-content;margin-top:11px;margin-right:1rem}main #setting-url{grid-area:setting-url;align-self:start;display:flex;padding:.5rem 1rem;border-radius:5px}main #setting-url>input{line-height:1.5;padding:.1rem .5rem;border-radius:5px;flex-grow:1}main>#buttons{grid-area:buttons;display:flex;gap:1rem;margin-bottom:17px;justify-content:flex-end}@media (max-width:435px){main>#buttons{display:grid;grid-template-columns:1fr}main>#buttons .button{width:auto}main>#buttons>*{display:grid;justify-items:center;text-align:center}}main>#amount{grid-area:amount;max-width:200px;justify-self:center;display:flex;flex-direction:column;align-items:center}main>#amount>h3{font-size:1.5rem;margin:0}main>#amount>div.amount{font-size:3rem}main>#charge{grid-area:charge}main>#charge>#store>p{line-height:1.5}@media (max-width:770px){main{padding:0 1rem;grid-template-rows:auto auto auto auto auto;grid-template-columns:auto auto;grid-template-areas:"amount          qr         " "key key" "setting-url setting-url" "buttons     buttons    " "charge      charge     "}main>#key{margin:0;justify-self:center}main>#setting-url{text-align:center}main>#buttons{justify-content:center;margin-bottom:0}main>#amount{align-self:center}main>#charge>#store{display:flex;flex-direction:column;align-items:center}}@media (max-width:430px){main{grid-template-rows:auto auto auto auto auto auto;grid-template-columns:auto;grid-template-areas:"qr" "key" "setting-url" "buttons" "amount" "charge"}}
\ No newline at end of file
diff --git a/pass/resources/js/checkout_paypal.js b/pass/resources/js/checkout_paypal.js
index 23e584658e6759017e93a7efc2c5bac3a813ee3e..c4c5a2c9f528d9c856899745b64a8847b2dec107 100644
--- a/pass/resources/js/checkout_paypal.js
+++ b/pass/resources/js/checkout_paypal.js
@@ -37,34 +37,24 @@ function initialize_paypal_payments() {
     .then((paypal) => {
       console.log(paypal.HostedFields.isEligible() + "test");
       if (funding_source === "card") {
-        let number = document.createElement("div");
-        number.type = "text";
-        number.id = "cc-number";
-        let cvv = document.createElement("div");
-        cvv.type = "text";
-        cvv.id = "cc-cvv";
-        let expiration = document.createElement("div");
-        expiration.type = "text";
-        expiration.id = "cc-expiration";
-
-        let container = document.getElementById("paypal-payment-fields");
-        container.append(number);
-        container.append(cvv);
-        container.append(expiration);
-
         paypal.HostedFields.render({
-          styles: {},
+          styles: {
+            input: {
+              padding: "0 .5rem",
+              "font-family": "Liberation Sans",
+            },
+          },
           fields: {
             number: {
-              selector: "#cc-number",
+              selector: "#card-number",
               placeholder: "4111 1111 1111 1111",
             },
             cvv: {
-              selector: "#cc-cvv",
+              selector: "#cvv",
               placeholder: "123",
             },
             expirationDate: {
-              selector: "#cc-expiration",
+              selector: "#expiration-date",
               placeholder: "MM/YY",
             },
           },
diff --git a/pass/views/key.ejs b/pass/views/key.ejs
index 08b0a21d03ac5309cad53fb9f7b142f00ae40161..5dbbd63ebec325f9a4ea05f7b9dc8e7ca2ef50ac 100644
--- a/pass/views/key.ejs
+++ b/pass/views/key.ejs
@@ -138,8 +138,30 @@
             <input type="hidden" name="paypal-client-token" value="<%= checkout.paypal.client_token %>">
             <%_ } _%>
             <p class="hidden">Die gewählte Zahlungsart ist in Ihrer Region nicht verfügbar.</p>
+            <%_ if(typeof checkout.paypal.funding_source !== undefined) { _%>
+            <%_ if(checkout.paypal.funding_source === "card") { _%>
+            <div id="paypal-payment-card">
+                <form id="paypal-card-form">
+                    <div>
+                        <label for="card-number">Kartennummer</label>
+                        <div id="card-number" class="card_field"></div>
+                    </div>
+                    <div>
+                        <label for="expiration-date">Gültig bis</label>
+                        <div id="expiration-date" class="card_field"></div>
+                    </div>
+                    <div>
+                        <label for="cvv">Sicherheitscode (CVV)</label>
+                        <div id="cvv" class="card_field"></div>
+                    </div>
+                    <button type="submit" id="submit-credit-card" class="button">Jetzt bezahlen</button>
+                </form>
+            </div>
+            <%_ }else { _%>
             <div id="paypal-payment-fields"></div>
             <div id="paypal-payment-button"></div>
+            <%_ } _%>
+            <%_ } _%>
         </div>
         <%_ } _%>
         <%_ } _%>