/* Payment layout only. Provider buttons, frames and payment handlers stay native. */
.fk-commerce-cart .fk-payment-reassurance { margin: 20px 0 0; color: #615b50; text-align: center; }
.fk-commerce-cart .fk-payment-reassurance__title { margin: 0 0 12px; color: #514b40; font-size: 12px; font-weight: 500; line-height: 1.5; }
.fk-commerce-cart .fk-payment-marks { display: flex; flex-wrap: wrap; justify-content: center; align-items: stretch; gap: 7px; }
.fk-commerce-cart .fk-payment-mark { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-height: 35px; padding: 6px 9px; border: 1px solid #ded7ca; border-radius: 6px; background: #fff; color: #171713; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.2; white-space: nowrap; }
.fk-commerce-cart .fk-payment-mark--card { font-size: 10px; }
.fk-commerce-cart .fk-payment-mark--card svg { flex: 0 0 25px; }
.fk-commerce-cart .fk-payment-mark--paypal { font-style: italic; font-size: 15px; color: #003087; }
.fk-commerce-cart .fk-payment-mark--paypal b span { color: #0070e0; }
.fk-commerce-cart .fk-payment-mark--google { color: #444; font-size: 12px; }
.fk-commerce-cart .fk-payment-mark--google b { font-weight: 500; }
.fk-commerce-cart .fk-payment-mark--google b span { font-weight: 600; }
.fk-commerce-cart .fk-payment-mark--alma { gap: 5px; }
.fk-commerce-cart .fk-payment-mark--alma b { color: #d95940; font-size: 19px; font-weight: 750; letter-spacing: -1px; }
.fk-commerce-cart .fk-payment-mark--alma small { max-width: 72px; color: #746a5d; font-size: 8px; }
.fk-commerce-cart .fk-payment-reassurance__note { margin: 11px 0 0; color: #746b5d; font-size: 10px; line-height: 1.65; }

/* Defensive presentation guard for themes that retain a cart express wrapper. */
.fk-commerce-cart #wc-stripe-express-checkout-element,
.fk-commerce-cart #wc-stripe-express-checkout-button-separator,
.fk-commerce-cart .wc-proceed-to-checkout .ppc-button-wrapper,
.fk-commerce-cart .wc-proceed-to-checkout [id^="ppc-button-"] { display: none !important; }

/* Stable provider container outside the AJAX-replaced #payment subtree. Grid
   changes its visual position without moving or reparenting a live iframe. */
.fk-commerce-checkout #order_review { display: grid; grid-template-columns: minmax(0,1fr); align-items: start; }
.fk-commerce-checkout #order_review > .woocommerce-checkout-review-order-table { grid-column: 1; grid-row: 1; }
.fk-commerce-checkout #order_review > .fk-commerce-delivery { grid-column: 1; grid-row: 2; }
.fk-commerce-checkout #order_review > #payment { display: contents; }
.fk-commerce-checkout #order_review #payment > ul.payment_methods { grid-column: 1; grid-row: 3; margin-top: 18px; border-top: 1px solid #ded7ca; }
.fk-commerce-checkout #order_review > .fk-wallet-options { grid-column: 1; grid-row: 4; min-width: 0; margin: 0; padding: 0; }
.fk-commerce-checkout #order_review #payment > .form-row.place-order { grid-column: 1; grid-row: 5; }
.fk-commerce-checkout .fk-wallet-options #wc-stripe-express-checkout-element { margin: 0 !important; clear: none !important; }
.fk-commerce-checkout .fk-wallet-options #wc-stripe-express-checkout-button-separator { display: none !important; }
.fk-commerce-checkout .fk-wallet-options [id^="wc-stripe-express-checkout-element-"] { width: 100%; margin: 0 0 12px; padding: 14px; border: 1px solid #d6cdbb; border-radius: 10px; background: #fff; box-sizing: border-box; }
.fk-commerce-checkout .fk-wallet-options [id^="wc-stripe-express-checkout-element-"]::before { display: block; margin: 0 0 11px; color: #201e19; font: 650 14px/1.5 Arial, Helvetica, sans-serif; }
.fk-commerce-checkout .fk-wallet-options #wc-stripe-express-checkout-element-googlePay::before { content: "Google Pay"; }
.fk-commerce-checkout .fk-wallet-options #wc-stripe-express-checkout-element-applePay::before { content: "Apple Pay"; }
.fk-commerce-checkout .fk-wallet-options #wc-stripe-express-checkout-element-link::before { content: "Link"; }
.fk-commerce-checkout .fk-wallet-options #wc-stripe-express-checkout-element-amazonPay::before { content: "Amazon Pay"; }
.fk-commerce-checkout .fk-wallet-unavailable { margin: 0 0 12px; padding: 14px; border: 1px solid #ded7ca; border-radius: 10px; background: #f8f6f0; }
.fk-commerce-checkout .fk-wallet-unavailable > strong,
.fk-commerce-checkout .fk-wallet-unavailable > div > strong { color: #514b41; font-size: 14px; font-weight: 650; }
.fk-commerce-checkout .fk-wallet-unavailable > span { display: block; margin-top: 5px; color: #746a5b; font-size: 11px; line-height: 1.6; }
.fk-commerce-checkout .fk-wallet-unavailable > div { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.fk-commerce-checkout .fk-payment-status { padding: 3px 8px; border-radius: 4px; background: #e9e2d4; color: #6b5940; font-size: 10px; font-weight: 500; line-height: 1.5; }
.fk-commerce-checkout .fk-wallet-options [hidden] { display: none !important; }

@media(max-width:600px) {
  .fk-commerce-checkout .fk-wallet-options [id^="wc-stripe-express-checkout-element-"],
  .fk-commerce-checkout .fk-wallet-unavailable { padding: 13px 11px; }
  .fk-commerce-cart .fk-payment-marks { gap: 6px; }
  .fk-commerce-cart .fk-payment-mark { padding: 6px 8px; }
}
