.bvm-rentals-public {
	margin: 1.25rem 0;
	padding: 1.35rem;
	border: 1px solid #d9d8d2;
	border-radius: 16px;
	background: #fff;
}

.bvm-rentals-public__kicker {
	margin: 0 0 .25rem;
	text-transform: uppercase;
	letter-spacing: .1em;
	font-size: .72rem;
	font-weight: 800;
	color: #697184;
}

.bvm-rentals-public > h2 {
	margin: 0;
	font-size: clamp(1.45rem, 3vw, 2rem);
	line-height: 1.1;
}

.bvm-rentals-public__intro {
	margin: .4rem 0 1rem;
	color: #555f70;
}

.bvm-rentals-public__grid {
	display: grid;
	gap: .8rem;
}

.bvm-rentals-public:not(.bvm-rentals-public--embedded) .bvm-rentals-public__card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(190px, 240px);
	gap: 1.25rem;
	align-items: center;
	padding: 1rem 1.1rem;
	background: #f8f6f1;
	border: 1px solid #dedbd2;
	border-radius: 12px;
}

.bvm-rentals-public__eyebrow {
	text-transform: uppercase;
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .08em;
	color: #667084;
}

.bvm-rentals-public:not(.bvm-rentals-public--embedded) .bvm-rentals-public__card h3 {
	margin: .12rem 0 .25rem;
	font-size: 1.2rem;
}

.bvm-rentals-public:not(.bvm-rentals-public--embedded) .bvm-rentals-public__card p {
	margin: .35rem 0;
}

.bvm-rentals-public__price {
	font-size: 1.2rem;
	font-weight: 800;
}

.bvm-rentals-public:not(.bvm-rentals-public--embedded) .bvm-rentals-public__price span {
	font-size: .82rem;
	font-weight: 500;
	color: #5f6672;
}

.bvm-rentals-public:not(.bvm-rentals-public--embedded) .bvm-rentals-public__remaining {
	font-size: .85rem;
	font-weight: 650;
	color: #36563f;
}

.bvm-rentals-public:not(.bvm-rentals-public--embedded) .bvm-rentals-public__terms {
	margin-top: .55rem;
	font-size: .82rem;
	color: #515865;
}

.bvm-rentals-public:not(.bvm-rentals-public--embedded) .bvm-rentals-public__terms summary {
	cursor: pointer;
	font-weight: 700;
}

.bvm-rentals-public__form {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: .55rem .7rem;
	align-items: center;
}

.bvm-rentals-public__quantity-label {
	font-size: .8rem;
	font-weight: 750;
}

.bvm-rentals-public:not(.bvm-rentals-public--embedded) .bvm-rentals-public__stepper {
	display: grid;
	grid-template-columns: 34px 48px 34px;
	justify-content: end;
}

.bvm-rentals-public:not(.bvm-rentals-public--embedded) .bvm-rentals-public__stepper button,
.bvm-rentals-public:not(.bvm-rentals-public--embedded) .bvm-rentals-public__stepper input {
	height: 36px;
	border: 1px solid #aab0bb;
	background: #fff;
	text-align: center;
}

.bvm-rentals-public:not(.bvm-rentals-public--embedded) .bvm-rentals-public__stepper button {
	padding: 0;
	font-size: 1.15rem;
	cursor: pointer;
}

.bvm-rentals-public:not(.bvm-rentals-public--embedded) .bvm-rentals-public__stepper button:first-child {
	border-radius: 8px 0 0 8px;
}

.bvm-rentals-public:not(.bvm-rentals-public--embedded) .bvm-rentals-public__stepper button:last-child {
	border-radius: 0 8px 8px 0;
}

.bvm-rentals-public:not(.bvm-rentals-public--embedded) .bvm-rentals-public__stepper input {
	width: 48px;
	border-right: 0;
	border-left: 0;
	-moz-appearance: textfield;
}

.bvm-rentals-public__stepper input::-webkit-outer-spin-button,
.bvm-rentals-public__stepper input::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.bvm-rentals-public:not(.bvm-rentals-public--embedded) .bvm-rentals-public__terms-ack {
	display: flex;
	grid-column: 1 / -1;
	gap: .45rem;
	align-items: flex-start;
	font-size: .78rem;
	line-height: 1.3;
}

.bvm-rentals-public:not(.bvm-rentals-public--embedded) .bvm-rentals-public__terms-ack input {
	flex: 0 0 auto;
	margin-top: .15rem;
}

.bvm-rentals-public__form > button {
	grid-column: 1 / -1;
	padding: .72rem 1rem;
	border: 0;
	border-radius: 8px;
	background: #202735;
	color: #fff;
	font-weight: 800;
	cursor: pointer;
}

.bvm-rentals-public__soldout {
	font-size: .88rem;
	font-weight: 650;
	color: #6a4b24;
}

/* Embedded rentals intentionally reuse Ticketing's vms-ent-* and vms-rw-* components. */
.bvm-rentals-public--embedded {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.bvm-rentals-public--embedded .bvm-rentals-public__badge {
	display: inline-block;
	margin-left: .35rem;
	padding: .08rem .38rem;
	border-radius: 999px;
	background: #e4edf6;
	color: #234868;
	font-size: .62rem;
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: .06em;
	text-transform: uppercase;
	vertical-align: .16em;
}

.bvm-rentals-public--embedded .bvm-rentals-public__terms-ack {
	margin: .75rem 0 0;
	padding: .7rem .8rem;
	border: 1px solid #d8e2ec;
	border-radius: 10px;
	background: #f8fafc;
	font-size: .82rem;
	line-height: 1.4;
	transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}

.bvm-rentals-public--embedded .bvm-rentals-public__terms-ack > label {
	display: flex;
	gap: .5rem;
	align-items: flex-start;
	margin: 0;
	cursor: pointer;
}

.bvm-rentals-public--embedded .bvm-rentals-public__terms-ack input {
	flex: 0 0 auto;
	margin-top: .16rem;
}

.bvm-rentals-public--embedded .bvm-rentals-public__terms-ack.is-error {
	border-color: #b32d2e;
	background: #fcf0f1;
	box-shadow: 0 0 0 2px rgba(179, 45, 46, .16);
}

.bvm-rentals-public--embedded .bvm-rentals-public__terms-ack:focus-visible,
.bvm-rentals-public--embedded input:focus-visible,
.bvm-rentals-public--embedded button:focus-visible,
.bvm-rentals-public--embedded summary:focus-visible {
	outline: 3px solid #1f67a5;
	outline-offset: 2px;
}

.bvm-rentals-public__terms-error {
	margin-top: .55rem;
	color: #8a2424;
}

.bvm-rentals-public__terms-error strong,
.bvm-rentals-public__terms-error span {
	display: block;
}

.bvm-rentals-public__terms-error strong {
	font-size: .9rem;
}

.bvm-rentals-public__terms-error span {
	margin-top: .15rem;
}

@media (max-width: 700px) {
	.bvm-rentals-public:not(.bvm-rentals-public--embedded) {
		padding: 1rem;
	}

	.bvm-rentals-public:not(.bvm-rentals-public--embedded) .bvm-rentals-public__card {
		grid-template-columns: 1fr;
		gap: .85rem;
	}

	.bvm-rentals-public__form {
		grid-template-columns: 1fr auto;
	}

	.bvm-rentals-public:not(.bvm-rentals-public--embedded) .bvm-rentals-public__stepper {
		justify-content: start;
	}

	.bvm-rentals-public__form > button {
		min-height: 44px;
	}

	.bvm-rentals-public:not(.bvm-rentals-public--embedded) .bvm-rentals-public__terms-ack,
	.bvm-rentals-public--embedded .bvm-rentals-public__terms-ack {
		font-size: .82rem;
	}
}
