.wrb-widget {
	max-width: 540px;
	margin: 1.5em 0;
	font-size: 1rem;
	line-height: 1.5;
}

.wrb-intro {
	margin-bottom: 1em;
}

.wrb-form label {
	display: block;
	font-weight: 600;
	margin-bottom: .25em;
}

.wrb-form input[type="text"],
.wrb-form input[type="email"] {
	width: 100%;
	padding: .55em .7em;
	border: 1px solid #c3c4c7;
	border-radius: 4px;
	box-sizing: border-box;
}

.wrb-form p {
	margin: 0 0 1em;
}

/* Gesetzliche Vorgabe: klar, sichtbar, farblich hervorgehoben. */
.wrb-button {
	display: inline-block;
	background: var(--wrb-btn-bg, #c0392b);
	color: #fff;
	border: 0;
	border-radius: 4px;
	padding: .75em 1.5em;
	font-size: 1.05rem;
	font-weight: 700;
	cursor: pointer;
	text-decoration: none;
}

.wrb-button:hover,
.wrb-button:focus {
	filter: brightness(.92);
}

.wrb-button-confirm {
	background: #1e7e34;
}

.wrb-button-confirm:hover,
.wrb-button-confirm:focus {
	background: #19692c;
}

/* Footer-Link als Button: Divi entfernt inline-styles aus dem Credits-Feld,
   daher wird das Button-Aussehen hier über die Klasse erzeugt. !important
   überschreibt die Footer-Link-Farben des Themes (höhere Spezifität). */
a.wrb-modal-trigger {
	display: inline-block;
	background: var(--wrb-btn-bg, #c0392b) !important;
	color: #fff !important;
	padding: .4em .95em;
	border-radius: 4px;
	text-decoration: none !important;
	font-weight: 700;
	line-height: 1.3;
}

a.wrb-modal-trigger:hover,
a.wrb-modal-trigger:focus {
	color: #fff !important;
	filter: brightness(.92);
}

.wrb-summary {
	width: 100%;
	border-collapse: collapse;
	margin: 1em 0;
}

.wrb-summary th,
.wrb-summary td {
	text-align: left;
	padding: .5em .7em;
	border-bottom: 1px solid #e2e4e7;
	vertical-align: top;
}

.wrb-summary th {
	width: 40%;
	font-weight: 600;
}

.wrb-error {
	color: #c0392b;
	font-weight: 600;
	margin: 0 0 1em;
}

ul.wrb-error {
	padding-left: 1.2em;
}

.wrb-success {
	border-left: 4px solid #1e7e34;
	background: #f3faf4;
	padding: 1em 1.25em;
	border-radius: 4px;
}

.wrb-success h3 {
	margin-top: 0;
}

/* ---- Popup / Modal ---- */
.wrb-modal {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 99999;
	align-items: center;
	justify-content: center;
	padding: 1rem;
}

.wrb-modal.is-open {
	display: flex;
}

body.wrb-modal-open {
	overflow: hidden;
}

.wrb-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .55);
}

.wrb-modal__dialog {
	position: relative;
	background: #fff;
	color: #222;
	width: 100%;
	max-width: 480px;
	max-height: 90vh;
	overflow-y: auto;
	border-radius: 8px;
	padding: 1.75rem 1.75rem 2rem;
	box-shadow: 0 10px 40px rgba(0, 0, 0, .3);
	box-sizing: border-box;
	font-size: 1rem;
	line-height: 1.5;
}

.wrb-modal__dialog h3 {
	margin-top: 0;
}

.wrb-modal__dialog label {
	display: block;
	font-weight: 600;
	margin-bottom: .25em;
}

.wrb-modal__dialog input[type="text"],
.wrb-modal__dialog input[type="email"] {
	width: 100%;
	padding: .55em .7em;
	border: 1px solid #c3c4c7;
	border-radius: 4px;
	box-sizing: border-box;
}

.wrb-modal__dialog p {
	margin: 0 0 1em;
}

.wrb-modal__close {
	position: absolute;
	top: .5rem;
	right: .65rem;
	background: none;
	border: 0;
	font-size: 1.8rem;
	line-height: 1;
	cursor: pointer;
	color: #666;
	padding: .1em .3em;
}

.wrb-modal__close:hover {
	color: #000;
}

.wrb-link {
	display: inline-block;
	margin-left: .75em;
	background: none;
	border: 0;
	color: #555;
	text-decoration: underline;
	cursor: pointer;
	font-size: .95rem;
}
