/* Bee1 Popups Engine — calm storefront overlay, no neon. */
.bee1-popup-preview-badge {
	position: fixed;
	inset-block-start: 12px;
	inset-inline-start: 12px;
	z-index: 1000000;
	background: #e6f2f2;
	color: #09354a;
	font-weight: 700;
	font-size: 12px;
	padding: 8px 12px;
	border-radius: 8px;
	border: 1px solid #d7e4e4;
	pointer-events: none;
}
.bee1-popup-root {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	box-sizing: border-box;
}
.bee1-popup-root[hidden] {
	display: none !important;
}
.bee1-popup-backdrop {
	position: absolute;
	inset: 0;
	background: var(--bee1-backdrop, rgba(9, 53, 74, 0.42));
	border: 0;
	padding: 0;
	margin: 0;
	cursor: pointer;
}
.bee1-popup-dialog {
	position: relative;
	z-index: 1;
	max-width: min(920px, 96vw);
	max-height: 92vh;
	outline: none;
}
.bee1-popup-close {
	position: absolute;
	inset-block-start: 8px;
	inset-inline-end: 8px;
	z-index: 2;
	width: 44px;
	height: 44px;
	border: 1px solid var(--bee1-close-line, #d7e4e4);
	border-radius: 999px;
	background: #fff;
	color: var(--bee1-close-ink, #09354a);
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
}
.bee1-popup-close:hover {
	background: var(--bee1-close-hover, #e6f2f2);
}
.bee1-popup-close:focus-visible {
	outline: 3px solid var(--bee1-focus, rgba(69, 192, 187, 0.45));
	outline-offset: 2px;
}
.bee1-popup-media,
.bee1-popup-link {
	display: block;
	max-width: 100%;
}
.bee1-popup-media img {
	display: block;
	width: auto;
	height: auto;
	max-width: min(920px, 96vw);
	max-height: 88vh;
	object-fit: contain;
	border-radius: 8px;
}
.bee1-popup-html {
	background: #fff;
	color: #09354a;
	border-radius: 12px;
	padding: 24px;
	max-width: min(640px, 96vw);
	max-height: 88vh;
	overflow: auto;
}

/* Smart compose — paper card, supermarket tokens */
.bee1-popup-compose {
	--bee1-accent: #45c0bb;
	--bee1-accent-ink: #fff;
	--bee1-ink: #09354a;
	--bee1-title: #123f55;
	--bee1-muted: #5a6b73;
	--bee1-line: #d7e4e4;
	--bee1-paper: #fff;
	--bee1-soft: #e6f2f2;
	font-family: "Noto Sans Hebrew", "Noto Sans", system-ui, sans-serif;
	width: min(440px, 94vw);
	background: var(--bee1-paper);
	color: var(--bee1-ink);
	border: 1px solid var(--bee1-line);
	border-radius: 16px;
	padding: 28px 24px 24px;
	text-align: start;
}
.bee1-popup-compose.accent-gold {
	--bee1-accent: #45c0bb;
	--bee1-accent-ink: #fff;
}
.bee1-popup-compose.accent-navy {
	--bee1-accent: #123f55;
	--bee1-accent-ink: #fff;
}
.bee1-popup-compose.accent-rose {
	--bee1-accent: #b42318;
	--bee1-accent-ink: #fff;
}
.bee1-popup-compose.accent-forest {
	--bee1-accent: #3d7a4a;
	--bee1-accent-ink: #fff;
}

.bee1-popup-compose__eye {
	margin: 0 0 8px;
	font-size: 13px;
	font-weight: 600;
	color: var(--bee1-eye, #45c0bb);
}
.bee1-popup-compose__title {
	margin: 0 0 10px;
	font-size: clamp(20px, 3.4vw, 24px);
	line-height: 1.3;
	font-weight: 800;
	color: var(--bee1-title);
}
.bee1-popup-compose__body {
	margin: 0 0 18px;
	color: var(--bee1-muted);
	font-size: 16px;
	line-height: 1.55;
}
.bee1-popup-compose__coupon {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0 0 16px;
	padding: 12px 14px;
	border-radius: 10px;
	border: 1px dashed var(--bee1-line);
	background: var(--bee1-soft);
}
.bee1-popup-compose__code {
	font-family: ui-monospace, Consolas, monospace;
	font-weight: 800;
	letter-spacing: 0.06em;
	font-size: 18px;
	color: var(--bee1-ink);
}
.bee1-popup-compose__copy {
	border: 0;
	border-radius: 8px;
	padding: 8px 12px;
	min-height: 44px;
	background: #fff;
	color: var(--bee1-ink);
	border: 1px solid var(--bee1-line);
	cursor: pointer;
	font-weight: 600;
	font-size: 13px;
}
.bee1-popup-compose__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 22px;
	border-radius: 10px;
	background: var(--bee1-accent);
	color: var(--bee1-accent-ink);
	font-weight: 700;
	text-decoration: none;
	border: 0;
	cursor: pointer;
	font-size: 16px;
	width: 100%;
	box-sizing: border-box;
}
.bee1-popup-compose__cta:hover {
	filter: brightness(0.96);
}
.bee1-popup-compose__cta:focus-visible {
	outline: 3px solid var(--bee1-focus, rgba(69, 192, 187, 0.45));
	outline-offset: 2px;
}
.bee1-popup-compose__form {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.bee1-popup-compose__form label {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 14px;
	font-weight: 600;
	color: var(--bee1-ink);
}
.bee1-popup-compose__form input {
	border: 1px solid var(--bee1-line);
	background: #fff;
	color: var(--bee1-ink);
	border-radius: 10px;
	padding: 11px 12px;
	min-height: 44px;
	font-size: 16px;
	box-sizing: border-box;
}
.bee1-popup-compose__form input:focus {
	outline: 2px solid var(--bee1-focus, rgba(69, 192, 187, 0.55));
	outline-offset: 1px;
	border-color: var(--bee1-focus-solid, #45c0bb);
}
.bee1-popup-compose__hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}
.bee1-popup-compose__consent {
	flex-direction: row !important;
	align-items: flex-start;
	gap: 10px;
	font-weight: 500 !important;
	font-size: 14px !important;
	line-height: 1.45;
}
.bee1-popup-compose__consent input {
	width: 18px;
	min-height: 18px;
	height: 18px;
	margin-block-start: 3px;
	padding: 0;
	flex: 0 0 18px;
	accent-color: var(--bee1-check, #09354a);
}
.bee1-popup-compose__msg {
	margin: 8px 0 0;
	font-size: 14px;
	color: #3d7a4a;
	font-weight: 600;
}
.bee1-popup-compose__msg.is-error {
	color: #b42318;
}

@media (max-width: 782px) {
	.bee1-popup-dialog {
		max-width: min(420px, 94vw);
	}
	.bee1-popup-media img {
		max-width: min(420px, 94vw);
		max-height: 80vh;
	}
	.bee1-popup-compose {
		padding: 24px 18px 18px;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.bee1-popup-root.is-open .bee1-popup-backdrop {
		animation: bee1PopupFade 0.2s ease;
	}
	.bee1-popup-root.is-open .bee1-popup-dialog {
		animation: bee1PopupPop 0.22s ease;
	}
}
@media (prefers-reduced-motion: reduce) {
	.bee1-popup-root.is-open .bee1-popup-backdrop,
	.bee1-popup-root.is-open .bee1-popup-dialog {
		animation: none;
	}
}
@keyframes bee1PopupFade {
	from { opacity: 0; }
	to { opacity: 1; }
}
@keyframes bee1PopupPop {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: none; }
}

/* 0.5.0 - card layout: a small corner card, no backdrop, the page stays usable and scrollable. */
.bee1-popup-root--card {
	inset: auto;
	inset-block-end: 16px;
	inset-inline-end: 16px;
	display: block;
	padding: 0;
	width: min(380px, calc(100vw - 32px));
	pointer-events: none;
}
.bee1-popup-root--card .bee1-popup-backdrop {
	display: none;
}
.bee1-popup-root--card .bee1-popup-dialog {
	pointer-events: auto;
	max-width: 100%;
	max-height: min(86vh, 640px);
	overflow: auto;
	border-radius: 12px;
	box-shadow: 0 12px 40px rgba(9, 53, 74, 0.28);
}
.bee1-popup-compose__privacy {
	margin: 6px 0 0;
	font-size: 12px;
}
.bee1-popup-compose__privacy a {
	color: inherit;
	text-decoration: underline;
}
.bee1-popup-compose__dismiss {
	display: block;
	margin: 8px auto 0;
	padding: 4px 8px;
	background: none;
	border: 0;
	color: inherit;
	opacity: 0.75;
	font-size: 13px;
	text-decoration: underline;
	cursor: pointer;
}
@media (max-width: 782px) {
	.bee1-popup-root--card {
		inset-inline: 8px;
		/* 0.5.8 - room for a fixed round button (accessibility toolbar, chat) that lives in the same corner on a phone */
		inset-block-end: calc(8px + var(--bee1-card-mobile-bottom, 0px));
		width: auto;
	}
}

/* 0.5.2 - compact card: the compose card is 440px wide by default; inside the 380px corner card it overflowed and the
   form was 575px tall (72% of an 800px screen). Fit the container, tighten the rhythm. */
.bee1-popup-root--card .bee1-popup-dialog {
	overflow-x: hidden;
}
.bee1-popup-root--card .bee1-popup-compose {
	width: 100%;
	box-sizing: border-box;
	padding: 16px 16px 12px;
	border-radius: 12px;
}
.bee1-popup-root--card .bee1-popup-compose__title {
	font-size: 19px;
	margin: 0 0 6px;
	padding-inline-end: 34px;
}
.bee1-popup-root--card .bee1-popup-compose__body {
	font-size: 14px;
	line-height: 1.45;
	margin: 0 0 10px;
}
.bee1-popup-root--card .bee1-popup-compose__form {
	gap: 8px;
}
.bee1-popup-root--card .bee1-popup-compose__form label {
	font-size: 13px;
	gap: 4px;
}
.bee1-popup-root--card .bee1-popup-compose__form input {
	min-height: 38px;
	padding: 7px 10px;
	font-size: 15px;
}
.bee1-popup-root--card .bee1-popup-compose__consent {
	font-size: 13px !important;
	gap: 8px;
}
.bee1-popup-root--card .bee1-popup-compose__cta {
	min-height: 40px;
	font-size: 15px;
}
.bee1-popup-root--card .bee1-popup-close {
	width: 32px;
	height: 32px;
	inset-block-start: 6px;
	inset-inline-end: 6px;
	font-size: 18px;
}

/* 0.5.3 - on a phone the corner card starts collapsed (title + one button, about a fifth of the screen) and opens
   into the form when the visitor taps it. The expanded form was 59% of an 812px screen: too much to put in front of
   someone who did not ask for it. */
.bee1-popup-compose__expand {
	display: none;
}
.bee1-popup-compose.is-collapsed .bee1-popup-compose__expand {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 40px;
	border: 0;
	border-radius: 10px;
	background: var(--bee1-accent);
	color: var(--bee1-accent-ink);
	font-weight: 700;
	font-size: 15px;
	cursor: pointer;
}
.bee1-popup-compose.is-collapsed .bee1-popup-compose__form,
.bee1-popup-compose.is-collapsed .bee1-popup-compose__body {
	display: none;
}

/* 0.5.9 - type: inherit the site's font (the popup root sits in <body>, so inherit resolves to the page font). */
.bee1-popup-compose.is-font-inherit,
.bee1-popup-compose.is-font-inherit input,
.bee1-popup-compose.is-font-inherit button {
	font-family: inherit;
}
/* 0.5.9 - larger type for a desktop modal. A phone keeps the compact sizes. (0.5.10: tighter rhythm, the first cut was 654px tall on an 800px
   screen and would have overflowed a 650px laptop viewport.) */
@media (min-width: 783px) {
	.bee1-popup-compose.is-size-large {
		width: min(520px, 94vw);
		padding: 28px 30px 20px;
	}
	.bee1-popup-compose.is-size-large .bee1-popup-compose__eye {
		font-size: 14px;
		margin-bottom: 6px;
	}
	.bee1-popup-compose.is-size-large .bee1-popup-compose__title {
		font-size: clamp(24px, 2.6vw, 29px);
		margin-bottom: 8px;
	}
	.bee1-popup-compose.is-size-large .bee1-popup-compose__body {
		font-size: 17px;
		line-height: 1.55;
		margin-bottom: 14px;
	}
	.bee1-popup-compose.is-size-large .bee1-popup-compose__form {
		gap: 10px;
	}
	.bee1-popup-compose.is-size-large .bee1-popup-compose__form label {
		font-size: 15px;
		gap: 4px;
	}
	.bee1-popup-compose.is-size-large .bee1-popup-compose__form input {
		font-size: 17px;
		min-height: 46px;
		padding: 9px 12px;
	}
	.bee1-popup-compose.is-size-large .bee1-popup-compose__consent {
		font-size: 14px !important;
	}
	.bee1-popup-compose.is-size-large .bee1-popup-compose__cta {
		font-size: 18px;
		min-height: 50px;
	}
	.bee1-popup-compose.is-size-large .bee1-popup-compose__privacy {
		font-size: 13px;
		margin-top: 2px;
	}
	.bee1-popup-compose.is-size-large .bee1-popup-compose__dismiss {
		font-size: 14px;
		margin-top: 4px;
	}
}
/* 0.5.10 - a modal taller than the window scrolls inside itself instead of spilling off the screen. */
.bee1-popup-root:not(.bee1-popup-root--card) .bee1-popup-compose {
	max-height: 92vh;
	overflow-y: auto;
	overflow-x: hidden; /* the off-screen honeypot field would otherwise add a sideways scrollbar */
}

/* 0.5.14 - request field, and the audience switch (tabs above the form, an exit pane for the visitor the form is not for). */
.bee1-popup-compose__form textarea {
	border: 1px solid var(--bee1-line);
	background: #fff;
	color: var(--bee1-ink);
	border-radius: 10px;
	padding: 11px 12px;
	min-height: 84px;
	font-size: 16px;
	font-family: inherit;
	box-sizing: border-box;
	resize: vertical;
}
.bee1-popup-compose__form textarea:focus {
	outline: 2px solid var(--bee1-focus, rgba(69, 192, 187, 0.55));
	outline-offset: 1px;
	border-color: var(--bee1-focus-solid, #45c0bb);
}
.bee1-popup-root--card .bee1-popup-compose__form textarea {
	min-height: 64px;
	padding: 7px 10px;
	font-size: 15px;
}
@media (min-width: 783px) {
	.bee1-popup-compose.is-size-large .bee1-popup-compose__form textarea {
		font-size: 17px;
		min-height: 84px;
		padding: 9px 12px;
	}
}
.bee1-popup-compose__switch {
	display: flex;
	border: 1px solid var(--bee1-line);
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}
.bee1-popup-compose__switch button {
	flex: 1 1 50%;
	border: 0;
	background: transparent;
	color: var(--bee1-muted, var(--bee1-ink));
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	padding: 10px 8px;
	min-height: 44px;
	cursor: pointer;
}
.bee1-popup-compose__switch button + button {
	border-inline-start: 1px solid var(--bee1-line);
}
.bee1-popup-compose__switch button.is-active {
	background: var(--bee1-accent);
	color: var(--bee1-accent-ink, #fff);
}
.bee1-popup-compose__switch button:focus-visible {
	outline: 2px solid var(--bee1-focus, rgba(69, 192, 187, 0.55));
	outline-offset: -2px;
}
.bee1-popup-compose__alt {
	display: none;
}
.bee1-popup-compose__form.is-alt .bee1-popup-compose__alt {
	display: block;
}
.bee1-popup-compose__form.is-alt > :not(.bee1-popup-compose__switch):not(.bee1-popup-compose__alt):not(.bee1-popup-compose__hp) {
	display: none;
}
.bee1-popup-compose__alt-note {
	margin: 4px 0 12px;
	font-size: 15px;
	line-height: 1.5;
	color: var(--bee1-ink);
}

/* 0.5.15 - two fields to a row on desktop when the company field is on (phones keep one column). */
@media (min-width: 783px) {
	.bee1-popup-compose__form.is-grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px 12px;
	}
	.bee1-popup-compose__form.is-grid > * {
		grid-column: 1 / -1;
	}
	.bee1-popup-compose__form.is-grid > label:not(.is-wide):not(.bee1-popup-compose__consent) {
		grid-column: auto;
	}
	.bee1-popup-compose.is-size-large .bee1-popup-compose__form textarea {
		min-height: 72px;
	}
}
