
/* ==========================================================
   ASTRO SHOP — PURCHASE MODAL V3
   ========================================================== */

#purchaseModal .astro-purchase-v3-legacy{
  display:none !important;
}


#purchaseModal .astro-purchase-v3-panel{
  box-sizing:border-box !important;

  width:min(
    500px,
    calc(100vw - 32px)
  ) !important;

  max-width:500px !important;

  padding:0 !important;

  overflow:hidden !important;

  border-radius:24px !important;

  background:#ffffff !important;

  border:
    1px solid
    rgba(68,100,160,.12) !important;

  box-shadow:
    0 28px 80px
    rgba(38,65,118,.20) !important;

  color:#141b31 !important;
}


#purchaseModal .astro-purchase-v3{
  box-sizing:border-box;

  position:relative;

  width:100%;

  padding:
    26px 26px 20px;

  overflow:hidden;
}


#purchaseModal .astro-purchase-v3-close{
  position:absolute;

  top:14px;
  right:14px;

  width:38px;
  height:38px;

  display:flex;
  align-items:center;
  justify-content:center;

  padding:0;

  border:0;

  border-radius:12px;

  background:#f3f6fb;

  color:#66738a;

  font-size:24px;
  line-height:1;

  cursor:pointer;

  transition:
    background .16s ease,
    transform .16s ease;
}


#purchaseModal .astro-purchase-v3-close:hover{
  background:#e9eef7;
  transform:scale(1.04);
}


#purchaseModal .astro-purchase-v3-head{
  padding-right:38px;
}


#purchaseModal .astro-purchase-v3-head h2{
  margin:0;

  color:#11182d;

  font-size:
    clamp(
      21px,
      4.8vw,
      26px
    );

  line-height:1.18;

  letter-spacing:-.45px;

  font-weight:850;
}


#purchaseModal .astro-purchase-v3-notice{
  display:inline-flex;

  align-items:center;

  margin-top:12px;

  padding:7px 10px;

  border-radius:10px;

  background:#f5f7fb;

  border:
    1px solid
    rgba(77,105,160,.10);

  color:#68748a;

  font-size:12px;

  line-height:1.35;

  font-weight:650;
}


#purchaseModal .astro-purchase-v3-product{
  margin-top:20px;

  padding:20px;

  border-radius:19px;

  background:
    linear-gradient(
      145deg,
      #fafcff 0%,
      #f6f8ff 55%,
      #fbf8ff 100%
    );

  border:
    1px solid
    rgba(77,105,170,.10);
}


#purchaseModal .astro-purchase-v3-price{
  color:#10172b;

  font-size:
    clamp(
      34px,
      8vw,
      42px
    );

  line-height:1;

  letter-spacing:-1.2px;

  font-weight:900;
}


#purchaseModal .astro-purchase-v3-name{
  margin-top:9px;

  color:#46536d;

  font-size:14px;

  line-height:1.35;

  font-weight:750;
}


#purchaseModal .astro-purchase-v3-auto{
  display:flex;

  align-items:center;

  gap:7px;

  margin-top:12px;

  color:#52617a;

  font-size:12px;

  line-height:1.35;

  font-weight:650;
}


#purchaseModal .astro-purchase-v3-auto span{
  display:inline-flex;

  align-items:center;

  justify-content:center;

  width:23px;
  height:23px;

  border-radius:8px;

  background:#eef5ff;

  font-size:13px;
}


#purchaseModal .astro-purchase-v3-actions{
  display:grid;

  grid-template-columns:1fr;

  gap:10px;

  margin-top:16px;
}


#purchaseModal .astro-purchase-v3-buy{
  box-sizing:border-box;

  width:100%;

  min-height:52px;

  padding:
    13px 18px;

  border:0;

  border-radius:14px;

  background:
    linear-gradient(
      105deg,
      #168fe8 0%,
      #4f72ed 52%,
      #725cef 100%
    );

  color:white !important;

  box-shadow:
    0 12px 27px
    rgba(65,101,225,.27);

  font-family:inherit;

  font-size:15px;

  line-height:1.25;

  font-weight:850;

  cursor:pointer;

  transition:
    transform .16s ease,
    box-shadow .16s ease,
    filter .16s ease;
}


#purchaseModal .astro-purchase-v3-buy:hover{
  transform:translateY(-1px);

  filter:brightness(1.035);

  box-shadow:
    0 15px 32px
    rgba(65,101,225,.32);
}


#purchaseModal .astro-purchase-v3-buy:active{
  transform:scale(.99);
}


/*
 * Специально перебиваем старый
 * astro-cart-emphasis из предыдущего патча.
 */
#purchaseModal #astroV3AddCart,
#purchaseModal #astroV3AddCart.astro-cart-emphasis{
  box-sizing:border-box !important;

  width:100% !important;

  min-height:48px !important;

  padding:
    12px 18px !important;

  border:
    1px solid
    #d9e1ee !important;

  border-radius:
    14px !important;

  background:
    #ffffff !important;

  color:
    #46546d !important;

  box-shadow:
    none !important;

  text-shadow:
    none !important;

  opacity:
    1 !important;

  font-family:
    inherit !important;

  font-size:
    14px !important;

  line-height:
    1.25 !important;

  font-weight:
    750 !important;

  cursor:pointer !important;

  transition:
    background .16s ease,
    border-color .16s ease,
    transform .16s ease !important;
}


#purchaseModal #astroV3AddCart:hover,
#purchaseModal #astroV3AddCart.astro-cart-emphasis:hover{
  background:
    #f7f9fd !important;

  border-color:
    #bccbe0 !important;

  transform:
    translateY(-1px) !important;

  filter:none !important;

  box-shadow:none !important;
}


#purchaseModal
:is(
  .astro-purchase-v3-buy,
  #astroV3AddCart
):disabled{
  opacity:.48 !important;

  cursor:not-allowed !important;

  transform:none !important;
}


#purchaseModal .astro-purchase-v3-trust{
  display:flex;

  align-items:center;

  justify-content:center;

  flex-wrap:wrap;

  gap:5px;

  margin-top:16px;

  color:#77849a;

  font-size:11px;

  line-height:1.4;

  text-align:center;
}


#purchaseModal .astro-purchase-v3-trust a{
  color:#596bd0;

  font-weight:750;

  text-decoration:none;
}


#purchaseModal .astro-purchase-v3-trust a:hover{
  text-decoration:underline;
}


#purchaseModal .astro-purchase-v3-dot{
  color:#b0b8c6;
}


#purchaseModal .astro-purchase-v3-foot{
  margin-top:12px;

  padding-top:12px;

  border-top:
    1px solid
    #edf0f5;

  color:#8a94a6;

  font-size:10.5px;

  line-height:1.4;

  text-align:center;
}


/* BUY NOW -> существующая корзина
   выглядит как checkout */
#cartPanel[data-mode="buy-now"]
.cart-head h2{
  letter-spacing:-.25px;
}


/* ==========================================================
   MOBILE
   ========================================================== */

/* The cart is the single primary action; checkout remains in the cart. */
#purchaseModal #astroV3AddCart,
#purchaseModal #astroV3AddCart.astro-cart-emphasis{
  min-height:52px !important;
  border:0 !important;
  background:linear-gradient(105deg,#168fe8 0%,#4f72ed 52%,#725cef 100%) !important;
  color:#fff !important;
  box-shadow:0 12px 27px rgba(65,101,225,.27) !important;
  font-size:15px !important;
  font-weight:850 !important;
}
#purchaseModal #astroV3AddCart:hover,
#purchaseModal #astroV3AddCart.astro-cart-emphasis:hover{
  background:linear-gradient(105deg,#168fe8 0%,#4f72ed 52%,#725cef 100%) !important;
  filter:brightness(1.035) !important;
  box-shadow:0 15px 32px rgba(65,101,225,.32) !important;
}
#purchaseModal .astro-purchase-v3-cart-link{
  display:block;
  width:100%;
  margin:10px 0 0;
  padding:8px;
  border:0;
  background:transparent;
  color:#5566ba;
  font:inherit;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}
#purchaseModal .astro-purchase-v3-cart-link[hidden]{display:none !important}
#purchaseModal .astro-purchase-v3-cart-link:hover{text-decoration:underline}

@media(max-width:600px){

  #purchaseModal{
    box-sizing:border-box !important;

    padding:
      max(
        10px,
        env(safe-area-inset-top)
      )
      10px
      max(
        10px,
        env(safe-area-inset-bottom)
      ) !important;

    overflow-x:hidden !important;
  }


  #purchaseModal .astro-purchase-v3-panel{
    width:
      calc(
        100vw - 20px
      ) !important;

    max-width:
      calc(
        100vw - 20px
      ) !important;

    max-height:
      calc(
        100dvh - 20px
      ) !important;

    overflow-y:auto !important;

    overflow-x:hidden !important;

    border-radius:
      20px !important;
  }


  #purchaseModal .astro-purchase-v3{
    box-sizing:border-box;

    width:100%;

    max-width:100%;

    padding:
      21px 16px 16px;
  }


  #purchaseModal
  .astro-purchase-v3-head{
    padding-right:35px;
  }


  #purchaseModal
  .astro-purchase-v3-head h2{
    font-size:21px;
  }


  #purchaseModal
  .astro-purchase-v3-notice{
    max-width:100%;

    box-sizing:border-box;

    font-size:11px;
  }


  #purchaseModal
  .astro-purchase-v3-product{
    margin-top:16px;

    padding:17px;

    border-radius:16px;
  }


  #purchaseModal
  .astro-purchase-v3-price{
    font-size:34px;
  }


  #purchaseModal
  .astro-purchase-v3-actions{
    margin-top:13px;
  }


  #purchaseModal
  .astro-purchase-v3-buy{
    min-height:50px;

    padding:
      12px 13px;

    font-size:14px;
  }


  #purchaseModal
  #astroV3AddCart,
  #purchaseModal
  #astroV3AddCart.astro-cart-emphasis{
    min-height:
      46px !important;

    padding:
      11px 13px !important;

    font-size:
      13px !important;
  }


  #purchaseModal
  .astro-purchase-v3-trust{
    margin-top:13px;

    font-size:10.5px;
  }


  #purchaseModal
  .astro-purchase-v3-foot{
    margin-top:10px;

    padding-top:10px;
  }
}


/* Очень узкие экраны */
@media(max-width:360px){

  #purchaseModal
  .astro-purchase-v3{
    padding:
      18px 13px 14px;
  }


  #purchaseModal
  .astro-purchase-v3-head h2{
    font-size:19px;
  }


  #purchaseModal
  .astro-purchase-v3-price{
    font-size:31px;
  }


  #purchaseModal
  .astro-purchase-v3-trust{
    display:block;
  }


  #purchaseModal
  .astro-purchase-v3-trust
  > *{
    margin:
      2px 0;
  }


  #purchaseModal
  .astro-purchase-v3-dot{
    display:none;
  }

}
