/* Unified Cart Lifecycle — header + mini-cart reservation UX (CANEVI). */

/* —— Header compact badge —— */
.canevi-header-pop--with-cl {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  position: relative;
}

.canevi-cl-header {
  display: inline-block;
  max-width: 4.75rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text, #171717);
  font-family: inherit;
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: 0.01em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
  pointer-events: none;
}

.canevi-cl-header[hidden] {
  display: none !important;
}

.canevi-cl-header--live {
  color: var(--brand-dark, #8e3d66);
  font-weight: 700;
}

.canevi-cl-header--expired {
  color: var(--text, #171717);
  opacity: 0.85;
}

.canevi-cl-header--urgent {
  color: var(--brand-dark, #8e3d66);
  font-weight: 700;
}

@media (max-width: 430px) {
  .canevi-cl-header {
    max-width: 3.6rem;
    font-size: 0.625rem;
  }
}

/* —— Mini-cart / cart-page reservation block —— */
.canevi-cl-banner,
.canevi-cl-mini {
  margin: 0;
  padding: 0.75rem 1rem;
  border: 0;
  border-bottom: 1px solid rgba(23, 23, 23, 0.08);
  border-radius: 0;
  background: var(--canevi-surface-muted, #f7f4ef);
  color: var(--text, #171717);
  font-family: inherit;
  font-size: 0.8125rem;
  line-height: 1.4;
}

#canevi-panel-cart .canevi-cl-mini {
  margin: 0;
  flex: 0 0 auto;
}

.canevi-cl-banner[hidden],
.canevi-cl-mini[hidden] {
  display: none !important;
}

.canevi-cl-mini--urgent {
  background: #faf3f6;
  border-bottom-color: rgba(142, 61, 102, 0.18);
}

.canevi-cl-mini--expired,
.canevi-cl-banner.canevi-cl-mini--expired {
  background: #fff;
  border-bottom-color: rgba(23, 23, 23, 0.14);
}

.canevi-cl-mini--live {
  background: #f7f4ef;
}

.canevi-cl-mini--flash {
  background: #f3e0ea;
}

.canevi-cl-mini__title,
.canevi-cl-banner .canevi-cl-mini__title,
.canevi-cl-banner__title {
  margin: 0 0 0.25rem;
  font-weight: 700;
  font-size: 0.875rem;
  font-variant-numeric: tabular-nums;
}

.canevi-cl-mini__body,
.canevi-cl-mini__note,
.canevi-cl-banner__body,
.canevi-cl-banner__note {
  margin: 0;
  color: rgba(23, 23, 23, 0.78);
  font-size: 0.75rem;
}

.canevi-cl-mini__note {
  margin-top: 0.35rem;
}

.canevi-cl-mini__link {
  color: var(--brand-dark, #8e3d66);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.canevi-cl-mini__cta,
.canevi-cl-banner__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 0.65rem;
  min-height: 40px;
  padding: 0.45rem 0.9rem;
  border: 1px solid var(--text, #171717);
  border-radius: 0;
  background: var(--text, #171717);
  color: #fff;
  font: inherit;
  font-size: 0.8125rem;
  font-weight: 600;
  cursor: pointer;
}

.canevi-cl-mini__cta[disabled],
.canevi-cl-mini__cta[aria-busy="true"],
.canevi-cl-banner__cta[disabled],
.canevi-cl-banner__cta[aria-busy="true"] {
  opacity: 0.65;
  cursor: wait;
}

.canevi-cl-mini__lines,
.canevi-cl-banner__lines {
  margin: 0.65rem 0 0;
  padding-left: 1.1rem;
}

.canevi-cl-line-note {
  margin: 0.2rem 0 0;
  font-size: 0.6875rem;
  color: rgba(23, 23, 23, 0.7);
}

.canevi-cl-line--gone {
  opacity: 0.55;
}

.canevi-cl-line--reduced .canevi-cl-line-note,
.canevi-cl-line--gone .canevi-cl-line-note {
  color: var(--brand-dark, #8e3d66);
}

/* Cart page banner spacing */
.canevi-cl-banner {
  margin: 0 0 1rem;
  border: 1px solid rgba(23, 23, 23, 0.1);
  border-radius: 0;
  background: var(--canevi-surface-muted, #f7f4ef);
}

.canevi-cl-banner--urgent {
  background: #faf3f6;
  border-color: rgba(142, 61, 102, 0.22);
}

.canevi-cl-banner--expired {
  background: #fff;
  border-color: rgba(23, 23, 23, 0.18);
}

.canevi-cl-banner--live {
  background: #f7f4ef;
}

.canevi-cl-banner--flash {
  background: #f3e0ea;
  border-color: rgba(142, 61, 102, 0.2);
}

.canevi-cl-banner__title {
  margin: 0 0 0.25rem;
  font-weight: 700;
  font-size: 0.9375rem;
  font-variant-numeric: tabular-nums;
}

.canevi-cl-banner__body,
.canevi-cl-banner__note {
  margin: 0;
  color: rgba(23, 23, 23, 0.78);
  font-size: 0.8125rem;
}

.canevi-cl-banner__note {
  margin-top: 0.35rem;
}

.canevi-cl-line-note--cart {
  font-weight: 600;
  font-size: 0.75rem;
  color: var(--brand-dark, #8e3d66);
}

.canevi-cl-cart--unreserved tr.cart_item,
.canevi-cl-cart--unreserved .wc-block-cart-items__row {
  opacity: 0.72;
}

.canevi-cl-checkout--blocked {
  opacity: 0.45;
  cursor: not-allowed;
}

.canevi-cl-checkout-wrap--blocked .checkout-button,
.canevi-cl-checkout-wrap--blocked .wc-block-cart__submit-button {
  opacity: 0.45;
}

.canevi-cl-checkout-note {
  margin: 0.5rem 0 0;
  font-size: 0.75rem;
  color: rgba(23, 23, 23, 0.72);
}

/* —— Checkout reservation block —— */
.canevi-cl-checkout {
  margin: 0 0 1rem;
  padding: 0.75rem 0.9rem;
  border: 1px solid rgba(23, 23, 23, 0.1);
  border-radius: 0;
  background: var(--canevi-surface-muted, #f7f4ef);
  color: var(--text, #171717);
  font-family: inherit;
  font-size: 0.8125rem;
  line-height: 1.4;
}

.canevi-cl-checkout[hidden] {
  display: none !important;
}

.canevi-cl-checkout__title {
  margin: 0 0 0.25rem;
  font-weight: 700;
  font-size: 0.875rem;
  font-variant-numeric: tabular-nums;
}

.canevi-cl-checkout__body,
.canevi-cl-checkout__note {
  margin: 0;
  color: rgba(23, 23, 23, 0.78);
  font-size: 0.75rem;
}

.canevi-cl-checkout__note {
  margin-top: 0.35rem;
}

.canevi-cl-checkout--urgent {
  background: #faf3f6;
  border-color: rgba(142, 61, 102, 0.22);
}

.canevi-cl-checkout--expired {
  background: #fff;
  border-color: rgba(23, 23, 23, 0.18);
}

.canevi-cl-checkout--payfail,
.canevi-cl-checkout--tech {
  background: #fff;
  border-color: rgba(23, 23, 23, 0.14);
}

.canevi-cl-checkout--live {
  background: #f7f4ef;
}

.canevi-cl-checkout__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 0.65rem;
  min-height: 40px;
  padding: 0.45rem 0.9rem;
  border: 1px solid var(--text, #171717);
  border-radius: 0;
  background: var(--text, #171717);
  color: #fff;
  font: inherit;
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}

.canevi-cl-place--blocked {
  opacity: 0.45;
  cursor: not-allowed;
}

@media (max-width: 430px) {
  .canevi-cl-checkout {
    font-size: 0.8125rem;
    padding: 0.7rem 0.85rem;
  }

  .canevi-cl-checkout__cta {
    width: 100%;
    min-height: 44px;
  }
}

@media (max-width: 430px) {
  .canevi-cl-banner,
  .canevi-cl-mini {
    font-size: 0.8125rem;
    padding: 0.7rem 0.85rem;
  }

  .canevi-cl-banner__title {
    font-size: 0.875rem;
  }

  .canevi-cl-mini__cta,
  .canevi-cl-banner__cta {
    width: 100%;
    min-height: 44px;
  }
}
