.ts-hp {
	position: absolute;
	left: -10000px;
	height: 0;
	width: 0;
	overflow: hidden;
}

.ts-cart .screen-reader-text,
.ts-add .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

.ts-add {
	display: grid;
	gap: 8px;
	margin-top: 12px;
}

.ts-add__field,
.ts-cart__field,
.ts-cart__zone {
	display: grid;
	gap: 4px;
}

.ts-add__extras {
	display: grid;
	gap: 6px;
	margin: 0;
	padding: 0;
	border: 0;
}

.ts-add__check {
	display: flex;
	gap: 8px;
	align-items: center;
}

.ts-add input,
.ts-add select,
.ts-cart input,
.ts-cart select,
.ts-cart textarea {
	width: 100%;
	border: 1px solid var(--ts-line);
	border-radius: 12px;
	padding: 8px 10px;
	font: inherit;
	color: var(--ts-ink);
	background: var(--ts-white);
}

.ts-add__check input {
	width: auto;
}

.ts-cart [hidden] {
	display: none;
}

.ts-cart {
	position: fixed;
	right: 16px;
	bottom: 16px;
	z-index: 45;
	width: min(380px, calc(100vw - 24px));
	font-family: var(--ts-font-body);
	color: var(--ts-ink);
}

.ts-cart__toggle,
.ts-cart__close,
.ts-line-form button {
	border: 0;
	cursor: pointer;
	font: inherit;
}

.ts-cart__toggle {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	margin-left: auto;
	padding: 12px 18px;
	border-radius: var(--ts-radius-pill);
	background: var(--ts-button);
	color: var(--ts-white);
	box-shadow: var(--ts-shadow);
}

.ts-cart__count {
	min-width: 1.4em;
	text-align: center;
}

.ts-cart__panel {
	display: grid;
	gap: 10px;
	max-height: min(78vh, 720px);
	margin-top: 8px;
	padding: 16px;
	overflow: auto;
	border-radius: var(--ts-radius);
	background: var(--ts-white);
	box-shadow: var(--ts-shadow);
}

.ts-cart__panel[hidden] {
	display: none;
}

.ts-cart__close {
	justify-self: end;
	background: transparent;
	color: var(--ts-coffee);
}

.ts-cart__line {
	display: grid;
	gap: 4px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--ts-line);
}

.ts-cart__name,
.ts-cart__detail,
.ts-cart__money,
.ts-cart__row,
.ts-cart__done p {
	margin: 0;
}

.ts-cart__detail {
	color: var(--ts-coffee);
	font-size: 0.92rem;
}

.ts-line-form {
	display: flex;
	gap: 8px;
	align-items: center;
}

.ts-line-form input {
	width: 4.5rem;
}

.ts-line-form button,
.ts-cart__types {
	font-size: 0.92rem;
}

.ts-cart__types {
	display: grid;
	gap: 6px;
	margin: 0;
	padding: 0;
	border: 0;
}

.ts-cart__types label {
	display: flex;
	gap: 8px;
	align-items: center;
}

.ts-cart__types input {
	width: auto;
}

.ts-cart__map {
	height: 180px;
	border-radius: 12px;
	overflow: hidden;
	background: var(--ts-cream);
}

.ts-cart__zone-name {
	margin: 0;
	color: var(--ts-coffee);
}

.ts-cart__message {
	margin: 0;
	color: var(--ts-button);
}

.ts-cart__total {
	font-size: 1.05rem;
}

.ts-cart__done {
	padding: 12px;
	border-radius: 12px;
	background: var(--ts-cream);
}

.ts-cart__done-number {
	font-family: var(--ts-font-display);
	font-size: 1.4rem;
}

.ts-checkout .ts-btn {
	width: 100%;
}

@media print {
	.ts-cart {
		display: none;
	}
}
