.cafe-checkout {
	padding: clamp(30px, 5vw, 68px) 0 clamp(48px, 8vw, 104px);
}

.cafe-checkout-inner {
	max-width: 960px;
}

.cafe-checkout-back {
	display: inline-block;
	margin-bottom: 20px;
}

.cafe-checkout-heading {
	display: grid;
	grid-template-columns: 1fr 44%;
	min-height: 172px;
	overflow: hidden;
	background: var(--midnight);
	color: var(--paper);
}

.cafe-checkout-heading h1 {
	align-self: center;
	margin: 0;
	padding: 26px clamp(20px, 5vw, 60px);
	font-size: clamp(42px, 7vw, 86px);
	line-height: 1;
}

.cafe-checkout-heading img {
	width: 100%;
	height: 100%;
	max-height: 220px;
	object-fit: cover;
	object-position: center 48%;
}

.cafe-checkout-form {
	min-width: 0;
	padding: clamp(18px, 5vw, 52px);
	border: 1px solid var(--line);
	border-top: 3px solid var(--gold);
	background: var(--paper);
	box-shadow: var(--shadow);
	overflow-wrap: anywhere;
}

.cafe-checkout-form fieldset {
	min-width: 0;
}

.cafe-checkout-form a:not(.edd-submit):not(.button) {
	color: var(--blue);
	text-decoration: underline;
	text-underline-offset: .18em;
}

.cafe-checkout-form :is(legend, .edd-blocks__checkout-section-title) {
	color: var(--midnight);
	font-family: 'DM Serif Display', Georgia, serif;
	font-size: clamp(22px, 3vw, 32px);
	font-weight: 400;
	line-height: 1.2;
}

.cafe-checkout-form :is(input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="number"], select, textarea) {
	max-width: 100%;
	min-height: 44px;
	padding: 9px 12px;
	border: 1px solid #78909f;
	border-radius: 5px;
	background: #fff;
	color: var(--ink);
	font-family: inherit;
	font-size: 1rem;
}

.cafe-checkout :focus-visible {
	outline: 2px solid var(--blue);
	outline-offset: 3px;
}

.cafe-checkout-form #edd_checkout_cart {
	width: 100%;
}

.cafe-checkout-form #edd_checkout_cart :is(th, tfoot td) {
	background: var(--cream);
	color: var(--midnight);
}

.cafe-checkout-form #edd_checkout_cart td img {
	max-width: 55px;
	height: auto;
}

.cafe-checkout-form :is(#edd-purchase-button, #edd_login_submit, .edd-apply-discount) {
	min-height: 48px;
	max-width: 100%;
	padding: 12px 20px;
	border: 1px solid var(--midnight);
	border-radius: 5px;
	background: var(--midnight);
	color: #fff;
	font-weight: 800;
	white-space: normal;
}

.cafe-checkout-form :is(#edd-purchase-button, #edd_login_submit, .edd-apply-discount):hover {
	background: var(--blue);
}

@media (max-width: 540px) {
	.cafe-checkout-heading {
		grid-template-columns: 1fr 36%;
		min-height: 118px;
	}

	.cafe-checkout-heading h1 {
		font-size: clamp(30px, 8vw, 42px);
	}

	.cafe-checkout-inner {
		width: calc(100% - 28px);
	}

	.cafe-checkout-form #edd_checkout_cart :is(td, th) {
		padding-inline: 5px;
	}
}
