/* =========================================================
   WHITEFOX – CART + CHECKOUT
   Phase 3.1b first extraction
   Scope: cart + checkout only
   NOTE:
   - Account payment-method blocks intentionally excluded
   - Single-product notices intentionally excluded
   ========================================================= */

/* =========================================================
   WooCommerce Notice (general cart/checkout-friendly variant)
   ========================================================= */

.woocommerce-notices-wrapper{
  max-width: 1180px;
  margin: 18px auto 26px auto;
  padding: 0 14px;
}

.woocommerce-notices-wrapper .woocommerce-message{
  background: linear-gradient(
    180deg,
    rgba(15,23,42,.85),
    rgba(2,6,23,.92)
  );
  border: 1px solid rgba(56,189,248,.25);
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
  color: rgba(241,245,255,.95);
  padding: 14px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  font-size: 14px;
  line-height: 1.4;
}

.woocommerce-message::before{
  display: none !important;
}

.woocommerce-message .button{
  background: rgba(2,132,199,.22);
  border: 1px solid rgba(56,189,248,.45);
  color: rgba(241,245,255,.95);
  border-radius: 999px;
  padding: 7px 16px;
  font-size: 13px;
  font-weight: 500;
  transition: all .2s ease;
  white-space: nowrap;
}

.woocommerce-message .button:hover{
  background: rgba(56,189,248,.25);
  border-color: rgba(56,189,248,.75);
}

@media (max-width: 640px){
  .woocommerce-notices-wrapper .woocommerce-message{
    flex-direction: column;
    align-items: flex-start;
  }

  .woocommerce-message .button{
    align-self: stretch;
    text-align: center;
  }
}

/* =========================================================
   Cart labels / text swaps / spacing
   ========================================================= */

body.woocommerce-cart .woocommerce-cart-form button[name="update_cart"],
body.woocommerce-cart .woocommerce-cart-form button[name="apply_coupon"],
body.woocommerce-cart .cart_totals > h2,
body.woocommerce-cart .wc-proceed-to-checkout > a.checkout-button{
  position: relative;
}

body.woocommerce-cart .woocommerce-cart-form button[name="update_cart"]{
  font-size: 0;
}
body.woocommerce-cart .woocommerce-cart-form button[name="update_cart"]::after{
  content: "Aktualisieren";
  font-size: 14px;
}

body.woocommerce-cart .woocommerce-cart-form button[name="apply_coupon"]{
  font-size: 0;
}
body.woocommerce-cart .woocommerce-cart-form button[name="apply_coupon"]::after{
  content: "Code anwenden";
  font-size: 14px;
}

body.woocommerce-cart .cart_totals > h2{
  position: relative;
  visibility: hidden;
  margin-bottom: 12px;
}
body.woocommerce-cart .cart_totals > h2::after{
  content: "Gesamtsumme";
  visibility: visible;
  position: absolute;
  inset: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}

body.woocommerce-cart .wc-proceed-to-checkout > a.checkout-button{
  font-size: 0;
  margin-bottom: 16px !important;
}
body.woocommerce-cart .wc-proceed-to-checkout > a.checkout-button::after{
  content: "Zur Kasse";
  font-size: 14px;
  font-weight: 600;
}

body.woocommerce-cart .wc-proceed-to-checkout #payment-method-message{
  margin-bottom: 10px !important;
}

body.woocommerce-cart .wc-proceed-to-checkout .ppc-button-wrapper{
  margin-top: 14px !important;
}

/* Older cart-specific swap rules retained for compatibility */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  font-size: 0 !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::before{
  content: "Zur Kasse" !important;
  font-size: 16px !important;
  line-height: 1 !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::after{
  content: "" !important;
}

.woocommerce-cart button[name="update_cart"]{
  font-size: 0 !important;
}
.woocommerce-cart button[name="update_cart"]::before{
  content: "Warenkorb aktualisieren" !important;
  font-size: 16px !important;
  line-height: 1 !important;
}
.woocommerce-cart button[name="update_cart"]::after{
  content: "" !important;
}

.woocommerce-cart button[name="apply_coupon"],
.woocommerce-cart .e-apply-coupon{
  font-size: 0 !important;
}
.woocommerce-cart button[name="apply_coupon"]::before,
.woocommerce-cart .e-apply-coupon::before{
  content: "Code anwenden" !important;
  font-size: 16px !important;
  line-height: 1 !important;
}
.woocommerce-cart button[name="apply_coupon"]::after,
.woocommerce-cart .e-apply-coupon::after{
  content: "" !important;
}

@media (max-width: 640px){
  body.woocommerce-cart .woocommerce-cart-form td[data-title]:before,
  body.woocommerce-cart .woocommerce-cart-form td[data-title]::before,
  body.woocommerce-cart form.woocommerce-cart-form td[data-title]:before,
  body.woocommerce-cart form.woocommerce-cart-form td[data-title]::before,
  body.woocommerce-cart table.woocommerce-cart-form__contents td[data-title]:before,
  body.woocommerce-cart table.woocommerce-cart-form__contents td[data-title]::before,
  body.woocommerce-cart td.product-name[data-title]:before,
  body.woocommerce-cart td.product-price[data-title]:before,
  body.woocommerce-cart td.product-quantity[data-title]:before,
  body.woocommerce-cart td.product-subtotal[data-title]:before,
  body.woocommerce-cart td.product-name[data-title]::before,
  body.woocommerce-cart td.product-price[data-title]::before,
  body.woocommerce-cart td.product-quantity[data-title]::before,
  body.woocommerce-cart td.product-subtotal[data-title]::before{
    color: rgba(226,232,240,.82) !important;
    font-weight: 800 !important;
  }
}

/* =========================================================
   Checkout – PayPal PPCP box clip fix
   ========================================================= */

.woocommerce-checkout #payment,
.woocommerce-checkout #payment .wc_payment_methods,
.woocommerce-checkout #payment .wc_payment_method,
.woocommerce-checkout #payment .wc_payment_method .payment_box{
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
}

.woocommerce-checkout #payment .payment_method_ppcp-gateway .payment_box{
  display: block !important;
  padding: 12px 12px !important;
  margin: 10px 0 0 !important;
  background: rgba(2,6,23,.25) !important;
  border: 1px solid rgba(148,163,184,.18) !important;
  border-radius: 14px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.woocommerce-checkout #payment .payment_method_ppcp-gateway .payment_box p{
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  line-height: 1.35 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  align-items: initial !important;
  justify-content: initial !important;
  color: rgba(226,232,240,.92) !important;
}

/* =========================================================
   Checkout – Mollie components
   ========================================================= */

body.woocommerce-checkout #payment .payment_box .mollie-components #expiryDate{
  margin-bottom: 15px !important;
}

body.woocommerce-checkout #payment .payment_box .mollie-components #verificationCode{
  margin-bottom: 15px !important;
}

body.woocommerce-checkout #payment .payment_box .mollie-components{
  padding-left: 8px !important;
  padding-right: 8px !important;
}

/* =========================================================
   Checkout – WooPayments / payment section
   NOTE: checkout-only part of mixed block retained, account excluded
   ========================================================= */

.woocommerce-checkout #payment{
  background: rgba(10, 16, 28, 0.72);
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(0,0,0,.45);
  backdrop-filter: blur(10px);
}

.woocommerce-checkout #payment ul.payment_methods{
  background: transparent;
  border: 0;
  margin: 0 !important;
  padding: 12px !important;
}

.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method{
  background: rgba(2, 6, 23, 0.35);
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 14px;
  padding: 14px !important;
  margin: 0 0 12px !important;
}

.woocommerce-checkout #payment ul.payment_methods > li label{
  color: rgba(226,232,240,.95);
  font-weight: 800;
}

.woocommerce-checkout #payment input[type="radio"]{
  accent-color: rgba(125, 211, 252, 0.95);
}

.woocommerce-checkout #payment .payment_box{
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 12px 0 0 !important;
  margin: 0 !important;
}

.woocommerce-checkout #payment .payment_box:before,
.woocommerce-checkout #payment .payment_box:after{
  display: none !important;
}

.woocommerce-checkout #payment .wcpay-upe-form,
.woocommerce-checkout #payment fieldset.wc-payment-form{
  background: rgba(2, 6, 23, 0.22);
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 14px;
  padding: 12px !important;
}

.woocommerce-checkout #payment .wcpay-upe-element.StripeElement{
  border-radius: 12px;
  overflow: hidden !important;
  outline: 1px solid rgba(148, 163, 184, 0.16);
  box-shadow: inset 0 0 0 9999px rgba(2, 6, 23, 0.18);
}

.woocommerce-checkout #payment .payment-methods--logos{
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-left: 10px !important;
  opacity: .95 !important;
}

.woocommerce-checkout #payment .payment-methods--logos img{
  filter: saturate(0.95) contrast(1.05);
}

.woocommerce-checkout #payment .woocommerce-SavedPaymentMethods-saveNew label{
  color: rgba(226,232,240,.85);
  font-weight: 600;
}

.woocommerce-checkout #place_order{
  border-radius: 12px;
  border: 1px solid rgba(125, 211, 252, 0.35);
  background: rgba(15, 23, 42, 0.75);
  color: rgba(226, 232, 240, 0.95);
  font-weight: 800;
}
