/* =========================================================
   FOLLO BuddyPress notices / feedback
   Replaces the default BuddyPress notification-strip look.
   ========================================================= */

body.follo-ui .buddypress .bp-feedback,
body.follo-ui .buddypress .bp-template-notice,
body.follo-ui #buddypress .bp-template-notice,
body.follo-ui #buddypress div#message {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	width: 100%;
	margin: 16px 0 22px;
	padding: 14px 16px;
	border: 1px solid #bfdbfe;
	border-left: 4px solid var(--follo-primary);
	border-radius: 10px;
	background: #f8fbff;
	color: #334155;
	box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
	font-size: 14px;
	line-height: 1.5;
	overflow: hidden;
}

/* Remove old BuddyPress block/strip styling. */
body.follo-ui .buddypress .bp-feedback::before,
body.follo-ui .buddypress .bp-template-notice::before,
body.follo-ui #buddypress .bp-template-notice::before,
body.follo-ui #buddypress div#message::before {
	content: "";
	flex: 0 0 8px;
	width: 8px;
	height: 8px;
	margin-top: .48em;
	border-radius: 50%;
	background: currentColor;
	opacity: .72;
}

body.follo-ui .buddypress .bp-feedback p,
body.follo-ui .buddypress .bp-template-notice p,
body.follo-ui #buddypress .bp-template-notice p,
body.follo-ui #buddypress div#message p {
	flex: 1 1 auto;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font-size: inherit;
	line-height: inherit;
}

/* Neutralize BuddyPress icon strip / legacy icon block. */
body.follo-ui .buddypress .bp-feedback .bp-icon,
body.follo-ui .buddypress .bp-template-notice .bp-icon,
body.follo-ui #buddypress .bp-template-notice .bp-icon,
body.follo-ui #buddypress div#message .bp-icon {
	display: none;
}

/* Informational */
body.follo-ui .buddypress .bp-feedback.info,
body.follo-ui .buddypress .bp-template-notice.info,
body.follo-ui #buddypress div#message.info {
	border-color: #bae6fd;
	border-left-color: #0284c7;
	background: #f0f9ff;
	color: #075985;
}

/* Loading / waiting */
body.follo-ui .buddypress .bp-feedback.loading,
body.follo-ui .buddypress .bp-template-notice.loading,
body.follo-ui #buddypress .bp-template-notice.loading,
body.follo-ui #buddypress div#message.loading {
	border-color: #fde68a;
	border-left-color: #f59e0b;
	background: #fffbeb;
	color: #92400e;
}

/* Success */
body.follo-ui .buddypress .bp-feedback.success,
body.follo-ui .buddypress .bp-template-notice.updated,
body.follo-ui .buddypress .bp-template-notice.success,
body.follo-ui #buddypress div#message.updated,
body.follo-ui #buddypress div#message.success {
	border-color: #bbf7d0;
	border-left-color: var(--follo-success);
	background: var(--follo-success-soft);
	color: #166534;
}

/* Warning */
body.follo-ui .buddypress .bp-feedback.warning,
body.follo-ui .buddypress .bp-template-notice.warning,
body.follo-ui #buddypress div#message.warning {
	border-color: #fed7aa;
	border-left-color: var(--follo-warning);
	background: var(--follo-warning-soft);
	color: #9a3412;
}

/* Error / destructive */
body.follo-ui .buddypress .bp-feedback.error,
body.follo-ui .buddypress .bp-template-notice.error,
body.follo-ui #buddypress div#message.error {
	border-color: #fecdd3;
	border-left-color: var(--follo-danger);
	background: var(--follo-danger-soft);
	color: #9f1239;
}

/* Empty states: visually quieter than an error, but still intentional. */
body.follo-ui .buddypress .bp-feedback.no-feedback,
body.follo-ui .buddypress .bp-template-notice.no-feedback,
body.follo-ui #buddypress .bp-template-notice.no-feedback {
	border-color: var(--follo-border);
	border-left-color: #94a3b8;
	background: var(--follo-surface-soft);
	color: #475569;
}

/* Delete-account warning should read as a serious danger panel. */
body.follo-ui .buddypress form[action*="delete-account"] .bp-feedback,
body.follo-ui .buddypress form[action*="delete-account"] .bp-template-notice,
body.follo-ui #buddypress form[action*="delete-account"] .bp-template-notice,
body.follo-ui .buddypress .delete-account .bp-feedback,
body.follo-ui #buddypress .delete-account .bp-template-notice {
	border-color: #fecaca;
	border-left-color: var(--follo-danger);
	background: #fff7f7;
	color: #991b1b;
}

/* Links inside notices inherit the semantic color and stay readable. */
body.follo-ui .buddypress .bp-feedback a,
body.follo-ui .buddypress .bp-template-notice a,
body.follo-ui #buddypress .bp-template-notice a,
body.follo-ui #buddypress div#message a {
	color: inherit;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Hide accidental empty notice boxes. */
body.follo-ui .buddypress .bp-feedback:empty,
body.follo-ui .buddypress .bp-template-notice:empty,
body.follo-ui #buddypress .bp-template-notice:empty,
body.follo-ui #buddypress div#message:empty {
	display: none;
}

/* Mobile */
@media (max-width: 767px) {
	body.follo-ui .buddypress .bp-feedback,
	body.follo-ui .buddypress .bp-template-notice,
	body.follo-ui #buddypress .bp-template-notice,
	body.follo-ui #buddypress div#message {
		gap: 10px;
		margin: 14px 0 18px;
		padding: 13px 14px;
		border-radius: 9px;
		font-size: 13.5px;
	}
}


/* =========================================================
   Legacy BuddyPress template notice reset
   Handles older BuddyPress/Divi markup where the colored icon
   is rendered as the first child span/div.
   ========================================================= */

body.follo-ui #buddypress .bp-template-notice,
body.follo-ui #buddypress .bp-feedback,
body.follo-ui #buddypress div#message {
	min-height: 0;
	border-radius: 10px;
	overflow: hidden;
}

/* Remove left color blocks/icons produced by older template packs. */
body.follo-ui #buddypress .bp-template-notice > span:first-child,
body.follo-ui #buddypress .bp-template-notice > div:first-child:not(p),
body.follo-ui #buddypress .bp-feedback > span:first-child,
body.follo-ui #buddypress .bp-feedback > div:first-child:not(p),
body.follo-ui #buddypress div#message > span:first-child,
body.follo-ui #buddypress div#message > div:first-child:not(p) {
	display: none !important;
	width: 0 !important;
	min-width: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
}

/* Delete Account: force a proper danger notice even when BuddyPress
   uses a plain template notice with no error class. */
body.follo-ui #buddypress .delete-account .bp-template-notice,
body.follo-ui #buddypress .delete-account .bp-feedback,
body.follo-ui #buddypress form[action*="delete-account"] .bp-template-notice,
body.follo-ui #buddypress form[action*="delete-account"] .bp-feedback,
body.follo-ui #buddypress .settings-input.delete-account .bp-template-notice {
	display: flex !important;
	padding: 14px 16px !important;
	border: 1px solid #fecaca !important;
	border-left: 4px solid var(--follo-danger) !important;
	border-radius: 10px !important;
	background: #fff7f7 !important;
	color: #991b1b !important;
	box-shadow: 0 1px 2px rgba(15, 23, 42, .04) !important;
}

/* Ensure legacy paragraph backgrounds cannot survive inside delete warning. */
body.follo-ui #buddypress .delete-account .bp-template-notice p,
body.follo-ui #buddypress form[action*="delete-account"] .bp-template-notice p {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	color: inherit !important;
}
