/* editor.css – WPHelpdesk Screenshot Tool (publieke editor, Pintura-achtige stijl) */

.sa-tool {
	--sa-ink: #111322;
	--sa-ink-soft: #2a2d3e;
	--sa-accent: #ffd43b;
	--sa-accent-ink: #221a00;
	--sa-border: #e6e8ee;
	--sa-bg-soft: #f6f7f9;
	--sa-text-muted: #6b7280;
	--sa-radius: 16px;
	--sa-shadow: 0 10px 30px rgba(17, 19, 34, .10);
	max-width: 1280px;
	margin: 0 auto;
	font-size: 15px;
	line-height: 1.5;
	color: #1c1e26;
}

.sa-tool button { cursor: pointer; font-family: inherit; }
.sa-tool svg { width: 18px; height: 18px; flex-shrink: 0; }

/* Voorkom uitlijnproblemen door thema's zonder border-box reset. */
.sa-tool input,
.sa-tool textarea,
.sa-tool button,
.sa-tool *,
.sa-tool *::before,
.sa-tool *::after { box-sizing: border-box; }

/* ── Knoppen ──────────────────────────────────────────────── */
.sa-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border: 1px solid var(--sa-border);
	border-radius: 999px;
	background: #fff;
	font-size: 14px;
	font-weight: 600;
	color: #1c1e26;
	text-decoration: none;
	transition: background .15s, transform .1s, box-shadow .15s;
}
.sa-btn:hover { background: var(--sa-bg-soft); }
.sa-btn:active { transform: scale(.98); }

.sa-btn-dark {
	background: var(--sa-ink);
	border-color: var(--sa-ink);
	color: #fff;
}
.sa-btn-dark:hover { background: var(--sa-ink-soft); color: #fff; }

.sa-btn-accent {
	background: var(--sa-accent);
	border-color: var(--sa-accent);
	color: var(--sa-accent-ink);
	box-shadow: 0 4px 14px rgba(255, 212, 59, .35);
}
.sa-btn-accent:hover { background: #ffca1a; }

/* ── Dropzone ─────────────────────────────────────────────── */
.sa-dropzone {
	border: 2px dashed #d3d7e0;
	border-radius: var(--sa-radius);
	background: var(--sa-bg-soft);
	padding: 56px 24px;
	text-align: center;
	cursor: pointer;
	transition: border-color .15s, background .15s;
}
.sa-dropzone:hover,
.sa-dropzone.dragover {
	border-color: var(--sa-ink);
	background: #eef1f6;
}
.sa-dropzone-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 20px;
	background: var(--sa-ink);
	color: #fff;
	margin-bottom: 16px;
	box-shadow: var(--sa-shadow);
}
.sa-dropzone-icon svg { width: 30px; height: 30px; }
.sa-dropzone-title { font-size: 20px; font-weight: 700; margin: 0 0 6px; }
.sa-dropzone-sub { color: var(--sa-text-muted); margin: 0 0 20px; }

.sa-tool kbd {
	display: inline-block;
	background: #fff;
	border: 1px solid #d3d7e0;
	border-bottom-width: 2px;
	border-radius: 6px;
	padding: 1px 7px;
	font-size: 12px;
	font-family: inherit;
	margin: 0 1px;
}

/* ── Instructies ──────────────────────────────────────────── */
.sa-instructions { margin-top: 32px; }
.sa-instructions h3 { margin-bottom: 14px; }
.sa-instructions-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 16px;
}
.sa-instruction-card {
	border: 1px solid var(--sa-border);
	border-radius: var(--sa-radius);
	padding: 20px 22px;
	background: #fff;
	box-shadow: 0 2px 10px rgba(17, 19, 34, .04);
}
.sa-instruction-card h4 { margin: 0 0 10px; }
.sa-instruction-card ol { margin: 0; padding-left: 20px; }
.sa-instruction-card li { margin-bottom: 8px; }

/* ── Editor layout ────────────────────────────────────────── */
.sa-editor[hidden] { display: none; }
.sa-editor {
	display: flex;
	gap: 20px;
	align-items: stretch;
}

.sa-workspace {
	position: relative;
	flex: 1;
	min-width: 0;
	background:
		radial-gradient(1200px 500px at 70% -10%, rgba(139, 92, 246, .18), transparent 60%),
		radial-gradient(900px 500px at 10% 110%, rgba(59, 130, 246, .14), transparent 60%),
		#17161d;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: var(--sa-shadow);
	height: min(78vh, 860px);
	min-height: 480px;
}

.sa-canvas-area {
	position: absolute;
	inset: 0;
	padding: 78px 20px 92px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: auto;
}
.sa-canvas-area .canvas-container {
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 18px 50px rgba(0, 0, 0, .45);
}

/* ── Zwevende panelen ─────────────────────────────────────── */
.sa-float {
	position: absolute;
	display: flex;
	align-items: center;
	gap: 6px;
	background: rgba(28, 27, 36, .78);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: 999px;
	padding: 6px;
	z-index: 10;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .35);
}
.sa-float-topleft   { top: 14px; left: 14px; }
.sa-float-topcenter { top: 14px; left: 50%; transform: translateX(-50%); padding: 8px 14px; }
.sa-float-topright  { top: 14px; right: 14px; background: transparent; border: none; box-shadow: none; padding: 0; -webkit-backdrop-filter: none; backdrop-filter: none; }
.sa-float-bottom    { bottom: 14px; left: 50%; transform: translateX(-50%); max-width: calc(100% - 28px); flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
.sa-float-bottom::-webkit-scrollbar { display: none; }

.sa-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border: none;
	border-radius: 999px;
	background: transparent;
	color: #e7e8ee;
	transition: background .15s, color .15s;
}
.sa-icon-btn:hover { background: rgba(255, 255, 255, .12); color: #fff; }

.sa-tool-btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 9px 14px;
	border: none;
	border-radius: 999px;
	background: transparent;
	color: #c9cbd6;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
	transition: background .15s, color .15s;
}
.sa-tool-btn:hover { background: rgba(255, 255, 255, .1); color: #fff; }
.sa-tool-btn.active { background: rgba(255, 255, 255, .16); color: #fff; }

/* ── Kleur + lijndikte ────────────────────────────────────── */
.sa-color-swatches { display: inline-flex; gap: 7px; align-items: center; }
.sa-swatch {
	position: relative;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	border: 2px solid rgba(255, 255, 255, .25);
	background: var(--sw);
	padding: 0;
	transition: transform .12s, border-color .15s;
}
.sa-swatch:hover { transform: scale(1.12); }
.sa-swatch.active { border-color: #fff; box-shadow: 0 0 0 2px rgba(255, 255, 255, .35); }

.sa-swatch-custom {
	display: inline-flex;
	background: conic-gradient(#ef4444, #f97316, #eab308, #22c55e, #3b82f6, #8b5cf6, #ef4444);
	overflow: hidden;
	cursor: pointer;
}
.sa-swatch-custom input {
	opacity: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
	padding: 0;
	border: none;
}

.sa-divider {
	width: 1px;
	height: 20px;
	background: rgba(255, 255, 255, .18);
	margin: 0 6px;
}

/* Outline / gevuld toggle */
.sa-mode-toggle {
	display: inline-flex;
	gap: 2px;
	background: rgba(255, 255, 255, .1);
	border-radius: 999px;
	padding: 2px;
}
.sa-mode-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 26px;
	border: none;
	border-radius: 999px;
	background: transparent;
	color: #c9cbd6;
	transition: background .15s, color .15s;
}
.sa-mode-btn svg { width: 15px; height: 15px; }
.sa-mode-btn:hover { color: #fff; }
.sa-mode-btn.active { background: #fff; color: #17161d; }

.sa-stroke-label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: #c9cbd6;
	font-weight: 600;
}
.sa-stroke-label input[type="range"] {
	width: 90px;
	accent-color: #fff;
}
#sa-stroke-value {
	min-width: 18px;
	text-align: center;
	background: rgba(255, 255, 255, .14);
	border-radius: 6px;
	padding: 1px 5px;
	color: #fff;
}

/* ── Notities-zijbalk ─────────────────────────────────────── */
.sa-sidebar {
	width: 320px;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.sa-sidebar h3 {
	margin: 2px 2px 4px;
	font-size: 19px;
	font-weight: 700;
}
#sa-note-count { color: var(--sa-text-muted); font-weight: 600; }

.sa-point-list {
	flex: 1;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-height: 120px;
}
.sa-empty-hint {
	color: var(--sa-text-muted);
	font-size: 13px;
	background: var(--sa-bg-soft);
	border-radius: 12px;
	padding: 14px 16px;
}

.sa-point-item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 14px;
	border: 1px solid var(--sa-border);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 2px 10px rgba(17, 19, 34, .05);
	transition: box-shadow .15s;
}
.sa-point-item:hover { box-shadow: 0 6px 18px rgba(17, 19, 34, .09); }

.sa-point-badge,
.sa-modal-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	height: 28px;
	border-radius: 50%;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	background: #ef4444;
	flex-shrink: 0;
}
.sa-point-text {
	flex: 1;
	font-size: 14px;
	word-break: break-word;
	padding-top: 3px;
}
.sa-point-title {
	display: block;
	font-weight: 700;
	margin-bottom: 2px;
}
.sa-point-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border: none;
	border-radius: 8px;
	background: transparent;
	color: #9aa0ac;
	transition: background .15s, color .15s;
}
.sa-point-action svg { width: 16px; height: 16px; }
.sa-point-action:hover { background: var(--sa-bg-soft); color: #1c1e26; }
.sa-point-action.danger:hover { background: #fef2f2; color: #b91c1c; }

.sa-privacy-hint {
	font-size: 12px;
	color: #92400e;
	background: #fffbeb;
	border: 1px solid #fde68a;
	border-radius: 12px;
	padding: 10px 12px;
}

.sa-status { font-size: 13px; min-height: 18px; }
.sa-status.error { color: #b91c1c; }
.sa-status.loading { color: var(--sa-text-muted); }

/* Honeypot: buiten beeld, niet display:none (sommige bots checken dat) */
.sa-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* ── Resultaat ────────────────────────────────────────────── */
.sa-result {
	border: 1px solid var(--sa-border);
	border-radius: var(--sa-radius);
	padding: 28px;
	background: #fff;
	max-width: 860px;
	margin: 0 auto;
	box-shadow: var(--sa-shadow);
}

.sa-result-preview { margin-top: 24px; }
.sa-result-preview img {
	display: block;
	max-width: 100%;
	height: auto;
	border: 1px solid var(--sa-border);
	border-radius: 14px;
	box-shadow: 0 6px 20px rgba(17, 19, 34, .08);
}
.sa-result-notes {
	margin-top: 14px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.sa-result h3 {
	margin-top: 0;
	display: flex;
	align-items: center;
	gap: 10px;
}
.sa-result-check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #dcfce7;
	color: #15803d;
	font-size: 15px;
	font-weight: 700;
}
.sa-result-row { margin-bottom: 16px; }
.sa-result-row label { display: block; font-weight: 600; font-size: 13px; margin-bottom: 6px; }
.sa-result-row label small { font-weight: 400; color: var(--sa-text-muted); }
.sa-copy-group { display: flex; gap: 8px; }
.sa-copy-group input {
	flex: 1;
	min-width: 0;
	padding: 10px 12px;
	border: 1px solid var(--sa-border);
	border-radius: 10px;
	font-size: 13px;
	background: var(--sa-bg-soft);
}
.sa-result-actions { display: flex; gap: 10px; margin-top: 22px; flex-wrap: wrap; }

/* ── Modal ────────────────────────────────────────────────── */
.sa-modal-overlay[hidden] { display: none; }
.sa-modal-overlay {
	position: fixed;
	inset: 0;
	background: rgba(13, 14, 22, .55);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 100000;
}
.sa-modal {
	background: #fff;
	border-radius: 18px;
	padding: 24px;
	width: min(460px, calc(100vw - 40px));
	box-shadow: 0 24px 60px rgba(0, 0, 0, .3);
}
.sa-modal h3 {
	margin: 0 0 14px;
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 16px;
}
.sa-modal input[type="text"],
.sa-modal textarea {
	display: block;
	width: 100%;
	border: 1px solid var(--sa-border);
	border-radius: 12px;
	padding: 12px;
	font-size: 14px;
	font-family: inherit;
	background: #fff;
	color: inherit;
	margin: 0 0 10px;
}
.sa-modal textarea { resize: vertical; margin-bottom: 0; }
.sa-modal input[type="text"]:focus,
.sa-modal textarea:focus {
	outline: none;
	border-color: var(--sa-ink);
	box-shadow: 0 0 0 3px rgba(17, 19, 34, .08);
}
.sa-modal-actions {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	margin-top: 16px;
}

/* ── Responsief ───────────────────────────────────────────── */
@media (max-width: 1150px) {
	/* Kleuren-paneel zakt onder de bovenste knoppen zodat niets overlapt. */
	.sa-float-topcenter { top: 64px; }
	.sa-canvas-area { padding-top: 128px; }
	.sa-tool-btn span { display: none; }
	.sa-tool-btn { padding: 10px 12px; }
}
@media (max-width: 960px) {
	.sa-editor { flex-direction: column; }
	.sa-sidebar { width: auto; }
}
