/* ======================================================================
 * Reviewtexium — digest sign-up forms, popup and status page (v0.44.0).
 * ==================================================================== */
.rte-dg, .rte-dg-pop, .rte-dg-status {
	--dg-ink: #0b1220;
	--dg-text: #344054;
	--dg-muted: #5d6b82;
	--dg-line: #e4e7f0;
	--dg-accent: var( --rte-color-primary, #5b4bf0 );
	box-sizing: border-box;
	font-family: inherit;
}
.rte-dg *, .rte-dg-pop *, .rte-dg-status * { box-sizing: border-box; }
.rte-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect( 0 0 0 0 ); white-space: nowrap; }
.rte-dg[hidden], .rte-dg-place[hidden] { display: none !important; }

/* Card (reviews, listings, shortcode) */
.rte-dg {
	position: relative;
	display: grid;
	grid-template-columns: minmax( 0, 1fr ) minmax( 0, 1.05fr );
	gap: 22px 32px;
	align-items: center;
	overflow: hidden;
	padding: clamp( 22px, 3.5vw, 32px );
	border: 1px solid var( --dg-line );
	border-radius: 22px;
	background:
		radial-gradient( 420px 200px at 0% 0%, color-mix( in srgb, var( --dg-accent ) 12%, transparent ), transparent 70% ),
		radial-gradient( 380px 200px at 100% 100%, rgba( 236, 72, 153, .08 ), transparent 70% ),
		#fff;
	box-shadow: 0 1px 2px rgba( 16, 24, 40, .04 ), 0 24px 48px -34px rgba( 46, 38, 120, .45 );
	color: var( --dg-text );
	line-height: 1.5;
}
.rte-dg-place { max-width: 1200px; margin: 32px auto 8px; }
.rte-dg-place--listing { margin-top: 40px; }
.rte-dg__copy { display: flex; gap: 14px; align-items: flex-start; min-width: 0; }
.rte-dg__icon { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: color-mix( in srgb, var( --dg-accent ) 12%, #fff ); color: var( --dg-accent ); }
.rte-dg__icon svg { display: block; }
.rte-dg .rte-dg__kicker { margin: 0 0 4px !important; color: var( --dg-accent ); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.rte-dg .rte-dg__title { margin: 0 0 6px !important; color: var( --dg-ink ); font-size: clamp( 1.15rem, 1rem + .6vw, 1.4rem ); font-weight: 800; line-height: 1.25; letter-spacing: -.015em; }
.rte-dg .rte-dg__text { margin: 0 !important; color: var( --dg-text ); font-size: .95rem; line-height: 1.55; }
.rte-dg__form { margin: 0 !important; }
.rte-dg__fields { display: grid; grid-template-columns: minmax( 0, 1fr ) auto; gap: 8px; }
.rte-dg__form.has-name .rte-dg__fields { grid-template-columns: minmax( 0, .8fr ) minmax( 0, 1.2fr ) auto; }
.rte-dg__field { display: block; margin: 0 !important; min-width: 0; }
.rte-dg .rte-dg__field input, .rte-dg-pop .rte-dg__field input {
	display: block; width: 100%; height: 48px; margin: 0; padding: 0 14px !important;
	border: 1px solid #d0d5dd !important; border-radius: 12px !important; background: #fff !important; box-shadow: 0 1px 2px rgba( 16, 24, 40, .05 ) !important;
	color: var( --dg-ink ) !important; font: inherit; font-size: 1rem !important; line-height: 1.2;
}
.rte-dg .rte-dg__field input:focus, .rte-dg-pop .rte-dg__field input:focus { border-color: var( --dg-accent ) !important; outline: none; box-shadow: 0 0 0 4px color-mix( in srgb, var( --dg-accent ) 18%, transparent ) !important; }
.rte-dg .rte-dg__field input[aria-invalid="true"] { border-color: #f04438 !important; }
.rte-dg-btn, .rte-dg .rte-dg-btn, .rte-dg-pop .rte-dg-btn, .rte-dg-status .rte-dg-btn {
	display: inline-flex; align-items: center; justify-content: center; min-height: 48px; margin: 0; padding: 0 22px !important;
	border: 0 !important; border-radius: 12px !important; background: var( --dg-ink ) !important; color: #fff !important;
	font: inherit; font-size: 1rem !important; font-weight: 700; line-height: 1.2; white-space: nowrap; text-transform: none !important; letter-spacing: normal !important;
	box-shadow: 0 1px 2px rgba( 16, 24, 40, .1 ) !important; cursor: pointer; transition: transform .1s, filter .15s;
}
.rte-dg-btn:hover { filter: brightness( 1.15 ); }
.rte-dg-btn:active { transform: translateY( 1px ); }
.rte-dg-btn:focus-visible, .rte-dg a:focus-visible { outline: 3px solid color-mix( in srgb, var( --dg-accent ) 50%, transparent ); outline-offset: 2px; }
.rte-dg-btn[disabled] { opacity: .7; cursor: progress; }
.rte-dg__hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.rte-dg .rte-dg__fine { margin: 8px 0 0 !important; color: var( --dg-muted ); font-size: .8rem; }
.rte-dg .rte-dg__fine a { color: var( --dg-muted ); text-decoration: underline; }
.rte-dg .rte-dg__msg { margin: 8px 0 0 !important; color: #067647; font-size: .9rem; font-weight: 600; }
.rte-dg .rte-dg__msg:empty { display: none; }
.rte-dg .rte-dg__msg.is-error { color: #b42318; }
.rte-dg__form.is-done .rte-dg__fields, .rte-dg__form.is-done .rte-dg__fine { display: none; }
.rte-dg__form.is-done .rte-dg__msg { display: flex; align-items: center; gap: 10px; margin: 0 !important; padding: 14px 16px; border-radius: 14px; background: #ecfdf3; font-size: .95rem; }
.rte-dg__form.is-done .rte-dg__msg::before { content: ""; flex: none; width: 22px; height: 22px; border-radius: 50%; background: #12b76a url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23fff' d='M8 13.2 5 10.2l-1.1 1.1L8 15.4l8-8-1.1-1.1z'/%3E%3C/svg%3E" ) center / 14px no-repeat; }

/* Inline (end of blog posts) */
.rte-dg--inline { grid-template-columns: minmax( 0, 1fr ); gap: 14px; margin: 2.2em auto 1.4em !important; padding: 22px 24px; border-radius: 20px; }
.rte-dg--inline .rte-dg__fields { grid-template-columns: minmax( 0, 1fr ) auto; }
.rte-dg--inline .rte-dg__form.has-name .rte-dg__fields { grid-template-columns: minmax( 0, .75fr ) minmax( 0, 1.25fr ) auto; }

/* Band (homepage newsletter section — the section has the copy) */
.rte-dg--band { display: block; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.rte-dg--band .rte-dg__copy { display: none; }
.rte-dg--band .rte-dg__fields, .rte-dg--band .rte-dg__form.has-name .rte-dg__fields { grid-template-columns: minmax( 0, 1fr ); gap: 10px; }
.rte-dg--band .rte-dg-btn { width: 100%; }

/* Popup */
.rte-dg-lock { overflow: hidden; }
.rte-dg-pop { position: fixed; inset: 0; z-index: 99990; display: grid; place-items: center; padding: 16px; }
.rte-dg-pop[hidden] { display: none; }
.rte-dg-pop__scrim { position: absolute; inset: 0; background: rgba( 11, 16, 32, .55 ); backdrop-filter: blur( 3px ); opacity: 0; transition: opacity .25s; }
.rte-dg-pop__box { position: relative; width: 100%; max-width: 480px; max-height: calc( 100vh - 32px ); overflow: auto; border-radius: 24px; background: #fff; box-shadow: 0 40px 80px -30px rgba( 11, 16, 32, .6 ); opacity: 0; transform: translateY( 14px ) scale( .98 ); transition: opacity .25s, transform .25s; outline: none; }
.rte-dg-pop.is-open .rte-dg-pop__scrim { opacity: 1; }
.rte-dg-pop.is-open .rte-dg-pop__box { opacity: 1; transform: none; }
.rte-dg-pop .rte-dg-pop__x { position: absolute; top: 12px; right: 12px; z-index: 2; display: grid; place-items: center; width: 36px; height: 36px; margin: 0; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: rgba( 255, 255, 255, .16 ) !important; color: #fff !important; box-shadow: none !important; cursor: pointer; }
.rte-dg-pop .rte-dg-pop__x:hover { background: rgba( 255, 255, 255, .28 ) !important; }
.rte-dg-pop .rte-dg-pop__x:focus-visible { outline: 3px solid #a5b4fc; outline-offset: 2px; }
.rte-dg--popup { display: block; padding: 0; border: 0; border-radius: 24px; background: #fff; box-shadow: none; }
.rte-dg--popup .rte-dg__copy { display: block; padding: 34px 30px 26px; background: radial-gradient( 360px 200px at 0% 0%, rgba( 99, 102, 241, .6 ), transparent 70% ), radial-gradient( 320px 180px at 100% 100%, rgba( 236, 72, 153, .45 ), transparent 70% ), #0b1020; color: #d7dbea; }
.rte-dg--popup .rte-dg__icon { width: 46px; height: 46px; margin-bottom: 14px; background: rgba( 255, 255, 255, .12 ); color: #fff; }
.rte-dg--popup .rte-dg__kicker { color: #c4b5fd; }
.rte-dg--popup .rte-dg__title { color: #fff; font-size: 1.55rem; }
.rte-dg--popup .rte-dg__text { color: #c9cde0; }
.rte-dg--popup .rte-dg__form { padding: 22px 30px 26px; }
.rte-dg--popup .rte-dg__fields, .rte-dg--popup .rte-dg__form.has-name .rte-dg__fields { grid-template-columns: minmax( 0, 1fr ); gap: 10px; }
.rte-dg--popup .rte-dg-btn { width: 100%; }

/* Status page */
.rte-dg-status-wrap { display: block; padding: 48px 16px 72px; }
.rte-dg-status { max-width: 520px; margin: 0 auto; padding: 40px 32px; border: 1px solid var( --dg-line ); border-radius: 24px; background: #fff; box-shadow: 0 30px 60px -40px rgba( 46, 38, 120, .5 ); text-align: center; }
.rte-dg-status__icon { display: inline-grid; place-items: center; width: 60px; height: 60px; margin-bottom: 16px; border-radius: 18px; background: #f2f4f7; color: var( --dg-ink ); }
.rte-dg-status--ok .rte-dg-status__icon { background: #ecfdf3; color: #067647; }
.rte-dg-status .rte-dg-status__title { margin: 0 0 8px !important; color: var( --dg-ink ); font-size: 1.6rem !important; font-weight: 800 !important; line-height: 1.2 !important; }
.rte-dg-status__text { margin: 0 0 20px; color: var( --dg-text ); font-size: 1rem; line-height: 1.6; }
.rte-dg-status form { margin: 0 0 18px; }
.rte-dg-status__home { margin: 0; }
.rte-dg-status__home a { color: var( --dg-accent ); font-weight: 700; text-decoration: none; }

@media ( max-width: 760px ) {
	.rte-dg { grid-template-columns: minmax( 0, 1fr ); }
	.rte-dg__fields, .rte-dg__form.has-name .rte-dg__fields, .rte-dg--inline .rte-dg__form.has-name .rte-dg__fields { grid-template-columns: minmax( 0, 1fr ); }
	.rte-dg-btn { width: 100%; }
	.rte-dg-place { margin-left: 16px; margin-right: 16px; }
}
@media ( prefers-reduced-motion: reduce ) {
	.rte-dg-pop__scrim, .rte-dg-pop__box, .rte-dg-btn { transition: none; }
}

/* ======================================================================
 * v0.47.4 — theme-proof forms. Many themes style every input as a full-
 * width block with padding on top of the width (content-box), a fixed
 * min-width, floats and margins; inside a card that clips overflow the
 * fields spilled out and could not be seen. Every box inside the form is
 * pinned here so the layout holds in any theme.
 * ==================================================================== */
.rte-dg, .rte-dg *, .rte-dg *::before, .rte-dg *::after,
.rte-dg-pop *, .rte-dg-pop *::before, .rte-dg-pop *::after { box-sizing: border-box !important; }
.rte-dg .rte-dg__form, .rte-dg-pop .rte-dg__form { display: block; float: none !important; width: auto; max-width: none !important; }
.rte-dg .rte-dg__fields, .rte-dg-pop .rte-dg__fields { display: grid !important; float: none !important; width: 100%; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.rte-dg .rte-dg__field, .rte-dg-pop .rte-dg__field { display: block !important; float: none !important; width: auto !important; min-width: 0 !important; max-width: none !important; margin: 0 !important; padding: 0 !important; font-size: inherit !important; font-weight: inherit; line-height: 1.2 !important; }
.rte-dg .rte-dg__field input, .rte-dg-pop .rte-dg__field input {
	display: block !important; float: none !important; width: 100% !important; min-width: 0 !important; max-width: 100% !important;
	height: 48px !important; min-height: 48px !important; margin: 0 !important; line-height: 1.2 !important;
	text-transform: none !important; letter-spacing: normal !important; -webkit-appearance: none; appearance: none;
}
.rte-dg .rte-dg-btn, .rte-dg-pop .rte-dg-btn {
	float: none !important; min-width: 0 !important; max-width: 100% !important; height: 48px !important; margin: 0 !important;
	line-height: 1.2 !important; font-size: 1rem !important;
}
.rte-dg .rte-dg__fine, .rte-dg-pop .rte-dg__fine { float: none !important; max-width: none !important; margin: 10px 0 0 !important; font-size: .78rem !important; line-height: 1.5 !important; }
.rte-dg .rte-dg__msg:empty { display: none !important; }
.rte-dg .rte-dg__copy p, .rte-dg-pop .rte-dg__copy p { max-width: none !important; text-transform: none !important; }
.rte-dg .rte-dg__title, .rte-dg-pop .rte-dg__title { font-size: clamp( 1.15rem, 1rem + .6vw, 1.4rem ) !important; letter-spacing: -.015em !important; line-height: 1.25 !important; }
.rte-dg .rte-dg__text, .rte-dg-pop .rte-dg__text { font-size: .95rem !important; line-height: 1.55 !important; }
/* Card / inline forms switch to one column by the width they get (not the screen). */
.rte-dg { container-type: inline-size; container-name: rte-dg; width: 100%; max-width: 100%; min-width: 0; align-self: stretch; justify-self: stretch; }
@container rte-dg ( max-width: 560px ) {
	.rte-dg__fields, .rte-dg__form.has-name .rte-dg__fields, .rte-dg--inline .rte-dg__form.has-name .rte-dg__fields { grid-template-columns: minmax( 0, 1fr ) !important; }
	.rte-dg .rte-dg-btn { width: 100%; }
}

/* v0.47.5 — homepage (band) form: name and email side by side when there
   is room, stacked when narrow; the Subscribe button always below them. */
.rte-dg--band { container-type: inline-size; container-name: rte-dg-band; width: 100%; max-width: 100%; min-width: 0; align-self: stretch; justify-self: stretch; }
.rte-dg--band .rte-dg__fields { grid-template-columns: minmax( 0, 1fr ) !important; gap: 10px !important; }
.rte-dg--band .rte-dg__form.has-name .rte-dg__fields { grid-template-columns: minmax( 0, 1fr ) minmax( 0, 1fr ) !important; }
.rte-dg--band .rte-dg-btn { grid-column: 1 / -1 !important; width: 100% !important; }
@container rte-dg-band ( max-width: 420px ) {
	.rte-dg--band .rte-dg__form.has-name .rte-dg__fields { grid-template-columns: minmax( 0, 1fr ) !important; }
}
.rte-dg--band .rte-dg__fine { text-align: center; }
/* Subscribed state ("Use another email"). */
.rte-dg .rte-dg__again, .rte-dg .rte-dg__again:hover, .rte-dg .rte-dg__again:focus {
	display: inline; float: none !important; width: auto !important; min-width: 0 !important; height: auto !important; margin: 0 0 0 4px !important; padding: 0 !important;
	border: 0 !important; background: none !important; box-shadow: none !important; color: #067647 !important;
	font: inherit !important; font-weight: 700 !important; text-decoration: underline !important; text-transform: none !important; letter-spacing: normal !important; cursor: pointer;
}
.rte-dg__form.is-done .rte-dg__msg { flex-wrap: wrap; color: #054f31; }
/* v0.47.5: the popup's close button keeps its size in any theme. */
.rte-dg-pop .rte-dg-pop__x, .rte-dg-pop .rte-dg-pop__x:hover, .rte-dg-pop .rte-dg-pop__x:focus {
	float: none !important; width: 36px !important; height: 36px !important; min-width: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important;
	line-height: 1 !important; letter-spacing: normal !important; text-transform: none !important; font-size: 0 !important;
}
.rte-dg--popup .rte-dg__form { padding: 22px 30px 26px !important; }
@media ( max-width: 480px ) { .rte-dg--popup .rte-dg__form { padding: 18px 18px 22px !important; } }
