.nav-cart-item > a {
  display: flex !important;
  align-items: center;
  gap: 7px;
}

body.shop-page {
  overflow: visible;
}

html.shop-root {
  overflow: visible;
}

.nav-cart-count {
  display: inline-grid;
  min-width: 23px;
  height: 23px;
  padding: 0 6px;
  place-items: center;
  border-radius: 999px;
  background: #10bfc3;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
}

.shop-section,
.checkout-section {
  padding: 78px 0 105px;
  background:
    radial-gradient(circle at 8% 5%, rgba(16, 191, 195, .09), transparent 24%),
    linear-gradient(180deg, #f7fbfd 0%, #fff 100%);
}

.checkout-section { min-height: 560px; }
.shop-section ~ .contactIcons,
.checkout-section ~ .contactIcons { display: none !important; }
.shop-heading { display: flex; margin-bottom: 38px; align-items: flex-end; justify-content: space-between; gap: 24px; }
.shop-kicker { display: block; margin-bottom: 8px; color: #10aeb5; font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.shop-heading h2,
.checkout-heading h1 { margin: 0 0 10px; color: #113453; font-size: clamp(32px, 4vw, 46px); font-weight: 800; letter-spacing: -.035em; }
.shop-heading p,
.checkout-heading p { margin: 0; color: #6d7f91; font-size: 15px; }
.shop-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; align-items: start; gap: 28px; }
.product-grid-modern { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }

.product-card-modern {
  display: flex;
  min-width: 0;
  overflow: hidden;
  flex-direction: column;
  border: 1px solid #dce8ee;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(21, 63, 91, .09);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.product-card-modern:hover { border-color: rgba(16, 191, 195, .45); box-shadow: 0 20px 45px rgba(21, 63, 91, .14); transform: translateY(-5px); }
.product-card-image { display: flex; height: 260px; margin: 12px 12px 0; padding: 22px; align-items: center; justify-content: center; overflow: hidden; border-radius: 18px; background: linear-gradient(145deg, #f4f9fb, #e9f6f5); }
.product-card-image img { width: 100%; height: 100%; object-fit: contain; transition: transform .35s ease; }
.product-card-modern:hover .product-card-image img { transform: scale(1.035); }
.product-card-content { display: flex; min-height: 265px; padding: 22px 24px 24px; flex: 1; flex-direction: column; }
.product-category-label { margin-bottom: 8px; color: #14a8ad; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.product-card-content h3 { margin: 0 0 12px; font-size: 20px; line-height: 1.35; }
.product-card-content h3 a { color: #113453; }
.product-card-content p { margin: 0 0 22px; color: #718394; font-size: 14px; line-height: 1.65; }
.product-card-bottom { display: flex; margin-top: auto; align-items: center; justify-content: space-between; gap: 12px; }
.product-card-bottom form { margin: 0; }
.product-price { color: #113453; font-size: 19px; white-space: nowrap; }
.product-price-missing { color: #8898a6; font-size: 13px; font-weight: 700; }

.add-cart-button,
.checkout-button {
  display: inline-flex;
  min-height: 46px;
  padding: 0 18px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 0;
  border-radius: 13px;
  background: linear-gradient(135deg, #1588bd, #10bfc3);
  box-shadow: 0 10px 22px rgba(17, 147, 177, .22);
  color: #fff !important;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease;
}
.add-cart-button:hover,
.checkout-button:hover { box-shadow: 0 14px 26px rgba(17, 147, 177, .3); color: #fff; transform: translateY(-2px); }

.cart-sidebar { position: -webkit-sticky; position: sticky; top: 95px; align-self: start; height: max-content; overflow: hidden; border: 1px solid #dce8ee; border-radius: 24px; background: #fff; box-shadow: 0 16px 40px rgba(21, 63, 91, .11); }
.cart-sidebar-title { display: flex; padding: 22px 24px; align-items: center; justify-content: space-between; border-bottom: 1px solid #e5eef2; color: #113453; font-size: 18px; font-weight: 800; }
.cart-sidebar-title span { display: flex; align-items: center; gap: 10px; }
.cart-sidebar-title i { color: #10aeb5; }
.cart-sidebar-title b { display: grid; min-width: 30px; height: 30px; padding: 0 7px; place-items: center; border-radius: 999px; background: #e5f8f7; color: #138d9f; font-size: 12px; }
.cart-sidebar-items { max-height: 310px; overflow: auto; }
.cart-sidebar-item { display: flex; padding: 17px 22px; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid #edf2f5; }
.cart-sidebar-item div { min-width: 0; }
.cart-sidebar-item strong { display: block; overflow: hidden; margin-bottom: 4px; color: #23445e; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.cart-sidebar-item span { color: #82909d; font-size: 11px; }
.cart-sidebar-item > b { color: #113453; font-size: 12px; white-space: nowrap; }
.cart-sidebar-total { display: flex; padding: 20px 22px 13px; align-items: center; justify-content: space-between; color: #667d8f; }
.cart-sidebar-total strong { color: #113453; font-size: 20px; }
.cart-sidebar .checkout-button { display: flex; margin: 0 20px 11px; }
.cart-detail-link { display: block; padding: 5px 20px 20px; color: #168ca9; font-size: 12px; font-weight: 700; text-align: center; }
.cart-sidebar-empty { padding: 36px 24px 40px; text-align: center; }
.cart-sidebar-empty i { display: grid; width: 66px; height: 66px; margin: 0 auto 18px; place-items: center; border-radius: 20px; background: #eaf8f8; color: #11a7ae; font-size: 25px; }
.cart-sidebar-empty p { margin: 0 0 5px; color: #21425d; font-weight: 800; }
.cart-sidebar-empty span { color: #8695a2; font-size: 12px; }
.shop-cart-mobile { display: none; }
.shop-empty,
.checkout-empty-card { padding: 55px 30px; border: 1px solid #dce8ee; border-radius: 24px; background: #fff; color: #718394; text-align: center; }
.shop-messages { margin-bottom: 24px; }
.shop-message { padding: 14px 18px; border-radius: 12px; background: #e7f7f3; color: #196b59; font-weight: 700; }
.shop-message.error { background: #fff0f0; color: #a93939; }
.shop-toast { position: fixed; z-index: 10050; right: 28px; bottom: 28px; max-width: 360px; padding: 15px 20px; border-radius: 14px; background: #123c58; box-shadow: 0 16px 36px rgba(12, 43, 64, .26); color: #fff; font-size: 13px; font-weight: 750; opacity: 0; pointer-events: none; transform: translateY(14px); transition: opacity .22s ease, transform .22s ease; }
.shop-toast.is-visible { opacity: 1; transform: translateY(0); }
.shop-toast.is-error { background: #a33c3c; }
.add-cart-button:disabled { cursor: wait; opacity: .65; }

.checkout-container { max-width: 1060px; }
.checkout-heading { margin-bottom: 34px; text-align: center; }
.checkout-layout { display: grid; grid-template-columns: minmax(0, 1fr) 390px; align-items: start; gap: 28px; }
.checkout-form-card,
.checkout-summary-card,
.cart-page-card,
.payment-state-card { border: 1px solid #dce8ee; border-radius: 26px; background: #fff; box-shadow: 0 18px 45px rgba(21, 63, 91, .1); }
.checkout-form-card { padding: 38px; }
.checkout-form-card h2,
.checkout-summary-card h2 { margin: 0 0 26px; color: #143852; font-size: 22px; font-weight: 800; }
.checkout-icon { display: grid; width: 54px; height: 54px; margin-bottom: 20px; place-items: center; border-radius: 16px; background: #e6f8f7; color: #129ca6; font-size: 22px; }
.checkout-form-card label { display: block; margin-bottom: 9px; color: #38556c; font-size: 13px; font-weight: 800; }
.checkout-form-card input[type="text"] { width: 100%; height: 56px; padding: 0 17px; border: 1px solid #ccdce4; border-radius: 14px; background: #fbfdfe; color: #173a55; font-size: 16px; outline: 0; }
.checkout-form-card input[type="text"]:focus { border-color: #13aeb5; box-shadow: 0 0 0 4px rgba(16, 191, 195, .12); }
.checkout-submit { width: 100%; min-height: 54px; margin-top: 22px; font-size: 14px; }
.checkout-error { margin-top: 8px; color: #c03939; font-size: 12px; font-weight: 700; }
.checkout-security { margin-top: 17px; color: #778b99; font-size: 11px; text-align: center; }
.checkout-security i { margin-right: 5px; color: #14a8ad; }
.checkout-summary-card { padding: 30px; }
.checkout-summary-item { display: flex; padding: 13px 0; align-items: center; justify-content: space-between; gap: 15px; border-bottom: 1px solid #edf2f5; color: #526c7f; font-size: 13px; }
.checkout-summary-item small { color: #8b9aa5; }
.checkout-summary-item strong { color: #21425d; white-space: nowrap; }
.checkout-summary-total { display: flex; margin-top: 20px; padding-top: 18px; align-items: center; justify-content: space-between; border-top: 2px solid #dce8ee; color: #526c7f; }
.checkout-summary-total strong { color: #113453; font-size: 24px; }
.checkout-summary-card > a { display: block; margin-top: 22px; color: #168ca9; font-size: 12px; font-weight: 700; text-align: center; }

.cart-page-card { overflow: hidden; }
.cart-page-item { display: grid; padding: 22px 26px; grid-template-columns: 110px minmax(0, 1fr) 155px 120px; align-items: center; gap: 22px; border-bottom: 1px solid #e9f0f3; }
.cart-page-image { display: flex; width: 110px; height: 90px; padding: 10px; align-items: center; justify-content: center; border-radius: 14px; background: #f0f8f8; }
.cart-page-image img { width: 100%; height: 100%; object-fit: contain; }
.cart-page-info span { color: #12a4ab; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.cart-page-info h3 { margin: 5px 0; font-size: 17px; }
.cart-page-info h3 a { color: #153c57; }
.cart-page-info b { color: #6f8494; font-size: 12px; }
.cart-quantity-form { display: grid; grid-template-columns: 56px 1fr; gap: 6px; }
.cart-quantity-form label { grid-column: 1 / -1; margin: 0; color: #758896; font-size: 10px; text-transform: uppercase; }
.cart-quantity-form input { width: 56px; height: 38px; padding: 0 7px; border: 1px solid #ccdae2; border-radius: 9px; text-align: center; }
.cart-quantity-form button { border: 0; border-radius: 9px; background: #e7f6f6; color: #138f9b; font-size: 11px; font-weight: 800; }
.cart-line-total { color: #123a55; font-size: 16px; text-align: right; }
.cart-page-footer { display: grid; padding: 24px 26px; grid-template-columns: 1fr auto auto; align-items: center; gap: 24px; background: #f8fbfc; }
.cart-page-footer > a:first-child { color: #168ca9; font-size: 12px; font-weight: 700; }
.cart-page-footer > div { display: flex; flex-direction: column; color: #738694; font-size: 11px; text-align: right; }
.cart-page-footer > div strong { color: #113453; font-size: 22px; }
.checkout-empty-card i { display: block; margin-bottom: 15px; color: #13aeb5; font-size: 38px; }
.checkout-empty-card h2 { margin-bottom: 25px; color: #173c56; }

.payment-state-card { max-width: 670px; margin: 30px auto; padding: 55px 40px; text-align: center; }
.payment-state-card h1 { margin: 20px 0 12px; color: #143852; font-size: 29px; font-weight: 800; }
.payment-state-card p { color: #6e8291; }
.payment-state-card .checkout-button { margin-top: 20px; }
.payment-loader { width: 48px; height: 48px; margin: 0 auto; border: 4px solid #dceff0; border-top-color: #11aeb4; border-radius: 50%; animation: payment-spin .8s linear infinite; }
.payment-result-icon { display: grid; width: 70px; height: 70px; margin: 0 auto; place-items: center; border-radius: 50%; background: #e5f7ee; color: #28a565; font-size: 27px; }
.payment-state-card.is-error .payment-result-icon { background: #fff0f0; color: #d14d4d; }
.payment-order-number { margin-top: 18px; padding: 13px; border-radius: 11px; background: #f5f9fb; }
.product-detail-buy { display: flex; margin: -12px 0 25px; padding: 17px 20px; align-items: center; justify-content: space-between; gap: 18px; border: 1px solid #dce8ee; border-radius: 15px; background: #f8fbfc; }
.product-detail-buy strong { color: #123b56; font-size: 23px; }
.product-detail-buy form { margin: 0; }

@keyframes payment-spin { to { transform: rotate(360deg); } }

@media (max-width: 991px) {
  .shop-layout { grid-template-columns: 1fr; }
  .cart-sidebar { position: static; }
  .shop-cart-mobile { display: inline-flex; min-height: 44px; padding: 0 16px; align-items: center; gap: 8px; border-radius: 13px; background: #e5f7f7; color: #148fa0; font-weight: 800; }
  .shop-cart-mobile span { display: grid; min-width: 23px; height: 23px; place-items: center; border-radius: 50%; background: #12aeb4; color: #fff; font-size: 11px; }
  .checkout-layout { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  .shop-section,
  .checkout-section { padding: 52px 0 75px; }
  .shop-heading { align-items: flex-start; }
  .shop-heading p { max-width: 230px; }
  .product-grid-modern { grid-template-columns: 1fr; gap: 18px; }
  .product-card-image { height: 230px; }
  .product-card-content { min-height: 235px; padding: 20px; }
  .product-card-bottom { align-items: flex-end; }
  .add-cart-button span { display: none; }
  .add-cart-button { width: 46px; padding: 0; }
  .checkout-form-card,
  .checkout-summary-card { padding: 25px 21px; border-radius: 20px; }
  .cart-page-item { grid-template-columns: 82px 1fr; padding: 18px; gap: 14px; }
  .cart-page-image { width: 82px; height: 78px; }
  .cart-quantity-form { grid-column: 1 / 2; }
  .cart-line-total { grid-column: 2 / 3; text-align: right; }
  .cart-page-footer { grid-template-columns: 1fr; text-align: center; }
  .cart-page-footer > div { text-align: center; }
  .cart-page-footer .checkout-button { width: 100%; }
  .payment-state-card { padding: 40px 22px; border-radius: 20px; }
  .product-detail-buy { align-items: flex-start; flex-direction: column; }
  .product-detail-buy .add-cart-button { width: auto; padding: 0 18px; }
  .product-detail-buy .add-cart-button span { display: inline; }
  .shop-toast { right: 15px; bottom: 15px; left: 15px; max-width: none; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  .payment-loader { animation: none; }
}
