/* Ecce Vita mini-cart styles. */

#cart-widget.dkral-mini-cart-preview-ready {
      display: none !important;
      position: fixed !important;
      z-index: 2147483646 !important;
      visibility: hidden !important;
      pointer-events: none !important;
      isolation: isolate;
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready {
      box-sizing: border-box !important;
      height: auto !important;
      min-height: 0 !important;
      width: min(520px, calc(100vw - 32px)) !important;
      max-width: min(520px, calc(100vw - 32px)) !important;
      max-height: var(--dkral-cart-max-height, calc(100vh - 112px)) !important;
      display: block !important;
      overflow: visible !important;
      border: 1px solid #dce3d5 !important;
      border-radius: 14px !important;
      background: #fff !important;
      visibility: visible !important;
      pointer-events: auto !important;
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready::before {
      content: '';
      position: absolute;
      z-index: 1;
      top: -14px;
      right: var(--dkral-cart-arrow-right, 0px);
      width: 18px;
      height: 18px;
      transform: rotate(45deg);
      border-top: 1px solid #dce3d5;
      border-left: 1px solid #dce3d5;
      background: #fff;
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .content-window-in {
      position: relative;
      z-index: 1;
      max-height: var(--dkral-cart-max-height, min(720px, calc(100vh - 110px)));
      height: auto !important;
      min-height: 0 !important;
      padding: 0 !important;
      overflow: auto;
      overscroll-behavior: contain;
      border-radius: inherit;
      background: #fff;
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .cart-window-in > .container.place-cart-here {
      width: 100% !important;
      margin: 0 !important;
      padding: 16px !important;
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .toggle-window-arr { display: none !important; }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-view,
    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-view * {
      box-sizing: border-box;
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-view {
      --dkral-cart-green: #40281F;
      --dkral-cart-green-dark: #2c1b15;
      --dkral-cart-ink: #40281F;
      --dkral-cart-muted: #74645d;
      --dkral-cart-line: #e7e2e0;
      --dkral-cart-surface: #f5f5f5;
      display: grid;
      gap: 12px;
      width: 100%;
      color: var(--dkral-cart-ink);
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-items {
      display: grid;
      gap: 10px;
      max-height: 280px;
      overflow: auto;
      overscroll-behavior: contain;
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-item {
      display: grid;
      grid-template-columns: 64px minmax(0, 1fr) auto auto;
      align-items: center;
      gap: 14px;
      min-height: 96px;
      padding: 10px;
      border-radius: 14px;
      background: #fff;
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-image {
      display: grid;
      width: 64px;
      height: 64px;
      place-items: center;
      overflow: hidden;
      border-radius: 10px;
      background: var(--dkral-cart-surface);
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-image img {
      display: block;
      width: auto !important;
      max-width: 100%;
      height: auto !important;
      max-height: 100%;
      object-fit: contain;
      mix-blend-mode: multiply;
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-details { min-width: 0; }
    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-item-name {
      display: block;
      overflow: hidden;
      color: var(--dkral-cart-ink) !important;
      font-size: 14px;
      font-weight: 300;
      line-height: 1.36;
      text-decoration: none !important;
      text-overflow: ellipsis;
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-unit-price {
      display: block;
      margin-top: 6px;
      color: var(--dkral-cart-green-dark);
      font-size: 16px;
      font-weight: 750;
      white-space: nowrap;
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-quantity-form { margin: 0 !important; }
    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-quantity-form .p-label { display: none !important; }
    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-quantity-form .quantity {
      display: grid !important;
      grid-template-columns: 26px 32px 26px !important;
      grid-template-rows: 32px !important;
      width: 84px !important;
      min-width: 84px !important;
      align-items: center;
      height: 32px !important;
      min-height: 32px !important;
      max-height: 32px !important;
      padding: 0 !important;
      overflow: hidden;
      border: 0 !important;
      border-radius: 10px;
      background: #efeeec;
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-quantity-form .quantity > .increase-tooltip,
    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-quantity-form .quantity > .decrease-tooltip { display: none !important; }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-quantity-form .quantity label {
      display: block;
      grid-column: 2;
      grid-row: 1;
      width: 32px !important;
      min-width: 32px !important;
      height: 32px !important;
      min-height: 32px !important;
      max-height: 32px !important;
      margin: 0 !important;
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-quantity-form .quantity .decrease { grid-column: 1; grid-row: 1; }
    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-quantity-form .quantity .increase { grid-column: 3; grid-row: 1; }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-quantity-form .quantity button {
      position: static !important;
      display: grid !important;
      width: 26px !important;
      min-width: 26px !important;
      height: 26px !important;
      min-height: 26px !important;
      max-height: 26px !important;
      margin: 0 !important;
      padding: 0 !important;
      place-items: center;
      border: 0 !important;
      border-radius: 7px !important;
      background: transparent !important;
      color: var(--dkral-cart-ink) !important;
      font-size: 16px;
      line-height: 1;
      transform: none !important;
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-quantity-form .quantity button::before {
      display: none !important;
      content: none !important;
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-quantity-form .quantity button > span { display: none !important; }
    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-quantity-form .quantity .decrease::after { content: '-' !important; }
    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-quantity-form .quantity .increase::after { content: '+' !important; }
    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-quantity-form .quantity .decrease::after,
    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-quantity-form .quantity .increase::after {
      display: block !important;
      color: var(--dkral-cart-ink) !important;
      font-size: 16px !important;
      line-height: 1 !important;
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-quantity-form .amount {
      display: block;
      width: 32px !important;
      min-width: 0 !important;
      height: 32px !important;
      min-height: 32px !important;
      max-height: 32px !important;
      margin: 0 !important;
      padding: 0 !important;
      border: 0 !important;
      appearance: textfield !important;
      -moz-appearance: textfield !important;
      background: transparent !important;
      color: var(--dkral-cart-ink) !important;
      font-weight: 700;
      line-height: 32px !important;
      text-align: center;
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-quantity-form .amount::-webkit-inner-spin-button,
    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-quantity-form .amount::-webkit-outer-spin-button {
      margin: 0 !important;
      -webkit-appearance: none !important;
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-remove-form { margin: 0 !important; }
    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-remove-form .remove-item {
      position: relative !important;
      display: grid !important;
      width: 30px !important;
      height: 30px !important;
      margin: 0 !important;
      padding: 0 !important;
      place-items: center;
      border: 0 !important;
      border-radius: 50% !important;
      background: transparent !important;
      transform: none !important;
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-remove-form .remove-item::before {
      display: none !important;
      content: none !important;
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-remove-form .remove-item::after {
      display: block;
      width: 14px;
      height: 14px;
      content: '';
      background: linear-gradient(45deg, transparent 44%, var(--dkral-cart-muted) 45% 55%, transparent 56%), linear-gradient(-45deg, transparent 44%, var(--dkral-cart-muted) 45% 55%, transparent 56%);
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-remove-form .remove-item:hover { background: #f5f5f5 !important; }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-shipping {
      position: relative;
      padding: 13px 14px 23px 43px;
      overflow: hidden;
      border-radius: 12px;
      background: var(--dkral-cart-surface);
      color: var(--dkral-cart-ink);
      font-size: 13px;
      line-height: 1.4;
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-shipping-icon {
      position: absolute;
      top: 13px;
      left: 14px;
      display: grid;
      width: 19px;
      height: 19px;
      place-items: center;
      border-radius: 50%;
      background: var(--dkral-cart-green);
      color: #fff;
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-shipping-icon svg {
      display: block;
      width: 13px;
      height: 13px;
      fill: none;
      stroke: currentColor;
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 1.8;
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-shipping::after {
      position: absolute;
      right: 14px;
      bottom: 9px;
      left: 14px;
      height: 5px;
      border-radius: 99px;
      background: linear-gradient(90deg, var(--dkral-cart-green) 0 var(--dkral-free-shipping-progress, 0%), #e7e2e0 var(--dkral-free-shipping-progress, 0%) 100%);
      content: '';
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-footer {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 12px;
      align-items: center;
      padding-top: 12px;
      border-top: 1px solid var(--dkral-cart-line);
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-total {
      display: grid;
      gap: 2px;
      color: var(--dkral-cart-muted);
      font-size: 12px;
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-total strong {
      color: var(--dkral-cart-ink);
      font-size: 18px;
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-cta {
      display: inline-flex !important;
      min-height: 44px;
      align-items: center;
      justify-content: center;
      min-width: 210px;
      padding: 10px 18px !important;
      border: 0 !important;
      border-radius: 28px !important;
      background: var(--dkral-cart-green) !important;
      color: #fff !important;
      font-size: 14px !important;
      font-weight: 750 !important;
      line-height: 1.2;
      text-align: center;
      text-decoration: none !important;
    }

    body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready .dkral-mini-cart-preview-cta:hover { background: var(--dkral-cart-green-dark) !important; }

    @media (min-width: 992px) {
      body.cart-window-visible #cart-widget.dkral-mini-cart-preview-ready {
        top: var(--dkral-cart-top, 98px) !important;
        right: var(--dkral-cart-right, 24px) !important;
        left: auto !important;
      }
    }

    @media (max-width: 991px) {
      html.dkral-mini-cart-preview-mobile-safe #cart-widget { display: none !important; }
    }
