.bzgcsb-wrap {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
}

.bzgcsb-wrap *,
.bzgcsb-wrap *::before,
.bzgcsb-wrap *::after {
	box-sizing: border-box;
}

.bzgcsb-header {
	margin: 0 0 18px;
}

.bzgcsb-header h2 {
	margin: 0 0 8px;
	font-size: 28px;
	line-height: 1.2;
}

.bzgcsb-header p {
	margin: 0;
}

.bzgcsb-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 16px;
	width: 100%;
}

.bzgcsb-card,
.bzgcsb-empty,
.bzgcsb-notice,
.bzgcsb-diagnostics {
	background: #fff;
	border: 1px solid #d8d8d8;
	border-radius: 10px;
	padding: 18px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
	max-width: 100%;
	overflow-wrap: anywhere;
}

.bzgcsb-card-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}

.bzgcsb-card h3,
.bzgcsb-empty h3,
.bzgcsb-diagnostics h3 {
	margin: 0 0 6px;
	font-size: 20px;
	line-height: 1.25;
}

.bzgcsb-product-summary {
	margin: 0;
	font-size: 14px;
	line-height: 1.45;
	opacity: 0.85;
}

.bzgcsb-status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 82px;
	padding: 5px 9px;
	border-radius: 999px;
	background: #f1f1f1;
	border: 1px solid #d8d8d8;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	white-space: nowrap;
}

.bzgcsb-status--active,
.bzgcsb-status--completed,
.bzgcsb-status--processing {
	background: #ecf8f0;
	border-color: #bfe5ca;
}

.bzgcsb-status--on-hold,
.bzgcsb-status--pending,
.bzgcsb-status--pending-cancel {
	background: #fff7df;
	border-color: #f0dda3;
}

.bzgcsb-status--cancelled,
.bzgcsb-status--failed,
.bzgcsb-status--expired {
	background: #fff0f0;
	border-color: #efc0c0;
}

.bzgcsb-details {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
	margin: 0 0 15px;
}

.bzgcsb-detail {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 9px 0;
	border-bottom: 1px solid #eeeeee;
}

.bzgcsb-detail span {
	font-size: 14px;
	opacity: 0.75;
}

.bzgcsb-detail strong {
	font-size: 14px;
	text-align: right;
}

.bzgcsb-actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 12px;
}

.bzgcsb-button.button,
.woocommerce .bzgcsb-button.button {
	background-color: #000 !important;
	border: 1px solid #000 !important;
	border-radius: 5px !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	line-height: 1.2 !important;
	padding: 10px 14px !important;
	text-decoration: none !important;
}

.bzgcsb-button.button:hover,
.woocommerce .bzgcsb-button.button:hover {
	background-color: #262626 !important;
	border-color: #262626 !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

.bzgcsb-notice {
	margin: 0 0 16px;
}

.bzgcsb-notice--info {
	background: #f4f8ff;
	border-color: #c9ddff;
}

.bzgcsb-notice--error {
	background: #fff0f0;
	border-color: #efc0c0;
}

.bzgcsb-empty p {
	margin-bottom: 0;
}

.bzgcsb-diagnostics {
	margin-top: 18px;
	background: #f7f7f7;
}

.bzgcsb-diagnostics ul {
	margin-bottom: 0;
}

@media (max-width: 560px) {
	.bzgcsb-card-head,
	.bzgcsb-detail {
		display: block;
	}

	.bzgcsb-status {
		margin-top: 10px;
	}

	.bzgcsb-detail strong {
		display: block;
		text-align: left;
		margin-top: 3px;
	}
}

/* Hide duplicate empty-subscription notices that some subscription plugins/themes print
   after the bridge output on the legacy /my-account/wps_subscriptions/ endpoint. */
.bzgcsb-wps-subscriptions-page .woocommerce-MyAccount-content .bzgcsb-wrap ~ .woocommerce-info,
.bzgcsb-wps-subscriptions-page .woocommerce-MyAccount-content .bzgcsb-wrap ~ .woocommerce-message,
.bzgcsb-wps-subscriptions-page .woocommerce-MyAccount-content .bzgcsb-wrap ~ .woocommerce-notices-wrapper,
.bzgcsb-wps-subscriptions-page .woocommerce-MyAccount-content .bzgcsb-wrap ~ .no_subscriptions,
.bzgcsb-wps-subscriptions-page .woocommerce-MyAccount-content .bzgcsb-wrap ~ .no-subscriptions,
.bzgcsb-wps-subscriptions-page .woocommerce-MyAccount-content .bzgcsb-wrap ~ .wps_sfw_no_subscription,
.bzgcsb-wps-subscriptions-page .woocommerce-MyAccount-content .bzgcsb-wrap ~ .wps_sfw_no_subscriptions,
.bzgcsb-wps-subscriptions-page .woocommerce-MyAccount-content .bzgcsb-wrap ~ p {
	display: none !important;
}


/* Extra fallback for sites where a legacy WP Swings endpoint wrapper is still
   printed underneath the bridge output. The user is not using WP Swings, so this
   wrapper is safely suppressed on WooCommerce account content. */
.woocommerce-account .woocommerce-MyAccount-content .wps_sfw_account_wrap.wps_sfw_account_additional_wrap,
.woocommerce-account .woocommerce-MyAccount-content .wps_sfw_account_additional_wrap,
.bzgcsb-wps-subscriptions-page .woocommerce-MyAccount-content .wps_sfw_account_wrap.wps_sfw_account_additional_wrap,
.bzgcsb-wps-subscriptions-page .woocommerce-MyAccount-content .wps_sfw_account_additional_wrap {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
}
