.yop-poll[data-template="bootstrap"] {
	font-size: 14px;
	max-width: 500px;
}

/* Element-level padding (controls inter-element spacing) */
.yop-poll[data-template="bootstrap"] .yop-poll-element {
	padding-top: var(--yop-el-pt, 0px);
	padding-right: var(--yop-el-pr, 0px);
	padding-bottom: var(--yop-el-pb, 0px);
	padding-left: var(--yop-el-pl, 0px);
}

.yop-poll[data-template="bootstrap"] .yop-poll-question {
	font-size: 16px;
	font-weight: 500;
	color: #212529;
	margin-block-end: var(--yop-q-gap, 12px);
	text-align: var(--yop-el-ta, center);
}

.yop-poll[data-template="bootstrap"] .yop-poll-answers {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.yop-poll[data-template="bootstrap"] .yop-poll-answers--horizontal {
	flex-direction: row;
	flex-wrap: wrap;
}

.yop-poll[data-template="bootstrap"] .yop-poll-answers--columns-2 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

.yop-poll[data-template="bootstrap"] .yop-poll-answers--columns-3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.yop-poll[data-template="bootstrap"] .yop-poll-answers--columns-4 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

/* Increased gap for horizontal/columns layouts */
.yop-poll[data-template="bootstrap"] .yop-poll-answers--horizontal,
.yop-poll[data-template="bootstrap"] .yop-poll-answers--columns-2,
.yop-poll[data-template="bootstrap"] .yop-poll-answers--columns-3,
.yop-poll[data-template="bootstrap"] .yop-poll-answers--columns-4 {
	gap: 12px;
}

.yop-poll[data-template="bootstrap"] .yop-poll-answer {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: var(--yop-ans-pt, 8px) var(--yop-ans-pr, 4px) var(--yop-ans-pb, 8px) var(--yop-ans-pl, 4px);
	border-radius: 4px;
	cursor: pointer;
	transition: background 0.1s ease;
}

.yop-poll[data-template="bootstrap"] .yop-poll-answer:hover {
	background: rgba(0, 0, 0, 0.04);
}

.yop-poll[data-template="bootstrap"] .yop-poll-media-answer:hover {
	background: transparent;
}

/* Hidden native input */
.yop-poll-bootstrap-input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
	outline: none;
}

/* Circular indicator */
.yop-poll-bootstrap-outer {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border: 2px solid #dee2e6;
	border-radius: 50%;
	flex-shrink: 0;
	transition: border-color 0.15s ease, background 0.15s ease;
	box-sizing: border-box;
}

/* SVG checkmark */
.yop-poll-bootstrap-check {
	width: 12px;
	height: 12px;
	opacity: 0;
	transition: opacity 0.15s ease;
}

/* Hover: accent ring */
.yop-poll[data-template="bootstrap"] .yop-poll-answer:hover .yop-poll-bootstrap-outer {
	border-color: var(--yop-radio-color, #f44336);
}

/* Selected: filled circle with checkmark */
.yop-poll-bootstrap-input:checked + .yop-poll-bootstrap-outer,
.yop-poll-answer:has(.yop-poll-bootstrap-input:checked) .yop-poll-bootstrap-outer {
	background: var(--yop-radio-color, #f44336);
	border-color: var(--yop-radio-color, #f44336);
}

.yop-poll-bootstrap-input:checked + .yop-poll-bootstrap-outer .yop-poll-bootstrap-check,
.yop-poll-answer:has(.yop-poll-bootstrap-input:checked) .yop-poll-bootstrap-check {
	opacity: 1;
}

/* GDPR consent */
.yop-poll[data-template="bootstrap"] .yop-poll-gdpr {
	display: flex;
	align-items: flex-start;
	font-size: 13px;
}

.yop-poll[data-template="bootstrap"] .yop-poll-gdpr__label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
	line-height: 1.4;
}

.yop-poll[data-template="bootstrap"] .yop-poll-answer-text {
	font-size: var(--yop-ans-ts, 14px);
	color: var(--yop-ans-tc, #212529);
	font-weight: var(--yop-ans-tw, normal);
}

.yop-poll[data-template="bootstrap"] .yop-poll-dropdown {
	width: 100%;
	padding: 6px 12px;
	font-size: 14px;
	border: 1px solid #ced4da;
	border-radius: 6px;
	background: #fff;
	cursor: pointer;
	outline: none;
}

/* Dropdown size/align */
.yop-poll[data-template="bootstrap"] .yop-poll-answers--size-small  .yop-poll-dropdown { max-width: 200px; }
.yop-poll[data-template="bootstrap"] .yop-poll-answers--size-medium .yop-poll-dropdown { max-width: 400px; }
.yop-poll[data-template="bootstrap"] .yop-poll-answers--size-large  .yop-poll-dropdown { width: 100%; }
.yop-poll[data-template="bootstrap"] .yop-poll-answers--left   { text-align: left; }
.yop-poll[data-template="bootstrap"] .yop-poll-answers--center { text-align: center; }
.yop-poll[data-template="bootstrap"] .yop-poll-answers--right  { text-align: right; }

/* Dropdown "other" input: 5px gap (gap: 2px + 3px = 5px) */
.yop-poll[data-template="bootstrap"] .yop-poll-dropdown ~ .yop-poll-other-wrap { margin-top: 3px; }

.yop-poll[data-template="bootstrap"] .yop-poll-footer {
	margin-block-start: 20px;
	display: flex;
	justify-content: center;
	gap: 12px;
}


.yop-poll[data-template="bootstrap"] .yop-poll-vote-button {
	padding: var(--yop-btn-pt, 8px) var(--yop-btn-pr, 20px) var(--yop-btn-pb, 8px) var(--yop-btn-pl, 20px);
	background: var(--yop-btn-bg, var(--yop-radio-color, #f44336));
	border-width: var(--yop-btn-bw, 0px);
	border-style: var(--yop-btn-bs, none);
	border-color: var(--yop-btn-bc, transparent);
	border-radius: var(--yop-btn-br, 4px);
	color: var(--yop-btn-tc, #fff);
	font-size: var(--yop-btn-ts, 14px);
	font-weight: var(--yop-btn-tw, 500);
	cursor: pointer;
	transition: opacity 0.15s ease;
	outline: none;
}

.yop-poll[data-template="bootstrap"] .yop-poll-vote-button:hover {
	opacity: 0.85;
}

/* Results */
.yop-poll[data-template="bootstrap"] .yop-poll-result-bar {
	background: #e9ecef;
	border-radius: 4px;
	height: 8px;
	margin-block-start: 6px;
	overflow: hidden;
}

.yop-poll[data-template="bootstrap"] .yop-poll-result-fill {
	background: var(--yop-radio-color, #f44336);
	height: 100%;
	border-radius: 4px;
	transition: width 0.6s ease-out;
}

.yop-poll[data-template="bootstrap"] .yop-poll-result-text {
	font-size: 12px;
	color: #6c757d;
	display: flex;
	justify-content: space-between;
	margin-block-start: 4px;
}

/* Text inputs */
.yop-poll[data-template="bootstrap"] .yop-poll-text-input,
.yop-poll[data-template="bootstrap"] .yop-poll-textarea {
	border: 1px solid #ced4da;
	border-radius: 6px;
	color: #212529;
}

.yop-poll[data-template="bootstrap"] .yop-poll-text-input:focus,
.yop-poll[data-template="bootstrap"] .yop-poll-textarea:focus {
	border-color: var(--yop-radio-color, #f44336);
	outline: none;
}

.yop-poll[data-template="bootstrap"] .yop-poll-text-input {
	height: 30px;
}

/* Image answers */
.yop-poll[data-template="bootstrap"] .yop-poll-image-answer {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	align-self: flex-start;
	cursor: pointer;
}


.yop-poll[data-template="bootstrap"] .yop-poll-element[data-element-type="standard-image"] img {
	max-width: 100%;
	height: auto;
	display: block;
}

.yop-poll[data-template="bootstrap"] .yop-poll-image-answer {
	max-width: 200px;
}

.yop-poll[data-template="bootstrap"] .yop-poll-image-answer img {
	display: block;
	max-width: 100%;
	height: auto;
	border-radius: 6px;
	box-sizing: border-box;
}

.yop-poll[data-template="bootstrap"] .yop-poll-image-caption {
	display: block;
	font-size: var(--yop-ans-ts, 14px);
	color: var(--yop-ans-tc, #212529);
	font-weight: var(--yop-ans-tw, normal);
	text-align: center;
	margin-block-start: 4px;
}

.yop-poll[data-template="bootstrap"] .yop-poll-image-link {
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* Image answer indicator — complete (no dependency on classic/style.css) */
.yop-poll[data-template="bootstrap"] .yop-poll-image-indicator {
	display: block;
	width: 22px;
	height: 22px;
	border: 2px solid #dee2e6;
	border-radius: 50%;
	margin: 6px auto 0;
	box-sizing: border-box;
	position: relative;
}

.yop-poll[data-template="bootstrap"] .yop-poll-image-answer--selected .yop-poll-image-indicator {
	border-color: var(--yop-radio-color, #0d6efd);
	background: var(--yop-radio-color, #0d6efd);
}

/* White checkmark for both radio and checkbox variants */
.yop-poll[data-template="bootstrap"] .yop-poll-image-answer--selected .yop-poll-image-indicator::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 4px;
	height: 8px;
	background: transparent;
	border-radius: 0;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: translate(-50%, -70%) rotate(45deg);
}

/* Checkbox variant: square shape */
.yop-poll[data-template="bootstrap"] .yop-poll-image-indicator--checkbox {
	border-radius: 3px;
}

/* Media answer layout (video/audio) */
.yop-poll[data-template="bootstrap"] .yop-poll-media-answer {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	align-self: flex-start;
	min-width: 0;
}

.yop-poll[data-template="bootstrap"] .yop-poll-media-answer iframe {
	width: 100%;
	max-width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
}

.yop-poll[data-template="bootstrap"] .yop-poll-media-answer video {
	width: 100%;
	max-width: 100%;
	height: auto;
}

.yop-poll[data-template="bootstrap"] .yop-poll-media-answer audio {
	width: 100%;
	max-width: 100%;
}

.yop-poll[data-template="bootstrap"] .yop-poll-answers--horizontal .yop-poll-media-answer {
	flex: 1 1 0;
}

/* Uniform image sizing in horizontal/column layouts */
.yop-poll[data-template="bootstrap"] .yop-poll-answers--horizontal .yop-poll-image-answer,
.yop-poll[data-template="bootstrap"] .yop-poll-answers--columns-2 .yop-poll-image-answer,
.yop-poll[data-template="bootstrap"] .yop-poll-answers--columns-3 .yop-poll-image-answer,
.yop-poll[data-template="bootstrap"] .yop-poll-answers--columns-4 .yop-poll-image-answer {
	max-width: 100%;
	align-self: stretch;
	justify-content: space-between;
	flex: 1 1 0;
	min-width: 0;
}

.yop-poll[data-template="bootstrap"] .yop-poll-answers--horizontal .yop-poll-image-answer img,
.yop-poll[data-template="bootstrap"] .yop-poll-answers--columns-2 .yop-poll-image-answer img,
.yop-poll[data-template="bootstrap"] .yop-poll-answers--columns-3 .yop-poll-image-answer img,
.yop-poll[data-template="bootstrap"] .yop-poll-answers--columns-4 .yop-poll-image-answer img {
	width: 100%;
	height: auto;
	object-fit: contain;
	margin-top: auto;
	margin-bottom: auto;
}

/* Media answer indicator — complete */
.yop-poll[data-template="bootstrap"] .yop-poll-media-indicator {
	display: block;
	width: 22px;
	height: 22px;
	border: 2px solid #dee2e6;
	border-radius: 50%;
	margin: 6px auto 0;
	box-sizing: border-box;
	position: relative;
}

.yop-poll[data-template="bootstrap"] .yop-poll-answer--selected .yop-poll-media-indicator {
	border-color: var(--yop-radio-color, #0d6efd);
	background: var(--yop-radio-color, #0d6efd);
}

.yop-poll[data-template="bootstrap"] .yop-poll-answer--selected .yop-poll-media-indicator::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 4px;
	height: 8px;
	background: transparent;
	border-radius: 0;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: translate(-50%, -70%) rotate(45deg);
}

.yop-poll[data-template="bootstrap"] .yop-poll-media-indicator--checkbox {
	border-radius: 3px;
}

/* Captcha */
.yop-poll[data-template="bootstrap"] .yop-poll-captcha input {
	border: 1px solid #ced4da;
	border-radius: 6px;
}

/* Page-nav buttons */
.yop-poll[data-template="bootstrap"] .yop-poll-btn-prev {
	background: transparent;
	color: var(--yop-radio-color, #f44336);
	border: 1px solid var(--yop-radio-color, #f44336);
}

.yop-poll[data-template="bootstrap"] .yop-poll-btn-prev:hover {
	opacity: 0.85;
}

/* Messages */
.yop-poll[data-template="bootstrap"] .yop-poll-message {
	border-left-width: var( --yop-msg-blw, 10px );
	border-left-style: solid;
	padding-top: var( --yop-msg-pt, 0px );
	padding-bottom: var( --yop-msg-pb, 0px );
	padding-left: 10px;
	padding-right: 10px;
	color: var( --yop-msg-tc, #000000 );
	font-size: var( --yop-msg-ts, 14px );
	font-weight: var( --yop-msg-tw, normal );
	margin-bottom: 12px;
}

.yop-poll[data-template="bootstrap"] .yop-poll-message--success {
	border-left-color: var( --yop-msg-bcs, #198754 );
}

.yop-poll[data-template="bootstrap"] .yop-poll-message--error {
	border-left-color: var( --yop-msg-bce, #dc3545 );
}

/* Other answer */
.yop-poll[data-template="bootstrap"] .yop-poll-other-answer {
	align-items: flex-start;
}

.yop-poll[data-template="bootstrap"] .yop-poll-other-answer > .yop-poll-bootstrap-outer {
	margin-top: 1px;
}

.yop-poll[data-template="bootstrap"] .yop-poll-other-wrap {
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1;
	min-width: 0;
}

.yop-poll[data-template="bootstrap"] .yop-poll-other-label {
	font-size: 14px;
}

.yop-poll[data-template="bootstrap"] .yop-poll-other-input {
	height: 30px;
}

.yop-poll[data-template="bootstrap"] .yop-poll-other-input:focus {
	border-color: #ced4da;
}

.yop-poll[data-template="bootstrap"] .yop-poll-text-input--small  { width: 200px; max-width: 100%; }
.yop-poll[data-template="bootstrap"] .yop-poll-text-input--medium { width: 400px; max-width: 100%; }
.yop-poll[data-template="bootstrap"] .yop-poll-text-input--large  { width: 100%; }

.yop-poll[data-template="bootstrap"] .yop-poll-textarea--small  { width: 200px; max-width: 100%; }
.yop-poll[data-template="bootstrap"] .yop-poll-textarea--medium { width: 400px; max-width: 100%; }
.yop-poll[data-template="bootstrap"] .yop-poll-textarea--large  { width: 100%; }

/* Sliders */
.yop-poll[data-template="bootstrap"] .yop-poll-slider-wrap {
	display: block;
}

.yop-poll[data-template="bootstrap"] .yop-poll-slider-container {
	position: relative;
	padding: 70px 12px 0;
}

.yop-poll[data-template="bootstrap"] .yop-poll-slider-labels {
	position: absolute;
	top: 35px;
	left: 12px;
	right: 12px;
	height: 25px;
}

.yop-poll[data-template="bootstrap"] .yop-poll-slider-label {
	position: absolute;
	transform: translateX(-50%);
	font-size: 12px;
	color: #6c757d;
	white-space: nowrap;
}

.yop-poll[data-template="bootstrap"] .yop-poll-slider-inner {
	position: relative;
	height: 24px;
}

.yop-poll[data-template="bootstrap"] .yop-poll-slider-track {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	height: 8px;
	border-radius: 100px;
	transform: translateY(-50%);
	background: var(--yop-slider-track, #dee2e6);
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
}

.yop-poll[data-template="bootstrap"] .yop-poll-slider-pips {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	pointer-events: none;
	z-index: 1;
}

.yop-poll[data-template="bootstrap"] .yop-poll-slider-pip {
	position: absolute;
	top: 50%;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	border: 2px solid;
	transform: translate(-50%, -50%);
	box-sizing: border-box;
}

.yop-poll[data-template="bootstrap"] .yop-poll-slider-handle {
	position: absolute;
	top: 50%;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--yop-slider-thumb, #f44336);
	transform: translate(-50%, -50%);
	pointer-events: none;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
	z-index: 2;
}

.yop-poll[data-template="bootstrap"] .yop-poll-slider {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	background: transparent;
	-webkit-appearance: none;
	appearance: none;
	opacity: 0;
	cursor: pointer;
	z-index: 3;
}

.yop-poll[data-template="bootstrap"] .yop-poll-slider::-webkit-slider-thumb {
	-webkit-appearance: none;
	width: 24px;
	height: 24px;
	background: transparent;
	border: none;
	cursor: pointer;
}

.yop-poll[data-template="bootstrap"] .yop-poll-slider::-moz-range-thumb {
	width: 24px;
	height: 24px;
	background: transparent;
	border: none;
	cursor: pointer;
}

.yop-poll[data-template="bootstrap"] .yop-poll-slider-value {
	position: absolute;
	bottom: calc(100% + 20px);
	transform: translateX(-50%);
	background: #fff;
	color: #212529;
	border: 2px solid var(--yop-slider-thumb, #f44336);
	padding: 4px 10px;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
	line-height: 1.4;
	z-index: 4;
	pointer-events: none;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.yop-poll[data-template="bootstrap"] .yop-poll-slider-value::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid var(--yop-slider-thumb, #f44336);
}

/* Slider size */
.yop-poll[data-template="bootstrap"] .yop-poll-slider-wrap--small  { max-width: 400px; }
.yop-poll[data-template="bootstrap"] .yop-poll-slider-wrap--medium { max-width: 600px; }
.yop-poll[data-template="bootstrap"] .yop-poll-slider-wrap--large  { width: 100%; }

/* Slider align */
.yop-poll[data-template="bootstrap"] .yop-poll-slider-wrap--left   { margin-left: 0; margin-right: auto; }
.yop-poll[data-template="bootstrap"] .yop-poll-slider-wrap--center { margin-left: auto; margin-right: auto; }
.yop-poll[data-template="bootstrap"] .yop-poll-slider-wrap--right  { margin-left: auto; margin-right: 0; }

/* Visual captcha */
.yop-poll-captcha__question {
	margin-bottom: 12px;
}

.yop-poll-captcha__images {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
}

.yop-poll-captcha__image-btn {
	width: 60px;
	height: 60px;
	padding: 6px;
	border: 2px solid transparent;
	border-radius: 6px;
	background: #f5f5f5;
	cursor: pointer;
	outline: none;
}

.yop-poll-captcha__image-btn.is-selected {
	border-color: #1976d2;
	background: #e3f2fd;
}

.yop-poll-captcha__image-btn img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.yop-poll-captcha__refresh {
	background: none;
	border: none;
	cursor: pointer;
	font-size: 18px;
	outline: none;
}

/* ── Multi-permission overlay ─────────────────── */
.yop-poll {
	position: relative;
}

.yop-poll .yop-poll-perm-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 100;
}

.yop-poll .yop-poll-perm-overlay__inner {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
	max-width: 280px;
	padding: 0 16px;
}

.yop-poll-inline-detail {
	margin-inline-start: 0.5em;
	font-size: 0.875em;
	color: var(--yop-ans-tc, #666);
	white-space: nowrap;
}

/* Media question results: full-size embed + caption + bar below */
.yop-poll[data-template="bootstrap"] .yop-poll-media-result { align-items: stretch; }
.yop-poll[data-template="bootstrap"] .yop-poll-media-result .yop-poll-media-caption { text-align: center; }
.yop-poll[data-template="bootstrap"] .yop-poll-media-result .yop-poll-result-text,
.yop-poll[data-template="bootstrap"] .yop-poll-media-result .yop-poll-result-bar { width: 100%; }
.yop-poll[data-template="bootstrap"] .yop-poll-media-result > img { max-width: 100%; height: auto; }
