.dpw-widget {
	max-width: 700px;
	margin: 20px auto;
	background: #ffffff;
	border: 1px solid #bfe0f5;
	border-radius: 14px;
	padding: 24px 28px 22px;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	box-sizing: border-box;
}
.dpw-widget * { box-sizing: border-box; }

.dpw-header {
	display: flex;
	align-items: flex-start;
	gap: 14px;
}
.dpw-icon {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #f5821f;
	color: #fff;
	font-size: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.dpw-heading h3 {
	margin: 0;
	font-size: 22px;
	font-weight: 800;
	letter-spacing: 0.3px;
}
.dpw-heading-black { color: #14213d; }
.dpw-heading-orange { color: #f5821f; }
.dpw-subtext {
	margin: 4px 0 0;
	color: #6b7280;
	font-size: 14px;
}

.dpw-tagline {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	color: #f5821f;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 1px;
	margin: 16px 0;
	padding-top: 12px;
	border-top: 1px dashed #e5b98b;
}
.dpw-dot { color: #f5821f; font-size: 10px; }

.dpw-question {
	font-size: 16px;
	font-weight: 700;
	color: #14213d;
	margin-bottom: 14px;
}

.dpw-options {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 8px;
}
.dpw-option {
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 12px 14px;
	cursor: pointer;
	transition: border-color 0.15s ease;
}
.dpw-option:hover { border-color: #f5821f; }
.dpw-option.dpw-voted-choice { border-color: #f5821f; background: #fff8f0; }

.dpw-option-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 8px;
}
.dpw-option-label {
	display: flex;
	align-items: center;
	gap: 10px;
	flex: 1;
	cursor: pointer;
}
.dpw-option input[type="radio"] { display: none; }
.dpw-radio-circle {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	border: 2px solid #cbd5e1;
	flex-shrink: 0;
	position: relative;
}
.dpw-option input:checked ~ .dpw-radio-circle { border-color: #f5821f; }
.dpw-option input:checked ~ .dpw-radio-circle::after {
	content: '';
	position: absolute;
	top: 3px;
	left: 3px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #f5821f;
}
.dpw-option-text {
	color: #1f2937;
	font-size: 15px;
	font-weight: 600;
}
.dpw-option-pct {
	font-weight: 700;
	color: #14213d;
	font-size: 14px;
	min-width: 38px;
	text-align: right;
}

.dpw-bar-track {
	height: 8px;
	background: #f1f5f9;
	border-radius: 6px;
	overflow: hidden;
}
.dpw-bar-fill {
	height: 100%;
	background: linear-gradient(90deg, #f5821f, #fbb040);
	border-radius: 6px;
	transition: width 0.4s ease;
	width: 0%;
}
.dpw-option.dpw-voted-choice .dpw-bar-fill {
	background: linear-gradient(90deg, #14213d, #2563eb);
}

.dpw-total-votes {
	color: #6b7280;
	font-size: 13px;
	margin-bottom: 18px;
}

.dpw-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 18px;
}
.dpw-vote-btn {
	background: #14213d;
	color: #fff;
	border: none;
	border-radius: 8px;
	padding: 13px 30px;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.5px;
	cursor: pointer;
	transition: background 0.15s ease;
}
.dpw-vote-btn:hover { background: #1f2f57; }
.dpw-vote-btn:disabled { opacity: 0.6; cursor: not-allowed; }

.dpw-share-btn {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 11px 20px;
	font-weight: 700;
	font-size: 14px;
	color: #14213d;
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
}
.dpw-share-btn:hover { border-color: #f5821f; color: #f5821f; }

.dpw-result {
	text-align: center;
	font-weight: 700;
	padding: 10px;
	border-radius: 8px;
	margin-bottom: 18px;
	background: #f0f9ff;
	color: #14213d;
}

.dpw-banner {
	display: flex;
	align-items: center;
	gap: 12px;
	background: #fff8ee;
	border: 1px solid #fbe3c0;
	border-radius: 10px;
	padding: 12px 16px;
	flex-wrap: wrap;
}
.dpw-gift { font-size: 20px; flex-shrink: 0; }
.dpw-banner-text {
	flex: 1;
	font-size: 14px;
	color: #78350f;
	font-weight: 600;
	min-width: 200px;
}
.dpw-banner-btn {
	background: #2563eb;
	color: #fff !important;
	text-decoration: none;
	padding: 10px 18px;
	border-radius: 8px;
	font-weight: 700;
	font-size: 13px;
	white-space: nowrap;
}
.dpw-banner-btn:hover { background: #1d4ed8; }

@media (max-width: 480px) {
	.dpw-widget { padding: 18px 16px; }
	.dpw-actions { flex-direction: column; gap: 12px; align-items: stretch; }
	.dpw-vote-btn, .dpw-share-btn { width: 100%; justify-content: center; }
	.dpw-banner { flex-direction: column; align-items: flex-start; }
	.dpw-banner-btn { width: 100%; text-align: center; }
}
