:root {
	--crlp-cart-radius: 14px;
	--crlp-cart-accent: var(--crlp-accent, #2E63F6);
	--crlp-cart-accent-ink: var(--crlp-accent-ink, #FFFFFF);
	--crlp-cart-ok: #10b77f;
	--crlp-cart-err: #e5484d;
}

.crlp-cart {
	font-family: "Hanken Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	color: #14161b;
	max-width: 980px;
	margin: 0 auto;
	padding: 24px 16px;
}

.crlp-cart--empty { text-align: center; }
.crlp-cart__card {
	background: #fff;
	border: 1px solid #e6e9ee;
	border-radius: var(--crlp-cart-radius);
	padding: 40px 24px;
	max-width: 460px;
	margin: 0 auto;
}
.crlp-cart__title { font-size: 22px; font-weight: 700; margin: 0 0 8px; }
.crlp-cart__sub { font-size: 15px; color: #616b7a; margin: 0 0 22px; }
.crlp-cart__btn,
.crlp-cart__checkout,
.crlp-cart__continue {
	display: inline-flex; align-items: center; justify-content: center;
	padding: 13px 22px; border-radius: 10px; font-weight: 700; font-size: 15px;
	text-decoration: none; cursor: pointer; transition: filter .15s, transform .08s;
}
.crlp-cart__btn,
.crlp-cart__checkout {
	background: var(--crlp-cart-accent); color: var(--crlp-cart-accent-ink); border: 0;
}
.crlp-cart__continue {
	background: #fff; color: #14161b; border: 1px solid #e6e9ee;
}
.crlp-cart__btn:hover,
.crlp-cart__checkout:hover { filter: brightness(1.05); }
.crlp-cart__continue:hover { border-color: #d0d4dd; }

.crlp-cart__layout {
	display: grid;
	grid-template-columns: 1fr 360px;
	gap: 24px;
	align-items: start;
}
@media (max-width: 820px) {
	.crlp-cart__layout { grid-template-columns: 1fr; }
}

.crlp-cart__items {
	background: #fff;
	border: 1px solid #e6e9ee;
	border-radius: var(--crlp-cart-radius);
	padding: 18px;
}
.crlp-cart__item {
	display: flex; align-items: center; gap: 14px;
	padding: 14px 0; border-bottom: 1px solid #f0f2f5;
}
.crlp-cart__item:first-child { padding-top: 0; }
.crlp-cart__item:last-child { border-bottom: 0; padding-bottom: 0; }
.crlp-cart__item.is-loading { opacity: .6; pointer-events: none; }
.crlp-cart__thumb { width: 64px; height: 64px; border-radius: 10px; object-fit: cover; background: #f0f2f5; flex: 0 0 auto; }
.crlp-cart__item-info { flex: 1; min-width: 0; }
.crlp-cart__item-name { font-size: 15px; font-weight: 600; display: block; margin-bottom: 6px; }
.crlp-cart__qty { display: inline-flex; align-items: center; gap: 8px; }
.crlp-cart__qty-btn {
	width: 32px; height: 32px; border-radius: 8px; border: 1px solid #d8dde6;
	background: #fff; color: #14161b; font-size: 18px; font-weight: 600;
	display: inline-flex; align-items: center; justify-content: center; cursor: pointer;
}
.crlp-cart__qty-btn:hover:not([disabled]) { border-color: var(--crlp-cart-accent); color: var(--crlp-cart-accent); }
.crlp-cart__qty-btn[disabled] { opacity: .4; cursor: default; }
.crlp-cart__qty-n { min-width: 24px; text-align: center; font-weight: 700; font-size: 14px; }
.crlp-cart__item-right { text-align: right; }
.crlp-cart__item-price { font-size: 15px; font-weight: 700; display: block; margin-bottom: 4px; }
.crlp-cart__item-remove {
	width: 26px; height: 26px; border-radius: 7px; border: 1px solid #e6e9ee;
	background: #fff; color: #616b7a; font-size: 18px; line-height: 1; cursor: pointer;
}
.crlp-cart__item-remove:hover { border-color: var(--crlp-cart-err); color: var(--crlp-cart-err); background: #fff5f5; }

.crlp-cart__summary {
	background: #fff;
	border: 1px solid #e6e9ee;
	border-radius: var(--crlp-cart-radius);
	padding: 22px;
	position: sticky;
	top: 24px;
}
.crlp-cart__summary-title { font-size: 18px; font-weight: 700; margin: 0 0 16px; }

.crlp-cart__coupon { margin-bottom: 18px; padding-bottom: 18px; border-bottom: 1px solid #f0f2f5; }
.crlp-cart__coupon-label { font-size: 12.5px; font-weight: 600; color: #616b7a; display: block; margin-bottom: 7px; }
.crlp-cart__coupon-row { display: flex; gap: 8px; }
.crlp-cart__coupon-input {
	flex: 1; min-width: 0; border: 1px solid #d8dde6; border-radius: 10px; padding: 10px 12px;
	font-size: 14px; font-family: inherit;
}
.crlp-cart__coupon-btn {
	flex: 0 0 auto; border: 1px solid #d8dde6; background: #fff; border-radius: 10px;
	padding: 0 16px; font-weight: 600; font-size: 14px; cursor: pointer;
}
.crlp-cart__coupon-btn:hover { border-color: var(--crlp-cart-accent); }
.crlp-cart__coupon-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.crlp-cart__coupon-list:empty { display: none; }
.crlp-cart__coupon-chip {
	display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600;
	background: #e9f9f1; color: #14161b; border: 1px solid #b8e9cf; border-radius: 999px; padding: 4px 6px 4px 12px;
}
.crlp-cart__coupon-chip button { border: 0; background: none; color: #616b7a; cursor: pointer; font-size: 16px; line-height: 1; }
.crlp-cart__coupon-chip button:hover { color: var(--crlp-cart-err); }

.crlp-cart__totals { display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px; }
.crlp-cart__row { display: flex; justify-content: space-between; font-size: 14px; color: #616b7a; }
.crlp-cart__row--total { color: #14161b; font-size: 17px; font-weight: 700; }
.crlp-cart__row[hidden] { display: none; }

.crlp-cart__checkout { width: 100%; margin-bottom: 10px; }
.crlp-cart__continue { width: 100%; margin-bottom: 10px; }
.crlp-cart__clear {
	width: 100%; background: none; border: 0; color: var(--crlp-cart-err);
	font-size: 13px; font-weight: 600; cursor: pointer; padding: 8px;
	text-decoration: underline; text-underline-offset: 2px;
}
.crlp-cart__clear:hover { color: #b91c1c; }
.crlp-cart__error { font-size: 12.5px; color: var(--crlp-cart-err); margin: 8px 0 0; display: none; }
.crlp-cart__error.is-shown { display: block; }
