/* MobileAllu: responsive polish and motion-safe scroll depth.
   Loaded last to resolve legacy CSS conflicts on Android. */
html,body{max-width:100%;overflow-x:clip}
#app,.inner-page,.checkout-page,.product-card,.product-card-body{min-width:0}
button,.button,a.button{box-sizing:border-box;max-width:100%;touch-action:manipulation}
.button{display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:8px;line-height:1.35;white-space:normal}
.button>span:last-child{flex-shrink:0}
.product-card .product-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;align-items:stretch}
.product-card .product-actions .button,
.product-card .product-actions>span.button{
  box-sizing:border-box;width:100%;height:auto;min-height:46px;
  padding:11px 12px;border-radius:10px;font-size:12px;
  font-weight:700;line-height:1.3;white-space:normal;
  display:flex;align-items:center;justify-content:center;gap:7px;
}
.product-card .product-actions .button>span:last-child{font-size:14px;flex:0 0 auto}
.product-card .price-pair,.product-card .price-pair>div{min-width:0}
.product-card .price-pair>div{flex-wrap:wrap;row-gap:5px}
.product-card .price-pair strong{max-width:100%;font-variant-numeric:tabular-nums}
.checkout-compact .checkout-pay-button,
.checkout-compact #pixCopyButton,
.checkout-compact #pixCheckStatus,
.checkout-compact #pixRecoverButton,
.checkout-compact #pixSaveCustomerButton{
  min-height:48px;height:auto;max-width:100%;padding:12px 16px;
  font-size:13px;line-height:1.35;white-space:normal;
  overflow-wrap:anywhere;text-align:center;justify-content:center;
}
.checkout-compact #pixCheckStatus,
.checkout-compact #pixRecoverButton{width:100%;margin-top:10px}
.checkout-compact #pixCopyCode{max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}
.checkout-compact #pixQrContent{width:100%;max-width:min(100%,320px);box-sizing:border-box}
.checkout-compact #pixQrContent img,
.checkout-compact #pixQrContent svg,
.checkout-compact #pixQrContent canvas{max-width:100%;height:auto}
.checkout-compact .checkout-total-pix strong{overflow-wrap:anywhere;font-size:clamp(22px,5vw,29px)}
/* Perspective only on storefront imagery, never on controls/checkout. */
.hero-showcase{perspective:1000px}
.hero-showcase>img.ma-scroll-depth{
  transform:translate3d(0,var(--ma-depth-y,0px),0)
            rotateX(var(--ma-depth-r,0deg))
            rotateY(var(--ma-depth-yaw,0deg)) scale(1.025);
  transform-origin:center;backface-visibility:hidden;
  transition:transform .14s linear;
}
.product-card .product-media{perspective:900px;isolation:isolate}
.product-card .phone-art.ma-scroll-depth{
  transform:translate3d(0,var(--ma-depth-y,0px),0)
            rotateX(var(--ma-depth-r,0deg))
            rotateY(var(--ma-depth-yaw,0deg)) scale(1.015);
  transform-origin:center;backface-visibility:hidden;
  transition:transform .14s linear;
}
@media(max-width:760px){
  .nav-row{gap:8px}
  .nav-row .logo{min-width:0;flex:0 1 auto}
  .nav-actions{display:flex;align-items:center;flex:0 0 auto;gap:5px}
  .nav-actions .icon-button,.nav-actions .cart-button,.nav-actions .menu-button{
    box-sizing:border-box;flex:0 0 42px;width:42px;min-width:42px;
    height:44px;min-height:44px;padding:0;display:flex;
    align-items:center;justify-content:center;
  }
  .retail-intro-main{min-width:0}
  .retail-intro-main h1{font-size:clamp(29px,7vw,42px);line-height:1.1;overflow-wrap:normal}
  .retail-intro-actions .button{width:100%;max-width:100%;min-height:48px;padding:12px 14px;font-size:13px;line-height:1.35}
  .retail-intro-actions .text-link{display:inline-flex;align-items:center;min-height:42px}
  .retail-main-catalog .products-grid,.catalog-grid{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;
  }
  .product-card .product-card-body{min-width:0}
  .product-card .product-name{overflow-wrap:anywhere}
  .product-card .price-pair>div{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
  .product-card .price-pair small{font-size:10px;line-height:1.4}
  .product-card .price-pair strong{font-size:clamp(14px,3.6vw,19px);white-space:normal}
  .product-card .price-pair .pix-entry-amount{font-size:clamp(17px,4vw,21px);white-space:nowrap}
  .product-card .product-extra-detail{font-size:11px;line-height:1.5}
  .product-card .product-actions .button,.product-card .product-actions>span.button{
    font-size:12px;min-height:46px;padding:11px 9px;
  }
  .checkout-compact .checkout-grid.checkout-main-grid{grid-template-columns:minmax(0,1fr);gap:16px}
  .checkout-compact .checkout-form-card,.checkout-compact .checkout-order-summary{min-width:0;padding:19px 17px}
  .checkout-compact .checkout-order-summary{position:static}
  .checkout-compact #publicPixForm input:not([type="checkbox"]){max-width:100%;font-size:16px}
  .checkout-compact #publicPixForm .checkout-input-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:560px){
  .retail-intro{margin-top:15px;border-radius:17px}
  .retail-intro-main{padding:27px 21px}
  .retail-intro-main p{font-size:13px}
  .retail-intro-actions{gap:9px}
  .shop-benefits{gap:9px;line-height:1.5}
  .checkout-compact .checkout-term-options{
    grid-template-columns:minmax(0,1fr);gap:9px;
  }
  .checkout-compact .checkout-term,
  .checkout-compact .checkout-term.selected{
    box-sizing:border-box;display:grid;grid-template-columns:52px minmax(0,1fr);
    grid-template-rows:auto auto;align-items:center;justify-content:stretch;
    min-height:72px;gap:4px 13px;width:100%;
    padding:12px 15px;border-width:2px;
    text-align:left;overflow-wrap:anywhere;
  }
  .checkout-compact .checkout-term>strong{
    grid-column:1;grid-row:1/span 2;font-size:20px;line-height:1.15;
  }
  .checkout-compact .checkout-term>small{
    grid-column:2;grid-row:1;font-size:12px;line-height:1.35;
  }
  .checkout-compact .checkout-term>span{
    grid-column:2;grid-row:2;font-size:12px;line-height:1.35;
  }
  .checkout-compact .checkout-page-title{gap:10px}
  .checkout-compact .checkout-page-title h1{font-size:clamp(26px,6vw,31px)}
  .checkout-compact #publicPixForm .checkout-consent{align-items:flex-start}
  .checkout-compact #publicPixForm .checkout-pay-button{width:100%;font-size:14px}
}
@media(max-width:399px){
  .nav-row .brand-name{font-size:20px}
  .nav-row .logo>img{width:32px!important;height:32px!important}
  .container{width:calc(100% - 26px)}
  .retail-main-catalog .products-grid,.catalog-grid{grid-template-columns:minmax(0,1fr)}
  .product-card .phone-art.catalog-photo-art{height:235px}
  .product-card .product-card-body{padding:16px}
  .product-card .product-name{font-size:16px}
  .product-card .product-actions .button{font-size:13px}
  .product-card .price-pair>div{flex-direction:row;align-items:center;justify-content:space-between}
}
@media(prefers-reduced-motion:reduce){
  .hero-showcase>img.ma-scroll-depth,
  .product-card .phone-art.ma-scroll-depth{transform:none!important;transition:none!important}
}


/* MobileAllu 2026 — native checkout payment stage; no external gateway redirect.
   The placeholder intentionally contains no QR code or payable payload. */
.checkout-compact .mobileallu-native-payment{
  margin-top:23px;padding:21px;border:1px solid #d8e5ee;
  border-radius:18px;background:linear-gradient(145deg,#f8fbff 0%,#f1f8f6 100%);
  box-shadow:0 10px 30px rgba(9,37,56,.045)
}
.checkout-compact .mobileallu-native-heading{
  display:flex;align-items:center;gap:12px;padding-bottom:17px;
  margin-bottom:18px;border-bottom:1px solid #d9e5ed
}
.checkout-compact .mobileallu-native-icon{
  flex:none;display:grid;place-items:center;width:39px;height:39px;
  border-radius:13px;background:#13334a;color:#fff;font-size:12px;font-weight:800
}
.checkout-compact .mobileallu-native-heading strong{
  display:block;font-size:16px;line-height:1.25;color:#152d41;letter-spacing:-.025em
}
.checkout-compact .mobileallu-native-heading small{
  display:block;margin-top:5px;font-size:12px;line-height:1.5;color:#647788
}
.checkout-compact .mobileallu-native-pix{
  display:grid;grid-template-columns:minmax(135px,.6fr) minmax(0,1.4fr);gap:18px;align-items:center
}
.checkout-compact .mobileallu-pix-shell{
  position:relative;display:grid;place-items:center;aspect-ratio:1;
  max-width:186px;width:100%;border:1px solid #e1e9ed;border-radius:16px;
  background:#fff;color:#7c91a3;font-weight:800;letter-spacing:.14em;
  box-shadow:0 4px 14px rgba(20,40,61,.04)
}
.checkout-compact .mobileallu-pix-shell span{opacity:.45;font-size:23px}
.checkout-compact .mobileallu-pix-corners{
  position:absolute;inset:19px;border:2px dashed #d4e2e7;border-radius:10px
}
.checkout-compact .mobileallu-native-instructions strong{display:block;color:#19374a;font-size:14px}
.checkout-compact .mobileallu-native-instructions p{
  font-size:12px;line-height:1.6;margin:8px 0;color:#596e7e
}
.checkout-compact .mobileallu-native-instructions .mobileallu-payment-warning{
  padding:11px 12px;background:#fff8e9;border:1px solid #f0dcb0;border-radius:11px;
  color:#725523;font-weight:600
}
.checkout-compact .mobileallu-native-payment .checkout-pay-button{
  display:flex;align-items:center;justify-content:center;width:100%;margin-top:17px;
  min-height:49px;padding:13px 16px;border-radius:12px;white-space:normal;
  font-size:13px;line-height:1.4;cursor:not-allowed;opacity:.78
}
.checkout-compact .mobileallu-payment-note{
  margin:12px 0 0;font-size:11px;line-height:1.5;color:#697d90
}
.checkout-compact .checkout-term-options .checkout-term{
  min-height:90px;touch-action:manipulation;white-space:normal;min-width:0
}
.checkout-compact .checkout-payment-provider{
  background:#e9f5f0!important;border:1px solid #d1e7de!important;
  color:#1f6651!important
}
@media (max-width:700px){
  .checkout-compact .mobileallu-native-payment{margin-top:16px;padding:16px;border-radius:14px}
  .checkout-compact .mobileallu-native-heading{gap:10px}
  .checkout-compact .mobileallu-native-pix{grid-template-columns:1fr;gap:14px}
  .checkout-compact .mobileallu-pix-shell{width:min(145px,58vw);margin:0 auto}
  .checkout-compact .mobileallu-native-instructions strong{font-size:13px}
  .checkout-compact .mobileallu-native-payment .checkout-pay-button{min-height:50px}
  .checkout-compact .checkout-term-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .checkout-compact .checkout-term-options .checkout-term{padding:10px 7px;font-size:12px;min-height:96px}
  .checkout-compact .checkout-term-options .checkout-term small{font-size:10px;overflow-wrap:anywhere}
}
@media (max-width:390px){
  .checkout-compact .checkout-term-options{grid-template-columns:1fr}
  .checkout-compact .checkout-term-options .checkout-term{min-height:58px}
}


/* Native IronPay payment after operational enablement. */
.checkout-compact .mobileallu-native-form{
  margin-top:18px;padding:18px;background:#fff;border:1px solid #dce8ed;
  border-radius:14px;box-shadow:0 4px 15px rgba(15,46,66,.03)
}
.checkout-compact .mobileallu-native-form h3{
  margin:0 0 16px;color:#122f43;font-size:17px;letter-spacing:-.02em
}
.checkout-compact .mobileallu-native-fields{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 14px
}
.checkout-compact .mobileallu-native-fields label{
  display:flex;flex-direction:column;gap:6px;min-width:0;
  font-size:12px;font-weight:650;line-height:1.4;color:#2d485a
}
.checkout-compact .mobileallu-native-fields label.mobileallu-native-full{grid-column:1/-1}
.checkout-compact .mobileallu-native-fields input{
  display:block;max-width:100%;width:100%;min-height:45px;
  padding:10px 12px;border:1px solid #d5e0e8;border-radius:10px;
  color:#203a4e;background:#fff;outline-offset:2px;font-size:14px
}
.checkout-compact .mobileallu-native-fields input:focus{
  border-color:#23836c;outline:2px solid rgba(20,129,101,.1)
}
.checkout-compact .mobileallu-native-agree{
  display:flex;align-items:flex-start;gap:10px;margin:15px 0 0;
  color:#4d6678;font-size:12px;line-height:1.55;cursor:pointer
}
.checkout-compact .mobileallu-native-agree input{
  flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:#147b60
}
.checkout-compact .mobileallu-native-cep-hint{font-size:11px;margin:8px 0;color:#587588}
.checkout-compact .mobileallu-native-form button[type=submit]:disabled{opacity:.55;cursor:progress}
.checkout-compact .mobileallu-native-payment-result{
  margin-top:18px;padding:18px;border:1px solid #c8ded7;background:#fff;border-radius:14px
}
.checkout-compact .mobileallu-native-payment-result h3{
  margin:0 0 9px;font-size:17px;color:#163c31
}
.checkout-compact .mobileallu-native-payment-result p{
  margin:6px 0;font-size:12px;overflow-wrap:anywhere
}
.checkout-compact .mobileallu-native-generated-qr{
  display:flex;align-items:center;justify-content:center;min-height:0;
  margin:12px auto 8px;max-width:270px;background:#fff
}
.checkout-compact .mobileallu-native-generated-qr img{
  display:block;width:min(100%,240px);height:auto;aspect-ratio:1;object-fit:contain
}
.checkout-compact .mobileallu-native-generated-qr svg{
  display:block;width:min(100%,240px);height:auto;max-height:260px;aspect-ratio:1;
  background:#fff;border-radius:12px
}
.checkout-compact #ironpayNativeCodeLabel{
  font-size:12px;font-weight:650;color:#193849
}
.checkout-compact #ironpayNativeCode{
  display:block;width:100%;resize:vertical;min-height:78px;margin:8px 0 12px;
  padding:12px;border:1px solid #d4e2e9;border-radius:10px;
  color:#38526a;background:#f7fafb;font-size:11px;overflow-wrap:anywhere
}
.checkout-compact .mobileallu-native-actions{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap
}
.checkout-compact .mobileallu-native-actions button{
  min-height:43px;padding:10px 15px;border-radius:10px
}
@media(max-width:600px){
  .checkout-compact .mobileallu-native-form{padding:14px 13px}
  .checkout-compact .mobileallu-native-fields{gap:11px}
  .checkout-compact .mobileallu-native-fields input{font-size:16px}
  .checkout-compact .mobileallu-native-actions{display:grid;grid-template-columns:1fr}
  .checkout-compact .mobileallu-native-actions button{width:100%}
}
@media(max-width:390px){
  .checkout-compact .mobileallu-native-fields{grid-template-columns:1fr}
}
