/* ESNOVI V27.5.14 — mobile checkout navigation */
@media(max-width:820px),(pointer:coarse) and (max-width:1024px){
  body.v27514CartMobile{
    padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))!important;
  }
  body.v27514CartMobile .v274BottomNav{
    display:none!important;
    pointer-events:none!important;
  }
  body.v27514CartMobile a[href*="checkout.html"]{
    position:relative!important;
    z-index:2!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }
  #v27514CartCheckoutDock{
    position:fixed;
    z-index:2600;
    left:10px;
    right:10px;
    bottom:calc(10px + env(safe-area-inset-bottom,0px));
    min-height:70px;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(150px,46%);
    align-items:center;
    gap:12px;
    padding:10px 10px 10px 16px;
    border:1px solid #e5e7eb;
    border-radius:20px;
    background:#fff;
    box-shadow:0 12px 40px rgba(0,0,0,.18);
    pointer-events:auto;
  }
  .v27514CartDockCopy{display:grid;gap:2px;min-width:0}
  .v27514CartDockCopy small{font-size:11px;color:#73777c;font-weight:750}
  .v27514CartDockCopy strong{font-size:18px;color:#111315;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #v27514CartCheckoutDock button{
    min-height:50px;
    border:0;
    border-radius:15px;
    background:#151719;
    color:#fff;
    font-size:16px;
    font-weight:900;
    touch-action:manipulation;
    pointer-events:auto;
  }

  body.v27514CheckoutMobile{
    padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))!important;
  }
  body.v27514CheckoutMobile .v274BottomNav{
    display:none!important;
    pointer-events:none!important;
  }
  body.v27514CheckoutMobile #v274SearchOverlay:not(.open){
    pointer-events:none!important;
    transform:translateY(100%)!important;
    opacity:0!important;
  }
  body.v27514CheckoutMobile #checkoutForm,
  body.v27514CheckoutMobile #payButton,
  body.v27514CheckoutMobile input,
  body.v27514CheckoutMobile select,
  body.v27514CheckoutMobile button,
  body.v27514CheckoutMobile label{
    pointer-events:auto!important;
    touch-action:manipulation;
  }
}
/* ESNOVI V27.5.24 — desktop-inspired mobile checkout */
@media(max-width:820px),(pointer:coarse) and (max-width:1024px){
  body.v27514CheckoutMobile{background:#f4f1ea!important;color:#17191b!important;}
  body.v27514CheckoutMobile .topbar{background:#10211b!important;color:#edf7f1!important;border-bottom:1px solid rgba(255,255,255,.08)!important;font-weight:800!important;letter-spacing:.02em!important;}
  body.v27514CheckoutMobile .marketHeader{background:#fff!important;border-bottom:1px solid #ded9cf!important;box-shadow:0 8px 24px rgba(31,38,34,.06)!important;}
  body.v27514CheckoutMobile .signatureBrandWordmark{color:#111715!important;}
  body.v27514CheckoutMobile .pageHero{margin:0!important;padding:22px 18px 24px!important;background:linear-gradient(145deg,#101815 0%,#173f31 68%,#245b45 100%)!important;color:#fff!important;border-bottom:1px solid #0f2c22!important;}
  body.v27514CheckoutMobile .pageHero .wrap{padding:0!important;}
  body.v27514CheckoutMobile .pageHero .eyebrow{color:#d8bc77!important;font-weight:900!important;letter-spacing:.12em!important;}
  body.v27514CheckoutMobile .pageHero h1{color:#fff!important;font-size:30px!important;line-height:1.02!important;margin:6px 0 8px!important;}
  body.v27514CheckoutMobile .pageHero .muted{color:#dce8e1!important;font-size:14px!important;}
  body.v27514CheckoutMobile .checkoutGrid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;padding:14px 12px 28px!important;}
  body.v27514CheckoutMobile .formCard,
  body.v27514CheckoutMobile .summaryCard{background:#fff!important;border:1px solid #dfdbd1!important;border-radius:22px!important;box-shadow:0 12px 30px rgba(26,36,31,.08)!important;overflow:hidden!important;}
  body.v27514CheckoutMobile .formCard{padding:16px!important;}
  body.v27514CheckoutMobile .summaryCard{padding:16px!important;background:linear-gradient(180deg,#fff 0%,#faf7ef 100%)!important;}
  body.v27514CheckoutMobile .easyStep{margin:6px 0 12px!important;padding:12px!important;border-radius:16px!important;background:#f7f3e9!important;border:1px solid #e8dfca!important;}
  body.v27514CheckoutMobile .easyStep>span{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;border-radius:50%!important;background:#173f31!important;color:#fff!important;box-shadow:inset 0 0 0 2px #d8bc77!important;font-weight:950!important;}
  body.v27514CheckoutMobile .field label{color:#222b27!important;font-weight:800!important;}
  body.v27514CheckoutMobile input,
  body.v27514CheckoutMobile select{min-height:48px!important;border:1px solid #d6d1c6!important;border-radius:14px!important;background:#fbfaf7!important;color:#17191b!important;padding:12px 13px!important;}
  body.v27514CheckoutMobile input:focus,
  body.v27514CheckoutMobile select:focus{outline:none!important;border-color:#27694f!important;box-shadow:0 0 0 3px rgba(39,105,79,.13)!important;background:#fff!important;}
  body.v27514CheckoutMobile .paymentPicker{display:grid!important;gap:10px!important;}
  body.v27514CheckoutMobile .v273PaymentMethod,
  body.v27514CheckoutMobile .paymentMethodCard{position:relative!important;border:1px solid #d8d4ca!important;border-radius:17px!important;background:#fbfaf7!important;padding:14px!important;box-shadow:0 4px 12px rgba(25,35,30,.04)!important;}
  body.v27514CheckoutMobile .v273PaymentMethod.selected,
  body.v27514CheckoutMobile .paymentMethodCard.selected{border-color:#27694f!important;background:#eef7f2!important;box-shadow:0 0 0 2px rgba(39,105,79,.10)!important;}
  body.v27514CheckoutMobile .v27524ApplePay{background:#111!important;border-color:#111!important;color:#fff!important;}
  body.v27514CheckoutMobile .v27524ApplePay strong,
  body.v27514CheckoutMobile .v27524ApplePay small,
  body.v27514CheckoutMobile .v27524ApplePay .v273WalletMark{color:#fff!important;}
  body.v27514CheckoutMobile .v27524ApplePay.selected{background:#000!important;border-color:#d8bc77!important;box-shadow:0 0 0 2px rgba(216,188,119,.22)!important;}
  body.v27514CheckoutMobile .v27524WalletBadge{margin-left:auto!important;align-self:center!important;padding:5px 8px!important;border-radius:999px!important;background:#eef7f2!important;color:#18513b!important;font-size:10px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.06em!important;}
  body.v27514CheckoutMobile #paymentHelp,
  body.v27514CheckoutMobile .notice.green{border:1px solid #cfe4d8!important;background:#eff8f3!important;color:#18382b!important;border-radius:14px!important;}
  body.v27514CheckoutMobile #payButton{min-height:54px!important;border-radius:16px!important;background:linear-gradient(135deg,#153e31 0%,#237052 100%)!important;color:#fff!important;border:0!important;box-shadow:0 12px 24px rgba(27,94,69,.22)!important;font-size:16px!important;font-weight:950!important;}
  body.v27514CheckoutMobile .savedCheckoutBox,
  body.v27514CheckoutMobile .v273AddressCard{border-radius:15px!important;border-color:#ddd7ca!important;background:#fbfaf7!important;}
  body.v27514CheckoutMobile .v273AddressCard.selected{border-color:#27694f!important;background:#eef7f2!important;}
  body.v27514CheckoutMobile .summaryRow.total{margin-top:10px!important;padding-top:12px!important;border-top:1px solid #ddd6c8!important;color:#173f31!important;font-size:18px!important;}
}

/* ESNOVI V27.5.25 — checkout-only shipping address manager */
.v27525CheckoutAddressHub{display:grid!important;gap:10px!important}
.v27525CheckoutAddressHub .v273AddressTitle{display:flex!important;justify-content:space-between!important;align-items:end!important;gap:12px!important}
.v27525CheckoutAddressHub .v273AddressTitle strong{font-size:16px!important;color:#17211d!important}
.v27525CheckoutAddressHub .v273AddressTitle small{color:#6d746f!important}
.v27525CheckoutAddressHub .v273AddressCard{display:flex!important;align-items:center!important;gap:11px!important;text-align:left!important}
.v27525AddressBody{display:grid!important;gap:3px!important;min-width:0!important;flex:1!important}
.v27525AddressBody strong{color:#17211d!important}
.v27525AddressBody small{color:#666e69!important;white-space:normal!important}
.v27525AddressLabel{font-weight:850!important;color:#315f4d!important}
.v27525DefaultTag{margin-left:auto!important;flex:0 0 auto!important;padding:5px 8px!important;border-radius:999px!important;background:#173f31!important;color:#fff!important;font-size:10px!important;font-weight:950!important;letter-spacing:.06em!important;text-transform:uppercase!important}
.v27525DefaultChoice{margin-top:4px!important;border:1px solid #d7e4dd!important;background:#f1f8f4!important;border-radius:14px!important;padding:12px!important}
.v27525DefaultChoice input:disabled+span{font-weight:850!important;color:#24513f!important}
@media(max-width:820px),(pointer:coarse) and (max-width:1024px){
 body.v27514CheckoutMobile .v27525CheckoutAddressHub{background:#faf7ef!important;border:1px solid #e4dccb!important;border-radius:17px!important;padding:12px!important}
 body.v27514CheckoutMobile .v27525CheckoutAddressHub .v273AddressCards{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
 body.v27514CheckoutMobile .v27525CheckoutAddressHub .v273AddressCard{min-height:68px!important;background:#fff!important;border-radius:14px!important}
 body.v27514CheckoutMobile .v27525CheckoutAddressHub .v273AddressCard.selected{background:#eef7f2!important}
}

/* ESNOVI V27.5.26 — wallet-owned shipping/contact */
.v27526WalletShippingNotice{margin:0 0 12px!important;border:1px solid #cfe4d8!important;background:#eef8f2!important;color:#18382b!important;border-radius:16px!important;padding:13px 14px!important}
.v27526GooglePay{background:#fff!important;border-color:#cfd4d1!important}
.v27526GooglePay .v273WalletMark{background:#fff!important;color:#111!important;font-weight:950!important}
.v27526GooglePay.selected{border-color:#27694f!important;background:#eef7f2!important}
@media(max-width:820px),(pointer:coarse) and (max-width:1024px){
 body.v27514CheckoutMobile .v27526WalletShippingNotice{margin:0!important;box-shadow:0 6px 16px rgba(24,56,43,.06)!important}
}
