/* v3.7.8 mobile cart dock and deposit/checkout responsive hardening */

/* The raised cart action is intentionally icon-only; its accessible name lives in markup. */
@media(max-width:850px){
  .mobile-bottom-nav .mobile-cart-dock{
    height:56px!important;
    min-height:56px!important;
    padding:0!important;
    gap:0!important;
    transform:translateY(-8px)!important;
  }
  .mobile-cart-dock>i{
    flex:0 0 50px!important;
    width:50px!important;
    height:50px!important;
  }
  .mobile-cart-dock>b{
    top:-5px!important;
    right:calc(50% - 31px)!important;
  }
  .mobile-cart-dock>span{display:none!important}
  .site-footer{padding-bottom:calc(104px + env(safe-area-inset-bottom))!important}
}

/* Prevent any payment content from creating page-level horizontal scrolling. */
.deposit-hero,.deposit-premium-page,.payment-page,
.deposit-premium-layout,.deposit-workspace,.deposit-premium-card,
.payment-layout,.payment-console,.payment-summary,.payment-form,
.gateway-payment-panel,.gateway-payment-fields{min-width:0;max-width:100%}
.deposit-premium-card,.payment-console,.payment-summary{overflow-wrap:anywhere}
.deposit-premium-card input,.deposit-premium-card select,.deposit-premium-card textarea,
.payment-console input,.payment-console select,.payment-console textarea{min-width:0;max-width:100%}

@media(max-width:960px){
  .payment-page{padding-bottom:calc(105px + env(safe-area-inset-bottom))!important}
  .payment-layout{grid-template-columns:minmax(0,1fr)!important;gap:18px!important}
  .payment-console{order:1!important}
  .payment-summary{position:static!important;top:auto!important;order:2!important}
  .deposit-premium-page{padding-bottom:calc(105px + env(safe-area-inset-bottom))!important}
}

@media(max-width:700px){
  .deposit-hero>.container,.deposit-premium-page>.container,.payment-page>.container{
    width:calc(100% - 20px)!important;
    max-width:100%!important;
  }

  /* Deposit */
  .deposit-hero{padding:32px 0 34px!important}
  .deposit-hero-grid{gap:18px!important}
  .deposit-hero h1{font-size:clamp(29px,9vw,38px)!important;line-height:1.12!important}
  .deposit-hero-copy>p{font-size:12px!important;line-height:1.65!important}
  .deposit-trust-row{grid-template-columns:minmax(0,1fr)!important;gap:8px!important}
  .deposit-trust-row span:last-child{grid-column:auto!important}
  .deposit-balance-card{width:100%!important;padding:17px!important;border-radius:16px!important}
  .deposit-premium-page{padding-top:16px!important}
  .deposit-premium-layout{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
  .deposit-premium-card{width:100%!important;padding:15px!important;border-radius:17px!important}
  .deposit-card-head,.deposit-divider{grid-template-columns:36px minmax(0,1fr)!important;gap:11px!important}
  .deposit-card-head>span,.deposit-divider>span{width:36px!important;height:36px!important;flex-basis:36px!important}
  .deposit-card-head h2,.deposit-divider h2{font-size:18px!important;line-height:1.3!important}
  .deposit-card-head p{font-size:9px!important;line-height:1.55!important}
  .deposit-gateway-grid,.deposit-entry-grid{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  .deposit-gateway-choice,.deposit-gateway-face,.deposit-account-panel{width:100%!important;min-width:0!important}
  .deposit-gateway-face{grid-template-columns:42px minmax(0,1fr) auto!important;gap:10px!important;padding:12px!important}
  .deposit-gateway-face>i:first-child{width:42px!important;height:42px!important}
  .deposit-gateway-face small{white-space:normal!important;line-height:1.4!important}
  .deposit-account-panel{padding:13px!important;border-radius:14px!important}
  .deposit-account-title{align-items:flex-start!important}
  .deposit-account-facts{grid-template-columns:minmax(0,1fr)!important}
  .deposit-account-copy{width:100%!important;align-items:stretch!important;flex-direction:column!important}
  .deposit-account-copy button{width:100%!important;min-height:44px!important}
  .deposit-qr{width:100%!important;grid-template-columns:84px minmax(0,1fr)!important;padding:12px!important}
  .deposit-qr img{width:84px!important;height:84px!important}
  .deposit-divider{margin-top:23px!important;padding-top:21px!important}
  .deposit-entry-grid>.form-group,.deposit-conversion-card{min-width:0!important;width:100%!important}
  .deposit-input-shell,.deposit-input-shell .form-control{width:100%!important;min-width:0!important}
  .deposit-upload-ui{width:100%!important;grid-template-columns:38px minmax(0,1fr)!important;padding:12px!important}
  .deposit-upload-ui b,.deposit-upload-ui small{white-space:normal!important;overflow-wrap:anywhere!important}
  .deposit-upload-ui em{display:block!important;grid-column:1/-1!important;width:100%!important;padding:9px!important;text-align:center!important}
  .deposit-security-note{align-items:flex-start!important;padding:13px!important}
  .deposit-premium-card .deposit-submit{min-height:52px!important;padding:11px 13px!important;font-size:10px!important;white-space:normal!important;line-height:1.35!important}
  .deposit-guide-card{position:static!important;display:block!important;padding:17px!important;border-radius:17px!important}
  .deposit-history-wrap{margin-top:16px!important}
  .deposit-history-head{padding:17px!important}
  .deposit-history-card .table-wrap{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}

  /* Checkout */
  .payment-page{padding:14px 0 calc(105px + env(safe-area-inset-bottom))!important}
  .payment-layout{gap:14px!important}
  .payment-console,.payment-summary{width:100%!important;padding:15px!important;border-radius:18px!important}
  .payment-title{align-items:flex-start!important;gap:11px!important;margin-bottom:20px!important}
  .payment-title>span{width:43px!important;height:43px!important;flex:0 0 43px!important;border-radius:13px!important;font-size:18px!important}
  .payment-title h1{font-size:26px!important;line-height:1.2!important}
  .payment-title p{font-size:11px!important;line-height:1.55!important}
  .payment-title small{font-size:8px!important;letter-spacing:.09em!important}
  .payment-form{grid-template-columns:minmax(0,1fr)!important;gap:13px!important}
  .payment-form>.form-group,.payment-form>.full{grid-column:1!important;min-width:0!important;width:100%!important}
  .payment-form .form-control{width:100%!important;min-width:0!important;min-height:48px!important}
  .gateway-picker{grid-template-columns:minmax(0,1fr)!important;gap:9px!important}
  .gateway-picker label,.gateway-picker span{min-width:0!important;width:100%!important}
  .gateway-picker span{min-height:76px!important;padding:12px!important;border-radius:14px!important}
  .gateway-payment-panel,.gateway-payment-fields{width:100%!important;padding:12px!important;border-radius:17px!important}
  .gateway-selected{gap:10px!important;padding:12px!important;border-radius:14px!important}
  .gateway-badge{width:42px!important;height:42px!important;flex:0 0 42px!important}
  .gateway-selected h2{font-size:18px!important;overflow-wrap:anywhere!important}
  .gateway-selected>i{font-size:20px!important}
  .payment-instructions{grid-template-columns:minmax(0,1fr)!important;padding:14px 2px!important;font-size:11px!important}
  .payment-instructions span{align-items:flex-start!important}
  .payment-instructions b{flex:0 0 28px!important;width:28px!important;height:28px!important}
  .transfer-details{width:100%!important;padding:3px 12px!important;border-radius:15px!important}
  .transfer-details>div{grid-template-columns:minmax(0,1fr) 42px!important;gap:7px 10px!important;min-width:0!important;padding:10px 0!important}
  .transfer-details small{grid-column:1/-1!important;align-self:end!important}
  .transfer-details strong{min-width:0!important;text-align:left!important;align-self:start!important;word-break:break-word!important;overflow-wrap:anywhere!important}
  .transfer-details button{grid-column:2!important;grid-row:2!important;width:42px!important;height:42px!important}
  .checkout-qr-card{width:100%!important;align-items:center!important;padding:13px!important;text-align:center!important}
  .checkout-qr-card img{width:96px!important;height:96px!important;margin-inline:auto!important}
  .checkout-qr-card span{align-items:center!important}
  .checkout-gateway-note{padding:13px!important;font-size:11px!important}
  .gateway-custom-fields,.gateway-custom-grid{min-width:0!important;width:100%!important}
  .gateway-custom-grid{grid-template-columns:minmax(0,1fr)!important}
  .gateway-custom-control.full,.gateway-custom-control.half{grid-column:1!important}
  .transaction-help{padding:13px!important;font-size:11px!important}
  .gateway-payment-fields{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  .receipt-drop{grid-column:1!important;min-width:0!important;padding:13px!important;overflow:hidden!important}
  .receipt-drop input[type=file]{display:block!important;width:100%!important;max-width:100%!important;margin:9px 0!important;font-size:10px!important;color:var(--pay-muted)!important}
  .receipt-drop input[type=file]::file-selector-button{margin-right:7px!important;padding:9px 10px!important;font-size:10px!important}
  .receipt-drop b,.receipt-drop small{white-space:normal!important;overflow-wrap:anywhere!important}
  .secure-note{grid-column:1!important;align-items:flex-start!important;padding:13px!important;text-align:left!important}
  .secure-note>i{flex:0 0 36px!important;width:36px!important;height:36px!important}
  .secure-note span{min-width:0!important}
  .payment-submit{min-height:52px!important;padding:11px 13px!important;white-space:normal!important;line-height:1.35!important}
  .payment-summary .checkout-product{display:grid!important;grid-template-columns:46px minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important}
  .payment-summary .checkout-product img{width:46px!important;height:46px!important}
  .payment-summary .checkout-product span{min-width:0!important}
  .payment-summary .checkout-product b,.payment-summary .checkout-product small{display:block!important;overflow-wrap:anywhere!important}
  .payment-summary .checkout-product strong{text-align:right!important;white-space:nowrap!important}
}

@media(max-width:380px){
  .deposit-hero>.container,.deposit-premium-page>.container,.payment-page>.container{width:calc(100% - 14px)!important}
  .deposit-premium-card,.payment-console,.payment-summary{padding:12px!important}
  .deposit-card-head,.deposit-divider{grid-template-columns:32px minmax(0,1fr)!important;gap:9px!important}
  .deposit-card-head>span,.deposit-divider>span{width:32px!important;height:32px!important;flex-basis:32px!important}
  .deposit-gateway-face{grid-template-columns:38px minmax(0,1fr) auto!important;padding:10px!important}
  .deposit-gateway-face>i:first-child{width:38px!important;height:38px!important}
  .gateway-payment-panel,.gateway-payment-fields{padding:10px!important}
  .payment-title h1{font-size:23px!important}
  .payment-summary .checkout-product{grid-template-columns:42px minmax(0,1fr)!important}
  .payment-summary .checkout-product strong{grid-column:2!important;text-align:left!important}
}

@media print{.mobile-bottom-nav{display:none!important}}
