/**
 * Guided equipment picker.
 *
 * Everything is scoped to the component so the existing Planyo catalogue and
 * the category tiles keep their established layout elsewhere.
 */

.bjorn-equipment-picker {
	--picker-purple: var(--purple, #522980);
	--picker-purple-dark: #3f1e65;
	--picker-ink: #111014;
	--picker-muted: var(--bjorn-booking-muted, #5e5a63);
	--picker-line: var(--bjorn-booking-line, #d7d3da);
	--picker-surface: var(--surface-light);
	--picker-white: #fff;
	--picker-danger: #a52222;
	--picker-success: #1f6b4f;
	--picker-radius: var(--bjorn-booking-radius, 1.25rem);
	position: relative;
	color: var(--picker-ink);
}

.bjorn-equipment-picker [hidden] {
	display: none !important;
}

.bjorn-equipment-picker :where(button, input, select, a) {
	touch-action: manipulation;
}

.bjorn-equipment-picker :where(button, input, select, a):focus-visible {
	outline: 0.2rem solid var(--picker-purple);
	outline-offset: 0.2rem;
}

.bjorn-equipment-picker--start {
	padding-block: clamp(3.5rem, 7vw, 6.5rem);
	scroll-margin-top: var(--bjorn-anchor-offset);
	background:
		linear-gradient(135deg, rgb(82 41 128 / 8%), transparent 48%),
		var(--picker-surface);
}

.bjorn-equipment-picker__intro {
	display: grid;
	max-width: 52rem;
	gap: 0.2rem;
	margin-bottom: clamp(1.75rem, 4vw, 3rem);
}

.bjorn-equipment-picker__intro h2 {
	max-width: 18ch;
	margin-bottom: 0.65rem;
}

.bjorn-equipment-picker__intro > p:last-child {
	max-width: 46rem;
	margin: 0;
	color: var(--picker-muted);
	font-size: clamp(1.05rem, 1.6vw, 1.2rem);
}

.bjorn-picker-bar {
	position: relative;
	z-index: 6;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: stretch;
	gap: 0.65rem;
	padding: 0.55rem;
	border: 0.0625rem solid rgb(17 16 20 / 14%);
	border-radius: 1.75rem;
	background: var(--picker-white);
	box-shadow: 0 1.1rem 3.5rem rgb(35 20 50 / 12%);
}

.bjorn-picker-bar__fields {
	display: grid;
	min-width: 0;
	grid-template-columns: minmax(10rem, 0.85fr) minmax(11rem, 0.95fr) minmax(14rem, 1.2fr);
}

.bjorn-picker-bar__field {
	position: relative;
	min-width: 0;
}

.bjorn-picker-bar__field + .bjorn-picker-bar__field::before {
	position: absolute;
	inset: 0.65rem auto 0.65rem 0;
	width: 0.0625rem;
	background: var(--picker-line);
	content: "";
}

.bjorn-picker-bar__trigger {
	display: grid;
	width: 100%;
	min-width: 0;
	min-height: 4.75rem;
	grid-template-columns: 1.5rem minmax(0, 1fr);
	gap: 0.8rem;
	align-items: center;
	padding: 0.75rem 1.1rem;
	border: 0;
	border-radius: 1.15rem;
	background: transparent;
	color: var(--picker-ink);
	text-align: left;
	cursor: pointer;
}

.bjorn-picker-bar__trigger:hover,
.bjorn-picker-bar__trigger[aria-expanded="true"] {
	background: var(--picker-surface);
}

.bjorn-picker-bar__trigger svg {
	width: 1.45rem;
	height: 1.45rem;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.65;
}

.bjorn-picker-bar__trigger span {
	display: grid;
	min-width: 0;
	gap: 0.15rem;
}

.bjorn-picker-bar__trigger strong,
.bjorn-picker-bar__trigger small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.bjorn-picker-bar__trigger strong {
	font-size: 0.9rem;
	line-height: 1.25;
}

.bjorn-picker-bar__trigger small {
	color: var(--picker-muted);
	font-size: 0.84rem;
	line-height: 1.35;
}

.bjorn-picker-bar__submit,
.bjorn-picker-panel__done,
.bjorn-picker-calendar__confirm,
.bjorn-picker-form-actions button,
.bjorn-picker-selection-summary > button,
.bjorn-picker-addons__cart {
	display: inline-flex;
	min-height: 3rem;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1.15rem;
	border: 0.1rem solid var(--picker-purple);
	border-radius: var(--bjorn-button-radius, 0.75rem);
	background: var(--picker-purple);
	color: var(--picker-white);
	font-weight: 700;
	line-height: 1.15;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
}

.bjorn-picker-bar__submit {
	min-width: 9.75rem;
	min-height: 4.75rem;
	padding-inline: 1.3rem;
	border-radius: 1.25rem;
}

.bjorn-picker-bar__submit:hover,
.bjorn-picker-panel__done:hover,
.bjorn-picker-calendar__confirm:hover,
.bjorn-picker-form-actions button:hover,
.bjorn-picker-selection-summary > button:hover,
.bjorn-picker-addons__cart:hover {
	border-color: var(--picker-purple-dark);
	background: var(--picker-purple-dark);
}

.bjorn-equipment-picker :where(button, a)[disabled],
.bjorn-equipment-picker :where(button, a)[aria-disabled="true"] {
	cursor: not-allowed;
	opacity: 0.55;
}

.bjorn-picker-bar__status {
	min-height: 0;
	grid-column: 1 / -1;
	margin: 0;
	padding-inline: 0.75rem;
	color: var(--picker-danger);
	font-size: 0.9rem;
	font-weight: 700;
}

.bjorn-picker-bar__status:empty {
	display: none;
}

.bjorn-picker-panel {
	position: absolute;
	z-index: 12;
	top: calc(100% + 0.8rem);
	left: 0;
	width: min(27rem, calc(100vw - 2 * var(--gutter)));
	padding: 1.35rem;
	border: 0.0625rem solid var(--picker-line);
	border-radius: var(--picker-radius);
	background: var(--picker-white);
	box-shadow: 0 1.25rem 4rem rgb(20 11 28 / 20%);
}

.bjorn-picker-panel--names {
	right: 0;
	left: auto;
	width: min(34rem, calc(100vw - 2 * var(--gutter)));
}

.bjorn-picker-panel__title {
	margin-bottom: 0.65rem;
	font-family: var(--font-display);
	font-size: 1.35rem;
	font-weight: 700;
}

.bjorn-picker-counter {
	display: grid;
	min-height: 5.25rem;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: center;
	border-bottom: 0.0625rem solid var(--picker-line);
}

.bjorn-picker-counter > span {
	display: grid;
	gap: 0.15rem;
}

.bjorn-picker-counter small {
	color: var(--picker-muted);
}

.bjorn-picker-counter__controls {
	display: grid;
	grid-template-columns: 2.75rem 2rem 2.75rem;
	gap: 0.35rem;
	align-items: center;
}

.bjorn-picker-counter__controls button {
	display: grid;
	width: 2.75rem;
	height: 2.75rem;
	min-height: 2.75rem;
	place-items: center;
	padding: 0;
	border: 0.1rem solid var(--picker-purple);
	border-radius: 50%;
	background: var(--picker-white);
	color: var(--picker-purple);
	font-size: 1.6rem;
	line-height: 1;
	cursor: pointer;
}

.bjorn-picker-counter__controls button:hover {
	background: var(--picker-purple);
	color: var(--picker-white);
}

.bjorn-picker-counter__controls output {
	font-size: 1.15rem;
	text-align: center;
}

.bjorn-picker-panel__done {
	width: 100%;
	margin-top: 1rem;
}

.bjorn-picker-field-error,
.bjorn-picker-form-error {
	margin: 0.7rem 0 0;
	color: var(--picker-danger);
	font-size: 0.9rem;
	font-weight: 700;
}

.bjorn-picker-removal {
	margin-top: 1rem;
	padding: 1rem;
	border-left: 0.25rem solid var(--picker-purple);
	background: var(--picker-surface);
}

.bjorn-picker-removal p {
	margin-bottom: 0.75rem;
}

.bjorn-picker-removal__choices {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.bjorn-picker-removal__choices button,
.bjorn-picker-link-button {
	min-height: 2.75rem;
	padding: 0.55rem 0.75rem;
	border: 0.0625rem solid var(--picker-purple);
	border-radius: 0.75rem;
	background: var(--picker-white);
	color: var(--picker-purple);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 0.18em;
	cursor: pointer;
}

.bjorn-picker-link-button {
	border-color: transparent;
	background: transparent;
}

.bjorn-picker-name-group + .bjorn-picker-name-group {
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 0.0625rem solid var(--picker-line);
}

.bjorn-picker-name-group h3 {
	margin-bottom: 0.75rem;
	font-size: 1.05rem;
	letter-spacing: 0;
	line-height: 1.2;
}

.bjorn-picker-name-group__fields {
	display: grid;
	gap: 0.75rem;
}

.bjorn-picker-name-field {
	display: grid;
	gap: 0.35rem;
	font-size: 0.9rem;
	font-weight: 700;
}

.bjorn-picker-name-field input,
.bjorn-picker-input input,
.bjorn-picker-input select {
	width: 100%;
	min-height: 3rem;
	padding: 0.65rem 0.75rem;
	border: 0.0625rem solid var(--picker-line);
	border-radius: var(--bjorn-booking-radius, 0.65rem);
	background: var(--picker-white);
	color: var(--picker-ink);
}

.bjorn-picker-name-field input[aria-invalid="true"],
.bjorn-picker-input input[aria-invalid="true"],
.bjorn-picker-input select[aria-invalid="true"] {
	border-width: 0.15rem;
	border-color: var(--picker-danger);
}

.bjorn-picker-panel__empty,
.bjorn-picker-privacy {
	color: var(--picker-muted);
	font-size: 0.84rem;
	line-height: 1.55;
}

.bjorn-picker-privacy {
	margin: 1rem 0 0;
	padding: 0.85rem 0 0;
	border-top: 0.0625rem solid var(--picker-line);
}

.bjorn-picker-privacy a {
	color: var(--picker-purple);
	font-weight: 700;
}

.bjorn-picker-noscript {
	margin: 1rem 0 0;
	padding: 1rem;
	border-left: 0.25rem solid var(--picker-purple);
	background: var(--picker-white);
}

/* Accessible, dependency-free date range dialog. */

html[data-bjorn-calendar-open="true"],
html[data-bjorn-calendar-open="true"] body {
	overflow: hidden;
}

html[data-bjorn-calendar-open="true"] {
	scrollbar-gutter: stable;
}

.bjorn-picker-calendar {
	width: min(34rem, calc(100% - 1.5rem));
	max-height: calc(100vh - 1.5rem);
	max-height: calc(100dvh - 1.5rem);
	margin: auto;
	padding: 0;
	border: 0;
	border-radius: var(--bjorn-button-radius, 0.75rem);
	background: var(--picker-white);
	color: var(--picker-ink);
	box-shadow: 0 1.5rem 5rem rgb(0 0 0 / 30%);
	overflow: auto;
	overscroll-behavior: contain;
	scroll-padding-block: 1rem;
}

.bjorn-picker-calendar::backdrop {
	background: rgb(13 8 17 / 65%);
	backdrop-filter: blur(0.15rem);
}

.bjorn-picker-calendar__inner {
	padding: 1rem;
}

.bjorn-picker-calendar__header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.75rem;
	align-items: center;
}

.bjorn-picker-calendar__header .eyebrow {
	margin-bottom: 0.25rem;
}

.bjorn-picker-calendar__header h2 {
	margin: 0;
	font-size: clamp(1.45rem, 4.5vw, 1.8rem);
	line-height: 1.15;
}

.bjorn-picker-calendar__close {
	display: grid;
	width: 2.75rem;
	height: 2.75rem;
	min-height: 2.75rem;
	place-items: center;
	padding: 0;
	border: 0.0625rem solid var(--picker-line);
	border-radius: 50%;
	background: var(--picker-white);
	color: var(--picker-ink);
	font-size: 1.65rem;
	cursor: pointer;
}

.bjorn-picker-calendar__nav {
	display: grid;
	grid-template-columns: 2.75rem minmax(0, 1fr) 2.75rem;
	gap: 0.5rem;
	align-items: center;
	margin-top: 0.75rem;
}

.bjorn-picker-calendar__nav button {
	display: grid;
	width: 2.75rem;
	height: 2.75rem;
	min-height: 2.75rem;
	place-items: center;
	padding: 0;
	border: 0.0625rem solid var(--picker-line);
	border-radius: 50%;
	background: var(--picker-white);
	color: var(--picker-purple);
	font-size: 1.2rem;
	cursor: pointer;
}

.bjorn-picker-calendar__nav strong {
	font-family: var(--font-display);
	font-size: 1.15rem;
	text-align: center;
}

.bjorn-picker-calendar__weekdays,
.bjorn-picker-calendar__grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
}

.bjorn-picker-calendar__weekdays {
	margin-top: 0.5rem;
	color: var(--picker-muted);
	font-size: 0.72rem;
	font-weight: 700;
	text-align: center;
	text-transform: uppercase;
}

.bjorn-picker-calendar__weekdays span {
	padding-block: 0.35rem;
}

.bjorn-picker-calendar__grid {
	gap: 0.15rem;
}

.bjorn-picker-calendar__grid [role="gridcell"] {
	display: grid;
	min-width: 0;
	padding: 0;
}

.bjorn-picker-calendar__grid .bjorn-picker-calendar__day {
	position: relative;
	display: grid;
	width: 100%;
	height: 100%;
	min-width: 0;
	min-height: 2.75rem;
	place-items: center;
	padding: 0.35rem 0.1rem;
	border: 0;
	/* A rounded button loses hit area at the gridcell corners. The full
	 * rectangular date cell must remain clickable, including selected edges. */
	border-radius: 0;
	background: transparent;
	color: var(--picker-ink);
	cursor: pointer;
}

.bjorn-picker-calendar__day:hover {
	background: var(--picker-surface);
}

.bjorn-picker-calendar__day[disabled] {
	color: #77727b;
	text-decoration: line-through;
}

.bjorn-picker-calendar__day[data-outside="true"] {
	color: #716c75;
}

.bjorn-picker-calendar__day[data-in-range="true"] {
	border-radius: 0;
	background: rgb(82 41 128 / 13%);
}

.bjorn-picker-calendar__day[aria-selected="true"],
.bjorn-picker-calendar__day[data-range-edge="true"] {
	border-radius: 0;
	background: var(--picker-purple);
	color: var(--picker-white);
	font-weight: 700;
}

.bjorn-picker-calendar__day[data-today="true"]::after {
	position: absolute;
	bottom: 0.24rem;
	left: 50%;
	width: 0.25rem;
	height: 0.25rem;
	border-radius: 50%;
	background: currentColor;
	content: "";
	transform: translateX(-50%);
}

.bjorn-picker-calendar__selection {
	min-height: 1.6rem;
	margin: 0.65rem 0 0;
	color: var(--picker-muted);
	font-size: 0.9rem;
}

.bjorn-picker-calendar__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	justify-content: flex-end;
	margin-top: 0.75rem;
}

.bjorn-picker-calendar__cancel {
	min-height: 3rem;
	padding: 0.7rem 1rem;
	border: 0.0625rem solid var(--picker-line);
	border-radius: var(--bjorn-booking-radius, 1rem);
	background: var(--picker-white);
	color: var(--picker-ink);
	font-weight: 700;
	cursor: pointer;
}

/* Participant flow. */

.bjorn-equipment-picker--flow {
	padding-block: 1.5rem 3rem;
	background: var(--picker-surface);
	overflow-wrap: anywhere;
}

.bjorn-equipment-picker--flow > .shell {
	max-width: var(--bjorn-booking-width, 72rem);
}

.bjorn-equipment-picker--flow :is(input, select, button) {
	min-width: 0;
	font-size: 1rem;
}

.bjorn-equipment-picker--flow :is(button, .btn) {
	min-height: var(--bjorn-booking-control, 3rem);
	white-space: normal;
}

.bjorn-equipment-picker--flow [data-picker-screen] :is(h3, h4),
.bjorn-equipment-picker--flow [data-picker-add-selection] {
	scroll-margin-top: calc(var(--bjorn-anchor-offset, 6rem) + 1rem);
	scroll-margin-bottom: calc(5rem + env(safe-area-inset-bottom, 0px));
}

.bjorn-equipment-picker--flow [data-picker-screen] :is(h3, h4):focus-visible {
	outline: 0.125rem solid currentColor;
	outline-offset: 0.3rem;
}

.bjorn-picker-flow__header {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.75rem;
	margin-bottom: 1.25rem;
	padding-bottom: 1rem;
	border-bottom: 0.0625rem solid var(--picker-line);
}

.bjorn-picker-flow__header h2 {
	max-width: 30ch;
	margin-bottom: 0.35rem;
	font-size: clamp(1.65rem, 3vw, 2.25rem);
}

.bjorn-picker-flow__header [data-picker-progress] {
	margin: 0;
	color: var(--picker-muted);
	font-weight: 700;
}

.bjorn-picker-flow__trip {
	display: grid;
	align-content: center;
	justify-items: start;
	gap: 0.25rem;
}

.bjorn-picker-flow__trip > span {
	color: var(--picker-muted);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.bjorn-picker-flow__trip > strong {
	font-size: 1.05rem;
}

.bjorn-picker-flow__trip a {
	margin-top: 0.3rem;
	color: var(--picker-purple);
	font-weight: 700;
}

.bjorn-picker-flow__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--bjorn-booking-gap, 1.25rem);
	align-items: start;
}

.bjorn-picker-team {
	min-width: 0;
	padding: 1.1rem;
	border: 0.0625rem solid var(--picker-line);
	border-radius: var(--bjorn-booking-radius, 1rem);
	background: var(--picker-white);
}

.bjorn-picker-team summary {
	min-height: 3rem;
	align-content: center;
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.4;
	cursor: pointer;
}

.bjorn-picker-team summary:focus-visible {
	outline: 0.2rem solid var(--picker-purple);
	outline-offset: 0.2rem;
}


.bjorn-picker-team summary,
.bjorn-picker-privacy > summary {
	list-style: none;
}
.bjorn-picker-team summary::-webkit-details-marker,
.bjorn-picker-privacy > summary::-webkit-details-marker { display: none; }
.bjorn-picker-team summary::before,
.bjorn-picker-privacy > summary::before { content: "+"; display: inline-block; width: 1.2rem; color: var(--picker-purple); }
.bjorn-picker-team details[open] > summary::before,
.bjorn-picker-privacy[open] > summary::before { content: "\2212"; }

.bjorn-picker-team__summary {
	display: block;
	color: var(--picker-muted);
	font-size: 0.85rem;
	font-weight: 400;
}

.bjorn-picker-team details[open] summary {
	margin-bottom: 0.75rem;
}

.bjorn-picker-team ol {
	display: grid;
	gap: 0.4rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bjorn-picker-team button {
	display: grid;
	width: 100%;
	min-height: 3rem;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.25rem;
	align-items: center;
	padding: 0.6rem 0.7rem;
	border: 0.0625rem solid transparent;
	border-radius: var(--bjorn-booking-radius, 0.65rem);
	background: transparent;
	color: var(--picker-ink);
	text-align: left;
	cursor: pointer;
}

.bjorn-picker-team button:hover {
	background: var(--picker-surface);
}

.bjorn-picker-team button[aria-current="step"] {
	border-color: var(--picker-purple);
	background: rgb(82 41 128 / 8%);
}

.bjorn-picker-team button[disabled] {
	cursor: default;
	opacity: 1;
}

.bjorn-picker-team__name {
	display: grid;
	min-width: 0;
}

.bjorn-picker-team__name strong {
	overflow-wrap: anywhere;
}

.bjorn-picker-team__name small,
.bjorn-picker-team__status {
	color: var(--picker-muted);
	font-size: 0.85rem;
}

.bjorn-picker-team__status[data-complete="true"] {
	color: var(--picker-success);
	font-weight: 700;
}

.bjorn-picker-flow__main {
	min-width: 0;
	padding: var(--bjorn-booking-panel-padding, 1.5rem);
	border: 0.0625rem solid var(--picker-line);
	border-radius: var(--bjorn-booking-radius, 0.75rem);
	background: var(--picker-white);
}

.bjorn-picker-flow__status {
	margin-bottom: 0.75rem;
	color: var(--picker-muted);
	font-size: 0.9rem;
	font-weight: 700;
}

.bjorn-picker-flow__status:empty {
	display: none;
}

.bjorn-picker-loading {
	display: grid;
	min-height: 14rem;
	place-items: center;
	align-content: center;
	gap: 0.75rem;
	color: var(--picker-muted);
	text-align: center;
}

.bjorn-picker-loading > span {
	width: 2rem;
	height: 2rem;
	border: 0.2rem solid var(--picker-line);
	border-top-color: var(--picker-purple);
	border-radius: 50%;
	animation: bjorn-picker-spin 800ms linear infinite;
}

.bjorn-picker-loading p {
	margin: 0;
}

@keyframes bjorn-picker-spin {
	to { transform: rotate(360deg); }
}

.bjorn-picker-step-heading {
	display: grid;
	gap: 0.6rem;
	align-items: start;
	margin-bottom: 0.9rem;
}

.bjorn-picker-step-heading h3 {
	margin: 0;
	font-size: clamp(1.45rem, 3vw, 1.9rem);
}

.bjorn-picker-step-heading > p {
	max-width: 33rem;
	margin: 0;
	color: var(--picker-muted);
}

.bjorn-picker-parameters > .bjorn-picker-privacy {
	margin: 0 0 1rem;
	padding: 0.65rem 0.8rem;
	border: 0;
	border-left: 0.25rem solid var(--picker-purple);
	background: var(--picker-surface);
}

.bjorn-picker-privacy > summary {
	min-height: 2.75rem;
	align-content: center;
	font-weight: 600;
	cursor: pointer;
}

.bjorn-picker-privacy > summary:focus-visible {
	outline: 0.2rem solid var(--picker-purple);
	outline-offset: 0.15rem;
}

.bjorn-picker-privacy > p {
	margin: 0.4rem 0 0;
}

.bjorn-picker-offer-note {
	margin: 0.7rem 0 1rem;
	color: var(--picker-muted);
	font-size: 0.9rem;
}

.bjorn-picker-offer-note a {
	color: var(--picker-purple);
	text-underline-offset: 0.2em;
}

.bjorn-picker-parameters__grid {
	display: grid;
	gap: 1rem;
}

.bjorn-picker-input {
	display: grid;
	min-width: 0;
	gap: 0.45rem;
	font-size: 0.875rem;
	font-weight: 700;
}

.bjorn-picker-parameters__grid > .bjorn-picker-input {
	/* Help text may enlarge the grid row; never stretch the label/input tracks. */
	align-content: start;
}

.bjorn-picker-input > small {
	color: var(--picker-muted);
	font-weight: 400;
}

.bjorn-picker-input abbr {
	color: var(--picker-danger);
	text-decoration: none;
}

.bjorn-picker-input__unit {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
}

.bjorn-picker-input__unit input {
	grid-area: 1 / 1 / 2 / 3;
	padding-right: 3.3rem;
}

.bjorn-picker-input__unit > span {
	z-index: 1;
	grid-area: 1 / 2;
	padding-right: 0.8rem;
	color: var(--picker-muted);
	font-weight: 700;
	pointer-events: none;
}

.bjorn-picker-input--primary input {
	min-height: var(--bjorn-booking-control, 3rem);
	font-size: 1rem;
}

.bjorn-picker-measure-help {
	grid-column: 1 / -1;
	margin-top: -0.25rem;
	padding: 0.8rem 0.9rem;
	border-left: 0.2rem solid var(--picker-purple);
	background: var(--picker-surface);
}

.bjorn-picker-measure-help p {
	margin: 0;
	color: var(--picker-muted);
	font-size: 0.84rem;
}

.bjorn-picker-checks {
	display: grid;
	gap: 0.5rem;
	margin-top: 1rem;
}

.bjorn-picker-checks label,
.bjorn-picker-own-boots__unknown {
	display: grid;
	min-height: 3rem;
	grid-template-columns: 1.25rem minmax(0, 1fr);
	gap: 0.7rem;
	align-items: center;
	padding: 0.55rem 0.7rem;
	border: 0.0625rem solid var(--picker-line);
	border-radius: var(--bjorn-booking-radius, 0.65rem);
	font-weight: 700;
	cursor: pointer;
}

.bjorn-picker-checks input,
.bjorn-picker-own-boots__unknown input {
	width: 1.2rem;
	height: 1.2rem;
	margin: 0;
	accent-color: var(--picker-purple);
}

.bjorn-picker-own-boots {
	display: grid;
	gap: 0.9rem;
	margin-top: 1rem;
	padding: 1rem;
	border: 0.0625rem solid var(--picker-line);
	border-radius: var(--bjorn-booking-radius, 0.85rem);
	background: var(--picker-surface);
}

.bjorn-picker-own-boots > p {
	margin: 0;
	color: var(--picker-muted);
	font-size: 0.84rem;
}

.bjorn-picker-splitboard-note {
	padding: 1rem;
	border-left: 0.25rem solid var(--picker-purple);
	background: rgb(82 41 128 / 8%);
}

.bjorn-picker-form-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
	align-items: center;
	justify-content: space-between;
	margin-top: 1.4rem;
}

.bjorn-picker-form-actions a {
	min-height: 2.75rem;
	padding-block: 0.7rem;
	color: var(--picker-purple);
	font-weight: 700;
}

.bjorn-picker-result-group + .bjorn-picker-result-group {
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 0.0625rem solid var(--picker-line);
}

.bjorn-picker-result-group__heading {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
	align-items: end;
	justify-content: space-between;
	margin-bottom: 1rem;
}

.bjorn-picker-result-group__heading h4 {
	margin: 0;
	font-family: var(--font-display);
	font-size: 1.45rem;
}

.bjorn-picker-result-group__heading p {
	margin: 0;
	color: var(--picker-muted);
	font-size: 0.85rem;
}

.bjorn-picker-results-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1rem;
}

.bjorn-picker-catalog-notice {
	padding: 1rem;
	border-inline-start: 0.25rem solid var(--picker-purple);
	background: var(--picker-surface);
}

.bjorn-picker-catalog-fallback {
	margin: 1.5rem 0 0;
}

.bjorn-picker-catalog-fallback a {
	display: inline-flex;
	min-height: 2.75rem;
	align-items: center;
	color: var(--picker-purple);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.bjorn-picker-results-more {
	display: inline-flex;
	min-height: 2.75rem;
	align-items: center;
	margin-top: 1rem;
	padding: 0.55rem 0;
	border: 0;
	background: transparent;
	color: var(--picker-purple);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 0.2em;
	cursor: pointer;
}

.bjorn-picker-empty-results {
	padding: 1.25rem;
	border-left: 0.25rem solid var(--picker-purple);
	background: var(--picker-surface);
}

.bjorn-picker-empty-results h4 {
	margin-bottom: 0.5rem;
	font-family: var(--font-display);
	font-size: 1.25rem;
}

.bjorn-picker-empty-results p {
	margin: 0;
	color: var(--picker-muted);
}

.bjorn-picker-selection-summary {
	margin-top: 2rem;
	padding: 1.2rem;
	border: 0.1rem solid var(--picker-purple);
	border-radius: var(--bjorn-button-radius, 0.75rem);
	background: rgb(82 41 128 / 6%);
}

.bjorn-picker-selection-summary h3 {
	margin-bottom: 0.75rem;
	font-size: 1.25rem;
	line-height: 1.15;
}

.bjorn-picker-selection-summary ul {
	display: grid;
	gap: 0.35rem;
	margin: 0 0 0.75rem;
	padding-left: 1.2rem;
}

.bjorn-picker-selection-summary [data-picker-selection-total] {
	margin-bottom: 1rem;
	font-weight: 700;
}

.bjorn-picker-selection-summary > button {
	width: 100%;
}

.bjorn-picker-partial-note {
	margin-bottom: 1rem;
	padding: 0.75rem;
	border-left: 0.25rem solid #aa6500;
	background: #fff5dd;
	color: #5d3900;
	font-size: 0.9rem;
}

.bjorn-picker-addons__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.75rem;
}

.bjorn-picker-addons__card {
	position: relative;
	display: grid;
	width: 100%;
	min-width: 0;
	min-height: 16rem;
	aspect-ratio: 4 / 3;
	background: var(--picker-purple);
	color: var(--picker-white);
	text-decoration: none;
}

.bjorn-picker-addons__card .bjorn-rental__category-media,
.bjorn-picker-addons__card .bjorn-rental__category-media img,
.bjorn-picker-addons__card .bjorn-rental__category-shade {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
}

.bjorn-picker-addons__card .bjorn-rental__category-media img {
	object-fit: cover;
	object-position: var(--rental-image-position-mobile, center);
}

.bjorn-picker-addons__card .bjorn-rental__category-shade {
	background: linear-gradient(180deg, rgb(0 0 0 / 12%) 20%, rgb(0 0 0 / 80%) 100%);
}

.bjorn-picker-addons__card .bjorn-rental__category-content {
	position: relative;
	inset: auto;
	z-index: 1;
	display: grid;
	min-width: 0;
	grid-template-columns: minmax(0, 1fr);
	align-self: end;
	gap: 0.35rem;
	padding: 1.25rem;
	color: var(--picker-white);
	overflow-wrap: anywhere;
}

.bjorn-picker-addons__card .bjorn-rental__category-content strong {
	max-width: 14ch;
	font-family: var(--font-display);
	font-size: clamp(1.55rem, 4vw, 2.25rem);
	line-height: 1;
}

.bjorn-picker-addons__card:focus-visible {
	outline: 0.2rem solid var(--picker-purple);
	outline-offset: 0.2rem;
}

.bjorn-picker-addons__cart {
	width: 100%;
	margin-top: 1rem;
}

.bjorn-picker-quick-add-bridge {
	display: none !important;
}

@media (min-width: 48rem) {
	.bjorn-picker-team ol,
	.bjorn-picker-parameters__grid,
	.bjorn-picker-results-grid,
	.bjorn-picker-addons__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bjorn-picker-step-heading {
		grid-template-columns: minmax(0, 1fr) minmax(12rem, 0.7fr);
	}
}

@media (min-width: 64rem) {
	.bjorn-picker-flow__header {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: end;
	}

	.bjorn-picker-flow__layout {
		grid-template-columns: minmax(13rem, 0.3fr) minmax(0, 1fr);
	}

	.bjorn-picker-team {
		position: sticky;
		top: calc(var(--bjorn-anchor-offset, 6rem) + 1rem);
		max-height: calc(100vh - var(--bjorn-anchor-offset, 6rem) - 2rem);
		overflow: auto;
	}

	.bjorn-picker-team ol {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 64rem) {
	.bjorn-picker-bar {
		grid-template-columns: minmax(0, 1fr);
	}

	.bjorn-picker-bar__submit {
		width: 100%;
		min-height: 3.5rem;
	}
}

@media (max-width: 47.99rem) {
	.bjorn-equipment-picker--flow {
		padding-top: 1rem;
	}

	.bjorn-equipment-picker--flow .bjorn-picker-flow__header {
		gap: 0.6rem;
		margin-bottom: 0.75rem;
		padding-bottom: 0.75rem;
	}

	.bjorn-picker-flow__trip {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 0.2rem 0.5rem;
	}

	.bjorn-picker-flow__trip > a {
		flex-basis: 100%;
		min-height: 2.75rem;
		align-content: center;
		margin-top: 0;
	}

	.bjorn-equipment-picker--flow .bjorn-picker-flow__layout {
		gap: 0.75rem;
	}

	.bjorn-equipment-picker--flow .bjorn-picker-team {
		padding: 0.6rem;
	}

	.bjorn-equipment-picker--flow .bjorn-picker-team button {
		min-height: 2.75rem;
		padding: 0.45rem 0.6rem;
	}

	.bjorn-picker-parameters > .bjorn-picker-privacy {
		padding-block: 0.25rem;
		margin-bottom: 0.75rem;
	}

	.bjorn-equipment-picker--start {
		padding-block: 3rem;
	}

	.bjorn-picker-bar {
		display: block;
		padding: 0.45rem;
		border-radius: 1.2rem;
	}

	.bjorn-picker-bar__fields {
		grid-template-columns: minmax(0, 1fr);
	}

	.bjorn-picker-bar__field + .bjorn-picker-bar__field::before {
		inset: 0 0 auto;
		width: auto;
		height: 0.0625rem;
	}

	.bjorn-picker-bar__trigger {
		min-height: 4.25rem;
		padding-inline: 0.8rem;
	}

	.bjorn-picker-bar__submit {
		margin-top: 0.45rem;
		border-radius: 0.9rem;
	}

	.bjorn-picker-panel {
		position: static;
		width: 100%;
		margin-bottom: 0.45rem;
		border: 0;
		border-radius: 0.85rem;
		background: var(--picker-surface);
		box-shadow: none;
	}

	.bjorn-picker-panel--names {
		width: 100%;
	}

	.bjorn-picker-counter {
		border-color: #bdb8c1;
	}

	.bjorn-picker-calendar {
		width: calc(100% - 0.75rem);
		max-height: calc(100vh - 0.75rem);
		max-height: calc(100dvh - 0.75rem);
		border-radius: 1rem;
	}

	.bjorn-picker-calendar__inner {
		padding: 0.75rem;
	}

	.bjorn-picker-calendar__grid {
		gap: 0;
	}

	.bjorn-picker-calendar__day {
		min-height: 2.8rem;
	}

	.bjorn-picker-flow__main {
		padding-inline: 1rem;
	}

	.bjorn-picker-form-actions {
		align-items: stretch;
		flex-direction: column-reverse;
	}

	.bjorn-picker-form-actions button {
		width: 100%;
	}
}

@media (max-width: 22.5rem) {
	.bjorn-picker-bar__trigger {
		grid-template-columns: 1.25rem minmax(0, 1fr);
		gap: 0.6rem;
	}

	.bjorn-picker-bar__trigger svg {
		width: 1.2rem;
		height: 1.2rem;
	}

	.bjorn-picker-counter {
		grid-template-columns: minmax(0, 1fr);
		padding-block: 0.75rem;
	}

	.bjorn-picker-counter__controls {
		justify-self: start;
	}

	.bjorn-picker-calendar__day {
		min-height: 2.75rem;
		font-size: 0.82rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.bjorn-equipment-picker {
		scroll-behavior: auto;
	}

	.bjorn-picker-loading > span {
		animation: none;
		border-top-color: var(--picker-line);
	}

	.bjorn-picker-calendar::backdrop {
		backdrop-filter: none;
	}
}

@media (forced-colors: active) {
	.bjorn-picker-bar,
	.bjorn-picker-panel,
	.bjorn-picker-flow__main,
	.bjorn-picker-team,
	.bjorn-picker-result-card,
	.bjorn-picker-selection-summary {
		border: 0.125rem solid CanvasText;
		box-shadow: none;
	}

	.bjorn-picker-result-card[data-selected="true"],
	.bjorn-picker-calendar__day[aria-selected="true"] {
		outline: 0.2rem solid Highlight;
		outline-offset: -0.25rem;
	}

	.bjorn-picker-calendar__day[data-in-range="true"] {
		border: 0.0625rem dotted CanvasText;
	}
}

@media print {
	.bjorn-equipment-picker--start,
	.bjorn-equipment-picker--flow,
	.bjorn-picker-calendar,
	.bjorn-catalog__provider-layer {
		display: none !important;
	}
}
