/* The First Aid Shop: Back to School page (template: fas-back-to-school) */

.b2s {
	--blue: #04a8e5;
	--blue-deep: #0280b0;
	--blue-tint: #eaf6fc;
	--green: #89c01c;
	--green-deep: #6f9e12;
	--green-tint: #f1f8e4;
	--ink: #171717;
	--text: #4b5257;
	--line: #dcebf3;
	--radius: 12px;
	font-family: 'Montserrat', Helvetica, Arial, sans-serif;
	font-size: 15px;
	line-height: 1.65;
	color: var(--text);
	background: #ffffff;
	overflow-x: clip;
}
.b2s :where(h1, h2, h3, p, ul, ol, li, fieldset, legend) {
	margin: 0;
	padding: 0;
	border: 0;
}
.b2s :where(ul, ol) { list-style: none; }
.b2s :where(h1, h2, h3) {
	font-family: 'Montserrat', Helvetica, Arial, sans-serif;
	color: var(--ink);
	font-weight: 700;
	padding-bottom: 0;
}
.b2s img { max-width: 100%; height: auto; display: block; }
.b2s svg { width: 22px; height: 22px; flex: none; }
.b2s [id] { scroll-margin-top: 170px; }

.b2s-wrap {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 24px;
	box-sizing: border-box;
}
.b2s section { padding: 80px 0; }

.b2s-kicker {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--green-deep);
	margin-bottom: 14px !important;
}
.b2s-kicker--light { color: #d9f2a8; }

.b2s-head { max-width: 680px; margin: 0 auto 44px; text-align: center; }
.b2s-head h2,
.b2s h2 { font-size: 34px; line-height: 1.2; letter-spacing: -0.01em; }
.b2s-head p { margin-top: 14px; font-size: 16px; }

/* Buttons (site style: bold uppercase, small radius) */
.b2s .b2s-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 16px 28px;
	border-radius: 6px;
	border: 2px solid transparent;
	font-family: 'Montserrat', Helvetica, Arial, sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.2;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .15s ease, box-shadow .2s ease;
}
.b2s .b2s-btn:hover { transform: translateY(-1px); }
.b2s .b2s-btn--green { background: var(--green); color: #ffffff; box-shadow: 0 8px 18px -8px rgba(111, 158, 18, .7); }
.b2s .b2s-btn--green:hover { background: var(--green-deep); color: #ffffff; }
.b2s .b2s-btn--outline { background: #ffffff; color: var(--blue-deep); border-color: var(--blue); }
.b2s .b2s-btn--outline:hover { background: var(--blue); color: #ffffff; }
.b2s .b2s-btn--block { width: 100%; }
.b2s .b2s-btn svg { width: 18px; height: 18px; }
.b2s button:focus-visible, .b2s a:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }

/* Hero */
.b2s section.b2s-hero {
	padding: 64px 0 88px;
	background:
		radial-gradient(circle at 92% 8%, rgba(137, 192, 28, .16) 0, rgba(137, 192, 28, 0) 320px),
		linear-gradient(180deg, var(--blue-tint) 0%, #ffffff 100%);
}
.b2s-hero__grid {
	display: grid;
	grid-template-columns: 1fr 1.05fr;
	gap: 56px;
	align-items: center;
}
.b2s-hero h1 {
	font-size: 50px;
	line-height: 1.08;
	letter-spacing: -0.02em;
}
.b2s-hero h1 span { color: var(--blue); white-space: nowrap; }
.b2s-hero__lead { margin-top: 20px; font-size: 18px; line-height: 1.6; max-width: 34em; }
.b2s-hero__btns { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }

.b2s-hero__visual { position: relative; }
.b2s-hero__img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 20px;
	filter: brightness(1.42) saturate(1.12) contrast(1.02);
	box-shadow: 0 30px 60px -30px rgba(4, 80, 110, .45);
}
.b2s-hero__badge {
	position: absolute;
	top: -22px;
	right: -18px;
	width: 132px;
	height: 132px;
	border-radius: 50%;
	background: var(--green);
	color: #ffffff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	box-shadow: 0 14px 30px -12px rgba(80, 120, 10, .6);
	transform: rotate(-6deg);
}
.b2s-hero__badge strong { font-size: 34px; line-height: 1; font-weight: 700; }
.b2s-hero__badge span { font-size: 12px; line-height: 1.3; font-weight: 600; margin-top: 6px; max-width: 90px; }
.b2s-hero__note {
	position: absolute;
	left: -28px;
	bottom: -30px;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 20px;
	background: #ffffff;
	border-radius: 14px;
	box-shadow: 0 18px 40px -18px rgba(4, 60, 90, .35);
	max-width: 300px;
}
.b2s-hero__note-icon {
	display: flex; align-items: center; justify-content: center;
	width: 46px; height: 46px; border-radius: 50%;
	background: var(--blue-tint); color: var(--blue);
}
.b2s-hero__note strong { display: block; color: var(--ink); font-size: 15px; }
.b2s-hero__note span { display: block; font-size: 13px; line-height: 1.4; }

/* Trust strip */
.b2s section.b2s-trust { padding: 0; }
.b2s-trust__list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
}
.b2s-trust__list li {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 28px 22px;
	border-left: 1px solid var(--line);
	font-size: 14px;
	line-height: 1.4;
}
.b2s-trust__list li:first-child { border-left: 0; padding-left: 0; }
.b2s-trust__list li > span {
	display: flex; align-items: center; justify-content: center;
	width: 48px; height: 48px; border-radius: 50%;
	background: var(--green); color: #ffffff;
}
.b2s-trust__list strong { display: block; color: var(--ink); font-size: 16px; }
.b2s .b2s-trust { border-bottom: 1px solid var(--line); }

/* Timeline */
.b2s-time__line {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	position: relative;
	counter-reset: b2s;
}
.b2s-time__line::before {
	content: "";
	position: absolute;
	top: 11px;
	left: 12px;
	right: 12px;
	height: 3px;
	background: linear-gradient(90deg, var(--green) 0%, var(--blue) 100%);
	border-radius: 3px;
}
.b2s-time__line li { position: relative; padding-top: 44px !important; }
.b2s-time__line li::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	background: #ffffff;
	border: 4px solid var(--blue);
	box-sizing: border-box;
}
.b2s-time__line li.is-now::before { border-color: var(--green); background: var(--green); box-shadow: 0 0 0 6px rgba(137, 192, 28, .2); }
.b2s-time__line li.is-goal::before { background: var(--blue); }
.b2s-time__when {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--blue-deep);
	margin-bottom: 6px;
}
.b2s-time__line li.is-now .b2s-time__when { color: var(--green-deep); }
.b2s-time__line h3 { font-size: 19px; line-height: 1.3; margin-bottom: 6px !important; }
.b2s-time__line p { font-size: 14px; }

/* Shop */
.b2s section.b2s-shop { background: #f7fafc; }
.b2s-tabs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-bottom: 36px;
}
.b2s .b2s-tab {
	font-family: 'Montserrat', Helvetica, Arial, sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: var(--ink);
	background: #ffffff;
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: 10px 20px;
	cursor: pointer;
	transition: all .2s ease;
}
.b2s .b2s-tab:hover { border-color: var(--blue); color: var(--blue-deep); }
.b2s .b2s-tab.is-active { background: var(--blue); border-color: var(--blue); color: #ffffff; }

.b2s-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
}
.b2s-card {
	display: flex;
	flex-direction: column;
	background: #ffffff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	overflow: hidden;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.b2s-card[hidden] { display: none; }
.b2s-card:hover {
	border-color: var(--blue);
	box-shadow: 0 16px 34px -20px rgba(4, 90, 130, .45);
	transform: translateY(-3px);
}
.b2s .b2s-card__media {
	display: block;
	width: 100%;
	padding: 22px;
	background: #ffffff;
	border: 0;
	cursor: pointer;
	aspect-ratio: 1 / 1;
}
.b2s .b2s-card__media img { width: 100%; height: 100%; object-fit: contain; transition: transform .3s ease; }
.b2s-card:hover .b2s-card__media img { transform: scale(1.04); }
.b2s-card__body {
	flex: 1;
	padding: 4px 18px 14px;
	text-align: center;
	border-top: 1px solid #eef4f7;
	padding-top: 16px;
}
.b2s .b2s-card__name { font-size: 15px; line-height: 1.35; font-weight: 600; }
.b2s-card__price { margin-top: 6px; font-size: 15px; font-weight: 700; color: var(--ink); }
.b2s-card__price del { color: #8a9399; font-weight: 400; margin-right: 4px; }
.b2s-card__price ins { text-decoration: none; }
.b2s-card__price .woocommerce-price-suffix { font-size: 12px; font-weight: 400; color: var(--text); }
.b2s-card__bulk {
	display: inline-block;
	margin-top: 8px;
	padding: 3px 10px;
	border-radius: 999px;
	background: var(--green-tint);
	color: var(--green-deep);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.b2s .b2s-card__btn {
	margin: 0 18px 18px;
	padding: 12px 10px;
	border: 2px solid var(--blue);
	border-radius: 6px;
	background: #ffffff;
	color: var(--blue-deep);
	font-family: 'Montserrat', Helvetica, Arial, sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease;
}
.b2s .b2s-card__btn:hover,
.b2s-card:hover .b2s-card__btn { background: var(--blue); color: #ffffff; }

/* Account */
.b2s section.b2s-account {
	background:
		radial-gradient(circle at 10% 110%, rgba(255, 255, 255, .14) 0, rgba(255, 255, 255, 0) 380px),
		var(--blue);
	color: #ffffff;
}
.b2s-account__grid {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 64px;
	align-items: center;
}
.b2s .b2s-account h2 { color: #ffffff; font-size: 40px; }
.b2s-account__copy > p { margin-top: 16px; font-size: 17px; color: #ffffff; max-width: 30em; }
.b2s-perks {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px 24px;
	margin-top: 32px !important;
}
.b2s-perks li {
	display: flex;
	align-items: center;
	gap: 12px;
	font-weight: 600;
	color: #ffffff;
}
.b2s-perks li > span {
	display: flex; align-items: center; justify-content: center;
	width: 42px; height: 42px; border-radius: 10px;
	background: rgba(255, 255, 255, .18);
	color: #ffffff;
}
.b2s-account__card {
	background: #ffffff;
	color: var(--text);
	border-radius: 18px;
	padding: 36px;
	box-shadow: 0 30px 60px -30px rgba(0, 40, 70, .55);
}
.b2s .b2s-account__card h3 { font-size: 22px; margin-bottom: 22px !important; }
.b2s-steps { counter-reset: step; margin-bottom: 28px !important; }
.b2s-steps li {
	counter-increment: step;
	position: relative;
	padding: 0 0 22px 52px !important;
}
.b2s-steps li::before {
	content: counter(step);
	position: absolute;
	left: 0;
	top: 0;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--blue-tint);
	color: var(--blue-deep);
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}
.b2s-steps li:not(:last-child)::after {
	content: "";
	position: absolute;
	left: 16px;
	top: 38px;
	bottom: 4px;
	width: 2px;
	background: var(--line);
}
.b2s-steps strong { display: block; color: var(--ink); font-size: 16px; }
.b2s-steps span { display: block; font-size: 14px; }

/* Talk */
.b2s section.b2s-talk { background: var(--green-tint); padding: 64px 0; }
.b2s-talk__grid {
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: 48px;
	align-items: center;
}
.b2s .b2s-talk h2 { font-size: 30px; }
.b2s-talk p { margin-top: 12px; font-size: 16px; max-width: 34em; }
.b2s-talk__links { display: flex; flex-direction: column; gap: 14px; }
.b2s-talk__links a {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 20px;
	background: #ffffff;
	border-radius: 12px;
	color: var(--ink);
	font-weight: 700;
	font-size: 18px;
	text-decoration: none;
	word-break: break-word;
	box-shadow: 0 10px 24px -18px rgba(60, 90, 10, .6);
	transition: transform .2s ease;
}
.b2s-talk__links a:hover { transform: translateX(4px); }
.b2s-talk__links a > span {
	display: flex; align-items: center; justify-content: center;
	width: 42px; height: 42px; border-radius: 50%;
	background: var(--green); color: #ffffff; flex: none;
}

/* Dialog */
.b2s-dialog {
	width: min(760px, 94vw);
	height: min(860px, 90vh);
	padding: 0;
	border: 0;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .5);
}
.b2s-dialog[open] { display: flex; flex-direction: column; }
.b2s-dialog::backdrop { background: rgba(10, 30, 45, .55); }
.b2s-dialog__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 20px;
	background: var(--blue);
	color: #ffffff;
	font-size: 16px;
}
.b2s .b2s-dialog__close {
	background: transparent;
	border: 0;
	color: #ffffff;
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
}
.b2s-dialog iframe { flex: 1; width: 100%; border: 0; }

/* Responsive */
@media (max-width: 1100px) {
	.b2s-hero__badge { right: 8px; }
	.b2s-hero__note { left: 12px; }
}
@media (max-width: 980px) {
	.b2s [id] { scroll-margin-top: 90px; }
	.b2s section { padding: 60px 0; }
	.b2s-hero__grid, .b2s-account__grid, .b2s-check__grid, .b2s-talk__grid { grid-template-columns: 1fr; gap: 44px; }
	.b2s-hero h1 { font-size: 40px; }
	.b2s-trust__list { grid-template-columns: 1fr 1fr; }
	.b2s-trust__list li:nth-child(3) { border-left: 0; padding-left: 0; }
	.b2s-time__line { grid-template-columns: 1fr 1fr; row-gap: 36px; }
	.b2s-time__line::before { display: none; }
	.b2s-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.b2s-wrap { padding: 0 16px; }
	.b2s section { padding: 48px 0; }
	.b2s section.b2s-hero { padding: 36px 0 64px; }
	.b2s-hero h1 { font-size: 32px; }
	.b2s-hero__lead { font-size: 16px; }
	.b2s-hero__btns .b2s-btn { width: 100%; }
	.b2s-hero__badge { width: 96px; height: 96px; top: -16px; right: 4px; }
	.b2s-hero__badge strong { font-size: 24px; }
	.b2s-hero__badge span { font-size: 10px; max-width: 70px; }
	.b2s-hero__note { left: 8px; right: 8px; bottom: -28px; max-width: none; padding: 12px 14px; }
	.b2s-head h2, .b2s h2 { font-size: 26px; }
	.b2s .b2s-account h2 { font-size: 30px; }
	.b2s-trust__list li { padding: 18px 10px; gap: 10px; }
	.b2s-trust__list li > span { width: 40px; height: 40px; }
	.b2s-trust__list strong { font-size: 14px; }
	.b2s-trust__list li { font-size: 12px; }
	.b2s-time__line { grid-template-columns: 1fr; }
	.b2s-tabs { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; padding-bottom: 6px; margin-left: -16px; margin-right: -16px; padding-left: 16px; padding-right: 16px; }
	.b2s .b2s-tab { white-space: nowrap; }
	.b2s-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
	.b2s .b2s-card__media { padding: 12px; }
	.b2s-card__body { padding: 12px 10px 10px; }
	.b2s .b2s-card__name { font-size: 13px; }
	.b2s-card__price { font-size: 14px; }
	.b2s .b2s-card__btn { margin: 0 10px 12px; font-size: 12px; padding: 10px 6px; }
	.b2s-perks { grid-template-columns: 1fr; }
	.b2s-account__card { padding: 26px 22px; }
	.b2s-check__card { columns: 1; padding: 26px 22px; }
	.b2s-talk__links a { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
	.b2s * { transition: none !important; }
	.b2s .b2s-btn:hover, .b2s-card:hover, .b2s-talk__links a:hover { transform: none; }
}

/* Keep the two hero buttons on one line on desktop */
@media (min-width: 981px) {
	.b2s .b2s-hero__btns .b2s-btn { padding: 16px 22px; font-size: 13px; }
}
/* Mobile: vertical timeline */
@media (max-width: 640px) {
	.b2s-time__line { row-gap: 28px; }
	.b2s-time__line::before { display: block; top: 12px; bottom: 12px; left: 11px; right: auto; width: 3px; height: auto; background: linear-gradient(180deg, var(--green) 0%, var(--blue) 100%); }
	.b2s-time__line li { padding: 0 0 0 44px !important; }
}

/* New hero photo is already bright */
.b2s .b2s-hero__img { filter: none; object-position: 40% 50%; }
.b2s-hero__badge span { max-width: 96px; }

/* ---------- Did you know: Jext and neffy ---------- */
.b2s section.b2s-dyk {
	background:
		radial-gradient(circle at 100% 0%, rgba(4, 168, 229, .10) 0, rgba(4, 168, 229, 0) 420px),
		linear-gradient(180deg, #ffffff 0%, var(--blue-tint) 100%);
}
.b2s-dyk__head { max-width: 760px; margin-bottom: 40px; }
.b2s-dyk__head p:last-child { margin-top: 14px; font-size: 16px; }
.b2s-dyk__head .b2s-kicker {
	display: inline-block;
	background: var(--green);
	color: #ffffff;
	padding: 6px 12px;
	border-radius: 999px;
	letter-spacing: .08em;
}
.b2s-dyk__grid {
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	gap: 40px;
	align-items: start;
}
.b2s-video {
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	background: #0d2233;
	box-shadow: 0 30px 60px -32px rgba(4, 60, 90, .55);
	aspect-ratio: 16 / 9;
}
.b2s-video video { display: block; width: 100%; height: 100%; object-fit: contain; background: #0d2233; }

.b2s-share {
	margin-top: 18px;
	padding: 18px 20px;
	background: #ffffff;
	border: 1px solid var(--line);
	border-radius: 14px;
}
.b2s .b2s-share__label { font-size: 14px; font-weight: 700; color: var(--ink); margin-bottom: 12px; }
.b2s-share__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.b2s .b2s-share__btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: #ffffff;
	color: var(--ink);
	font-family: 'Montserrat', Helvetica, Arial, sans-serif;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}
.b2s .b2s-share__btn svg { width: 18px; height: 18px; color: var(--blue); }
.b2s .b2s-share__btn:hover { border-color: var(--blue); background: var(--blue-tint); color: var(--ink); }
.b2s .b2s-share__btn[hidden] { display: none; }

.b2s-devices { display: grid; gap: 18px; }
.b2s-device {
	background: #ffffff;
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 24px 24px 20px;
}
.b2s .b2s-device h3 { font-size: 20px; line-height: 1.25; }
.b2s .b2s-device h3 sup { font-size: .55em; }
.b2s-doses { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 16px; }
.b2s-dose {
	display: flex;
	flex-direction: column;
	padding: 8px 12px;
	border-radius: 10px;
	background: var(--blue-tint);
	font-size: 12px;
	line-height: 1.35;
	color: var(--text);
	border-left: 4px solid var(--blue);
}
.b2s-dose strong { color: var(--ink); font-size: 13px; }
.b2s-dose--green { border-left-color: #2e9e4a; background: #eef8f0; }
.b2s-dose--yellow { border-left-color: #e3b505; background: #fdf8e4; }
.b2s-how { counter-reset: how; }
.b2s-how li {
	counter-increment: how;
	position: relative;
	padding: 0 0 12px 40px !important;
	font-size: 14px;
	line-height: 1.5;
	color: var(--text);
}
.b2s-how li:last-child { padding-bottom: 0 !important; }
.b2s-how li::before {
	content: counter(how);
	position: absolute;
	left: 0;
	top: -2px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--blue);
	color: #ffffff;
	font-weight: 700;
	font-size: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.b2s-how strong { color: var(--ink); }
.b2s .b2s-warn {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 14px;
	padding: 10px 12px;
	border-radius: 8px;
	background: #fdeeee;
	color: #a3222b;
	font-size: 13px;
	font-weight: 700;
}
.b2s .b2s-warn svg { width: 18px; height: 18px; }

.b2s-after {
	margin-top: 32px;
	padding: 28px 30px;
	background: #ffffff;
	border-radius: 16px;
	border: 1px solid var(--line);
	border-top: 4px solid var(--green);
}
.b2s .b2s-after h3 { font-size: 19px; margin-bottom: 16px; }
.b2s-after ol {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	counter-reset: aft;
}
.b2s-after li {
	counter-increment: aft;
	position: relative;
	padding-top: 38px !important;
	font-size: 14px;
	line-height: 1.5;
}
.b2s-after li::before {
	content: counter(aft);
	position: absolute;
	top: 0;
	left: 0;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--green);
	color: #ffffff;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}
.b2s-after li strong { display: block; color: var(--ink); }
.b2s-after__note { margin-top: 18px; font-size: 12px; color: #6b7378; border-top: 1px solid var(--line); padding-top: 12px; }

.b2s-trainers {
	margin-top: 40px;
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: 32px;
	align-items: center;
}
.b2s .b2s-trainers h3 { font-size: 24px; margin-bottom: 10px; }
.b2s-trainers p { font-size: 15px; }
.b2s-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* ---------- Branded checklist ---------- */
.b2s section.b2s-check { background: #f7fafc; }
.b2s-doc {
	max-width: 1040px;
	margin: 0 auto;
	background: #ffffff;
	border-radius: 18px;
	box-shadow: 0 30px 70px -40px rgba(4, 60, 90, .45);
	border: 1px solid var(--line);
	overflow: hidden;
}
.b2s-doc__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 22px 32px;
}
.b2s .b2s-doc__logo { width: 230px; height: auto; }
.b2s-doc__contact { text-align: right; font-size: 13px; font-weight: 600; color: var(--ink); line-height: 1.5; }
.b2s-doc__band {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 20px 32px;
	background: var(--blue);
	color: #ffffff;
	border-bottom: 5px solid var(--green);
}
.b2s .b2s-doc__title { font-size: 24px; font-weight: 700; line-height: 1.2; color: #ffffff; }
.b2s .b2s-doc__sub { font-size: 13px; color: #ffffff; opacity: .92; margin-top: 4px; }
.b2s-doc__progress { flex: none; width: 190px; text-align: right; }
.b2s-doc__count { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; }
.b2s-doc__count strong { font-size: 20px; }
.b2s-doc__bar { display: block; height: 8px; border-radius: 8px; background: rgba(255, 255, 255, .3); overflow: hidden; }
.b2s-doc__bar span { display: block; height: 100%; width: 0; background: var(--green); border-radius: 8px; transition: width .3s ease; }
.b2s-doc__fields {
	display: grid;
	grid-template-columns: 2fr 1.5fr 1fr;
	gap: 16px;
	padding: 22px 32px 6px;
}
.b2s-doc__fields label {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--blue-deep);
}
.b2s .b2s-doc__fields input {
	border: 0;
	border-bottom: 2px solid var(--line);
	border-radius: 0;
	padding: 6px 0;
	background: transparent;
	font-family: 'Montserrat', Helvetica, Arial, sans-serif;
	font-size: 15px;
	color: var(--ink);
	box-shadow: none;
}
.b2s .b2s-doc__fields input:focus { outline: none; border-bottom-color: var(--blue); }
.b2s-doc__key {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	padding: 14px 32px 0;
	font-size: 12px;
	color: #6b7378;
}
.b2s-key { display: inline-flex; align-items: center; gap: 6px; }
.b2s-key em { font-style: normal; font-weight: 700; color: var(--blue-deep); }
.b2s-key__box { width: 14px; height: 14px; border: 2px solid #b9d3df; border-radius: 4px; display: inline-block; }

.b2s-doc__groups {
	columns: 2;
	column-gap: 36px;
	padding: 22px 32px 10px;
}
.b2s-doc__group { break-inside: avoid; margin-bottom: 22px !important; }
.b2s .b2s-doc__group legend {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	font-size: 14px;
	font-weight: 700;
	color: var(--ink);
	padding-bottom: 8px;
	border-bottom: 2px solid var(--ink);
	margin-bottom: 4px;
}
.b2s-doc__group legend span {
	display: inline-flex; align-items: center; justify-content: center;
	width: 30px; height: 30px; border-radius: 8px;
	background: var(--green); color: #ffffff;
}
.b2s-doc__group legend svg { width: 18px; height: 18px; }
.b2s-doc__group li {
	display: grid;
	grid-template-columns: 1fr auto auto auto;
	align-items: center;
	gap: 10px;
	padding: 7px 0;
	border-bottom: 1px dashed #dfe9ee;
}
.b2s-doc__item { display: flex; align-items: center; gap: 10px; cursor: pointer; min-width: 0; }
.b2s-doc__item input { position: absolute; opacity: 0; pointer-events: none; }
.b2s-doc__box {
	flex: none;
	width: 20px;
	height: 20px;
	border-radius: 5px;
	border: 2px solid #b9d3df;
	background: #ffffff;
	transition: all .15s ease;
}
.b2s-doc__item input:checked + .b2s-doc__box {
	background: var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M6 11.5l3.2 3.2L16 8' fill='none' stroke='%23ffffff' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px no-repeat;
	border-color: var(--green);
}
.b2s-doc__item input:checked ~ .b2s-doc__name { color: #8a9399; text-decoration: line-through; }
.b2s-doc__item input:focus-visible + .b2s-doc__box { outline: 3px solid var(--blue); outline-offset: 2px; }
.b2s-doc__name { font-size: 14px; line-height: 1.35; color: var(--ink); }
.b2s-doc__schools {
	font-size: 11px;
	font-weight: 700;
	color: var(--blue-deep);
	background: var(--blue-tint);
	border-radius: 999px;
	padding: 2px 8px;
	min-width: 30px;
	text-align: center;
}
.b2s-doc__qty { display: none; }
.b2s .b2s-doc__add {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 1px solid var(--line);
	background: #ffffff;
	color: var(--blue-deep);
	font-size: 18px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	padding: 0;
	transition: all .2s ease;
}
.b2s .b2s-doc__add:hover { background: var(--blue); border-color: var(--blue); color: #ffffff; }
.b2s-doc__foot {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 6px 24px;
	padding: 16px 32px;
	background: var(--green-tint);
	font-size: 12px;
	color: var(--text);
}
.b2s-doc__foot strong { color: var(--ink); }
.b2s-doc__actions {
	max-width: 1040px;
	margin: 22px auto 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}
.b2s .b2s-doc__saved { font-size: 13px; color: #6b7378; }

/* Toast */
.b2s-toast {
	position: fixed;
	left: 50%;
	bottom: 28px;
	transform: translate(-50%, 20px);
	opacity: 0;
	z-index: 99999;
	background: var(--ink);
	color: #ffffff;
	padding: 12px 18px;
	border-radius: 10px;
	font-size: 14px;
	font-weight: 600;
	box-shadow: 0 16px 30px -12px rgba(0, 0, 0, .4);
	transition: opacity .25s ease, transform .25s ease;
	max-width: 90vw;
}
.b2s-toast.is-on { opacity: 1; transform: translate(-50%, 0); }

/* Responsive for new sections */
@media (max-width: 980px) {
	.b2s-dyk__grid, .b2s-trainers { grid-template-columns: 1fr; }
	.b2s-after ol { grid-template-columns: 1fr 1fr; }
	.b2s-doc__groups { columns: 1; }
}
@media (max-width: 640px) {
	.b2s-after { padding: 22px 18px; }
	.b2s-after ol { grid-template-columns: 1fr; }
	.b2s-device { padding: 20px 18px; }
	.b2s-grid--3 { grid-template-columns: 1fr 1fr; }
	.b2s-grid--3 .b2s-card:nth-child(3) { display: none; }
	.b2s-doc__top { padding: 16px 18px; }
	.b2s .b2s-doc__logo { width: 160px; }
	.b2s-doc__contact { font-size: 11px; }
	.b2s-doc__band { flex-direction: column; align-items: flex-start; padding: 18px; }
	.b2s .b2s-doc__title { font-size: 20px; }
	.b2s-doc__progress { width: 100%; text-align: left; }
	.b2s-doc__fields { grid-template-columns: 1fr; padding: 18px 18px 4px; }
	.b2s-doc__key { padding: 12px 18px 0; }
	.b2s-doc__groups { padding: 18px 18px 6px; }
	.b2s-doc__foot { padding: 14px 18px; }
	.b2s-doc__actions .b2s-btn { flex: 1 1 100%; }
}


/* Trainer cards keep normal card titles */
.b2s .b2s-trainers .b2s-card__name { font-size: 15px; line-height: 1.35; margin: 0; }

/* ---------- v5 ---------- */

/* Share buttons: one line */
.b2s-share { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.b2s .b2s-share__label { margin: 0; white-space: nowrap; }
.b2s-share__btns { flex: 1; display: flex; flex-wrap: nowrap; gap: 8px; min-width: 0; }
.b2s .b2s-share__btn { flex: 1 1 0; justify-content: center; white-space: nowrap; padding: 10px 8px; min-width: 0; }
.b2s .b2s-share__btn span { overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 640px) {
	.b2s-share { display: block; }
	.b2s .b2s-share__label { margin-bottom: 10px; }
	.b2s .b2s-share__btn { flex-direction: column; gap: 4px; font-size: 12px; padding: 10px 4px; }
}

/* Manage anaphylaxis */
.b2s-manage {
	margin-top: 36px;
	padding: 32px;
	background: #ffffff;
	border: 1px solid var(--line);
	border-top: 6px solid #d7262f;
	border-radius: 16px;
}
.b2s-manage__head { margin-bottom: 22px; }
.b2s .b2s-manage__head h3 { font-size: 24px; }
.b2s-manage__head p { margin-top: 6px; font-size: 14px; }
.b2s-signs { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 26px; }
.b2s-signs__col { border-radius: 12px; padding: 18px 20px; }
.b2s-signs__col--mild { background: #fff6e5; border-left: 5px solid #f0a020; }
.b2s-signs__col--severe { background: #fdecec; border-left: 5px solid #d7262f; }
.b2s .b2s-signs h4 { font-size: 15px; font-weight: 700; color: var(--ink); margin-bottom: 8px; }
.b2s-signs ul { display: grid; gap: 4px; }
.b2s-signs li { position: relative; padding-left: 16px !important; font-size: 14px; line-height: 1.45; }
.b2s-signs li::before { content: ""; position: absolute; left: 0; top: 8px; width: 6px; height: 6px; border-radius: 50%; background: currentColor; opacity: .5; }
.b2s-signs__col--severe li { color: #6d1218; font-weight: 600; }
.b2s .b2s-signs__act { margin-top: 10px; font-size: 13px; line-height: 1.5; }
.b2s-steps6 {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	counter-reset: s6;
}
.b2s-steps6 li {
	counter-increment: s6;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 18px 18px 18px 18px !important;
	background: #fbfcfd;
	border: 1px solid var(--line);
	border-radius: 12px;
	font-size: 13px;
	line-height: 1.5;
}
.b2s-steps6 li::before {
	content: counter(s6);
	position: absolute;
	top: 14px;
	right: 14px;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #d7262f;
	color: #ffffff;
	font-weight: 700;
	font-size: 13px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.b2s-steps6__icon {
	display: flex; align-items: center; justify-content: center;
	width: 48px; height: 48px; border-radius: 12px;
	background: #fdecec; color: #d7262f; margin-bottom: 6px;
}
.b2s-steps6__icon svg { width: 28px; height: 28px; }
.b2s-steps6 strong { font-size: 15px; color: var(--ink); }
.b2s-alerts { display: grid; grid-template-columns: 1fr 1.4fr; gap: 14px; margin-top: 18px; }
.b2s .b2s-alert { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: 10px; font-size: 13px; line-height: 1.5; }
.b2s .b2s-alert--red { background: #d7262f; color: #ffffff; }
.b2s .b2s-alert--red strong { color: #ffffff; display: block; font-size: 15px; }
.b2s .b2s-alert--blue { background: var(--blue-tint); color: var(--text); }
.b2s .b2s-alert--blue svg { width: 28px; height: 28px; color: var(--blue); flex: none; }
.b2s .b2s-alert--blue strong { color: var(--ink); }
.b2s .b2s-manage__src { margin-top: 14px; font-size: 11px; color: #6b7378; }

/* ASCIA plans */
.b2s-plans { margin-top: 36px; }
.b2s .b2s-plans__head h3 { font-size: 24px; }
.b2s-plans__head p { margin-top: 6px; font-size: 14px; max-width: 46em; }
.b2s-plans__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 20px; }
.b2s-plan {
	display: flex;
	gap: 16px;
	padding: 18px;
	background: #ffffff;
	border: 1px solid var(--line);
	border-radius: 14px;
	--plan: #d7262f;
}
.b2s-plan--green { --plan: #2e9e4a; }
.b2s-plan--orange { --plan: #ee7d12; }
.b2s-plan__thumb {
	flex: none;
	position: relative;
	width: 78px;
	height: 108px;
	border-radius: 6px;
	background: #ffffff;
	border: 1px solid #e3e8ec;
	box-shadow: 0 8px 18px -10px rgba(0, 0, 0, .35);
	overflow: hidden;
	transform: rotate(-3deg);
}
.b2s-plan__band {
	display: block;
	background: var(--plan);
	color: #ffffff;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .1em;
	text-align: center;
	padding: 6px 0;
}
.b2s-plan__lines { display: grid; gap: 6px; padding: 10px 9px; }
.b2s-plan__lines i { display: block; height: 4px; border-radius: 2px; background: #e6ebef; }
.b2s-plan__lines i:nth-child(2) { width: 70%; background: var(--plan); opacity: .35; }
.b2s-plan__lines i:nth-child(4) { width: 55%; }
.b2s-plan__badge {
	position: absolute; right: 6px; bottom: 6px;
	width: 24px; height: 24px; border-radius: 50%;
	background: var(--plan); color: #ffffff;
	display: flex; align-items: center; justify-content: center;
}
.b2s-plan__badge svg { width: 14px; height: 14px; }
.b2s .b2s-plan h4 { font-size: 15px; line-height: 1.3; font-weight: 700; color: var(--ink); }
.b2s-plan__body p { margin-top: 4px; font-size: 13px; line-height: 1.45; }
.b2s-plan__links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.b2s-plan__links a {
	display: inline-flex; align-items: center; gap: 4px;
	padding: 5px 10px;
	border-radius: 999px;
	border: 1px solid var(--plan);
	color: var(--ink);
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease;
}
.b2s-plan__links a svg { width: 12px; height: 12px; }
.b2s-plan__links a:hover { background: var(--plan); color: #ffffff; }
.b2s .b2s-plans__more { margin-top: 12px; font-size: 13px; }
.b2s-plans__more a { color: var(--blue-deep); font-weight: 600; }

/* Checklist v5 */
.b2s-doc__band { display: block; }
.b2s-doc__groups { columns: 3; column-gap: 28px; }
.b2s-doc__group { break-inside: avoid; margin-bottom: 20px; }
.b2s .b2s-doc__gh {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 700;
	color: var(--ink);
	padding-bottom: 6px;
	border-bottom: 2px solid var(--ink);
	margin-bottom: 2px;
}
.b2s-doc__gh span {
	display: inline-flex; align-items: center; justify-content: center;
	width: 26px; height: 26px; border-radius: 7px;
	background: var(--green); color: #ffffff; flex: none;
}
.b2s-doc__gh svg { width: 16px; height: 16px; }
.b2s .b2s-doc__group li { display: block; padding: 0 !important; gap: 0; border-bottom: 1px dashed #dfe9ee; }
.b2s .b2s-doc__row {
	display: grid;
	grid-template-columns: auto 1fr auto auto;
	align-items: center;
	gap: 8px;
	width: 100%;
	padding: 6px 4px;
	margin: 0;
	background: transparent;
	border: 0;
	border-radius: 6px;
	text-align: left;
	cursor: pointer;
	font-family: 'Montserrat', Helvetica, Arial, sans-serif;
	color: var(--ink);
	transition: background-color .15s ease;
}
.b2s .b2s-doc__row:hover { background: var(--blue-tint); }
.b2s .b2s-doc__row:hover .b2s-doc__view { color: var(--blue); }
.b2s .b2s-doc__box { width: 16px; height: 16px; border-width: 2px; border-radius: 4px; }
.b2s .b2s-doc__name { font-size: 13px; line-height: 1.3; }
.b2s .b2s-doc__schools { font-size: 10px; padding: 2px 6px; min-width: 24px; }
.b2s .b2s-doc__view { display: inline-flex; color: #a9b7bf; }
.b2s .b2s-doc__view svg { width: 15px; height: 15px; }
.b2s .b2s-doc__qty { display: none; }
.b2s-doc__val { display: block; min-height: 18px; font-size: 13px; color: var(--ink); }

@media (max-width: 1100px) {
	.b2s-steps6 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.b2s-plans__grid { grid-template-columns: 1fr; }
	.b2s-doc__groups { columns: 2; }
}
@media (max-width: 760px) {
	.b2s-manage { padding: 22px 18px; }
	.b2s-signs, .b2s-alerts { grid-template-columns: 1fr; }
	.b2s-steps6 { grid-template-columns: 1fr; }
	.b2s-doc__groups { columns: 1; }
}

/* ---------- Print: branded checklist only ---------- */
@media print {
	@page { size: A4; margin: 9mm; }
	body.b2s-printing > *:not(#b2s-print-root) { display: none !important; }
	body.b2s-printing { background: #ffffff !important; padding: 0 !important; margin: 0 !important; }
	#b2s-print-root { display: block !important; background: #ffffff; }
	body.b2s-printing .b2s-print {
		width: 100%;
		max-width: none;
		margin: 0;
		box-shadow: none;
		border: 0;
		border-radius: 0;
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}
	body.b2s-printing .b2s-doc__top { padding: 0 0 6px; }
	body.b2s-printing .b2s-doc__logo { width: 180px; }
	body.b2s-printing .b2s-doc__contact { font-size: 10px; }
	body.b2s-printing .b2s-doc__band { padding: 8px 12px; border-radius: 6px; border-bottom-width: 4px; }
	body.b2s-printing .b2s-doc__title { font-size: 17px; }
	body.b2s-printing .b2s-doc__fields { padding: 8px 0 0; gap: 12px; }
	body.b2s-printing .b2s-doc__fields label { font-size: 8px; }
	body.b2s-printing .b2s-doc__val { border-bottom: 1px solid #333; font-size: 11px; min-height: 16px; padding: 1px 0; }
	body.b2s-printing .b2s-doc__key { padding: 5px 0 0; font-size: 8px; gap: 12px; }
	body.b2s-printing .b2s-doc__groups { columns: 3; column-gap: 5mm; padding: 6px 0 0; }
	body.b2s-printing .b2s-doc__group { margin-bottom: 6px !important; }
	body.b2s-printing .b2s-doc__gh { font-size: 9.5px; padding-bottom: 2px; border-bottom-width: 1.5px; gap: 5px; }
	body.b2s-printing .b2s-doc__gh span { width: 15px; height: 15px; border-radius: 3px; }
	body.b2s-printing .b2s-doc__gh svg { width: 10px; height: 10px; }
	body.b2s-printing .b2s-doc__row { grid-template-columns: auto 1fr auto auto; gap: 4px; padding: 2.2px 0; border-radius: 0; }
	body.b2s-printing .b2s-doc__box { width: 10px; height: 10px; border-width: 1.2px; border-color: #555; border-radius: 2px; }
	body.b2s-printing .b2s-doc__name { font-size: 8.5px; }
	body.b2s-printing .b2s-doc__schools { font-size: 7px; padding: 0 4px; min-width: 0; }
	body.b2s-printing .b2s-doc__qty { display: inline-block; font-size: 7px; color: #555; width: 13mm; border-bottom: 1px solid #555; line-height: 1.6; }
	body.b2s-printing .b2s-doc__view { display: none !important; }
	body.b2s-printing .b2s-doc__foot { padding: 6px 10px; font-size: 8px; margin-top: 4px; border-radius: 6px; }
}

#b2s-print-root { display: none; }

/* Share: label above, buttons on one line */
.b2s .b2s-share { display: block; }
.b2s .b2s-share__label { margin: 0 0 10px; }
.b2s .b2s-alert--red { display: block; }
.b2s .b2s-alert--red strong { margin-bottom: 2px; }

/* Field values keep their own case */
.b2s .b2s-doc__fields input, .b2s .b2s-doc__val { text-transform: none; letter-spacing: normal; font-weight: 600; }
@media print {
	body.b2s-printing .b2s-doc__name { font-size: 9.5px; }
	body.b2s-printing .b2s-doc__row { padding: 3.4px 0; }
	body.b2s-printing .b2s-doc__qty { width: 15mm; }
	body.b2s-printing .b2s-doc__group { margin-bottom: 9px !important; }
	body.b2s-printing .b2s-doc__gh { font-size: 10.5px; }
}

/* ---------- v6 ---------- */
/* Hero badge in brand blue */
.b2s .b2s-hero__badge { background: var(--blue); box-shadow: 0 14px 30px -12px rgba(4, 120, 170, .6); }

/* Checklist: name + view on screen, name + Qty needed line in print */
.b2s .b2s-doc__row { grid-template-columns: 1fr auto; gap: 10px; padding: 7px 6px; }
.b2s .b2s-doc__qty { display: none; }
.b2s .b2s-doc__qh { display: none; margin-left: auto; font-style: normal; font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--blue-deep); }
.b2s .b2s-doc__key { display: block; font-size: 12px; color: #6b7378; }
.b2s .b2s-doc__key-print { display: none; }

@media print {
	body.b2s-printing .b2s-doc__key { font-size: 8.5px; padding: 5px 0 0; }
	body.b2s-printing .b2s-doc__key-screen { display: none; }
	body.b2s-printing .b2s-doc__key-print { display: inline; }
	body.b2s-printing .b2s-doc__qh { display: inline; font-size: 7px; }
	body.b2s-printing .b2s-doc__row { grid-template-columns: 1fr 18mm; gap: 6px; padding: 3.6px 0; }
	body.b2s-printing .b2s-doc__qty { display: block; width: 18mm; height: 11px; border-bottom: 1px solid #555; }
	body.b2s-printing .b2s-doc__view { display: none !important; }
	body.b2s-printing .b2s-doc__logo { display: block !important; width: 180px !important; height: auto !important; opacity: 1 !important; visibility: visible !important; }
}
/* v7: green share bar */
.b2s .b2s-share { background: var(--green); border-color: var(--green); box-shadow: 0 14px 30px -14px rgba(111, 158, 18, .65); }
.b2s .b2s-share__label { color: #fff; }
.b2s .b2s-share__btn { background: #fff; border-color: #fff; color: var(--ink); }
.b2s .b2s-share__btn svg { color: var(--green-deep); }
.b2s .b2s-share__btn:hover, .b2s .b2s-share__btn:focus-visible { background: var(--green-tint); border-color: var(--green-deep); color: var(--ink); }
/* v7: bigger "Back to school" kicker in the hero */
.b2s .b2s-hero .b2s-kicker { font-size: 24px; font-weight: 800; letter-spacing: .08em; margin-bottom: 12px !important; }
@media (max-width: 640px) { .b2s .b2s-hero .b2s-kicker { font-size: 18px; } }

/* v8: PDF download + print link */
.b2s .b2s-doc__printlink {
	display: inline-flex; align-items: center; gap: 8px; padding: 10px 6px; margin: 0; border: 0; background: none; cursor: pointer;
	font-family: inherit; font-size: 14px; font-weight: 700; color: var(--blue-deep); text-decoration: underline; text-underline-offset: 3px;
}
.b2s .b2s-doc__printlink svg { width: 16px; height: 16px; }
.b2s .b2s-doc__printlink:hover { color: var(--blue); }
.b2s .b2s-doc__saved { flex: 1 1 100%; margin: 0; }
.b2s .b2s-btn.is-busy { opacity: .75; cursor: progress; }
@media (max-width: 640px) { .b2s .b2s-doc__printlink { margin: 0 auto; } }

/* v9: 100-item checklist - keep each category together when printing */
@media print {
	body.b2s-printing .b2s-doc__group { break-inside: avoid; page-break-inside: avoid; }
	body.b2s-printing .b2s-doc__row { padding: 2.6px 0; }
}

/* v10: training-only products (Asthma & Anaphylaxis Training) */
.b2s .b2s-card { position: relative; }
.b2s .b2s-card__flag {
	position: absolute; top: 10px; left: 10px; z-index: 2; pointer-events: none;
	padding: 4px 9px; border-radius: 99px; background: #b45309; color: #fff;
	font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; line-height: 1.3;
	box-shadow: 0 6px 14px -8px rgba(120, 53, 4, .8);
}
.b2s .b2s-card__train { margin: 4px 0 0; padding: 0; font-size: 12px; font-weight: 700; color: #b45309; line-height: 1.35; }
.b2s .b2s-shop__note {
	max-width: 820px; margin: 0 auto 22px; padding: 12px 16px; border-radius: 12px;
	background: #fff7ed; border: 1px solid #fed7aa; color: #7c2d12; font-size: 14px; line-height: 1.5; text-align: center;
}
.b2s .b2s-shop__note[hidden] { display: none; }
.b2s .b2s-shop__note strong { color: #9a3412; }
.b2s .b2s-doc__note { margin: 4px 0 6px; padding: 0; font-size: 12px; font-weight: 700; font-style: italic; color: #b45309; }
@media print {
	body.b2s-printing .b2s-doc__note { font-size: 8px; margin: 2px 0 3px; color: #9a3412; }
}
