.rrp-widget {
	--rrp-accent: #1a1a1a;
	max-width: 480px;
	margin: 0 auto;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	position: relative;
	box-sizing: border-box;
}
.rrp-widget * { box-sizing: border-box; }

.rrp-lang-switch { position: absolute; top: 0; right: 0; display: flex; gap: 4px; z-index: 2; }
.rrp-lang-btn {
	border: 1px solid #d1d5db; background: #fff; border-radius: 6px; padding: 4px 10px;
	font-size: 12px; cursor: pointer; color: #374151;
}
.rrp-lang-btn.active { background: var(--rrp-accent); color: #fff; border-color: var(--rrp-accent); }

.rrp-header { text-align: center; margin-bottom: 24px; }
.rrp-logo {
	width: 96px; height: 96px; border-radius: 50%; background: var(--rrp-accent);
	display: flex; align-items: center; justify-content: center; margin: 0 auto 16px;
	overflow: hidden;
}
.rrp-logo img { width: 100%; height: 100%; object-fit: cover; }
.rrp-logo-fallback { display: block; width: 38px; height: 38px; }

.rrp-title { margin: 0 0 4px; font-size: 26px; font-weight: 700; color: #111827; }
.rrp-subtitle { margin: 0; font-size: 15px; color: #6b7280; }

.rrp-card {
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 16px;
	padding: 28px 28px 32px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}

.rrp-row { display: flex; gap: 16px; margin-bottom: 18px; }
.rrp-field { flex: 1 1 0; display: flex; flex-direction: column; gap: 6px; }
.rrp-field-narrow { flex: 0 1 130px; }
.rrp-req { color: #dc2626; }

.rrp-widget label { font-size: 13px; font-weight: 600; color: #1f2937; }
.rrp-widget input, .rrp-widget select, .rrp-widget textarea {
	padding: 11px 13px; border: 1px solid #d1d5db; border-radius: 8px; font-size: 16px;
	width: 100%; background: #fff; color: #111827; font-family: inherit;
}
.rrp-widget select {
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='16' height='16'%3e%3cpath fill='%236b7280' d='M7 10l5 5 5-5z'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right 10px center;
	-webkit-appearance: none;
	appearance: none;
	padding-right: 34px;
}
.rrp-widget input:focus, .rrp-widget select:focus, .rrp-widget textarea:focus {
	outline: none; border-color: var(--rrp-accent); box-shadow: 0 0 0 3px rgba(0,0,0,0.06);
}

.rrp-honeypot { position: absolute; left: -9999px; top: -9999px; }

.rrp-submit {
	background: var(--rrp-accent); color: #fff; border: 0; padding: 14px 24px; border-radius: 10px;
	font-size: 15px; font-weight: 700; cursor: pointer; width: 100%; margin-top: 4px;
}
.rrp-submit:hover { opacity: 0.9; }
.rrp-submit:disabled { opacity: 0.6; cursor: not-allowed; }

.rrp-message { padding: 10px 14px; border-radius: 8px; margin-bottom: 16px; font-size: 14px; }
.rrp-message.error { background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; }
.rrp-message.info { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; }

.rrp-success { text-align: center; padding: 20px 0; }
.rrp-success h3 { color: #15803d; margin-top: 0; }

@media (max-width: 480px) {
	.rrp-widget { max-width: 100%; }
	.rrp-card { padding: 20px 18px 24px; border-radius: 14px; }
	.rrp-row { flex-direction: column; gap: 12px; margin-bottom: 14px; }
	.rrp-field-narrow { flex: 1 1 auto; }
	.rrp-lang-switch { position: static; margin-bottom: 12px; justify-content: flex-end; display: flex; }
	.rrp-logo { width: 76px; height: 76px; margin-bottom: 12px; }
	.rrp-title { font-size: 22px; }
	.rrp-subtitle { font-size: 14px; }
	.rrp-submit { padding: 15px 20px; font-size: 16px; }
}

@media (max-width: 360px) {
	.rrp-card { padding: 16px 14px 20px; }
}
