/* Preferred Source Button — front-end styles */

.psb-wrap {
	display: block;
	width: 100%;
	margin: 0;
}

.psb-align-left { text-align: left; }
.psb-align-center { text-align: center; }
.psb-align-right { text-align: right; }

.psb-align-left .psb-button-group,
.psb-align-left .psb-button,
.psb-align-left .psb-badge,
.psb-align-left .psb-badge-compact,
.psb-align-left .psb-card,
.psb-align-left [class^="psb-"] {
	margin-left: 0;
	margin-right: auto;
}

.psb-align-center .psb-button-group,
.psb-align-center .psb-button,
.psb-align-center .psb-badge,
.psb-align-center .psb-badge-compact,
.psb-align-center .psb-card,
.psb-align-center [class^="psb-"] {
	margin-left: auto;
	margin-right: auto;
}

.psb-align-right .psb-button-group,
.psb-align-right .psb-button,
.psb-align-right .psb-badge,
.psb-align-right .psb-badge-compact,
.psb-align-right .psb-card,
.psb-align-right [class^="psb-"] {
	margin-left: auto;
	margin-right: 0;
}

.psb-inline-wrap { margin: 1.5em 0; }

.psb-slot-header,
.psb-slot-mid,
.psb-slot-footer,
.psb-slot-toc-before,
.psb-slot-sidebar,
.psb-slot-custom {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 100%;
	max-width: 100%;
	margin: 1.25em 0;
	clear: both;
}

.single-banner-right .psb-slot-header,
.single-post-banner-section .psb-slot-header,
.single-banner-content .psb-slot-header {
	width: 100%;
	max-width: 100%;
	margin: 12px 0 0;
	flex: 0 0 auto;
}

.entry-content > .psb-slot-header {
	margin-top: 0;
	margin-bottom: 1.25em;
}

.psb-slot-toc,
.psb-slot-toc-before,
.psb-slot-share,
.psb-slot-sidebar-end,
.psb-slot-image,
.psb-slot-comments,
.psb-slot-custom {
	margin: 12px 0 16px;
	width: 100%;
	max-width: 100%;
}

.psb-slot-meta {
	display: block;
	width: auto !important;
	max-width: 300px;
	margin: 10px 0 12px;
}

.psb-slot-meta.psb-inline-wrap {
	margin: 20px 0 12px;
}

.psb-slot-meta .psb-wrap,
.psb-slot-meta .psb-button-group,
.psb-slot-meta .psb-cta-row {
	width: auto !important;
	max-width: 300px;
}

.psb-slot-meta .psb-hero,
.psb-slot-meta a.psb-hero {
	width: auto !important;
	max-width: 300px !important;
}

.psb-slot-toc .psb-wrap,
.psb-slot-toc-before .psb-wrap,
.psb-slot-share .psb-wrap,
.psb-slot-sidebar-end .psb-wrap,
.psb-slot-toc .psb-button-group,
.psb-slot-toc-before .psb-button-group,
.psb-slot-share .psb-button-group,
.psb-slot-sidebar-end .psb-button-group {
	width: 100%;
	max-width: 100%;
}

.psb-slot-toc a:not(.psb-hero),
.psb-slot-toc-before a:not(.psb-hero),
.psb-slot-share a:not(.psb-hero),
.psb-slot-sidebar-end a:not(.psb-hero),
.psb-slot-toc .psb-badge,
.psb-slot-toc-before .psb-badge,
.psb-slot-share .psb-badge,
.psb-slot-sidebar-end .psb-badge,
.psb-slot-toc .psb-button,
.psb-slot-toc-before .psb-button,
.psb-slot-share .psb-button,
.psb-slot-sidebar-end .psb-button {
	max-width: 100% !important;
	width: 100%;
	box-sizing: border-box;
	justify-content: center;
}

.psb-slot-toc .psb-hero,
.psb-slot-toc-before .psb-hero,
.psb-slot-share .psb-hero,
.psb-slot-sidebar-end .psb-hero {
	width: auto !important;
	max-width: min(100%, 300px) !important;
	justify-content: flex-start;
}

.psb-slot-toc .psb-cta-row,
.psb-slot-toc-before .psb-cta-row,
.psb-slot-share .psb-cta-row,
.psb-slot-sidebar-end .psb-cta-row {
	width: auto;
	max-width: 100%;
	justify-content: flex-start;
}

.psb-slot-toc .psb-hero-label,
.psb-slot-toc-before .psb-hero-label,
.psb-slot-share .psb-hero-label,
.psb-slot-sidebar-end .psb-hero-label {
	text-align: left;
}

#psb-smart-slots[hidden] {
	display: none !important;
}

.psb-button-group {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	max-width: min(100%, 420px);
	overflow: visible;
	position: relative;
}

.psb-align-center .psb-button-group { align-items: center; }
.psb-align-right .psb-button-group { align-items: flex-end; }

.psb-support-text {
	font-size: 13px;
	color: #5f6368;
	margin: 0;
	line-height: 1.45;
	font-weight: 400;
	max-width: 34em;
}

.psb-device-mobile { display: none; }
@media (max-width: 782px) {
	.psb-device-desktop { display: none !important; }
	.psb-device-mobile { display: block; }
}

.psb-cta-row {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: auto;
	max-width: 100%;
	vertical-align: middle;
	overflow: visible;
	background: transparent;
}

.psb-support-hover,
.psb-support-icon,
.psb-button-group {
	background: transparent;
}

.psb-cta-row > *,
.psb-align-left .psb-cta-row > *,
.psb-align-center .psb-cta-row > *,
.psb-align-right .psb-cta-row > * {
	align-self: center;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	vertical-align: middle;
	flex: 0 0 auto;
	width: auto !important;
	max-width: 100%;
}

.psb-cta-row > .psb-wrap {
	display: contents;
}

.psb-cta-row > .psb-hero,
.psb-cta-row > a.psb-hero {
	max-width: min(100%, 300px) !important;
	flex: 0 1 300px;
}

.psb-align-left .psb-cta-row,
.psb-align-center .psb-cta-row,
.psb-align-right .psb-cta-row {
	margin-left: 0;
	margin-right: 0;
}

.psb-align-center .psb-cta-row { justify-content: center; }
.psb-align-right .psb-cta-row { justify-content: flex-end; }

.psb-info-wrap {
	position: static;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	height: 16px;
	margin: 0 !important;
	line-height: 0;
	overflow: visible;
	background: transparent;
}

.psb-info-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	min-width: 16px;
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #1f1f1f;
	cursor: pointer;
	line-height: 0;
	box-shadow: none;
	margin: 0 !important;
	appearance: none;
	-webkit-appearance: none;
	vertical-align: middle;
	font-size: 0;
}

.psb-info-btn:hover,
.psb-info-btn:focus {
	border: 0;
	color: #000;
	outline: none;
	background: transparent;
}

.psb-info-svg {
	display: block;
	width: 16px;
	height: 16px;
}

.psb-support-popup {
	position: absolute;
	z-index: 40;
	left: 0;
	right: 0;
	width: auto;
	max-width: 100%;
	padding: 10px 12px;
	background: var(--psb-tooltip-bg, #ffffff);
	color: var(--psb-tooltip-fg, #1f1f1f);
	font-size: 13px;
	line-height: 1.45;
	font-weight: 400;
	border-radius: 0;
	border: none;
	box-shadow: 0 8px 14px -6px rgba(15, 23, 42, 0.22);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: none;
	overflow-wrap: anywhere;
	word-break: break-word;
	box-sizing: border-box;
	transition: opacity 0.12s ease, visibility 0.12s ease;
}

.psb-popup-above {
	bottom: calc(100% + 8px);
	top: auto;
}

.psb-popup-below {
	top: calc(100% + 8px);
	bottom: auto;
}

.psb-info-wrap .psb-support-popup,
.psb-support-hover .psb-support-popup {
	left: 0;
	right: 0;
	width: auto;
	max-width: 100%;
}

.psb-support-popup::before {
	content: "";
	position: absolute;
	width: 8px;
	height: 8px;
	background: var(--psb-tooltip-bg, #ffffff);
	transform: rotate(45deg);
	box-sizing: border-box;
	box-shadow: none;
	border: none;
}

.psb-popup-below::before {
	top: -5px;
	left: 16px;
	border-right: 0;
	border-bottom: 0;
}

.psb-popup-above::before {
	bottom: -5px;
	left: 16px;
	border-left: 0;
	border-top: 0;
}

.psb-support-icon .psb-popup-below::before,
.psb-support-icon .psb-popup-above::before {
	left: auto;
	right: 10px;
}

.psb-support-hover:hover .psb-support-popup,
.psb-support-hover:focus-within .psb-support-popup,
.psb-info-wrap:hover .psb-support-popup,
.psb-info-wrap:focus-within .psb-support-popup,
.psb-info-wrap.is-open .psb-support-popup {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.psb-align-right .psb-support-hover .psb-support-popup,
.psb-align-right .psb-info-wrap .psb-support-popup {
	left: 0;
	right: 0;
}

@media (max-width: 782px) {
	.psb-support-popup,
	.psb-info-wrap .psb-support-popup,
	.psb-support-hover .psb-support-popup {
		left: 0 !important;
		right: 0 !important;
		width: auto !important;
		max-width: min(100%, calc(100vw - 24px));
		box-sizing: border-box;
	}
	.psb-support-icon .psb-popup-below::before {
		left: auto;
		right: 8px;
	}
}

.psb-listing-wrap {
	margin: 0 0 20px;
	clear: both;
}

/* Hero cards — large Google icon + wrapped two-line label */
.psb-hero {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	width: auto;
	max-width: min(100%, 300px);
	padding: 8px 14px 8px 10px;
	background: #ffffff;
	border: 1px solid #d5d9e0;
	color: #121212;
	text-decoration: none;
	font-weight: 600;
	line-height: 1.3;
	white-space: normal;
	box-sizing: border-box;
	transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.psb-hero .psb-google-icon {
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	filter: none;
}
.psb-hero-label {
	display: block;
	flex: 1 1 auto;
	min-width: 0;
	text-align: left;
	font-weight: 600;
	white-space: normal;
	overflow-wrap: break-word;
	word-break: break-word;
}
.psb-hero-label strong,
.psb-hero-label .psb-site-name,
.psb-wrap a.psb-hero .psb-hero-label strong.psb-site-name {
	font-weight: 800 !important;
	font-synthesis: weight !important;
}
.psb-hero:hover,
.psb-hero:focus {
	box-shadow: 0 6px 18px rgba(15, 23, 42, 0.12);
	text-decoration: none;
	color: inherit;
}

.psb-hero-dark {
	background: #0b0b0f;
	border-color: #0b0b0f;
	color: #ffffff;
}
.psb-hero-dark:hover,
.psb-hero-dark:focus {
	color: #ffffff;
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.35);
}

.psb-hero-gradient {
	border: 2px solid transparent;
	background:
		linear-gradient(#ffffff, #ffffff) padding-box,
		linear-gradient(95deg, #4285f4, #34a853, #fbbc05, #ea4335) border-box;
}

.psb-hero-dark-ring {
	border: 2px solid transparent;
	background:
		linear-gradient(#0b0b0f, #0b0b0f) padding-box,
		linear-gradient(95deg, #4285f4, #34a853, #fbbc05, #ea4335) border-box;
	color: #ffffff;
	box-shadow: 0 0 22px rgba(66, 133, 244, 0.32);
}
.psb-hero-dark-ring:hover,
.psb-hero-dark-ring:focus {
	color: #ffffff;
	box-shadow: 0 0 28px rgba(66, 133, 244, 0.45);
}

.psb-hero-blue {
	background: #1a73e8;
	border-color: #1a73e8;
	color: #ffffff;
}
.psb-hero-blue:hover,
.psb-hero-blue:focus {
	color: #ffffff;
	box-shadow: 0 8px 22px rgba(26, 115, 232, 0.32);
}

.psb-hero-soft {
	background: #f1f3f4;
	border-color: #f1f3f4;
	color: #1f1f1f;
}

.psb-hero-shadow {
	background: #ffffff;
	border-color: #ffffff;
	color: #121212;
	box-shadow: 0 10px 26px rgba(15, 23, 42, 0.14);
}
.psb-hero-shadow:hover,
.psb-hero-shadow:focus {
	box-shadow: 0 14px 32px rgba(15, 23, 42, 0.2);
}

.psb-hero-glass {
	background: rgba(255, 255, 255, 0.55);
	border-color: rgba(255, 255, 255, 0.7);
	color: #101828;
	-webkit-backdrop-filter: blur(14px) saturate(150%);
	backdrop-filter: blur(14px) saturate(150%);
	box-shadow: 0 8px 30px rgba(15, 23, 42, 0.12);
}
.psb-hero-glass:hover,
.psb-hero-glass:focus {
	box-shadow: 0 12px 36px rgba(15, 23, 42, 0.18);
}

.psb-hero-serif {
	background: #fffdf9;
	border-color: #e4ddd2;
	color: #141414;
	font-family: Georgia, "Times New Roman", Times, serif;
	font-weight: 400;
	letter-spacing: 0.005em;
}
.psb-hero-serif .psb-hero-label {
	font-weight: 400;
}
.psb-hero-serif .psb-hero-label strong {
	font-weight: 700;
}

.psb-hero-luxe {
	background: #101114;
	border-color: #c9a227;
	color: #f5f1e6;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.psb-hero-luxe .psb-hero-label {
	font-weight: 500;
}
.psb-hero-luxe .psb-hero-label strong {
	font-weight: 700;
	color: #e7c96b;
}
.psb-hero-luxe:hover,
.psb-hero-luxe:focus {
	color: #f5f1e6;
	box-shadow: 0 10px 26px rgba(0, 0, 0, 0.4);
}

.psb-hero-panel {
	padding: 0;
	gap: 0;
	overflow: hidden;
}
.psb-hero-icon-panel {
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: stretch;
	flex: 0 0 auto;
	padding: 8px 10px;
	background: #f7f9fc;
	border-right: 1px solid #e5e9f0;
}
.psb-hero-panel .psb-hero-label {
	padding: 8px 14px;
}

.psb-hero-minimal {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 4px 0;
	box-shadow: none;
	color: #111827;
}
.psb-hero-minimal .psb-hero-label {
	padding-bottom: 3px;
	border-bottom: 1px solid var(--psb-accent, currentColor);
}
.psb-hero-minimal:hover,
.psb-hero-minimal:focus {
	box-shadow: none;
	opacity: 0.85;
}

/* Toolbar pill */
.psb-bbc {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	background: #ffffff;
	color: #121212;
	border: 1px solid #8a8a8a;
	text-decoration: none;
	font-weight: 700;
	line-height: 1.2;
	transition: background 0.15s ease, border-color 0.15s ease;
}
.psb-bbc:hover,
.psb-bbc:focus {
	background: #f6f6f6;
	border-color: #121212;
	text-decoration: none;
	color: #121212;
}

/* Follow button */
.psb-sej {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 16px;
	background: #ffffff;
	border: 2px solid #1a73e8;
	color: #1a73e8;
	text-decoration: none;
	font-weight: 700;
	line-height: 1.25;
	transition: background 0.15s ease;
}
.psb-sej:hover,
.psb-sej:focus {
	background: #e8f0fe;
	text-decoration: none;
}

/* Inline text link */
.psb-sel {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 2px 0;
	background: transparent;
	border: none;
	color: #0066cc;
	text-decoration: underline;
	font-weight: 600;
	line-height: 1.4;
}
.psb-sel:hover,
.psb-sel:focus {
	color: #004999;
	text-decoration: underline;
}

/* Dark pill */
.psb-forbes {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	background: #0f0f0f;
	color: #ffffff;
	border: 1px solid #0f0f0f;
	text-decoration: none;
	font-weight: 600;
	line-height: 1.25;
	transition: opacity 0.15s ease, background 0.15s ease;
}
.psb-forbes:hover,
.psb-forbes:focus {
	opacity: 0.92;
	background: #222222;
	text-decoration: none;
	color: #ffffff;
}

/* Soft outline */
.psb-guardian {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 16px;
	background: #f6f6f6;
	color: #121212;
	border: 1px solid #dcdcdc;
	text-decoration: none;
	font-weight: 700;
	line-height: 1.3;
	transition: background 0.15s ease, border-color 0.15s ease;
}
.psb-guardian:hover,
.psb-guardian:focus {
	background: #ffffff;
	border-color: #052962;
	text-decoration: none;
	color: #052962;
}

/* Accent chip */
.psb-reuters {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px 8px 10px;
	background: #ffffff;
	color: #404040;
	border: 1px solid #e0e0e0;
	border-left: 3px solid #ff8000;
	text-decoration: none;
	font-weight: 600;
	font-size: 12px;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	line-height: 1.2;
	transition: background 0.15s ease;
}
.psb-reuters:hover,
.psb-reuters:focus {
	background: #fafafa;
	text-decoration: none;
	color: #404040;
}

/* Bold outline */
.psb-techcrunch {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	background: #ffffff;
	border: 2px solid #0f0f0f;
	color: #0f0f0f;
	text-decoration: none;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	font-size: 12px;
	line-height: 1.2;
	transition: background 0.15s ease, color 0.15s ease;
}
.psb-techcrunch:hover,
.psb-techcrunch:focus {
	background: #0f0f0f;
	color: #ffffff;
	text-decoration: none;
}

/* Newsroom minimal underline */
.psb-nyt {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 0;
	background: transparent;
	border: none;
	border-bottom: 1px solid currentColor;
	color: #121212;
	text-decoration: none;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.4;
	border-radius: 0 !important;
}
.psb-nyt:hover,
.psb-nyt:focus {
	opacity: 0.7;
	text-decoration: none;
	color: #121212;
}

/* Stacked promo panel */
.psb-stacked {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	background: #f8f9fa;
	border: 1px solid #e8eaed;
	color: #202124;
	text-decoration: none;
	font-weight: 600;
	line-height: 1.35;
	max-width: min(100%, 360px);
	box-shadow: 0 1px 2px rgba(60, 64, 67, 0.08);
	transition: box-shadow 0.15s ease, background 0.15s ease;
}
.psb-stacked:hover,
.psb-stacked:focus {
	background: #ffffff;
	box-shadow: 0 2px 8px rgba(60, 64, 67, 0.12);
	text-decoration: none;
	color: #202124;
}
.psb-stacked-icon { flex-shrink: 0; display: flex; }
.psb-stacked-label { text-align: left; }

/* Banner strip */
.psb-banner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	max-width: 100%;
	padding: 12px 16px;
	background: linear-gradient(90deg, #e8f0fe 0%, #f8f9fa 100%);
	border: 1px solid #d2e3fc;
	color: #174ea6;
	text-decoration: none;
	font-weight: 600;
	line-height: 1.3;
	box-sizing: border-box;
	transition: background 0.15s ease;
}
.psb-banner:hover,
.psb-banner:focus {
	background: linear-gradient(90deg, #d2e3fc 0%, #e8f0fe 100%);
	text-decoration: none;
	color: #174ea6;
}

/* Small chip */
.psb-chip {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 10px;
	background: #eef3fc;
	color: #1967d2;
	border: 1px solid #d2e3fc;
	text-decoration: none;
	font-weight: 600;
	font-size: 12px;
	line-height: 1.2;
	transition: background 0.15s ease;
}
.psb-chip:hover,
.psb-chip:focus {
	background: #d2e3fc;
	text-decoration: none;
	color: #174ea6;
}

/* Material outline */
.psb-outline {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 20px;
	background: transparent;
	border: 1px solid #1a73e8;
	color: #1a73e8;
	text-decoration: none;
	font-weight: 600;
	line-height: 1.25;
	transition: background 0.15s ease;
}
.psb-outline:hover,
.psb-outline:focus {
	background: rgba(26, 115, 232, 0.08);
	text-decoration: none;
}

/* Ghost — frosted outline (works on light & dark) */
.psb-ghost {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	width: auto;
	max-width: 100%;
	padding: 10px 18px;
	background: rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1.5px solid rgba(255, 255, 255, 0.55);
	color: #ffffff;
	text-decoration: none;
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.25;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
	transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
.psb-ghost:hover,
.psb-ghost:focus {
	background: rgba(255, 255, 255, 0.16);
	border-color: rgba(255, 255, 255, 0.85);
	box-shadow: 0 6px 18px rgba(15, 23, 42, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.22);
	transform: translateY(-1px);
	text-decoration: none;
	color: #ffffff;
}

/* Admin / style picker: readable ghost on light bg */
.psb-admin-preview .psb-ghost,
.psb-style-option-preview .psb-ghost {
	color: #1e293b;
	border-color: rgba(15, 23, 42, 0.22);
	background: rgba(255, 255, 255, 0.72);
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.psb-admin-preview .psb-ghost:hover,
.psb-style-option-preview .psb-ghost:hover {
	color: #0f172a;
	border-color: rgba(15, 23, 42, 0.35);
	background: rgba(255, 255, 255, 0.92);
}

/* —— Original / elegant styles —— */

/* Soft CTA */
.psb-soft-cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	width: auto;
	max-width: 100%;
	padding: 11px 18px;
	background: color-mix(in srgb, var(--psb-accent, #1a73e8) 12%, #ffffff);
	color: var(--psb-accent, #1a73e8);
	border: 1px solid color-mix(in srgb, var(--psb-accent, #1a73e8) 18%, transparent);
	text-decoration: none;
	font-weight: 650;
	line-height: 1.3;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
	transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.psb-soft-cta:hover,
.psb-soft-cta:focus {
	transform: translateY(-1px);
	background: color-mix(in srgb, var(--psb-accent, #1a73e8) 16%, #ffffff);
	box-shadow: 0 6px 16px rgba(26, 115, 232, 0.14);
	text-decoration: none;
	color: var(--psb-accent, #1a73e8);
}

/* Split bar */
.psb-split-bar {
	display: inline-flex;
	align-items: stretch;
	width: auto;
	max-width: min(100%, 360px);
	overflow: hidden;
	padding: 0;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	text-decoration: none;
	color: #0f172a;
	font-weight: 600;
	line-height: 1.3;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}
.psb-split-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 14px;
	background: #1a73e8;
}
.psb-split-icon .psb-google-icon {
	filter: brightness(0) invert(1);
}
.psb-split-label {
	padding: 12px 16px;
}
.psb-split-bar:hover,
.psb-split-bar:focus {
	border-color: #cbd5e1;
	text-decoration: none;
	color: #0f172a;
}

/* Neon edge */
.psb-neon-edge {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	width: auto;
	max-width: 100%;
	padding: 11px 18px;
	background: #0b1220;
	color: #f8fafc;
	border: 1px solid #38bdf8;
	text-decoration: none;
	font-weight: 650;
	line-height: 1.3;
	box-shadow: 0 0 0 1px rgba(56, 189, 248, 0.25), 0 0 20px rgba(56, 189, 248, 0.18);
	transition: background 0.15s ease, box-shadow 0.15s ease;
}
.psb-neon-edge:hover,
.psb-neon-edge:focus {
	background: #111827;
	box-shadow: 0 0 0 1px rgba(56, 189, 248, 0.4), 0 0 28px rgba(56, 189, 248, 0.28);
	text-decoration: none;
	color: #ffffff;
}

/* Icon bubble — shrink-wrap, centered icon + label */
.psb-icon-bubble {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	width: fit-content;
	max-width: 100%;
	padding: 7px 16px 7px 7px;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	color: #0f172a;
	text-decoration: none;
	font-weight: 600;
	line-height: 1.25;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
	transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
.psb-bubble {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	padding: 0;
	margin: 0;
	line-height: 0;
	border-radius: 50%;
	background: linear-gradient(145deg, #f8fafc 0%, #e8eef5 100%);
	border: 1px solid #e2e8f0;
	flex: 0 0 34px;
	box-sizing: border-box;
	overflow: hidden;
}
.psb-bubble .psb-google-icon {
	display: block;
	width: 18px;
	height: 18px;
	margin: 0;
	padding: 0;
	flex-shrink: 0;
	vertical-align: middle;
}
.psb-icon-bubble > span:not(.psb-bubble) {
	flex: 0 1 auto;
	white-space: nowrap;
	padding-right: 2px;
}
.psb-icon-bubble:hover,
.psb-icon-bubble:focus {
	border-color: #cbd5e1;
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
	transform: translateY(-1px);
	text-decoration: none;
	color: #0f172a;
}

/* Elevated card */
.psb-elev-card {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	width: auto;
	max-width: min(100%, 340px);
	padding: 14px 16px;
	background: #ffffff;
	border: 1px solid #e8ecf1;
	border-top: 3px solid #1a73e8;
	color: #0f172a;
	text-decoration: none;
	font-weight: 600;
	line-height: 1.35;
	box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
	transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.psb-elev-card:hover,
.psb-elev-card:focus {
	transform: translateY(-2px);
	box-shadow: 0 14px 32px rgba(15, 23, 42, 0.12);
	text-decoration: none;
	color: #0f172a;
}

/* Accent rail */
.psb-accent-rail {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	width: auto;
	max-width: min(100%, 380px);
	padding: 12px 16px 12px 14px;
	background: color-mix(in srgb, var(--psb-accent, #1a73e8) 8%, #ffffff);
	border: 1px solid #e2e8f0;
	border-left: 4px solid #1a73e8;
	color: #0f172a;
	text-decoration: none;
	font-weight: 600;
	line-height: 1.35;
}
.psb-accent-rail:hover,
.psb-accent-rail:focus {
	background: #ffffff;
	text-decoration: none;
	color: #0f172a;
}

/* Duo pill */
.psb-duo-pill {
	display: inline-flex;
	align-items: stretch;
	width: auto;
	overflow: hidden;
	padding: 0;
	border: none;
	text-decoration: none;
	font-weight: 650;
	line-height: 1.2;
	box-shadow: 0 2px 10px rgba(15, 23, 42, 0.14);
}
.psb-duo-left {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 12px;
	background: #1a73e8;
}
.psb-duo-left .psb-google-icon {
	filter: brightness(0) invert(1);
}
.psb-duo-right {
	display: inline-flex;
	align-items: center;
	padding: 10px 16px;
	background: #0f172a;
	color: #ffffff;
	white-space: nowrap;
}
.psb-duo-pill:hover,
.psb-duo-pill:focus {
	opacity: 0.94;
	text-decoration: none;
}

/* Aurora — soft multi-stop gradient pill */
.psb-aurora {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	width: auto;
	max-width: 100%;
	padding: 11px 18px;
	background: linear-gradient(135deg, #1a73e8 0%, #5b8def 42%, #8b5cf6 100%);
	color: #ffffff;
	border: none;
	text-decoration: none;
	font-weight: 650;
	line-height: 1.3;
	box-shadow: 0 8px 22px rgba(26, 115, 232, 0.28);
	transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}
.psb-aurora .psb-google-icon {
	filter: brightness(0) invert(1);
}
.psb-aurora:hover,
.psb-aurora:focus {
	transform: translateY(-1px);
	box-shadow: 0 12px 28px rgba(91, 33, 182, 0.28);
	filter: saturate(1.05);
	text-decoration: none;
	color: #ffffff;
}

/* Sunset — warm gradient fill */
.psb-sunset {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	width: auto;
	max-width: 100%;
	padding: 11px 18px;
	background: linear-gradient(135deg, #ff6a3d 0%, #ff5f6d 48%, #c44dff 100%);
	color: #ffffff;
	border: none;
	text-decoration: none;
	font-weight: 650;
	line-height: 1.3;
	box-shadow: 0 8px 22px rgba(255, 95, 109, 0.28);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.psb-sunset .psb-google-icon {
	filter: brightness(0) invert(1);
}
.psb-sunset:hover,
.psb-sunset:focus {
	transform: translateY(-1px);
	box-shadow: 0 12px 28px rgba(196, 77, 255, 0.26);
	text-decoration: none;
	color: #ffffff;
}

/* Gradient ring — white body, gradient outline (readable dark text) */
.psb-gradient-ring {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	width: auto;
	max-width: 100%;
	padding: 10px 17px;
	position: relative;
	color: #1e3a5f;
	border: 1.5px solid transparent;
	background:
		linear-gradient(#ffffff, #ffffff) padding-box,
		linear-gradient(135deg, var(--psb-accent, #1a73e8), var(--psb-grad, #ff5f6d)) border-box;
	text-decoration: none;
	font-weight: 650;
	line-height: 1.3;
	box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.psb-gradient-ring span {
	color: inherit;
	position: relative;
	z-index: 1;
}
.psb-gradient-ring:hover,
.psb-gradient-ring:focus {
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(26, 115, 232, 0.12);
	text-decoration: none;
	color: #0f172a;
}

.psb-semrush {
	font-weight: 600;
	box-shadow: 0 2px 8px rgba(255, 98, 0, 0.08);
}

.psb-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 11px 18px;
	border-radius: 8px;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	line-height: 1.35;
	border: none;
	box-shadow: 0 1px 2px rgba(60, 64, 67, 0.18);
	transition: opacity 0.15s ease, box-shadow 0.15s ease;
}
.psb-button:hover,
.psb-button:focus {
	opacity: 0.92;
	text-decoration: none;
	box-shadow: 0 2px 6px rgba(60, 64, 67, 0.22);
}

.psb-button:focus-visible,
.psb-bbc:focus-visible,
.psb-sej:focus-visible,
.psb-forbes:focus-visible,
.psb-sel:focus-visible,
.psb-guardian:focus-visible,
.psb-outline:focus-visible {
	outline: 2px solid #1a73e8;
	outline-offset: 2px;
}

.psb-badge {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 16px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	line-height: 1.3;
	transition: opacity 0.15s ease, box-shadow 0.15s ease;
	box-shadow: 0 1px 2px rgba(60, 64, 67, 0.12);
}
.psb-badge:hover,
.psb-badge:focus {
	opacity: 0.92;
	text-decoration: none;
}
.psb-badge-light {
	background: #ffffff;
	color: #1f1f1f;
	border: 1px solid #dadce0;
}
.psb-badge-dark {
	background: #202124;
	color: #ffffff;
	border: 1px solid #202124;
}

.psb-badge-compact {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 12px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 500;
	text-decoration: none;
	color: #3c4043;
	background: #f1f3f4;
	border: 1px solid transparent;
	transition: background 0.15s ease;
}
.psb-badge-compact:hover,
.psb-badge-compact:focus {
	background: #e8eaed;
	text-decoration: none;
}
.psb-badge-compact .psb-google-icon {
	width: 14px;
	height: 14px;
}

/* Button card style only (anchor) — do not target admin .psb-settings-card */
a.psb-card {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	border-radius: 12px;
	border: 2px solid;
	background: #ffffff;
	text-decoration: none;
	color: #202124;
	font-size: 14px;
	font-weight: 500;
	max-width: min(100%, 340px);
	line-height: 1.4;
	box-shadow: 0 1px 3px rgba(60, 64, 67, 0.1);
	transition: opacity 0.15s ease, box-shadow 0.15s ease;
}
a.psb-card:hover,
a.psb-card:focus {
	opacity: 0.94;
	text-decoration: none;
	box-shadow: 0 3px 10px rgba(60, 64, 67, 0.14);
}
a.psb-card .psb-google-icon {
	width: 28px;
	height: 28px;
	flex-shrink: 0;
}
a.psb-card-gradient,
a.psb-card.psb-card-gradient {
	border-style: solid;
	border-width: 2px;
}

.psb-google-icon {
	flex-shrink: 0;
	display: block;
}

.psb-floating {
	position: fixed;
	bottom: 24px;
	z-index: 9999;
	max-width: calc(100vw - 24px);
	filter: drop-shadow(0 4px 14px rgba(0, 0, 0, 0.16));
}
.psb-floating .psb-wrap { width: auto; }
.psb-floating-right { right: 24px; }
.psb-floating-left { left: 24px; }
.psb-floating.is-waiting {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
.psb-floating.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.psb-wrap [google-add-preferred-source-btn] {
	display: inline-block;
	min-height: 40px;
}

@media (max-width: 480px) {
	.psb-floating {
		bottom: 12px;
		left: 12px !important;
		right: 12px !important;
		max-width: none;
	}
	.psb-floating-right,
	.psb-floating-left {
		left: 12px;
		right: 12px;
	}
	.psb-floating .psb-wrap,
	.psb-floating .psb-button-group,
	.psb-floating .psb-button,
	.psb-floating .psb-badge,
	.psb-floating a.psb-card,
	.psb-floating .psb-banner,
	.psb-floating .psb-stacked {
		width: 100%;
		max-width: none;
		justify-content: center;
		text-align: center;
	}
	.psb-support-text { font-size: 12px; }
}
