/* Default: unboxed — sit inside existing page blocks without card chrome. */
.adv-brevo-dynamic-form-widget {
	width: 100%;
	padding: 0;
	background: transparent;
	border-radius: 0;
	box-shadow: none;
}

.adv-brevo-dynamic-form-widget--boxed {
	padding: 24px;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(10, 37, 64, 0.08);
}

/*
 * Advisera webinar sidebar card chrome.
 * Previously provided by hubspot.css `.webinar-form` (padding, white card, 1px
 * border). That file is only enqueued when a HubSpot widget is on the page, so
 * Brevo-only webinars lost the box. Independent of --boxed (inner form card).
 */
.single-webinar .webinar-sidebar .adv-brevo-form-embed.webinar-form {
	padding: 16px 18px;
	background: #fff;
	border-radius: 4px;
	border: 1px solid var(--color-mono-l, #e2e3e3);
}

.single-webinar .webinar-sidebar .adv-brevo-form-embed.webinar-form .adv-brevo-dynamic-form-widget--boxed {
	padding: 0;
	background: transparent;
	border-radius: 0;
	box-shadow: none;
}

.adv-brevo-dynamic-form-widget__title {
	margin: 0 0 20px;
	font-size: 22px;
	line-height: 1.3;
	font-weight: 700;
	color: #0a2540;
}

.adv-brevo-dynamic-form-widget__description {
	margin: 0 0 20px;
	font-size: 15px;
	line-height: 1.5;
	color: #5b6b7f;
}

.adv-brevo-dynamic-form-widget__form {
	margin: 0;
	transition: opacity 0.2s ease;
}

.adv-brevo-dynamic-form-widget.is-loading .adv-brevo-dynamic-form-widget__form {
	opacity: 0.55;
	pointer-events: none;
}

/* Hide non-shell fields until /resolve finishes (belt-and-suspenders vs initial HTML flash). */
.adv-brevo-dynamic-form-widget.is-loading .adv-brevo-dynamic-form-widget__field[data-field-key]:not([data-field-key="FIRSTNAME"]):not([data-field-key="LASTNAME"]):not([data-field-key="EMAIL"]) {
	display: none;
}

.adv-brevo-dynamic-form-widget.is-loading [data-field-source='dynamic'] {
	display: none;
}

.adv-brevo-dynamic-form-widget:not(.adv-brevo-dynamic-form-widget--on-dark) .adv-brevo-dynamic-form-widget__fields {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: 16px;
	row-gap: 14px;
}

.adv-brevo-dynamic-form-widget:not(.adv-brevo-dynamic-form-widget--on-dark) .adv-brevo-dynamic-form-widget__field {
	grid-column: 1 / -1;
}

.adv-brevo-dynamic-form-widget:not(.adv-brevo-dynamic-form-widget--on-dark) .adv-brevo-dynamic-form-widget__field--half {
	grid-column: span 1;
}

.adv-brevo-dynamic-form-widget__field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.adv-brevo-dynamic-form-widget__label {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	color: #0a2540;
}

.adv-brevo-dynamic-form-widget__label .required {
	color: #c0392b;
	margin-left: 2px;
}

/*
 * Beat Advisera theme + HubSpot input rules (element+attr selectors and
 * .hubspot-forms.adv-style input[type=…]) by scoping under the widget class
 * and stating height/padding/focus explicitly.
 */
.adv-brevo-dynamic-form-widget .adv-brevo-dynamic-form-widget__input,
.adv-brevo-dynamic-form-widget .adv-brevo-dynamic-form-widget__select,
.adv-brevo-dynamic-form-widget .adv-brevo-dynamic-form-widget__textarea,
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget input[type="text"],
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget input[type="email"],
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget input[type="tel"],
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget input[type="number"],
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget input[type="search"],
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget select,
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget textarea {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	height: auto;
	min-height: 0;
	padding: 10px 12px;
	border: 1px solid #cfd6e0;
	border-radius: 6px;
	font-size: 15px;
	line-height: 1.4;
	font-family: inherit;
	color: #0a2540;
	background-color: #fff;
	outline: none;
	box-shadow: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.adv-brevo-dynamic-form-widget .adv-brevo-dynamic-form-widget__select,
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding-right: 40px;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg width='13' height='8' viewBox='0 0 13 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M11.9125 0.866551C12.1703 1.12938 12.1663 1.55148 11.9034 1.80932L6.46685 7.14265C6.2058 7.39874 5.78718 7.39674 5.52859 7.13816L0.195028 1.80483C-0.065327 1.54449 -0.0653361 1.12238 0.195008 0.862021C0.455352 0.601665 0.877462 0.601656 1.13782 0.862L6.00447 5.72845L10.9697 0.857513C11.2325 0.599671 11.6546 0.603718 11.9125 0.866551Z' fill='%23333333'%3E%3C/path%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 20px center;
	background-size: 13px 8px;
	cursor: pointer;
}

.adv-brevo-dynamic-form-widget .adv-brevo-dynamic-form-widget__select::-ms-expand,
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget select::-ms-expand {
	display: none;
}

.adv-brevo-dynamic-form-widget .adv-brevo-dynamic-form-widget__textarea,
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget textarea {
	min-height: 96px;
	resize: vertical;
}

.adv-brevo-dynamic-form-widget .adv-brevo-dynamic-form-widget__input:focus,
.adv-brevo-dynamic-form-widget .adv-brevo-dynamic-form-widget__select:focus,
.adv-brevo-dynamic-form-widget .adv-brevo-dynamic-form-widget__textarea:focus,
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget input[type="text"]:focus,
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget input[type="email"]:focus,
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget input[type="tel"]:focus,
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget input[type="number"]:focus,
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget input[type="search"]:focus,
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget select:focus,
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget textarea:focus {
	outline: none;
	border: 1px solid #00a99d;
	border-color: #00a99d;
	box-shadow: 0 0 0 3px rgba(0, 169, 157, 0.15);
}

/*
 * Native :invalid rings only native <select> on some browsers (theme reset
 * uses outline:none !important on input/textarea, not select). Neutralize
 * that, then paint the same red border on every .is-invalid control.
 */
.adv-brevo-dynamic-form-widget input:invalid,
.adv-brevo-dynamic-form-widget select:invalid,
.adv-brevo-dynamic-form-widget textarea:invalid,
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget input:invalid,
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget select:invalid,
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget textarea:invalid {
	box-shadow: none;
	outline: none;
}

.adv-brevo-dynamic-form-widget .adv-brevo-dynamic-form-widget__input.is-invalid,
.adv-brevo-dynamic-form-widget .adv-brevo-dynamic-form-widget__select.is-invalid,
.adv-brevo-dynamic-form-widget .adv-brevo-dynamic-form-widget__textarea.is-invalid,
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget input[type="text"].is-invalid,
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget input[type="email"].is-invalid,
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget input[type="tel"].is-invalid,
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget input[type="number"].is-invalid,
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget input[type="search"].is-invalid,
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget select.is-invalid,
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget textarea.is-invalid {
	border: 1px solid #c0392b;
	border-color: #c0392b;
	box-shadow: none;
	outline: none;
}

.adv-brevo-dynamic-form-widget__checkboxes {
	display: grid;
	gap: 8px;
}

.adv-brevo-dynamic-form-widget__checkboxes--two-cols {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: 16px;
}

.adv-brevo-dynamic-form-widget__checkbox-item {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 15px;
	line-height: 1.4;
	color: #0a2540;
	cursor: pointer;
}

.adv-brevo-dynamic-form-widget__checkbox-item input {
	margin-top: 0;
	position: relative;
	top: 2px;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
}

.adv-brevo-dynamic-form-widget__checkbox-item input.is-invalid {
	outline: 1px solid #c0392b;
}

.adv-brevo-dynamic-form-widget__error {
	font-size: 12px;
	line-height: 1.4;
	color: #c0392b;
}

.adv-brevo-dynamic-form-widget__opt-in {
	margin-top: 14px;
}

.adv-brevo-dynamic-form-widget__checkbox-label {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 13px;
	line-height: 1.45;
	color: #5b6b7f;
	cursor: pointer;
}

.adv-brevo-dynamic-form-widget__checkbox-label input {
	margin-top: 0;
	position: relative;
	top: 2px;
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
}

.adv-brevo-dynamic-form-widget__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-top: 16px;
	padding: 12px 16px;
	border: 0;
	border-radius: 6px;
	background: #00a99d;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	cursor: pointer;
	transition: background 0.15s ease, opacity 0.15s ease;
}

.adv-brevo-dynamic-form-widget__submit:hover {
	background: #009187;
}

.adv-brevo-dynamic-form-widget__submit:disabled {
	opacity: 0.65;
	cursor: not-allowed;
}

/* Title / description stay full width; fields + controls can be constrained. */
.adv-brevo-dynamic-form-widget--narrow-fields .adv-brevo-dynamic-form-widget__fields,
.adv-brevo-dynamic-form-widget--narrow-fields .adv-brevo-dynamic-form-widget__opt-in,
.adv-brevo-dynamic-form-widget--narrow-fields .adv-brevo-dynamic-form-widget__submit {
	max-width: 28rem;
}

.adv-brevo-dynamic-form-widget--compact-submit .adv-brevo-dynamic-form-widget__submit {
	width: auto;
	min-width: 9.5rem;
	padding-left: 28px;
	padding-right: 28px;
}

.adv-brevo-dynamic-form-widget__status {
	margin-top: 16px;
	margin-bottom: 14px;
	padding: 10px 12px;
	border-radius: 6px;
	font-size: 14px;
	line-height: 1.45;
}

.adv-brevo-dynamic-form-widget__status.is-success {
	background: #e8f7f5;
	color: #0a5c56;
	padding: 20px 26px;
}

.adv-brevo-dynamic-form-widget__status.is-success strong,
.adv-brevo-dynamic-form-widget__status.is-success b {
	display: block;
	font-weight: 700;
	margin-bottom: 15px;
}

.adv-brevo-dynamic-form-widget__status.is-success strong + br,
.adv-brevo-dynamic-form-widget__status.is-success b + br {
	display: none;
}

.adv-brevo-dynamic-form-widget__status.is-error {
	background: #fdecea;
	color: #8a1f14;
}

.adv-brevo-dynamic-form-widget__status.is-info {
	background: #eef3f8;
	color: #0a2540;
}

.adv-brevo-dynamic-form-widget__download-wrap {
	margin: 0 0 14px;
}

.adv-brevo-dynamic-form-widget__download {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	box-sizing: border-box;
	padding: 12px 16px;
	border-radius: 6px;
	background: #0a2540;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	transition: background 0.15s ease, opacity 0.15s ease;
}

.adv-brevo-dynamic-form-widget__download:hover,
.adv-brevo-dynamic-form-widget__download:focus {
	background: #163a5f;
	color: #fff;
	text-decoration: none;
}

.adv-brevo-dynamic-form-widget__video-wrap {
	margin: 0 0 14px;
}

.adv-brevo-dynamic-form-widget__video {
	width: 100%;
}

.adv-brevo-dynamic-form-widget__video.adv-vimeo-normal-embed {
	aspect-ratio: 16 / 9;
}

.adv-brevo-dynamic-form-widget__video iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

.adv-brevo-dynamic-form-widget.is-complete .adv-brevo-dynamic-form-widget__form {
	display: none;
}

.adv-brevo-dynamic-form-widget__privacy {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid #e4e8ee;
	font-size: 12px;
	line-height: 1.5;
	color: #7a8798;
}

.adv-brevo-dynamic-form-widget__privacy-icon {
	flex: 0 0 auto;
	margin-top: 2px;
	color: #00a99d;
}

.adv-brevo-dynamic-form-widget__privacy-text p {
	margin: 0;
}

.adv-brevo-dynamic-form-widget__privacy-text a {
	color: #00a99d;
	text-decoration: underline;
}

@media (max-width: 767px) {
	.adv-brevo-dynamic-form-widget--boxed {
		padding: 20px 16px;
	}

	.adv-brevo-dynamic-form-widget__checkboxes--two-cols {
		grid-template-columns: 1fr;
	}

	.adv-brevo-dynamic-form-widget:not(.adv-brevo-dynamic-form-widget--on-dark) .adv-brevo-dynamic-form-widget__field--half {
		grid-column: 1 / -1;
	}
}

/*
 * Academy webinar “light mode”: compact identity row + readable text on dark panels.
 * Enabled per WordPress site ID (Brevo setting webinar_light_mode_blog_ids).
 */
.adv-brevo-dynamic-form-widget--on-dark .adv-brevo-dynamic-form-widget__title {
	color: #fff;
}

.adv-brevo-dynamic-form-widget--on-dark .adv-brevo-dynamic-form-widget__description {
	color: #d5e0e6;
}

.adv-brevo-dynamic-form-widget--on-dark .adv-brevo-dynamic-form-widget__fields {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 12px 10px;
}

.adv-brevo-dynamic-form-widget--on-dark .adv-brevo-dynamic-form-widget__field[data-field-key="FIRSTNAME"],
.adv-brevo-dynamic-form-widget--on-dark .adv-brevo-dynamic-form-widget__field[data-field-key="LASTNAME"],
.adv-brevo-dynamic-form-widget--on-dark .adv-brevo-dynamic-form-widget__field[data-field-key="EMAIL"] {
	flex: 1 1 9.5rem;
	min-width: 0;
}

.adv-brevo-dynamic-form-widget--on-dark .adv-brevo-dynamic-form-widget__field[data-field-source="dynamic"],
.adv-brevo-dynamic-form-widget--on-dark .adv-brevo-dynamic-form-widget__field:not([data-field-key="FIRSTNAME"]):not([data-field-key="LASTNAME"]):not([data-field-key="EMAIL"]) {
	flex: 1 1 100%;
}

.adv-brevo-dynamic-form-widget--on-dark .adv-brevo-dynamic-form-widget__label,
.adv-brevo-dynamic-form-widget--on-dark .adv-brevo-dynamic-form-widget__checkbox-item {
	color: #f2f6f8;
}

.adv-brevo-dynamic-form-widget--on-dark .adv-brevo-dynamic-form-widget__checkbox-label {
	color: #d5e0e6;
}

.adv-brevo-dynamic-form-widget--on-dark .adv-brevo-dynamic-form-widget__checkbox-label input,
.adv-brevo-dynamic-form-widget--on-dark .adv-brevo-dynamic-form-widget__checkbox-item input {
	margin-right: 4px;
}

.adv-brevo-dynamic-form-widget--on-dark .adv-brevo-dynamic-form-widget__privacy {
	border-top-color: rgba(255, 255, 255, 0.18);
	color: #d5e0e6;
}

.adv-brevo-dynamic-form-widget--on-dark .adv-brevo-dynamic-form-widget__privacy-icon {
	color: #9fd66a;
}

.adv-brevo-dynamic-form-widget--on-dark .adv-brevo-dynamic-form-widget__privacy-text a {
	color: #9fd66a;
}

.adv-brevo-dynamic-form-widget--on-dark .adv-brevo-dynamic-form-widget__identity-reset {
	color: #d5e0e6;
}

.adv-brevo-dynamic-form-widget--on-dark .adv-brevo-dynamic-form-widget__identity-reset-btn,
.adv-brevo-dynamic-form-widget--on-dark .adv-brevo-dynamic-form-widget__identity-reset-btn:hover,
.adv-brevo-dynamic-form-widget--on-dark .adv-brevo-dynamic-form-widget__identity-reset-btn:focus {
	color: #9fd66a;
}

.adv-brevo-dynamic-form-widget--on-dark .adv-brevo-dynamic-form-widget__submit {
	display: flex;
	background: #7ac142;
	width: 100%;
	max-width: 320px;
	margin-left: auto;
	margin-right: auto;
}

.adv-brevo-dynamic-form-widget--on-dark .adv-brevo-dynamic-form-widget__submit:hover {
	background: #6bb03a;
}

.adv-brevo-dynamic-form-widget--on-dark .adv-brevo-dynamic-form-widget__status.is-info {
	background: rgba(255, 255, 255, 0.08);
	color: #f2f6f8;
}

.adv-brevo-dynamic-form-widget--on-dark .adv-brevo-dynamic-form-widget__error {
	color: #ffb4ae;
}

@media (max-width: 600px) {
	.adv-brevo-dynamic-form-widget--on-dark .adv-brevo-dynamic-form-widget__field[data-field-key="FIRSTNAME"],
	.adv-brevo-dynamic-form-widget--on-dark .adv-brevo-dynamic-form-widget__field[data-field-key="LASTNAME"],
	.adv-brevo-dynamic-form-widget--on-dark .adv-brevo-dynamic-form-widget__field[data-field-key="EMAIL"] {
		flex: 1 1 100%;
	}
}

/* Advisera site type: 16px bold labels, 18px inputs and description. Academy blogs keep the defaults above. */
.adv-brevo-dynamic-form-widget--advisera-type .adv-brevo-dynamic-form-widget__description {
	font-size: 18px;
}

.adv-brevo-dynamic-form-widget--advisera-type .adv-brevo-dynamic-form-widget__label {
	font-size: 16px;
	font-weight: 700;
}

.adv-brevo-dynamic-form-widget--advisera-type .adv-brevo-dynamic-form-widget__input,
.adv-brevo-dynamic-form-widget--advisera-type .adv-brevo-dynamic-form-widget__select,
.adv-brevo-dynamic-form-widget--advisera-type .adv-brevo-dynamic-form-widget__textarea,
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget--advisera-type input[type="text"],
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget--advisera-type input[type="email"],
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget--advisera-type input[type="tel"],
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget--advisera-type input[type="number"],
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget--advisera-type input[type="search"],
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget--advisera-type select,
.adv-brevo-form-embed .adv-brevo-dynamic-form-widget--advisera-type textarea {
	font-size: 18px;
}

.adv-brevo-dynamic-form-widget--advisera-type .adv-brevo-dynamic-form-widget__checkbox-item {
	font-size: 18px;
}

.adv-brevo-dynamic-form-widget--advisera-type .adv-brevo-dynamic-form-widget__status.is-success {
	font-size: 18px;
}
