@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@400;600;700;800&display=swap');

/* Basis (portiert von wpresswartung, Akzent auf WPressCloud-Navy angepasst) */
/*
  WPressWartung – WooCommerce Custom Styles
  Abgestimmt auf Elementor Global Variables (Kit ID 4)
  Primär: #123a6e | Trust-Grün: #62A93C | Navy: #10152B
  Fonts: Manrope (Headings) / Inter (Body)
*/

/* ─── CSS Custom Properties (aus Elementor Global Variables) ─── */
:root {
  --wpw-primary:        #123a6e;
  --wpw-primary-hover:  #0e2e57;
  --wpw-primary-light:  #EAF0F8;
  --wpw-primary-soft:   #A9C0E0;
  --wpw-green:          #62A93C;
  --wpw-green-deep:     #4E8C2F;
  --wpw-green-light:    #EEF6E6;
  --wpw-navy:           #10152B;
  --wpw-navy-deep:      #0B0F1F;
  --wpw-body-text:      #4B5565;
  --wpw-muted:          #9AA1B1;
  --wpw-bg-alt:         #F7F8FC;
  --wpw-bg-soft:        #FAFAFC;
  --wpw-white:          #FFFFFF;
  --wpw-border:         #E5E7EF;
  --wpw-border-light:   #EEF0F6;
  --wpw-star-gold:      #F5A623;
  --wpw-radius-card:    12px;
  --wpw-radius-btn:     8px;
  --wpw-radius-input:   8px;
  --wpw-btn-h:          54px;
  --wpw-font-head:      'Manrope', sans-serif;
  --wpw-font-body:      'Inter', sans-serif;
}

/* ─── GLOBALE WOO-BASIS ─── */
.woocommerce,
.woocommerce-page {
  font-family: var(--wpw-font-body);
  color: var(--wpw-body-text);
}

/* ─── BUTTONS ─── */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  font-family: var(--wpw-font-head);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.01em;
  height: var(--wpw-btn-h);
  line-height: var(--wpw-btn-h);
  padding: 0 28px;
  border-radius: var(--wpw-radius-btn);
  background: var(--wpw-primary);
  color: var(--wpw-white);
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: background 0.18s ease, transform 0.12s ease, box-shadow 0.18s ease;
  box-shadow: 0 2px 8px rgba(18,58,110,0.18);
  text-decoration: none;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
  background: var(--wpw-primary-hover);
  color: var(--wpw-white);
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(18,58,110,0.28);
}

.woocommerce a.button:active,
.woocommerce button.button:active {
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(18,58,110,0.18);
}

/* Sekundär-Button (Ghost) */
.woocommerce a.button.secondary,
.woocommerce .return-to-shop a {
  background: transparent;
  color: var(--wpw-primary);
  border: 1.5px solid var(--wpw-primary);
  box-shadow: none;
}
.woocommerce a.button.secondary:hover,
.woocommerce .return-to-shop a:hover {
  background: var(--wpw-primary-light);
  color: var(--wpw-primary-hover);
}

/* ─── INPUTS & FORMULARE ─── */
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select,
.woocommerce .select2-container--default .select2-selection--single,
.woocommerce-page input.input-text,
.woocommerce-page textarea,
.woocommerce-page select {
  font-family: var(--wpw-font-body);
  font-size: 15px;
  color: var(--wpw-navy);
  background: var(--wpw-white);
  border: 1.5px solid var(--wpw-border);
  border-radius: var(--wpw-radius-input);
  padding: 12px 16px;
  height: auto;
  min-height: 50px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  outline: none;
  width: 100%;
  box-sizing: border-box;
}

.woocommerce input.input-text:focus,
.woocommerce textarea:focus,
.woocommerce select:focus,
.woocommerce-page input.input-text:focus {
  border-color: var(--wpw-primary);
  box-shadow: 0 0 0 3px rgba(18,58,110,0.12);
}

.woocommerce label {
  font-family: var(--wpw-font-head);
  font-size: 13px;
  font-weight: 600;
  color: var(--wpw-navy);
  letter-spacing: 0.01em;
  margin-bottom: 6px;
  display: block;
}

/* Select2 */
.woocommerce .select2-container--default .select2-selection--single {
  display: flex;
  align-items: center;
  height: 50px;
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: normal;
  padding-left: 0;
  color: var(--wpw-navy);
  font-size: 15px;
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 48px;
}

/* ─── CHECKOUT-SEITE ─── */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  background: var(--wpw-white);
  border: 1.5px solid var(--wpw-border-light);
  border-radius: var(--wpw-radius-card);
  padding: 32px;
  margin-bottom: 24px;
}

.woocommerce h3#order_review_heading {
  font-family: var(--wpw-font-head);
  font-size: 18px;
  font-weight: 700;
  color: var(--wpw-navy);
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 1.5px solid var(--wpw-border-light);
}

/* Checkout – Spalten-Layout bei Desktop */
.woocommerce-checkout .col2-set {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
@media (min-width: 769px) {
  .woocommerce-checkout .col2-set {
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }
}

/* Checkout – Sektions-Titel */
.woocommerce .woocommerce-billing-fields h3,
.woocommerce .woocommerce-shipping-fields h3,
.woocommerce .woocommerce-additional-fields h3 {
  font-family: var(--wpw-font-head);
  font-size: 16px;
  font-weight: 700;
  color: var(--wpw-navy);
  margin-bottom: 18px;
  padding-bottom: 10px;
  border-bottom: 1.5px solid var(--wpw-border-light);
}

/* Bestellübersicht-Tabelle */
.woocommerce-checkout-review-order table.shop_table {
  border: none;
  border-radius: var(--wpw-radius-card);
  overflow: hidden;
  font-size: 14px;
}

.woocommerce table.shop_table {
  border-collapse: collapse;
  width: 100%;
}

.woocommerce table.shop_table th {
  font-family: var(--wpw-font-head);
  font-weight: 600;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--wpw-muted);
  background: var(--wpw-bg-alt);
  padding: 12px 16px;
  border: none;
}

.woocommerce table.shop_table td {
  padding: 14px 16px;
  border-top: 1px solid var(--wpw-border-light);
  color: var(--wpw-body-text);
  font-size: 14px;
  vertical-align: middle;
}

.woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tfoot th {
  font-weight: 600;
  font-size: 14px;
}

.woocommerce table.shop_table tr.order-total td,
.woocommerce table.shop_table tr.order-total th {
  font-family: var(--wpw-font-head);
  font-size: 17px;
  font-weight: 700;
  color: var(--wpw-navy);
  border-top: 2px solid var(--wpw-border);
  padding-top: 18px;
}

/* Zahlungsmethoden */
#payment {
  background: var(--wpw-bg-alt) !important;
  border-radius: var(--wpw-radius-card) !important;
  border: 1.5px solid var(--wpw-border-light) !important;
  padding: 24px !important;
}

#payment ul.payment_methods {
  padding: 0;
  margin: 0 0 20px;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

#payment ul.payment_methods li {
  background: var(--wpw-white);
  border: 1.5px solid var(--wpw-border);
  border-radius: 10px;
  padding: 14px 18px;
  transition: border-color 0.15s ease;
  cursor: pointer;
}

#payment ul.payment_methods li:has(input:checked) {
  border-color: var(--wpw-primary);
  box-shadow: 0 0 0 3px rgba(18,58,110,0.10);
  background: var(--wpw-primary-light);
}

#payment ul.payment_methods label {
  font-size: 14px;
  font-weight: 600;
  color: var(--wpw-navy);
  cursor: pointer;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

#payment ul.payment_methods img {
  max-height: 24px;
  width: auto;
}

#payment .payment_box {
  background: transparent;
  border: none;
  padding: 10px 0 0 28px;
  font-size: 13px;
  color: var(--wpw-muted);
  line-height: 1.6;
}

/* Platzierbutton */
#payment #place_order {
  width: 100%;
  height: 58px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.01em;
  border-radius: var(--wpw-radius-btn);
  background: var(--wpw-primary);
  color: var(--wpw-white);
  box-shadow: 0 4px 16px rgba(18,58,110,0.25);
  transition: background 0.18s, box-shadow 0.18s, transform 0.12s;
}
#payment #place_order:hover {
  background: var(--wpw-primary-hover);
  box-shadow: 0 8px 24px rgba(18,58,110,0.32);
  transform: translateY(-1px);
}

/* Trust-Badges unter Place Order */
.woocommerce-checkout .wpw-trust-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 16px;
  font-size: 12px;
  color: var(--wpw-muted);
  flex-wrap: wrap;
}
.woocommerce-checkout .wpw-trust-row span {
  display: flex;
  align-items: center;
  gap: 5px;
}

/* ─── PRODUKTSEITE (Single Product) ─── */
.single-product div.product {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  align-items: start;
}
@media (min-width: 769px) {
  .single-product div.product {
    grid-template-columns: 1fr 1fr;
    gap: 60px;
  }
}

.woocommerce div.product .product_title {
  font-family: var(--wpw-font-head);
  font-size: clamp(26px, 3.5vw, 38px);
  font-weight: 800;
  color: var(--wpw-navy);
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--wpw-font-head);
  font-size: 32px;
  font-weight: 800;
  color: var(--wpw-primary);
  letter-spacing: -0.02em;
  margin-bottom: 16px;
  display: block;
}

.woocommerce div.product p.price .amount bdi,
.woocommerce div.product span.price .amount bdi {
  font-size: inherit;
}

/* Abo-Preis */
.woocommerce div.product .subscription-details {
  font-size: 14px;
  color: var(--wpw-muted);
  margin-top: -10px;
  margin-bottom: 18px;
}

.woocommerce div.product .product-short-description {
  font-size: 16px;
  line-height: 1.7;
  color: var(--wpw-body-text);
  margin-bottom: 24px;
}

/* Add-to-Cart Bereich */
.woocommerce div.product form.cart {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.woocommerce div.product form.cart .single_add_to_cart_button {
  width: 100%;
  height: 58px;
  font-size: 16px;
  font-weight: 700;
}

/* Produkt-Meta (SKU, Kategorie) */
.woocommerce div.product .product_meta {
  font-size: 13px;
  color: var(--wpw-muted);
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--wpw-border-light);
}
.woocommerce div.product .product_meta a {
  color: var(--wpw-primary);
  text-decoration: none;
}

/* ─── SHOP-SEITE / PRODUKT-KARTEN ─── */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.woocommerce ul.products li.product {
  background: var(--wpw-white);
  border: 1.5px solid var(--wpw-border-light);
  border-radius: var(--wpw-radius-card);
  padding: 28px;
  transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}

.woocommerce ul.products li.product:hover {
  box-shadow: 0 8px 32px rgba(18,58,110,0.12);
  border-color: var(--wpw-primary-soft);
  transform: translateY(-2px);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--wpw-font-head);
  font-size: 18px;
  font-weight: 700;
  color: var(--wpw-navy);
  line-height: 1.3;
  margin-bottom: 10px;
  letter-spacing: -0.01em;
}

.woocommerce ul.products li.product .price {
  font-family: var(--wpw-font-head);
  font-size: 22px;
  font-weight: 800;
  color: var(--wpw-primary);
  letter-spacing: -0.02em;
  margin-bottom: 14px;
}

.woocommerce ul.products li.product a.button {
  margin-top: auto;
  width: 100%;
  justify-content: center;
}

/* Featured-Badge auf Produktkarte */
.woocommerce ul.products li.product.featured::before {
  content: 'Empfohlen';
  position: absolute;
  top: 14px;
  right: 14px;
  background: var(--wpw-primary);
  color: #fff;
  font-family: var(--wpw-font-head);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 20px;
}

/* ─── WARENKORB ─── */
.woocommerce table.cart td,
.woocommerce table.cart th {
  padding: 18px 16px;
  border-top: 1px solid var(--wpw-border-light);
  vertical-align: middle;
}

.woocommerce .cart_item td.product-name a {
  font-family: var(--wpw-font-head);
  font-weight: 600;
  color: var(--wpw-navy);
  font-size: 15px;
  text-decoration: none;
}
.woocommerce .cart_item td.product-name a:hover {
  color: var(--wpw-primary);
}

.woocommerce .cart-collaterals .cart_totals {
  background: var(--wpw-bg-alt);
  border: 1.5px solid var(--wpw-border-light);
  border-radius: var(--wpw-radius-card);
  padding: 28px;
}

.woocommerce .cart_totals h2 {
  font-family: var(--wpw-font-head);
  font-size: 18px;
  font-weight: 700;
  color: var(--wpw-navy);
  margin-bottom: 16px;
}

.woocommerce a.checkout-button {
  width: 100%;
  justify-content: center;
  height: 58px;
  font-size: 16px;
  font-weight: 700;
  margin-top: 16px;
}

/* ─── MEIN KONTO (My Account) ─── */
.woocommerce-MyAccount-navigation {
  background: var(--wpw-bg-alt);
  border: 1.5px solid var(--wpw-border-light);
  border-radius: var(--wpw-radius-card);
  padding: 8px;
  margin-bottom: 24px;
}

.woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 10px 16px;
  border-radius: 8px;
  font-family: var(--wpw-font-head);
  font-size: 14px;
  font-weight: 600;
  color: var(--wpw-body-text);
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
  background: var(--wpw-primary);
  color: var(--wpw-white);
}

/* ─── BENACHRICHTIGUNGEN ─── */
.woocommerce-message,
.woocommerce-info {
  background: var(--wpw-primary-light) !important;
  border-top-color: var(--wpw-primary) !important;
  color: var(--wpw-navy) !important;
  border-radius: 0 0 var(--wpw-radius-card) var(--wpw-radius-card) !important;
  font-family: var(--wpw-font-body);
  font-size: 14px;
}

.woocommerce-error {
  background: #FEF2F2 !important;
  border-top-color: #DC2626 !important;
  color: #991B1B !important;
  border-radius: 0 0 var(--wpw-radius-card) var(--wpw-radius-card) !important;
}

/* ─── SUBSCRIPTION-SPEZIFISCH ─── */
.woocommerce-subscriptions-product-details,
.subscription-details {
  background: var(--wpw-green-light);
  border: 1.5px solid var(--wpw-green);
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 14px;
  color: var(--wpw-green-deep);
  font-weight: 500;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Abo-Status-Badges im Konto */
.woocommerce-subscriptions .subscription-status {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.woocommerce-subscriptions .subscription-status.active {
  background: var(--wpw-green-light);
  color: var(--wpw-green-deep);
}
.woocommerce-subscriptions .subscription-status.cancelled {
  background: #FEF2F2;
  color: #991B1B;
}
.woocommerce-subscriptions .subscription-status.on-hold {
  background: #FFFBEB;
  color: #92400E;
}

/* ─── RESPONSIVE ─── */
@media (max-width: 768px) {
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    padding: 20px;
  }

  #payment {
    padding: 16px !important;
  }

  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }

  .woocommerce div.product .product_title {
    font-size: 24px;
  }

  .woocommerce-MyAccount-navigation ul {
    flex-direction: column;
  }
}


/* Seiten-Layout Checkout/Warenkorb */


/* ================================================
   1. 1500px auf allen Astra-Containern
   ================================================ */
body.woocommerce-checkout .ast-container,
body.woocommerce-cart .ast-container,
body.woocommerce-checkout .ast-separate-container .ast-article-single,
body.woocommerce-cart .ast-separate-container .ast-article-single,
body.woocommerce-checkout .entry-content,
body.woocommerce-cart .entry-content {
    max-width: 1500px !important;
    width: 100% !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
    box-sizing: border-box !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
}

/* ================================================
   2. Subscription Badge: kein gruener Hintergrund
   ================================================ */
.subscription-details,
.cart_item .subscription-details {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    color: #9AA1B1 !important;
    font-size: inherit !important;
    font-weight: 400 !important;
    border-radius: 0 !important;
    margin-left: 2px !important;
    display: inline !important;
}

/* ================================================
   3. WARENKORB
   ================================================ */
.woocommerce table.cart {
    width: 100%; border-collapse: separate; border-spacing: 0;
    border: 1.5px solid #E5E7EF; border-radius: 14px; overflow: hidden; background: #fff;
}
.woocommerce table.cart thead tr th {
    font-family: 'Manrope', sans-serif; font-size: 11px; font-weight: 700;
    text-transform: uppercase; letter-spacing: .07em; color: #9AA1B1;
    background: #F7F8FC; padding: 14px 20px; text-align: left; border: none;
}
.woocommerce table.cart tbody tr td { padding: 24px 20px; border-top: 1px solid #EEF0F6; vertical-align: top; }
.woocommerce table.cart td.product-thumbnail { width: 0; padding: 0; display: none; }
.woocommerce table.cart td.product-name { width: 75%; }
.woocommerce table.cart td.product-name > a {
    font-family: 'Manrope', sans-serif; font-size: 18px; font-weight: 800;
    color: #10152B; text-decoration: none; display: block; margin-bottom: 8px;
}
.woocommerce table.cart td.product-name > a:hover { color: #123a6e; }
.wpw-cdesc { font-size: 13px; line-height: 1.65; color: #6B7280; margin-top: 10px; }
.wpw-cdesc h3 { font-family: 'Manrope', sans-serif; font-size: 13px; font-weight: 700; color: #10152B; margin: 14px 0 6px; }
.wpw-cdesc ul { list-style: none; padding: 0; margin: 0 0 8px; display: grid; grid-template-columns: 1fr 1fr; gap: 3px 20px; }
.wpw-cdesc ul li { font-size: 12.5px; padding: 3px 0 3px 20px; position: relative; color: #4B5565; }
.wpw-cdesc ul li:before { content: ''; position: absolute; left: 0; top: 7px; width: 13px; height: 13px; background: #EEF6E6; border-radius: 50%; }
.wpw-cdesc ul li:after { content: ''; position: absolute; left: 3px; top: 10px; width: 5px; height: 3px; border-left: 1.5px solid #4E8C2F; border-bottom: 1.5px solid #4E8C2F; transform: rotate(-45deg); }
.wpw-cdesc p { font-size: 12px; color: #9AA1B1; margin: 6px 0 0; }
.woocommerce table.cart td.product-subtotal { width: 25%; text-align: right; background: #FAFBFF; border-left: 1px solid #EEF0F6; }
.woocommerce table.cart td.product-subtotal .woocommerce-Price-amount {
    font-family: 'Manrope', sans-serif; font-size: 26px; font-weight: 800;
    color: #123a6e; letter-spacing: -.02em; display: block; margin-bottom: 4px;
}
.woocommerce table.cart td.actions { padding: 16px 20px; border-top: 1px solid #EEF0F6; }
.woocommerce .cart-collaterals { width: 100%; float: none; margin-top: 28px; }
.woocommerce .cart-collaterals .cart_totals {
    float: right; width: 100%; max-width: 440px;
    background: #fff; border: 1.5px solid #E5E7EF; border-radius: 14px; padding: 28px 32px;
}
.woocommerce .cart_totals h2 { font-family: 'Manrope', sans-serif; font-size: 18px; font-weight: 800; color: #10152B; margin: 0 0 18px; }
.woocommerce .cart_totals table th, .woocommerce .cart_totals table td { padding: 12px 0; font-size: 14px; border-top: 1px solid #EEF0F6; }
.woocommerce .cart_totals .order-total th, .woocommerce .cart_totals .order-total td {
    font-family: 'Manrope', sans-serif; font-size: 18px; font-weight: 800; color: #10152B; border-top: 2px solid #E5E7EF; padding-top: 16px;
}
.woocommerce a.checkout-button {
    display: block; text-align: center; background: #123a6e; color: #fff !important;
    font-family: 'Manrope', sans-serif; font-size: 16px; font-weight: 700;
    padding: 17px; border-radius: 8px; text-decoration: none !important; margin-top: 16px;
    box-shadow: 0 2px 10px rgba(18,58,110,.2); transition: background .18s, transform .12s;
}
.woocommerce a.checkout-button:hover { background: #0e2e57; transform: translateY(-1px); }

/* ================================================
   4. KASSE 50/50
   ================================================ */

/* Astra-Wrapper resetten */
body.wpw-co #primary,
body.wpw-co #content,
body.wpw-co .ast-article-single,
body.wpw-co .entry-content {
    width: 100% !important; max-width: 100% !important;
    padding: 0 !important; float: none !important; margin: 0 auto !important;
}
body.wpw-co .woocommerce {
    width: 100% !important; max-width: 1500px !important;
    margin: 0 auto !important; padding: 0 40px !important;
    box-sizing: border-box !important; display: block !important; float: none !important;
}

@media (min-width: 960px) {

    /* Grid: links=Rechnungsdaten, rechts=Order-Card */
    body.wpw-co form.woocommerce-checkout {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        grid-template-areas: "links rechts" !important;
        column-gap: 32px !important;
        align-items: start !important;
        width: 100% !important;
    }

    /* Linke Spalte: .col2-set (Rechnungsdaten) */
    body.wpw-co form.woocommerce-checkout .col2-set {
        grid-area: links !important;
        width: 100% !important; float: none !important; display: block !important;
        align-self: start !important;
    }

    /* Rechte Spalte: wpw-order-card Wrapper (Heading + Order Review) */
    body.wpw-co form.woocommerce-checkout .wpw-order-card {
        grid-area: rechts !important;
        width: 100% !important; float: none !important;
        /* Eine Card, eine Border, kein Gap */
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        overflow: visible !important;
        align-self: start !important;
    }

    /* Heading innerhalb der Card */
    body.wpw-co .wpw-order-card h3#order_review_heading {
        font-family: 'Manrope', sans-serif !important;
        font-size: 18px !important; font-weight: 800 !important;
        color: #10152B !important; letter-spacing: -.01em !important;
        margin: 0 !important;
        padding: 0 0 16px 0 !important;
        border: none !important;
        display: block !important;
        text-align: left !important;
    }

    /* Order Review Body */
    body.wpw-co .wpw-order-card #order_review {
        width: 100% !important; float: none !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
        background: transparent !important;
    }
}

/* Rechnungsdaten Card */
body.wpw-co .col2-set {
    width: 100% !important; float: none !important;
    background: #fff;
    border: 1.5px solid #E5E7EF;
    border-radius: 14px;
    padding: 35px !important;
    box-sizing: border-box;
}
body.wpw-co .col2-set .col-1,
body.wpw-co .col2-set .col-2 {
    width: 100% !important; float: none !important;
    margin: 0 !important; padding: 0 !important;
    box-sizing: border-box !important; display: block !important;
}
body.wpw-co .col2-set .col-2 { margin-top: 24px !important; }
body.wpw-co .col2-set h3,
body.wpw-co .woocommerce-billing-fields h3,
body.wpw-co .woocommerce-shipping-fields h3 {
    font-family: 'Manrope', sans-serif; font-size: 18px; font-weight: 800;
    color: #10152B; margin: 0 0 20px; padding-bottom: 16px;
    border-bottom: 1.5px solid #EEF0F6; letter-spacing: -.01em;
}

/* Formularfelder */
body.wpw-co form.woocommerce-checkout .form-row { margin: 0 0 14px !important; padding: 0 !important; }
body.wpw-co form.woocommerce-checkout .form-row-first,
body.wpw-co form.woocommerce-checkout .form-row-last { width: 48% !important; float: left !important; }
body.wpw-co form.woocommerce-checkout .form-row-first { margin-right: 4% !important; }
body.wpw-co form.woocommerce-checkout .form-row-wide { width: 100% !important; float: none !important; clear: both !important; }
body.wpw-co form.woocommerce-checkout label {
    font-family: 'Manrope', sans-serif; font-size: 12px; font-weight: 700;
    color: #10152B; display: block; margin-bottom: 5px;
}
body.wpw-co form.woocommerce-checkout .input-text,
body.wpw-co form.woocommerce-checkout select {
    border: 1.5px solid #E5E7EF !important; border-radius: 8px !important;
    padding: 12px 14px !important; font-size: 15px; font-family: 'Inter', sans-serif;
    color: #10152B; width: 100% !important; height: auto !important; min-height: 48px;
    background: #fff; transition: border-color .15s, box-shadow .15s; box-sizing: border-box !important;
}
body.wpw-co form.woocommerce-checkout .input-text:focus,
body.wpw-co form.woocommerce-checkout select:focus {
    border-color: #123a6e !important; box-shadow: 0 0 0 3px rgba(18,58,110,.09) !important; outline: none;
}
body.wpw-co .select2-container { width: 100% !important; }
body.wpw-co .select2-container--default .select2-selection--single {
    border: 1.5px solid #E5E7EF !important; border-radius: 8px !important;
    height: 48px !important; display: flex !important; align-items: center !important;
}
body.wpw-co .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: normal !important; padding: 0 14px !important; font-size: 15px; color: #10152B;
}
body.wpw-co .select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px !important; right: 8px !important; }

/* Bestelltabelle */
body.wpw-co #order_review table { width: 100%; border-collapse: collapse; margin: 0; }
body.wpw-co #order_review table th {
    font-family: 'Manrope', sans-serif; font-size: 11px; font-weight: 700;
    text-transform: uppercase; letter-spacing: .06em; color: #9AA1B1;
    padding: 12px 0; border-bottom: 1.5px solid #EEF0F6; text-align: left; background: none;
}
body.wpw-co #order_review table td {
    padding: 14px 0; font-size: 14px; color: #4B5565;
    border-bottom: 1px solid #EEF0F6; text-align: right; background: none;
}
body.wpw-co #order_review table td.product-name { text-align: left; color: #10152B; }
/* Produktname in der Bestelltabelle */
body.wpw-co #order_review table td.product-name > a,
body.wpw-co #order_review table td.product-name strong {
    font-family: 'Manrope', sans-serif; font-size: 17px; font-weight: 700;
    color: #10152B; display: block; margin-bottom: 4px; text-decoration: none;
}
/* Short Description unter Produktname */
.wpw-co-short {
    display: block;
    font-size: 14px;
    color: #333333;
    line-height: 1.5;
    margin-top: 4px;
    font-weight: 400;
}
body.wpw-co #order_review .wpw-cdesc { display: none; }
body.wpw-co #order_review table tfoot th { font-size: 14px; color: #4B5565; text-transform: none; letter-spacing: 0; }
body.wpw-co #order_review table .order-total th,
body.wpw-co #order_review table .order-total td {
    font-family: 'Manrope', sans-serif; font-size: 18px; font-weight: 800; color: #10152B;
    border-top: 2px solid #E5E7EF; border-bottom: none; padding-top: 16px;
}
body.wpw-co #order_review tr.recurring-totals th,
body.wpw-co #order_review tr.recurring_totals th {
    font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: #9AA1B1; padding-top: 24px;
}
body.wpw-co #order_review tr.recurring-total th,
body.wpw-co #order_review tr.recurring_total th {
    font-size: 15px; text-transform: none; color: #10152B; font-weight: 800; padding-top: 8px;
}
body.wpw-co #order_review tr.recurring-total td,
body.wpw-co #order_review tr.recurring_total td { font-weight: 800; color: #10152B; font-size: 15px; padding-top: 8px; }
.first-payment-date, .first-renewal-date { font-size: 12px; color: #9AA1B1; display: block; margin-top: 4px; font-weight: 400; }

/* Zahlungsarten */
body.wpw-co #payment { background: #F7F8FC !important; border: 1.5px solid #EEF0F6 !important; border-radius: 10px !important; padding: 18px !important; margin-top: 0; }
body.wpw-co #payment ul.payment_methods { list-style: none; padding: 0; margin: 0 0 14px; display: flex; flex-direction: column; gap: 8px; border: none !important; }
body.wpw-co #payment ul.payment_methods li { background: #fff; border: 1.5px solid #E5E7EF; border-radius: 10px; padding: 14px 16px; margin: 0; transition: border-color .15s; }
body.wpw-co #payment ul.payment_methods li:has(input:checked) { border-color: #123a6e; background: #F5F8FC; box-shadow: 0 0 0 3px rgba(18,58,110,.07); }
body.wpw-co #payment ul.payment_methods label { font-family: 'Manrope', sans-serif; font-size: 14px; font-weight: 600; color: #10152B; cursor: pointer; margin: 0; display: inline-flex; align-items: center; gap: 8px; }
body.wpw-co #payment ul.payment_methods img { max-height: 22px; width: auto; }
body.wpw-co #payment .payment_box { background: transparent !important; border: none !important; padding: 10px 0 0 !important; margin: 0 !important; font-size: 13px; color: #6B7280; line-height: 1.6; }
body.wpw-co #payment .payment_box:before { display: none !important; }
body.wpw-co #payment #place_order {
    width: 100%; height: 56px; font-family: 'Manrope', sans-serif; font-size: 16px; font-weight: 800;
    background: #123a6e; color: #fff; border: none; border-radius: 8px; cursor: pointer;
    box-shadow: 0 4px 16px rgba(18,58,110,.25); transition: background .18s, transform .12s;
    margin-top: 8px; display: block; float: none;
}
body.wpw-co #payment #place_order:hover { background: #0e2e57; transform: translateY(-1px); }

/* Meldungen */
.woocommerce-info, .woocommerce-message { background: #EAF0F8 !important; border-top: 2px solid #123a6e !important; color: #10152B !important; border-radius: 0 0 10px 10px; font-size: 14px; }
.woocommerce-error { background: #FEF2F2 !important; border-top: 2px solid #DC2626 !important; color: #991B1B !important; border-radius: 0 0 10px 10px; }
/* Kasse: Warenkorb-Hinweis + Gutschein-Toggle ausblenden */
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info {
    display: none !important;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle { display: none !important; }

/* Mobile */
@media (max-width: 959px) {
    .wpw-cdesc ul { grid-template-columns: 1fr; }

    /* Volle Breite wie Footer: ast-container 40px Padding aufheben */
    body.woocommerce-checkout .ast-container,
    body.woocommerce-cart .ast-container,
    body.woocommerce-checkout .ast-separate-container .ast-article-single,
    body.woocommerce-cart .ast-separate-container .ast-article-single,
    body.woocommerce-checkout .entry-content,
    body.woocommerce-cart .entry-content {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body.wpw-co .woocommerce { padding: 0 10px !important; }
    body.wpw-co .col2-set { padding: 16px !important; }
    body.wpw-co .wpw-order-card { margin-top: 20px; }
    body.wpw-co .wpw-order-card h3#order_review_heading { padding: 0 0 12px 0; border-bottom: 1.5px solid #EEF0F6; margin-bottom: 16px; text-align: left; }
    body.wpw-co .wpw-order-card #order_review { padding: 0; }

    /* Formfelder: Vorname/Nachname stacken */
    body.wpw-co form.woocommerce-checkout .form-row-first,
    body.wpw-co form.woocommerce-checkout .form-row-last {
        width: 100% !important;
        float: none !important;
        margin-right: 0 !important;
        clear: both !important;
    }

    /* Payment: weniger Padding damit Stripe mehr Breite bekommt */
    body.wpw-co #payment {
        padding: 12px !important;
    }
    body.wpw-co #payment ul.payment_methods li {
        padding: 10px 12px !important;
    }
    body.wpw-co #payment ul.payment_methods label {
        flex-wrap: wrap !important;
    }
    /* Stripe iframe: volle Container-Breite */
    body.wpw-co #payment .payment_box,
    body.wpw-co #payment .payment_box > *,
    body.wpw-co #payment .wc-stripe-payment-element {
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }
    body.wpw-co #payment .__PrivateStripeElement,
    body.wpw-co #payment .__PrivateStripeElement iframe {
        width: 100% !important;
        min-width: 0 !important;
    }

    /* Order Review Tabelle: Preis nicht abschneiden */
    body.wpw-co #order_review table td {
        font-size: 13px !important;
    }
    body.wpw-co #order_review table .order-total th,
    body.wpw-co #order_review table .order-total td {
        font-size: 16px !important;
    }

    /* Place-Order Button: lesbar */
    body.wpw-co #payment #place_order {
        font-size: 15px !important;
        height: auto !important;
        padding: 16px !important;
    }

    /* Express-Checkout Buttons (Apple/Google Pay) */
    .wc-block-components-express-payment,
    .woocommerce-checkout #payment .wc-stripe-payment-request-button {
        width: 100% !important;
    }
}

/* Deine Bestellung: linksbündig */
body.wpw-co h3#order_review_heading{text-align:left!important;margin:0 0 20px 0!important;padding:0 0 16px 0!important;border-bottom:1.5px solid #EEF0F6!important;border-top:none!important;border-left:none!important;border-right:none!important;}
.woocommerce-checkout #order_review_heading,.wpw-order-card h3{text-align:left!important;width:100%!important;}

/* Mobile: Warenkorb-Icon im Header klickbar machen */
#ast-mobile-header .ast-site-header-cart-li a {
    pointer-events: auto !important;
}

/* Kasse: Seitentitel Abstand oben */
.woocommerce-checkout .entry-title {
    margin-top: 20px !important;
}

/* Hero Background Image auf Mobile ausblenden */
@media (max-width: 767px) {
    .e-eedce7c-l,
    .e-eedce7c-l::before,
    .e-eedce7c-l::after {
        background-image: none !important;
    }
}

/* Hero Startseite: Background-Image auf Mobile komplett ausblenden */
@media (max-width:767px){
    .e-eedce7c-l{
        background-image:none!important;
        background:none!important;
    }
    [style*="herosektionwpresswartung"]{
        background-image:none!important;
        background:none!important;
    }
}

/* Warenkorb: Produkt entfernen (x) Button */
.woocommerce table.cart td.product-remove{
    display:table-cell!important;
    width:40px!important;
    text-align:center!important;
    vertical-align:middle!important;
    padding:24px 10px!important;
    border-top:1px solid #EEF0F6!important;
}
.woocommerce table.cart td.product-remove a.remove{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:28px!important;
    height:28px!important;
    border-radius:50%!important;
    background:#FEF2F2!important;
    color:#DC2626!important;
    font-size:16px!important;
    font-weight:700!important;
    text-decoration:none!important;
    line-height:1!important;
    transition:background .15s,color .15s!important;
    margin:0 auto!important;
    border:none!important;
}
.woocommerce table.cart td.product-remove a.remove:hover{
    background:#DC2626!important;
    color:#fff!important;
}

/* Mobile: verstecktes Select2-Originalfeld (Land) nicht auf 100% Breite zwingen - verhinderte horizontales Scrollen */
body.wpw-co form.woocommerce-checkout select.select2-hidden-accessible,
body.wpw-ca select.select2-hidden-accessible{
    width:1px!important;
    min-width:0!important;
    min-height:0!important;
    height:1px!important;
    padding:0!important;
    border:0!important;
}
