/* Dameki Woo Side Cart - IJE modern UI */

#damekiSideCart {
  --dameki-cart-navy: var(--ije-navy, #071827);
  --dameki-cart-blue: var(--ije-blue, #00a8e8);
  --dameki-cart-blue-dark: var(--ije-blue-dark, #0077b6);
  --dameki-cart-yellow: var(--ije-yellow, #ffc928);
  --dameki-cart-orange: var(--ije-orange, #ff8a00);
  --dameki-cart-sand: var(--ije-sand, #fff8e8);
  --dameki-cart-text: var(--ije-text, #14213d);
  --dameki-cart-muted: var(--ije-muted, #667085);

  width: min(100%, 470px);

  border-left: 1px solid rgba(7, 24, 39, .08);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(254, 209, 0, .13),
      transparent 26%
    ),
    radial-gradient(
      circle at 0 100%,
      rgba(0, 168, 232, .08),
      transparent 30%
    ),
    linear-gradient(
      180deg,
      #fffdf8 0%,
      #ffffff 44%,
      #f8fbff 100%
    );

  box-shadow:
    -24px 0 70px rgba(7, 24, 39, .18);

  color: var(--dameki-cart-text);
}

.dameki-side-cart-header {
  min-height: 92px;

  padding: 1.15rem 1.35rem;

  border-bottom: 1px solid rgba(7, 24, 39, .07);

  background: rgba(255, 255, 255, .88);

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

.dameki-side-cart-heading {
  min-width: 0;

  display: flex;
  align-items: center;

  gap: .8rem;
}

.dameki-side-cart-heading-icon {
  width: 46px;
  height: 46px;

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

  flex: 0 0 auto;

  border-radius: 15px;

  background:
    linear-gradient(
      135deg,
      var(--dameki-cart-yellow),
      var(--dameki-cart-orange)
    );

  box-shadow:
    0 12px 24px rgba(255, 201, 40, .24);

  color: var(--dameki-cart-navy);

  font-size: 1.15rem;
}

.dameki-side-cart-kicker {
  display: block;

  margin-bottom: .14rem;

  color: var(--dameki-cart-blue-dark);

  font-family: 'Poppins', system-ui, sans-serif;
  font-size: .72rem;
  font-weight: 850;

  letter-spacing: .06em;

  text-transform: uppercase;
}

.dameki-side-cart-header .offcanvas-title {
  margin: 0;

  color: var(--dameki-cart-navy);

  font-family: 'Poppins', system-ui, sans-serif;
  font-size: 1.35rem;
  font-weight: 900;

  letter-spacing: -.035em;
}

.dameki-side-cart-close {
  flex: 0 0 auto;

  margin: 0 !important;

  border-radius: 999px;

  opacity: .68;

  transition:
    opacity .16s ease,
    background-color .16s ease,
    transform .16s ease;
}

.dameki-side-cart-close:hover,
.dameki-side-cart-close:focus-visible {
  transform: rotate(6deg);

  background-color: rgba(7, 24, 39, .06);

  opacity: 1;
}

.dameki-side-cart-body {
  padding: 1.25rem;
}

.dameki-side-cart-items {
  display: grid;

  gap: 1rem;
}

.dameki-side-cart-item {
  position: relative;

  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);

  gap: 1rem;

  padding: .9rem;

  border: 1px solid rgba(7, 24, 39, .08);
  border-radius: 20px;

  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, .98),
      rgba(251, 252, 255, .98)
    );

  box-shadow:
    0 14px 34px rgba(7, 24, 39, .07);

  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease;
}

.dameki-side-cart-item:hover {
  transform: translateY(-1px);

  border-color: rgba(0, 168, 232, .16);

  box-shadow:
    0 20px 40px rgba(7, 24, 39, .09);
}

.dameki-side-cart-media {
  overflow: hidden;

  align-self: start;

  border-radius: 15px;

  background: #eef4f8;
}

.dameki-side-cart-media a {
  display: block;
}

.dameki-side-cart-product-image {
  width: 92px !important;
  height: 92px !important;

  display: block;

  object-fit: cover;

  transition: transform .22s ease;
}

.dameki-side-cart-media:hover .dameki-side-cart-product-image {
  transform: scale(1.035);
}

.dameki-side-cart-item-content {
  min-width: 0;
}

.dameki-side-cart-item-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;

  gap: .65rem;
}

.dameki-side-cart-product-title {
  min-width: 0;

  margin: 0;

  font-family: 'Poppins', system-ui, sans-serif;
  font-size: .96rem;
  font-weight: 850;

  line-height: 1.35;
  letter-spacing: -.02em;
}

.dameki-side-cart-product-title a {
  color: var(--dameki-cart-navy);

  text-decoration: none;

  transition: color .16s ease;
}

.dameki-side-cart-product-title a:hover,
.dameki-side-cart-product-title a:focus-visible {
  color: var(--dameki-cart-blue-dark);
}

.dameki-side-cart-remove {
  width: 34px;
  height: 34px;

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

  flex: 0 0 auto;

  padding: 0;

  border: 1px solid rgba(220, 53, 69, .16);
  border-radius: 999px;

  background: rgba(220, 53, 69, .055);

  color: #c92a3b;

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

.dameki-side-cart-remove:hover,
.dameki-side-cart-remove:focus-visible {
  transform: scale(1.06);

  border-color: rgba(220, 53, 69, .28);

  background: #c92a3b;

  color: #fff;
}

.dameki-side-cart-remove.is-removing {
  pointer-events: none;

  opacity: .56;
}

.dameki-side-cart-remove.is-removing i {
  animation: damekiCartSpin .7s linear infinite;
}

@keyframes damekiCartSpin {
  to {
    transform: rotate(360deg);
  }
}

.dameki-side-cart-meta {
  display: grid;

  gap: .45rem;

  margin-top: .7rem;
  padding: .7rem .8rem;

  border: 1px solid rgba(7, 24, 39, .06);
  border-radius: 13px;

  background:
    linear-gradient(
      180deg,
      #f8fbff,
      #fffdf8
    );
}

.dameki-side-cart-meta-row {
  display: grid;
  grid-template-columns: minmax(90px, .8fr) minmax(0, 1.2fr);

  gap: .5rem;

  color: var(--dameki-cart-muted);

  font-size: .78rem;
  line-height: 1.4;
}

.dameki-side-cart-meta-row strong {
  color: var(--dameki-cart-navy);

  font-weight: 800;
}

.dameki-side-cart-meta-row span,
.dameki-side-cart-meta-row p {
  margin: 0;
}

.dameki-side-cart-item-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 1rem;

  margin-top: .75rem;
}

.dameki-side-cart-quantity {
  display: inline-flex;
  align-items: center;

  min-height: 30px;

  padding: .25rem .55rem;

  border-radius: 999px;

  background: var(--dameki-cart-sand);

  color: var(--dameki-cart-navy);

  font-size: .76rem;
  font-weight: 800;
}

.dameki-side-cart-line-total {
  color: var(--dameki-cart-navy);

  font-family: 'Poppins', system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 900;
}

.dameki-side-cart-summary {
  margin-top: 1.25rem;
  padding: 1.15rem;

  border: 1px solid rgba(7, 24, 39, .08);
  border-radius: 20px;

  background:
    radial-gradient(
      circle at top right,
      rgba(254, 209, 0, .16),
      transparent 35%
    ),
    linear-gradient(
      135deg,
      var(--dameki-cart-navy),
      #0b2238
    );

  box-shadow:
    0 20px 40px rgba(7, 24, 39, .14);

  color: #fff;
}

.dameki-side-cart-subtotal {
  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 1rem;
}

.dameki-side-cart-subtotal span {
  color: rgba(255, 255, 255, .74);

  font-weight: 750;
}

.dameki-side-cart-subtotal strong {
  color: #fff;

  font-family: 'Poppins', system-ui, sans-serif;
  font-size: 1.25rem;
  font-weight: 900;
}

.dameki-side-cart-summary p {
  margin: .65rem 0 0;

  color: rgba(255, 255, 255, .70);

  font-size: .8rem;
  line-height: 1.55;
}

.dameki-side-cart-actions {
  display: grid;

  gap: .7rem;

  margin-top: 1rem;
}

.dameki-side-cart-primary-btn,
.dameki-side-cart-secondary-btn {
  min-height: 52px;

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

  gap: .45rem;

  padding: .8rem 1.1rem;

  border-radius: 999px;

  font-family: 'Poppins', system-ui, sans-serif;
  font-weight: 850;

  text-align: center;
  text-decoration: none;

  transition:
    transform .16s ease,
    box-shadow .16s ease,
    background .16s ease,
    color .16s ease,
    border-color .16s ease;
}

.dameki-side-cart-primary-btn {
  border: 0;

  background:
    linear-gradient(
      135deg,
      var(--dameki-cart-yellow),
      var(--dameki-cart-orange)
    );

  box-shadow:
    0 14px 28px rgba(255, 201, 40, .22);

  color: var(--dameki-cart-navy) !important;
}

.dameki-side-cart-primary-btn:hover,
.dameki-side-cart-primary-btn:focus-visible {
  transform: translateY(-2px);

  background:
    linear-gradient(
      135deg,
      var(--dameki-cart-blue-dark),
      var(--dameki-cart-blue)
    );

  box-shadow:
    0 18px 34px rgba(0, 168, 232, .24);

  color: #fff !important;
}

.dameki-side-cart-primary-btn i {
  transition: transform .18s ease;
}

.dameki-side-cart-primary-btn:hover i,
.dameki-side-cart-primary-btn:focus-visible i {
  transform: translateX(4px);
}

.dameki-side-cart-secondary-btn {
  border: 1px solid rgba(7, 24, 39, .10);

  background: rgba(255, 255, 255, .92);

  color: var(--dameki-cart-navy) !important;
}

.dameki-side-cart-secondary-btn:hover,
.dameki-side-cart-secondary-btn:focus-visible {
  transform: translateY(-1px);

  border-color: rgba(0, 168, 232, .20);

  background: #f4faff;

  color: var(--dameki-cart-blue-dark) !important;
}

.dameki-side-cart-empty {
  min-height: 420px;

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

  padding: 2rem 1rem;

  text-align: center;
}

.dameki-side-cart-empty-icon {
  width: 82px;
  height: 82px;

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

  margin-bottom: 1.25rem;

  border-radius: 28px;

  background:
    radial-gradient(
      circle at top right,
      rgba(255, 255, 255, .42),
      transparent 45%
    ),
    linear-gradient(
      135deg,
      var(--dameki-cart-yellow),
      var(--dameki-cart-orange)
    );

  box-shadow:
    0 20px 38px rgba(255, 201, 40, .24);

  color: var(--dameki-cart-navy);

  font-size: 2rem;
}

.dameki-side-cart-empty h3 {
  max-width: 310px;

  margin: 0;

  color: var(--dameki-cart-navy);

  font-family: 'Poppins', system-ui, sans-serif;
  font-size: 1.55rem;
  font-weight: 900;

  line-height: 1.15;
  letter-spacing: -.04em;
}

.dameki-side-cart-empty p {
  max-width: 330px;

  margin: .8rem auto 1.25rem;

  color: var(--dameki-cart-muted);

  line-height: 1.65;
}

.dameki-cart-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: .45rem;
}

.dameki-cart-count {
  min-width: 20px;
  height: 20px;

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

  padding: 0 .32rem;

  border-radius: 999px;

  background: var(--dameki-cart-yellow, #ffc928);

  color: var(--dameki-cart-navy, #071827);

  font-size: .7rem;
  font-weight: 900;
}

@media (max-width: 575.98px) {
  #damekiSideCart {
    width: 100%;
  }

  .dameki-side-cart-header {
    min-height: 82px;

    padding: 1rem;
  }

  .dameki-side-cart-body {
    padding: 1rem;
  }

  .dameki-side-cart-item {
    grid-template-columns: 78px minmax(0, 1fr);

    gap: .8rem;

    padding: .8rem;

    border-radius: 18px;
  }

  .dameki-side-cart-product-image {
    width: 78px !important;
    height: 78px !important;
  }

  .dameki-side-cart-meta-row {
    grid-template-columns: 1fr;

    gap: .12rem;
  }

  .dameki-side-cart-product-title {
    font-size: .9rem;
  }

  .dameki-side-cart-remove {
    width: 32px;
    height: 32px;
  }
}
