/*
 * British Lasers article and product interface recovery.
 * The article layout itself remains owned by the dynamic article plugin.
 */

/* Translate the preserved editorial design into the current British Lasers palette. */
.blg-blog-single {
	--blg-black: #0c1538;
	--blg-panel: #111b45;
	--blg-panel-2: #1b2861;
	--blg-ink: #121b3d;
	--blg-muted: #66728f;
	--blg-soft: #f7f7fb;
	--blg-soft-2: #f5f4fb;
	--blg-green: #6b50ee;
	--blg-green-2: #7ee8f0;
	--blg-green-dark: #5635dc;
	--blg-purple: #5635dc;
	--blg-purple-dark: #3e279f;
	--blg-purple-light: #8b72f4;
	--blg-purple-soft: #eeeafd;
	--blg-teal: #7ee8f0;
	--blg-teal-dark: #0e5260;
	--blg-line-green: rgba(86, 53, 220, .2);
	--blg-shadow: 0 24px 80px rgba(12, 21, 56, .14);
	--blg-shadow-soft: 0 16px 40px rgba(12, 21, 56, .08);
}

.blg-blog-single .blg-article-hero {
	background:
		radial-gradient(circle at 84% 16%, rgba(126, 232, 240, .18), transparent 30%),
		radial-gradient(circle at 12% 88%, rgba(139, 114, 244, .17), transparent 30%),
		linear-gradient(145deg, #0c1538 0%, #111b45 58%, #302174 100%);
}

@media (min-width: 981px) {
	.blg-blog-single .blg-article-hero.blg-has-featured-cover {
		background-image:
			linear-gradient(90deg, rgba(12, 21, 56, .98) 0%, rgba(12, 21, 56, .92) 43%, rgba(24, 28, 74, .68) 70%, rgba(48, 33, 116, .36) 100%),
			radial-gradient(circle at 84% 16%, rgba(126, 232, 240, .17), transparent 30%),
			var(--blg-hero-cover-image);
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
	}
}

.blg-blog-single .blg-article-hero::before {
	background-image:
		linear-gradient(rgba(126, 232, 240, .06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(126, 232, 240, .06) 1px, transparent 1px);
}

.blg-blog-single .blg-pill {
	border-color: rgba(126, 232, 240, .32);
	background: rgba(126, 232, 240, .09);
	color: #a8f4f8;
}

.blg-blog-single .blg-pill::before {
	background: #7ee8f0;
	box-shadow: 0 0 18px rgba(126, 232, 240, .72);
}

.blg-blog-single .blg-byline img {
	border-color: rgba(139, 114, 244, .48);
}

/* Keep the article readable when logged in and when the header overlays the hero. */
body.single-post.blg-template-active .blg-blog-single {
	width: 100%;
	max-width: none;
	overflow: clip;
}

body.single-post.blg-template-active .blg-article-content-card,
body.single-post.blg-template-active .blg-post-content {
	min-width: 0;
}

/* The decorative cursor can fail to initialise; articles must never lose a usable pointer. */
@media (hover: hover) and (pointer: fine) {
	body.single-post,
	body.single-post input,
	body.single-post textarea,
	body.single-post select,
	body.single-post label,
	body.single-post summary {
		cursor: auto !important;
	}

	body.single-post a,
	body.single-post button,
	body.single-post [role="button"],
	body.single-post summary {
		cursor: pointer !important;
	}

	body.single-post input[type="text"],
	body.single-post input[type="email"],
	body.single-post input[type="search"],
	body.single-post input[type="url"],
	body.single-post textarea {
		cursor: text !important;
	}

	body.single-post .bil-cursor {
		display: none !important;
	}
}

/* Product CTA dock: once all three actions are visible, share one uninterrupted row. */
.blpp_sticky_bar.bl-past-above-fold[data-blpp-owned="1"],
.blpp_sticky_bar.bl-past-above-fold[data-blfr-cta-row="1"] {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 8px !important;
	padding-inline: 12px !important;
}

.blpp_sticky_bar.bl-past-above-fold[data-blpp-owned="1"] > .blpp_sticky_btn,
.blpp_sticky_bar.bl-past-above-fold[data-blfr-cta-row="1"] > .blpp_sticky_btn {
	grid-column: auto !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	justify-self: stretch !important;
}

.blpp_sticky_bar.bl-past-above-fold[data-blpp-owned="1"] > .blpp_sticky_btn:not([style*="display: none"]),
.blpp_sticky_bar.bl-past-above-fold[data-blfr-cta-row="1"] > .blpp_sticky_btn:not([style*="display: none"]) {
	display: grid !important;
	grid-template-columns: minmax(26px, 36px) auto minmax(12px, 24px) !important;
	align-items: center !important;
	justify-content: center !important;
}

.blpp_sticky_bar.bl-past-above-fold .blpp_sticky_btn .cta__text {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

@media (max-width: 1024px) {
	.blpp_sticky_bar.bl-past-above-fold[data-blpp-owned="1"],
	.blpp_sticky_bar.bl-past-above-fold[data-blfr-cta-row="1"] {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 6px !important;
		height: auto !important;
		min-height: 68px !important;
		padding: 7px 8px calc(7px + env(safe-area-inset-bottom)) !important;
		align-items: center !important;
	}

	.blpp_sticky_bar.bl-past-above-fold[data-blpp-owned="1"] > .blpp_sticky_btn,
	.blpp_sticky_bar.bl-past-above-fold[data-blfr-cta-row="1"] > .blpp_sticky_btn {
		grid-column: auto !important;
		display: flex !important;
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		height: 52px !important;
		min-height: 52px !important;
		max-height: 52px !important;
		margin: 0 !important;
		padding: 7px 10px !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 7px !important;
		overflow: hidden !important;
		border-radius: 14px !important;
	}

	.blpp_sticky_bar.bl-past-above-fold .blpp_sticky_btn .cta__text {
		display: block !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: 100% !important;
		overflow: visible !important;
		text-overflow: clip !important;
		white-space: nowrap !important;
		font-size: 12px !important;
		line-height: 1 !important;
		letter-spacing: -.02em !important;
	}

	.blpp_sticky_bar.bl-past-above-fold .blpp_sticky_btn .cta__icon {
		display: grid !important;
		width: 26px !important;
		height: 26px !important;
		flex: 0 0 26px !important;
	}

	.blpp_sticky_bar.bl-past-above-fold .blpp_sticky_btn .cta__arrow {
		display: none !important;
	}
}

@media (max-width: 600px) {
	.blpp_sticky_bar.bl-past-above-fold[data-blpp-owned="1"],
	.blpp_sticky_bar.bl-past-above-fold[data-blfr-cta-row="1"] {
		gap: 4px !important;
		min-height: 62px !important;
		padding: 5px 5px calc(5px + env(safe-area-inset-bottom)) !important;
	}

	.blpp_sticky_bar.bl-past-above-fold[data-blpp-owned="1"] > .blpp_sticky_btn,
	.blpp_sticky_bar.bl-past-above-fold[data-blfr-cta-row="1"] > .blpp_sticky_btn {
		height: 50px !important;
		min-height: 50px !important;
		max-height: 50px !important;
		padding: 6px 4px !important;
		gap: 0 !important;
		border-radius: 12px !important;
	}

	.blpp_sticky_bar.bl-past-above-fold .blpp_sticky_btn .cta__text {
		overflow: visible !important;
		font-size: clamp(9px, 2.45vw, 11px) !important;
		letter-spacing: -.035em !important;
	}

	.blpp_sticky_bar.bl-past-above-fold .blpp_sticky_btn .cta__icon,
	.blpp_sticky_bar.bl-past-above-fold .blpp_sticky_btn .cta__arrow {
		display: none !important;
	}
}

/*
 * Product action dock parity.
 * Keep all three revealed actions in one equal-width row and give the
 * pre-scroll Live Chat action a usable horizontal footprint.
 */
@media (max-width: 1024px) {
	body .blpp_sticky_bar.bl-past-above-fold[data-blpp-owned="1"],
	body .blpp_sticky_bar.bl-past-above-fold[data-blfr-cta-row="1"] {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		align-items: center !important;
		width: 100% !important;
		max-width: none !important;
		box-sizing: border-box !important;
	}

	body .blpp_sticky_bar.bl-past-above-fold[data-blpp-owned="1"] > .blpp_sticky_btn,
	body .blpp_sticky_bar.bl-past-above-fold[data-blfr-cta-row="1"] > .blpp_sticky_btn {
		position: relative !important;
		inset: auto !important;
		float: none !important;
		grid-column: auto !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		transform: none !important;
		box-sizing: border-box !important;
	}

	body .blpp_sticky_bar:not(.bl-past-above-fold)[data-blpp-owned="1"],
	body .blpp_sticky_bar:not(.bl-past-above-fold)[data-blfr-cta-row="1"] {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		width: 100% !important;
		min-height: 64px !important;
		padding: 7px 8px calc(7px + env(safe-area-inset-bottom)) !important;
		box-sizing: border-box !important;
	}

	body .blpp_sticky_bar:not(.bl-past-above-fold)[data-blpp-owned="1"] > .sticky-btn-purple,
	body .blpp_sticky_bar:not(.bl-past-above-fold)[data-blfr-cta-row="1"] > .sticky-btn-purple {
		position: relative !important;
		inset: auto !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: min(220px, 100%) !important;
		min-width: 0 !important;
		max-width: 220px !important;
		height: 50px !important;
		min-height: 50px !important;
		max-height: 50px !important;
		margin: 0 !important;
		padding: 7px 14px !important;
		gap: 8px !important;
		overflow: hidden !important;
		transform: none !important;
		border-radius: 14px !important;
		box-sizing: border-box !important;
	}

	body .blpp_sticky_bar:not(.bl-past-above-fold) > .sticky-btn-purple .cta__text,
	body .blpp_sticky_bar:not(.bl-past-above-fold) > .sticky-btn-purple > span:last-child {
		display: block !important;
		width: auto !important;
		min-width: 0 !important;
		overflow: visible !important;
		text-overflow: clip !important;
		white-space: nowrap !important;
		font-size: 12px !important;
		line-height: 1 !important;
	}

	body .blpp_sticky_bar:not(.bl-past-above-fold) > .sticky-btn-purple .cta__icon,
	body .blpp_sticky_bar:not(.bl-past-above-fold) > .sticky-btn-purple > span[aria-hidden="true"] {
		display: grid !important;
		flex: 0 0 26px !important;
		width: 26px !important;
		height: 26px !important;
		place-items: center !important;
	}

	body .blpp_sticky_bar:not(.bl-past-above-fold) > .sticky-btn-purple .cta__arrow {
		display: none !important;
	}
}

@media (max-width: 600px) {
	body .blpp_sticky_bar.bl-past-above-fold[data-blpp-owned="1"],
	body .blpp_sticky_bar.bl-past-above-fold[data-blfr-cta-row="1"] {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	body .blpp_sticky_bar.bl-past-above-fold .blpp_sticky_btn .cta__text,
	body .blpp_sticky_bar.bl-past-above-fold .blpp_sticky_btn > span:last-child {
		display: block !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: 100% !important;
		overflow: visible !important;
		text-overflow: clip !important;
		white-space: nowrap !important;
		font-size: clamp(9px, 2.45vw, 11px) !important;
		line-height: 1 !important;
		letter-spacing: -.035em !important;
	}

	body .blpp_sticky_bar:not(.bl-past-above-fold)[data-blpp-owned="1"] > .sticky-btn-purple,
	body .blpp_sticky_bar:not(.bl-past-above-fold)[data-blfr-cta-row="1"] > .sticky-btn-purple {
		width: 140px !important;
		max-width: 140px !important;
		padding-right: 10px !important;
		padding-left: 10px !important;
	}

	body .blpp_sticky_bar.bl-past-above-fold .blpp_sticky_btn > span[aria-hidden="true"] {
		display: none !important;
	}

	body .blpp_sticky_bar:not(.bl-past-above-fold) > .sticky-btn-purple .cta__text,
	body .blpp_sticky_bar:not(.bl-past-above-fold) > .sticky-btn-purple > span:last-child {
		font-size: 11px !important;
	}
}

/*
 * High-specificity product dock reset.
 * The product layer adds flex/max-width constraints after theme styles;
 * anchor the responsive geometry to the stable dock ID so every action
 * fills its grid track without affecting the desktop dock.
 */
@media (max-width: 1024px) {
	body #blppStickyBar.blpp_sticky_bar.bl-past-above-fold[data-blpp-owned="1"],
	body #blppStickyBar.blpp_sticky_bar.bl-past-above-fold[data-blfr-cta-row="1"] {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		grid-auto-flow: row !important;
		justify-content: stretch !important;
		align-items: center !important;
		gap: 6px !important;
		width: 100% !important;
		max-width: none !important;
	}

	body #blppStickyBar.blpp_sticky_bar.bl-past-above-fold > .blpp_sticky_btn {
		display: flex !important;
		grid-column: auto !important;
		justify-self: stretch !important;
		align-self: center !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		flex: none !important;
		margin: 0 !important;
		transform: none !important;
	}

	body #blppStickyBar.blpp_sticky_bar:not(.bl-past-above-fold)[data-blpp-owned="1"],
	body #blppStickyBar.blpp_sticky_bar:not(.bl-past-above-fold)[data-blfr-cta-row="1"] {
		display: flex !important;
		justify-content: flex-end !important;
		align-items: center !important;
		width: 100% !important;
		max-width: none !important;
	}

	body #blppStickyBar.blpp_sticky_bar:not(.bl-past-above-fold) > .sticky-btn-purple {
		display: flex !important;
		justify-self: auto !important;
		width: 168px !important;
		min-width: 168px !important;
		max-width: 168px !important;
		flex: 0 0 168px !important;
		margin: 0 !important;
		transform: none !important;
	}
}

@media (max-width: 600px) {
	body #blppStickyBar.blpp_sticky_bar.bl-past-above-fold[data-blpp-owned="1"],
	body #blppStickyBar.blpp_sticky_bar.bl-past-above-fold[data-blfr-cta-row="1"] {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 4px !important;
		padding: 5px 5px calc(5px + env(safe-area-inset-bottom)) !important;
	}

	body #blppStickyBar.blpp_sticky_bar.bl-past-above-fold > .blpp_sticky_btn {
		height: 50px !important;
		min-height: 50px !important;
		max-height: 50px !important;
		padding: 6px 3px !important;
		gap: 0 !important;
		overflow: hidden !important;
		border-radius: 12px !important;
	}

	body #blppStickyBar.blpp_sticky_bar.bl-past-above-fold > .blpp_sticky_btn > span[aria-hidden="true"],
	body #blppStickyBar.blpp_sticky_bar.bl-past-above-fold > .blpp_sticky_btn .cta__icon,
	body #blppStickyBar.blpp_sticky_bar.bl-past-above-fold > .blpp_sticky_btn .cta__arrow {
		display: none !important;
	}

	body #blppStickyBar.blpp_sticky_bar.bl-past-above-fold > .blpp_sticky_btn > span:last-child,
	body #blppStickyBar.blpp_sticky_bar.bl-past-above-fold > .blpp_sticky_btn .cta__text {
		display: block !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: 100% !important;
		overflow: visible !important;
		text-overflow: clip !important;
		white-space: nowrap !important;
		font-size: clamp(9.5px, 2.65vw, 11px) !important;
		line-height: 1 !important;
		letter-spacing: -.03em !important;
	}

	body #blppStickyBar.blpp_sticky_bar:not(.bl-past-above-fold) > .sticky-btn-purple {
		width: 140px !important;
		min-width: 140px !important;
		max-width: 140px !important;
		flex-basis: 140px !important;
		padding-right: 10px !important;
		padding-left: 10px !important;
	}
}

@media (min-width: 601px) and (max-width: 1024px) {
	html body #blppStickyBar#blppStickyBar.blpp_sticky_bar.bl-past-above-fold > .blpp_sticky_btn {
		display: flex !important;
		grid-column: auto !important;
		justify-self: stretch !important;
		align-self: center !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		flex: none !important;
		margin: 0 !important;
		transform: none !important;
	}

	html body #blppStickyBar#blppStickyBar.blpp_sticky_bar:not(.bl-past-above-fold) > .sticky-btn-purple {
		width: 168px !important;
		min-width: 168px !important;
		max-width: 168px !important;
		flex: 0 0 168px !important;
		justify-self: auto !important;
	}
}

/* Desktop product dock: the revealed actions use the same three-track geometry. */
@media (min-width: 1025px) {
	html body #blppStickyBar#blppStickyBar.blpp_sticky_bar.bl-past-above-fold[data-blpp-owned="1"],
	html body #blppStickyBar#blppStickyBar.blpp_sticky_bar.bl-past-above-fold[data-blfr-cta-row="1"] {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		grid-auto-flow: row !important;
		justify-content: stretch !important;
		align-items: center !important;
		gap: 8px !important;
		width: 100% !important;
		max-width: none !important;
		height: auto !important;
		min-height: 68px !important;
		padding: 8px 12px !important;
		box-sizing: border-box !important;
	}

	html body #blppStickyBar#blppStickyBar.blpp_sticky_bar.bl-past-above-fold > .blpp_sticky_btn {
		display: flex !important;
		grid-column: auto !important;
		justify-self: stretch !important;
		align-self: center !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		height: 52px !important;
		min-height: 52px !important;
		max-height: 52px !important;
		flex: none !important;
		margin: 0 !important;
		transform: none !important;
		box-sizing: border-box !important;
	}
}

/*
 * Final responsive CTA alignment.
 * The single-chat state keeps icon, label and chevron inline. Once all three
 * actions are shown, each action uses a distinct Font Awesome icon and the
 * redundant chevrons are removed.
 */
@media (max-width: 1024px) {
	html body #blppStickyBar#blppStickyBar > .blpp_sticky_btn {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: center !important;
		gap: clamp(4px, 1vw, 7px) !important;
		white-space: nowrap !important;
	}

	html body #blppStickyBar#blppStickyBar > .blpp_sticky_btn > .cta__icon {
		display: grid !important;
		place-items: center !important;
		flex: 0 0 24px !important;
		width: 24px !important;
		min-width: 24px !important;
		height: 24px !important;
		font-size: 12px !important;
		line-height: 1 !important;
	}

	html body #blppStickyBar#blppStickyBar > .blpp_sticky_btn > .cta__icon i {
		font-size: 12px !important;
		line-height: 1 !important;
	}

	html body #blppStickyBar#blppStickyBar > .blpp_sticky_btn > .cta__text {
		display: block !important;
		flex: 0 1 auto !important;
		min-width: 0 !important;
		white-space: nowrap !important;
	}

	html body #blppStickyBar#blppStickyBar.blpp_sticky_bar:not(.bl-past-above-fold) > .sticky-btn-purple {
		width: 176px !important;
		min-width: 176px !important;
		max-width: 176px !important;
		flex-basis: 176px !important;
	}

	html body #blppStickyBar#blppStickyBar.blpp_sticky_bar:not(.bl-past-above-fold) > .sticky-btn-purple > .cta__arrow {
		display: block !important;
		flex: 0 0 8px !important;
		width: 8px !important;
		min-width: 8px !important;
		height: 8px !important;
		margin: 0 0 0 2px !important;
		border: 0 !important;
		border-top: 2px solid currentColor !important;
		border-right: 2px solid currentColor !important;
		transform: rotate(45deg) !important;
	}

	html body #blppStickyBar#blppStickyBar.blpp_sticky_bar.bl-past-above-fold {
		grid-template-columns: minmax(0, 1.22fr) minmax(0, .98fr) minmax(0, .8fr) !important;
	}

	html body #blppStickyBar#blppStickyBar.blpp_sticky_bar.bl-past-above-fold > .blpp_sticky_btn > .cta__arrow {
		display: none !important;
	}
}

@media (max-width: 600px) {
	html body #blppStickyBar#blppStickyBar.blpp_sticky_bar.bl-past-above-fold {
		grid-template-columns: minmax(0, 1.24fr) minmax(0, .98fr) minmax(0, .78fr) !important;
		gap: 4px !important;
	}

	html body #blppStickyBar#blppStickyBar.blpp_sticky_bar.bl-past-above-fold > .blpp_sticky_btn {
		gap: 4px !important;
		padding-right: 4px !important;
		padding-left: 4px !important;
	}

	html body #blppStickyBar#blppStickyBar.blpp_sticky_bar.bl-past-above-fold > .blpp_sticky_btn > .cta__icon {
		display: grid !important;
		flex-basis: 21px !important;
		width: 21px !important;
		min-width: 21px !important;
		height: 21px !important;
		font-size: 10px !important;
	}

	html body #blppStickyBar#blppStickyBar.blpp_sticky_bar.bl-past-above-fold > .blpp_sticky_btn > .cta__icon i {
		font-size: 10px !important;
	}

	html body #blppStickyBar#blppStickyBar.blpp_sticky_bar.bl-past-above-fold > .blpp_sticky_btn > .cta__text {
		font-size: clamp(8.5px, 2.42vw, 10.5px) !important;
		letter-spacing: -.035em !important;
	}

	html body #blppStickyBar#blppStickyBar.blpp_sticky_bar:not(.bl-past-above-fold) > .sticky-btn-purple {
		width: 176px !important;
		min-width: 176px !important;
		max-width: 176px !important;
		flex-basis: 176px !important;
		gap: 6px !important;
	}
}

.ntx_result_cap .ntx_btn.blrp-icon-cta {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 9px !important;
	margin-top: 18px !important;
}

.ntx_result_cap .ntx_btn.blrp-icon-cta i {
	flex: 0 0 auto;
	font-size: .92em;
	line-height: 1;
}
