/* PSH Pricing Cards -- engagement layer (1.14.0).
   Palette-safe: only the existing --psh-pc-* variables are used. */

/* Sticky recap + free-shipping progress */
.psh-pc-sticky {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9998;
	background: var(--psh-pc-bg-off, #fff);
	border-top: 1px solid var(--psh-pc-border, #e5e5e5);
	box-shadow: 0 -6px 22px rgba(0, 0, 0, .10);
	padding: 9px 16px calc(9px + env(safe-area-inset-bottom, 0px));
	transform: translateY(110%);
	transition: transform .22s ease;
}
.psh-pc-sticky.is-on { transform: translateY(0); }
.psh-pc-sticky__row {
	display: flex;
	align-items: center;
	gap: 12px;
	max-width: 1120px;
	margin: 0 auto;
}
.psh-pc-sticky__label {
	flex: 1 1 auto;
	min-width: 0;
	font-size: 13px;
	line-height: 1.25;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.psh-pc-sticky__total {
	flex: 0 0 auto;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: var(--psh-pc-price-tracking, normal);
}
.psh-pc-sticky__cta {
	flex: 0 0 auto;
	border: 0;
	border-radius: var(--psh-pc-radius, 8px);
	background: var(--psh-pc-cta, var(--psh-pc-accent, #16303F));
	color: #fff;
	font-size: 13.5px;
	font-weight: 700;
	padding: 10px 16px;
	cursor: pointer;
}
.psh-pc-sticky__fs { max-width: 1120px; margin: 0 auto 7px; }
.psh-pc-sticky__fs-text { display: block; font-size: 12px; margin-bottom: 4px; color: var(--psh-pc-muted, #666); }
.psh-pc-sticky.is-fs-on .psh-pc-sticky__fs-text { color: var(--psh-pc-accent, #16303F); font-weight: 600; }
.psh-pc-sticky__fs-track { display: block; height: 4px; border-radius: 999px; background: var(--psh-pc-border, #e5e5e5); overflow: hidden; }
.psh-pc-sticky__fs-fill { display: block; height: 100%; width: 0; border-radius: 999px; background: var(--psh-pc-accent, #16303F); transition: width .25s ease; }

/* "Email me this bundle" */
.psh-pc-email { margin: 10px 0 0; }
.psh-pc-email__toggle {
	background: none;
	border: 0;
	padding: 0;
	font-size: 13px;
	text-decoration: underline;
	text-underline-offset: 3px;
	color: var(--psh-pc-muted, #666);
	cursor: pointer;
}
.psh-pc-email__panel { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 9px; }
.psh-pc-email__input {
	flex: 1 1 200px;
	min-width: 0;
	padding: 9px 11px;
	font-size: 14px;
	border: 1px solid var(--psh-pc-border, #e5e5e5);
	border-radius: var(--psh-pc-radius, 8px);
	background: #fff;
}
.psh-pc-email__send {
	border: 1px solid var(--psh-pc-border, #e5e5e5);
	border-radius: var(--psh-pc-radius, 8px);
	background: var(--psh-pc-accent, #16303F);
	color: #fff;
	font-size: 13.5px;
	font-weight: 600;
	padding: 9px 16px;
	cursor: pointer;
}
.psh-pc-email__send[disabled] { opacity: .6; cursor: default; }
.psh-pc-email__msg { flex: 1 1 100%; font-size: 12.5px; color: var(--psh-pc-muted, #666); }
.psh-pc__note { margin: 8px 0 0; font-size: 13px; color: var(--psh-pc-muted, #666); }

@media (max-width: 480px) {
	.psh-pc-sticky__row { gap: 9px; }
	.psh-pc-sticky__label { font-size: 12px; }
	.psh-pc-sticky__total { font-size: 16px; }
	.psh-pc-sticky__cta { padding: 9px 12px; font-size: 13px; }
}

/* The [hidden] attribute must beat the display values above, otherwise the
   email panel paints open on page load: an author `display:flex` outranks the
   user-agent `[hidden] { display:none }` rule. */
.psh-pc-email__panel[hidden],
.psh-pc-sticky[hidden],
.psh-pc-sticky__fs[hidden] { display: none !important; }

/* Keeps the per-unit suffix off the amount: "$29.95 each", never "$29.95each". */
.psh-pc__unit--each .psh-pc__unit-suffix { margin-left: 3px; }
