/* =========================================================
   KK MINI CART
   WooCommerce native Mini-Cart Block
========================================================= */

:root {
  --kk-mini-bg: #ffffff;
  --kk-mini-surface: #f5f5f5;
  --kk-mini-text: rgba(0, 0, 0, 0.92);
  --kk-mini-muted: rgba(0, 0, 0, 0.58);
  --kk-mini-border: rgba(0, 0, 0, 0.10);
  --kk-mini-border-strong: rgba(0, 0, 0, 0.14);
  --kk-mini-radius: 18px;
  --kk-mini-accent: #165c31;
  --kk-mini-accent-hover: #114925;
}


/* =========================================================
   HEADER MINI-CART
========================================================= */

.header.header-sticky-menu .header-right,
.header.header-sticky-menu .header-right .st-list {
  display: flex !important;
  align-items: center !important;
}

.header.header-sticky-menu .header-right {
  margin-left: auto !important;
}

.header.header-sticky-menu .header-right .st-list {
  flex-direction: row !important;
  gap: 0 !important;

  margin: 0 !important;
  padding: 0 !important;
}

.header.header-sticky-menu .kk-header-mini-cart {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  padding: 0 !important;

  list-style: none !important;
}

.header.header-sticky-menu .kk-header-mini-cart::before,
.header.header-sticky-menu .kk-header-mini-cart::after {
  content: none !important;
  display: none !important;
}

.header.header-sticky-menu
.kk-header-mini-cart
.wc-block-mini-cart {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  padding: 0 !important;
}

.header.header-sticky-menu
.kk-header-mini-cart
.wc-block-mini-cart__button {
  position: relative !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 12px !important;

  background: transparent !important;
  color: #123a32 !important;

  box-shadow: none !important;
  cursor: pointer !important;

  transition:
    background-color 0.18s ease,
    transform 0.18s ease !important;
}

.header.header-sticky-menu
.kk-header-mini-cart
.wc-block-mini-cart__button:hover {
  background: rgba(18, 58, 50, 0.055) !important;
  transform: translateY(-1px);
}

.header.header-sticky-menu
.kk-header-mini-cart
.wc-block-mini-cart__button:focus {
  outline: none !important;
}

.header.header-sticky-menu
.kk-header-mini-cart
.wc-block-mini-cart__button:focus-visible {
  outline: 2px solid rgba(18, 58, 50, 0.24) !important;
  outline-offset: 2px !important;
}

.header.header-sticky-menu
.kk-header-mini-cart
.wc-block-mini-cart__quantity-badge {
  position: relative !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.header.header-sticky-menu
.kk-header-mini-cart
.wc-block-mini-cart__icon {
  display: block !important;

  width: 32px !important;
  height: 32px !important;

  margin: 0 !important;
}

.header.header-sticky-menu
.kk-header-mini-cart
.wc-block-mini-cart__badge {
  position: absolute !important;
  top: -5px !important;
  right: -6px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-width: 19px !important;
  height: 19px !important;
  padding: 0 5px !important;

  border: 2px solid #fff !important;
  border-radius: 999px !important;

  background: #123a32 !important;
  color: #fff !important;

  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 1 !important;

  box-sizing: border-box !important;
}


/* =========================================================
   DRAWER SHELL
========================================================= */

.wc-block-components-drawer__screen-overlay {
  background: rgba(15, 17, 21, 0.34) !important;

  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.wc-block-components-drawer
.wc-block-components-drawer__content {
  background: var(--kk-mini-bg) !important;
  box-shadow: -18px 0 48px rgba(0, 0, 0, 0.12) !important;
}


/* =========================================================
   DRAWER HEADER
========================================================= */

.wc-block-components-drawer
.wc-block-components-drawer__header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;

  min-height: auto !important;
  padding: 0 !important;

  border-bottom: 1px solid var(--kk-mini-border) !important;
  background: #fff !important;
}

.wc-block-components-drawer
h2.wc-block-mini-cart__title {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 12px !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 20px !important;

  border: 0 !important;
  background: #fff !important;
  color: var(--kk-mini-text) !important;

  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;

  mask-image: none !important;
}

.wc-block-components-drawer
.wc-block-mini-cart__title
.wp-block-woocommerce-mini-cart-title-label-block {
  display: inline-block !important;

  margin: 0 !important;
  padding: 0 !important;

  line-height: 1.2 !important;
}

.wc-block-components-drawer
.wc-block-mini-cart__title
.wp-block-woocommerce-mini-cart-title-items-counter-block {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  padding: 6px 10px !important;

  border-radius: 999px !important;

  background: rgba(0, 0, 0, 0.65) !important;
  color: #fff !important;

  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}

.wc-block-components-drawer
button.wc-block-components-drawer__close {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;

  margin: 0 14px 0 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 999px !important;

  background: transparent !important;
  box-shadow: none !important;

  transition:
    opacity 0.18s ease,
    transform 0.12s ease !important;
}

.wc-block-components-drawer
button.wc-block-components-drawer__close svg {
  display: block !important;

  width: 22px !important;
  height: 22px !important;
}

.wc-block-components-drawer
button.wc-block-components-drawer__close svg path {
  fill: rgba(0, 0, 0, 0.72) !important;
}

.wc-block-components-drawer
button.wc-block-components-drawer__close:hover {
  opacity: 0.7 !important;
  transform: translateY(-1px);
}


/* =========================================================
   ITEMS AREA
========================================================= */

.wc-block-components-drawer
.wc-block-mini-cart__items {
  padding: 12px !important;
  background: #fff !important;
}

.wc-block-components-drawer
.wc-block-cart-items {
  width: 100% !important;

  margin: 0 !important;

  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 12px !important;
}


/* =========================================================
   WOOCOMMERCE HIDDEN STATE
========================================================= */

.wc-block-components-drawer
.wc-block-cart-items__row
[hidden] {
  display: none !important;
}


/* =========================================================
   HIDE UNWANTED PRODUCT INFORMATION
========================================================= */

/*
 * Metadata wrapperit ennast ei tohi peita.
 * Refresh'i järel võivad quantity ja remove elemendid
 * paikneda selle sees.
 */

.wc-block-components-drawer
.wc-block-cart-items__row
.wc-block-cart-item__prices,

.wc-block-components-drawer
.wc-block-cart-items__row
.wc-block-components-product-metadata__description,

.wc-block-components-drawer
.wc-block-cart-items__row
.wc-block-components-product-details,

.wc-block-components-drawer
.wc-block-cart-items__row
.wc-block-components-product-details__name,

.wc-block-components-drawer
.wc-block-cart-items__row
.wc-block-components-product-details__value,

.wc-block-components-drawer
.wc-block-cart-items__row
.wc-block-components-product-low-stock-badge {
  display: none !important;
}

.wc-block-components-drawer
.wc-block-cart-items__row
.wc-block-components-product-metadata {
  position: static !important;

  display: block !important;

  width: auto !important;
  height: auto !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* =========================================================
   PRODUCT CARD
========================================================= */

.wc-block-components-drawer
.wc-block-cart-items__row {
  position: relative !important;

  display: grid !important;
  grid-template-columns: 96px minmax(0, 1fr) 88px !important;
  gap: 14px !important;
  align-items: start !important;

  min-height: 156px !important;

  margin: 0 0 6px !important;
  padding: 14px 14px 60px !important;

  border: 0 !important;
  border-radius: var(--kk-mini-radius) !important;

  background: var(--kk-mini-surface) !important;

  box-sizing: border-box !important;
}

.wc-block-components-drawer
.wc-block-cart-items__row > td {
  display: block !important;

  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  background: transparent !important;
}


/* =========================================================
   PRODUCT IMAGE
========================================================= */

.wc-block-components-drawer
.wc-block-cart-item__image {
  width: 96px !important;
  min-width: 96px !important;

  align-self: start !important;
}

.wc-block-components-drawer
.wc-block-cart-item__image > img {
  display: none !important;
}

.wc-block-components-drawer
.wc-block-cart-item__image > a {
  display: block !important;

  width: 96px !important;
  height: 96px !important;

  border-radius: 12px !important;
  overflow: hidden !important;

  background: #fff !important;
}

.wc-block-components-drawer
.wc-block-cart-item__image > a > img {
  display: block !important;

  width: 96px !important;
  height: 96px !important;

  object-fit: cover !important;
  object-position: center !important;

  background: #fff !important;
}


/* =========================================================
   PRODUCT DETAILS
========================================================= */

.wc-block-components-drawer
.wc-block-cart-item__product {
  display: block !important;

  min-width: 0 !important;
}

.wc-block-components-drawer
.wc-block-cart-item__wrap {
  width: 100% !important;
  min-height: 96px !important;
}

.wc-block-components-drawer
.wc-block-cart-item__wrap
> span.wc-block-components-product-name {
  display: none !important;
}

.wc-block-components-drawer
.wc-block-cart-item__wrap
> a.wc-block-components-product-name {
  display: -webkit-box !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  color: var(--kk-mini-text) !important;
  text-decoration: none !important;

  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.28 !important;

  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;

  overflow: hidden;
}

.wc-block-components-drawer
.wc-block-cart-item__wrap
> a.wc-block-components-product-name:hover {
  color: var(--kk-mini-text) !important;
  text-decoration: none !important;
}


/* =========================================================
   BACKORDER BADGE
========================================================= */

.wc-block-components-drawer
.wc-block-components-product-backorder-badge {
  display: inline-flex !important;
  align-items: center !important;

  width: fit-content !important;

  margin: 8px 0 0 !important;
  padding: 5px 9px !important;

  border: 0 !important;
  border-radius: 999px !important;

  background: #90cd89 !important;
  color: #fff !important;

  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}

.wc-block-components-drawer
.wc-block-cart-item__total
.wc-block-components-sale-badge {
  display: none !important;
}


/* =========================================================
   QUANTITY – NORMAL AJAX MARKUP
========================================================= */

.wc-block-components-drawer
.wc-block-cart-item__quantity {
  position: absolute !important;
  left: 124px !important;
  bottom: 14px !important;

  display: flex !important;
  align-items: center !important;

  width: auto !important;

  margin: 0 !important;
  padding: 0 !important;

  z-index: 4 !important;
}

.wc-block-components-drawer
.wc-block-components-quantity-selector {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-width: 104px !important;
  height: 42px !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 1px solid var(--kk-mini-border-strong) !important;
  border-radius: 12px !important;

  background: #fff !important;
  overflow: hidden !important;

  box-shadow: none !important;
}

.wc-block-components-drawer
.wc-block-components-quantity-selector::before,
.wc-block-components-drawer
.wc-block-components-quantity-selector::after {
  content: none !important;
  display: none !important;
}

.wc-block-components-drawer
.wc-block-components-quantity-selector__input {
  order: 2 !important;

  width: 38px !important;
  min-width: 38px !important;
  height: 40px !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;

  background: transparent !important;
  color: var(--kk-mini-text) !important;

  box-shadow: none !important;

  text-align: center !important;
  font-size: 15px !important;
  font-weight: 600 !important;

  appearance: textfield !important;
  -moz-appearance: textfield !important;
}

.wc-block-components-drawer
.wc-block-components-quantity-selector__input::-webkit-inner-spin-button,
.wc-block-components-drawer
.wc-block-components-quantity-selector__input::-webkit-outer-spin-button {
  margin: 0 !important;

  appearance: none !important;
  -webkit-appearance: none !important;
}

.wc-block-components-drawer
.wc-block-components-quantity-selector__button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 32px !important;
  min-width: 32px !important;
  height: 40px !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;

  background: transparent !important;
  color: var(--kk-mini-muted) !important;

  box-shadow: none !important;

  font-size: 18px !important;
  line-height: 1 !important;

  cursor: pointer !important;
}

.wc-block-components-drawer
.wc-block-components-quantity-selector__button--minus {
  order: 1 !important;
}

.wc-block-components-drawer
.wc-block-components-quantity-selector__button--plus {
  order: 3 !important;
}

.wc-block-components-drawer
.wc-block-components-quantity-selector__button:hover:not(:disabled) {
  background: rgba(0, 0, 0, 0.04) !important;
}

.wc-block-components-drawer
.wc-block-components-quantity-selector__button:disabled {
  opacity: 0.35 !important;
  cursor: default !important;
}


/* =========================================================
   QUANTITY – SERVER-RENDERED MARKUP
========================================================= */

/*
 * Refresh'i järel võivad input ja +/- nupud olla metadata
 * sees sisemises div-is ilma quantity-selector wrapperita.
 *
 * Liigutatakse ainult quantity elemente sisaldav sisemine div.
 * Metadata ise ja remove nupp jäävad puutumata.
 */

.wc-block-components-drawer
.wc-block-cart-items__row
.wc-block-components-product-metadata
div:has(> .wc-block-components-quantity-selector__input) {
  position: absolute !important;
  left: 124px !important;
  bottom: 14px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: auto !important;
  min-width: 104px !important;
  height: 42px !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 1px solid var(--kk-mini-border-strong) !important;
  border-radius: 12px !important;

  background: #fff !important;
  overflow: hidden !important;

  box-sizing: border-box !important;
  z-index: 5 !important;
}

.wc-block-components-drawer
.wc-block-cart-items__row
.wc-block-components-product-metadata
div:has(> .wc-block-components-quantity-selector__input)
> .wc-block-components-quantity-selector__input {
  position: static !important;
  inset: auto !important;

  order: 2 !important;

  display: block !important;

  width: 38px !important;
  min-width: 38px !important;
  height: 40px !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;

  background: transparent !important;
  color: var(--kk-mini-text) !important;

  box-shadow: none !important;

  text-align: center !important;
  font-size: 15px !important;
  font-weight: 600 !important;

  appearance: textfield !important;
  -moz-appearance: textfield !important;

  z-index: auto !important;
}

.wc-block-components-drawer
.wc-block-cart-items__row
.wc-block-components-product-metadata
div:has(> .wc-block-components-quantity-selector__input)
> .wc-block-components-quantity-selector__button {
  position: static !important;
  inset: auto !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 32px !important;
  min-width: 32px !important;
  height: 40px !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;

  background: transparent !important;
  color: var(--kk-mini-muted) !important;

  box-shadow: none !important;

  font-size: 18px !important;
  line-height: 1 !important;

  cursor: pointer !important;
  z-index: auto !important;
}

.wc-block-components-drawer
.wc-block-cart-items__row
.wc-block-components-product-metadata
div:has(> .wc-block-components-quantity-selector__input)
> .wc-block-components-quantity-selector__button--minus {
  order: 1 !important;
}

.wc-block-components-drawer
.wc-block-cart-items__row
.wc-block-components-product-metadata
div:has(> .wc-block-components-quantity-selector__input)
> .wc-block-components-quantity-selector__button--plus {
  order: 3 !important;
}

.wc-block-components-drawer
.wc-block-cart-items__row
.wc-block-components-product-metadata
div:has(> .wc-block-components-quantity-selector__input)
> .wc-block-components-quantity-selector__button:hover:not(:disabled) {
  background: rgba(0, 0, 0, 0.04) !important;
}

.wc-block-components-drawer
.wc-block-cart-items__row
.wc-block-components-product-metadata
div:has(> .wc-block-components-quantity-selector__input)
> .wc-block-components-quantity-selector__button:disabled {
  opacity: 0.35 !important;
  cursor: default !important;
}


/* =========================================================
   TOTAL
========================================================= */

.wc-block-components-drawer
.wc-block-cart-item__total {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;

  width: 88px !important;
  min-width: 88px !important;

  text-align: right !important;
}

.wc-block-components-drawer
.wc-block-cart-item__total-price-and-sale-badge-wrapper {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: flex-end !important;

  margin: 0 !important;
}

.wc-block-components-drawer
.wc-block-cart-item__total
.price {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;

  margin: 0 !important;
}

.wc-block-components-drawer
.wc-block-cart-item__total
.wc-block-components-product-price__value,
.wc-block-components-drawer
.wc-block-cart-item__total
.wc-block-formatted-money-amount {
  color: var(--kk-mini-text) !important;

  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
}


/* =========================================================
   REMOVE BUTTON
========================================================= */

/*
 * Remove on alati positsioneeritud tooterea suhtes.
 * Metadata jääb position: static, seega ei saa remove
 * quantity wrapperi suhtes valesse kohta liikuda.
 */

.wc-block-components-drawer
.wc-block-cart-items__row
.wc-block-cart-item__remove-link,
.wc-block-components-drawer
.wc-block-cart-items__row
button.wc-block-cart-item__remove-link {
  position: absolute !important;
  inset: auto 14px 14px auto !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 1px solid var(--kk-mini-border) !important;
  border-radius: 999px !important;

  background: rgba(255, 255, 255, 0.82) !important;
  color: transparent !important;

  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;

  font-size: 0 !important;
  text-decoration: none !important;

  cursor: pointer !important;
  transform: none !important;
  z-index: 8 !important;

  transition:
    background-color 0.18s ease,
    border-color 0.18s ease,
    transform 0.12s ease !important;
}

.wc-block-components-drawer
.wc-block-cart-item__remove-link svg {
  display: none !important;
}

.wc-block-components-drawer
.wc-block-cart-item__remove-link::before {
  content: "";

  display: block;

  width: 16px;
  height: 16px;

  background: rgba(0, 0, 0, 0.72);

  -webkit-mask:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3h6l1 2h4v2H4V5h4l1-2Zm-1 6h2v9H8V9Zm6 0h2v9h-2V9ZM6 7h12l-1 12a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L6 7Z'/%3E%3C/svg%3E")
    center / contain no-repeat;

  mask:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3h6l1 2h4v2H4V5h4l1-2Zm-1 6h2v9H8V9Zm6 0h2v9h-2V9ZM6 7h12l-1 12a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L6 7Z'/%3E%3C/svg%3E")
    center / contain no-repeat;
}

.wc-block-components-drawer
.wc-block-cart-item__remove-link:hover {
  border-color: rgba(220, 38, 38, 0.25) !important;
  background: rgba(220, 38, 38, 0.08) !important;

  transform: translateY(-1px) !important;
}

.wc-block-components-drawer
.wc-block-cart-item__remove-link:hover::before {
  background: rgba(160, 28, 28, 0.88);
}


/* =========================================================
   REMOVE TOOLTIP
========================================================= */

.wc-block-components-drawer
.wc-block-cart-item__remove-link[data-tooltip]::after {
  content: attr(data-tooltip);

  position: absolute;
  right: 50%;
  bottom: calc(100% + 8px);

  padding: 6px 8px;

  border-radius: 6px;

  background: rgba(0, 0, 0, 0.88);
  color: #fff;

  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;

  opacity: 0;
  pointer-events: none;

  transform: translateX(50%) translateY(4px);

  transition:
    opacity 0.18s ease,
    transform 0.18s ease;
}

.wc-block-components-drawer
.wc-block-cart-item__remove-link[data-tooltip]:hover::after {
  opacity: 1;
  transform: translateX(50%) translateY(0);
}


/* =========================================================
   FOOTER
========================================================= */

.wc-block-components-drawer
.wc-block-mini-cart__footer {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 14px !important;

  margin-top: auto !important;
  padding: 16px 15px !important;

  border-top: 1px solid rgba(0, 0, 0, 0.08) !important;

  background: #fff !important;
}

.wc-block-components-drawer
.wc-block-mini-cart__footer-subtotal {
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
}

.wc-block-components-drawer
.wc-block-mini-cart__footer-subtotal
.wc-block-components-totals-item__label {
  color: var(--kk-mini-text) !important;

  font-size: 15px !important;
  font-weight: 500 !important;
}

.wc-block-components-drawer
.wc-block-mini-cart__footer-subtotal
.wc-block-components-totals-item__value {
  margin: 0 !important;

  color: var(--kk-mini-text) !important;

  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
}

.wc-block-components-drawer
.wc-block-mini-cart__footer-subtotal
.wc-block-components-totals-item__description {
  display: none !important;
}

.wc-block-components-drawer
.wc-block-mini-cart__footer-actions {
  display: block !important;

  margin: 0 !important;
  padding: 0 !important;
}

.wc-block-components-drawer
.wc-block-mini-cart__footer-checkout,
.wc-block-components-drawer
.wp-block-woocommerce-mini-cart-checkout-button-block {
  display: none !important;
}

.wc-block-components-drawer
.wc-block-mini-cart__footer-cart,
.wc-block-components-drawer
.wp-block-woocommerce-mini-cart-cart-button-block {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-width: 132px !important;
  min-height: 46px !important;

  margin: 0 !important;
  padding: 0 18px !important;

  border: 0 !important;
  border-radius: 999px !important;

  background: var(--kk-mini-accent) !important;
  color: #fff !important;

  box-shadow: none !important;
  text-decoration: none !important;

  font-size: 15px !important;
  font-weight: 600 !important;

  transition: background-color 0.18s ease !important;
}

.wc-block-components-drawer
.wc-block-mini-cart__footer-cart:hover,
.wc-block-components-drawer
.wp-block-woocommerce-mini-cart-cart-button-block:hover {
  background: var(--kk-mini-accent-hover) !important;
}


/* =========================================================
   EMPTY CART
========================================================= */

.wc-block-components-drawer
.wc-block-mini-cart__empty-cart-wrapper {
  justify-items: center !important;
}

.wc-block-components-drawer
.wc-block-mini-cart__empty-cart-wrapper
.wp-block-button
a {
  border-radius: 12px !important;
}


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

@media (max-width: 480px) {

  .wc-block-components-drawer
  .wc-block-cart-items__row {
    grid-template-columns: 82px minmax(0, 1fr) 72px !important;
    gap: 12px !important;

    min-height: 144px !important;

    padding: 12px 12px 58px !important;
  }

  .wc-block-components-drawer
  .wc-block-cart-item__image,
  .wc-block-components-drawer
  .wc-block-cart-item__image > a,
  .wc-block-components-drawer
  .wc-block-cart-item__image > a > img {
    width: 82px !important;
    min-width: 82px !important;
    height: 82px !important;
  }

  /* AJAX markup quantity */

  .wc-block-components-drawer
  .wc-block-cart-item__quantity {
    left: 106px !important;
    bottom: 12px !important;
  }

  /* Server-rendered markup quantity */

  .wc-block-components-drawer
  .wc-block-cart-items__row
  .wc-block-components-product-metadata
  div:has(> .wc-block-components-quantity-selector__input) {
    left: 106px !important;
    bottom: 12px !important;
  }

  /* Remove */

  .wc-block-components-drawer
  .wc-block-cart-items__row
  .wc-block-cart-item__remove-link,
  .wc-block-components-drawer
  .wc-block-cart-items__row
  button.wc-block-cart-item__remove-link {
    inset: auto 12px 12px auto !important;
  }

  /* Footer */

  .wc-block-components-drawer
  .wc-block-mini-cart__footer {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px !important;

    padding: 14px 12px !important;
  }

  .wc-block-components-drawer
  .wc-block-mini-cart__footer-subtotal {
    gap: 6px !important;
  }

  .wc-block-components-drawer
  .wc-block-mini-cart__footer-subtotal
  .wc-block-components-totals-item__label {
    font-size: 14px !important;
  }

  .wc-block-components-drawer
  .wc-block-mini-cart__footer-subtotal
  .wc-block-components-totals-item__value {
    font-size: 16px !important;
  }

  .wc-block-components-drawer
  .wc-block-mini-cart__footer-cart,
  .wc-block-components-drawer
  .wp-block-woocommerce-mini-cart-cart-button-block {
    min-width: 118px !important;
    min-height: 44px !important;

    padding: 0 16px !important;

    font-size: 14px !important;
  }
}

/* =========================================================
   ALIGN SERVER-RENDERED QUANTITY WITH AJAX QUANTITY
========================================================= */

/*
 * WooCommerce lisab AJAX-iga tekkinud quantity wrapperile
 * grid-column-start: 1, mis annab sellele väikese nihke.
 *
 * Anname sama nihke ka refresh'i järel renderdatud
 * quantity fallback-konteinerile.
 */
.wc-block-components-drawer
.wc-block-cart-items__row
.wc-block-components-product-metadata
div:has(> .wc-block-components-quantity-selector__input) {
  transform: translateX(16px) !important;
}