/* ── Davetiye Stüdyo — tam ekran ── */

.dv-studio-body {
	margin: 0;
	min-height: 100vh;
	background: #1c1917;
	font-family: 'Inter', system-ui, sans-serif;
	color: #faf6f0;
	overflow-x: hidden;
}

.dv-studio {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.hidden { display: none !important; }

/* Top bar */
.dv-topbar {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(28, 25, 23, 0.92);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.dv-topbar-inner {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0.75rem 1.25rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.dv-brand {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 700;
	font-size: 0.95rem;
	color: #faf6f0;
	text-decoration: none;
}

.dv-brand-icon { color: #d9b896; }

.dv-topbar-actions { display: flex; gap: 0.5rem; }

.dv-btn-ghost {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 0 0.85rem;
	border-radius: 8px;
	border: 1px solid rgba(255,255,255,0.12);
	background: transparent;
	color: #e7e5e4;
	font-size: 0.8rem;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
	transition: background 0.15s, border-color 0.15s;
}
.dv-btn-ghost:hover { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.2); }

.dv-btn-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0 1rem;
	border-radius: 10px;
	border: none;
	background: #FF9F1C;
	color: #fff;
	font-size: 0.82rem;
	font-weight: 600;
	cursor: pointer;
	width: 100%;
}
.dv-btn-primary:hover { background: #7a4e34; }

.dv-btn-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 0 0.85rem;
	border-radius: 10px;
	border: 1px solid rgba(255,255,255,0.15);
	background: rgba(255,255,255,0.04);
	color: #e7e5e4;
	font-size: 0.8rem;
	font-weight: 600;
	cursor: pointer;
	width: 100%;
}
.dv-btn-secondary:hover { background: rgba(255,255,255,0.08); }

.dv-btn-sm { min-height: 32px; padding: 0 0.75rem; width: auto; }

/* ── Galeri ── */
.dv-stage { flex: 1; }

.dv-stage-gallery {
	max-width: 1400px;
	margin: 0 auto;
	padding: 1.5rem 1.25rem 3rem;
	width: 100%;
	box-sizing: border-box;
}

.dv-gallery-head {
	margin-bottom: 1.5rem;
}

.dv-gallery-title {
	font-size: clamp(1.4rem, 3vw, 1.85rem);
	font-weight: 700;
	margin: 0 0 0.35rem;
	color: #faf6f0;
}

.dv-gallery-sub {
	margin: 0 0 1.25rem;
	font-size: 0.88rem;
	color: #a8a29e;
}

.dv-filter-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

.dv-filter-tab {
	padding: 0.4rem 0.85rem;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,0.12);
	background: rgba(255,255,255,0.04);
	color: #d6d3d1;
	font-size: 0.75rem;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.15s;
}
.dv-filter-tab:hover { border-color: rgba(217,184,150,0.4); color: #faf6f0; }
.dv-filter-tab.is-active {
	background: #FF9F1C;
	border-color: #FF9F1C;
	color: #fff;
}

.dv-gallery-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(148px, 1fr));
	gap: 1rem;
}

@media (min-width: 768px) {
	.dv-gallery-grid { grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: 1.15rem; }
}

.dv-tpl-card {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
	text-align: left;
}

.dv-tpl-thumb-wrap {
	position: relative;
	border-radius: 12px;
	overflow: hidden;
	aspect-ratio: 3 / 4;
	background: #292524;
	box-shadow: 0 8px 24px rgba(0,0,0,0.35);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.dv-tpl-card:hover .dv-tpl-thumb-wrap,
.dv-tpl-card:focus-visible .dv-tpl-thumb-wrap {
	transform: translateY(-4px) scale(1.02);
	box-shadow: 0 16px 40px rgba(0,0,0,0.45), 0 0 0 2px rgba(217,184,150,0.45);
}

.dv-tpl-thumb {
	width: 100%;
	height: 100%;
	background: var(--tpl-bg, #fffdf8);
	color: var(--tpl-text, #3d2f24);
	position: relative;
	overflow: hidden;
}

.dv-mini-card {
	position: absolute;
	inset: 8%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-family: 'Cormorant Garamond', Georgia, serif;
	border: 1px solid var(--tpl-accent, #FF9F1C);
	padding: 0.35rem;
}

.dv-mini-orn {
	font-size: 0.45rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	opacity: 0.7;
	color: var(--tpl-accent);
	font-family: Inter, sans-serif;
}

.dv-mini-names {
	font-size: 0.65rem;
	font-weight: 700;
	margin: 0.2rem 0;
}

.dv-mini-date {
	font-size: 0.5rem;
	opacity: 0.75;
}

/* Thumb frame variants — see extended rules below */

.dv-tpl-thumb[data-illus="flowers"]::after { content: '✿'; position: absolute; bottom: 8px; right: 10px; opacity: 0.35; }
.dv-tpl-thumb[data-bg-style="night-navy"],
.dv-tpl-thumb[data-bg-style="night-slate"] {
	background: var(--tpl-bg) !important;
}
.dv-tpl-thumb[data-bg-style="floral-pink"] {
	background: linear-gradient(180deg, #fff5f8, #fde8ef);
}
.dv-tpl-thumb[data-bg-style="floral-purple"] {
	background: linear-gradient(180deg, #f8f4ff, #ede5ff);
}
.dv-tpl-thumb[data-bg-style="blush"] {
	background: linear-gradient(180deg, #fdf2f4, #fce7f3);
}
.dv-tpl-thumb[data-bg-style="rustic-green"] {
	background: linear-gradient(180deg, #f0f4ec, #e2ead8);
}

.dv-mini-card--istanbul {
	border: none;
	padding-top: 12%;
}
.dv-mini-card--istanbul .dv-mini-day {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--tpl-accent);
	margin-top: 0.15rem;
}
.dv-mini-card--modern {
	border: none;
	gap: 0.15rem;
}
.dv-mini-card--modern .dv-mini-names {
	font-size: 0.48rem;
	letter-spacing: 0.12em;
	font-family: Inter, sans-serif;
	font-weight: 500;
}
.dv-mini-card--modern .dv-mini-date {
	font-size: 0.42rem;
	letter-spacing: 0.08em;
	font-family: Inter, sans-serif;
}

.dv-tpl-thumb[data-frame="gold"] .dv-mini-card { border-width: 2px; border-color: var(--tpl-accent); }
.dv-tpl-thumb[data-frame="double"] .dv-mini-card { border: 3px double var(--tpl-accent); }
.dv-tpl-thumb[data-frame="ornate"] .dv-mini-card { outline: 1px solid var(--tpl-accent); outline-offset: 3px; border: 1px solid var(--tpl-accent); }
.dv-tpl-thumb[data-frame="leaf"]::before { content: '🍃'; position: absolute; top: 6px; left: 8px; font-size: 0.7rem; opacity: 0.5; }
.dv-tpl-thumb[data-frame="soft"] .dv-mini-card { border-radius: 4px; border: 1px solid rgba(0,0,0,0.1); }
.dv-tpl-thumb[data-frame="minimal"] .dv-mini-card { border: none; }
.dv-tpl-thumb[data-frame="none"] .dv-mini-card { border: none; }

.dv-tpl-thumb[data-illus="flowers"]::after { content: '✿ ✿'; position: absolute; bottom: 8px; right: 8px; left: 8px; text-align: center; opacity: 0.35; font-size: 0.55rem; letter-spacing: 0.3em; }
.dv-tpl-thumb[data-illus="leaves"]::after { content: '🍂'; position: absolute; top: 8px; right: 10px; opacity: 0.45; }
.dv-tpl-thumb[data-illus="stars"]::after { content: '✦ ✦ ✦'; position: absolute; top: 10px; right: 8px; opacity: 0.5; color: var(--tpl-accent); font-size: 0.45rem; letter-spacing: 0.2em; }
.dv-tpl-thumb[data-illus="grain"] {
	background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%237a5234' fill-opacity='0.08'%3E%3Cpath d='M0 40L40 0H20L0 20M40 40V20L20 40'/%3E%3C/g%3E%3C/svg%3E");
	background-color: var(--tpl-bg);
}

.dv-tpl-hover {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(28, 25, 23, 0.55);
	opacity: 0;
	transition: opacity 0.2s;
	pointer-events: none;
}

.dv-tpl-card:hover .dv-tpl-hover,
.dv-tpl-card:focus-visible .dv-tpl-hover { opacity: 1; }

.dv-tpl-hover-label {
	padding: 0.45rem 0.85rem;
	border-radius: 999px;
	background: #FF9F1C;
	color: #fff;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.dv-tpl-selected-badge {
	position: absolute;
	top: 8px;
	left: 8px;
	z-index: 3;
	padding: 0.2rem 0.5rem;
	border-radius: 999px;
	background: #FF9F1C;
	color: #fff;
	font-size: 0.62rem;
	font-weight: 700;
	opacity: 0;
	pointer-events: none;
}

.dv-tpl-card.is-selected .dv-tpl-selected-badge { opacity: 1; }
.dv-tpl-card.is-selected .dv-tpl-thumb-wrap {
	box-shadow: 0 0 0 2px #FF9F1C, 0 8px 24px rgba(0,0,0,0.35);
}

.dv-stage-gallery .dv-tpl-name {
	display: block;
	margin-top: 0.55rem;
	font-size: 0.78rem;
	font-weight: 600;
	color: #e7e5e4;
	line-height: 1.3;
}

.dv-modal-grid .dv-tpl-name,
.dv-modal-grid .dv-tpl-cat {
	color: #44403c;
}
.dv-modal-grid .dv-tpl-cat { color: #78716c; }

.dv-tpl-name {
	display: block;
	margin-top: 0.55rem;
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.3;
}

.dv-tpl-cat {
	display: block;
	font-size: 0.68rem;
	color: #78716c;
	margin-top: 0.15rem;
}

/* ── Editör — 3 sütun ── */
.dv-stage-editor {
	display: grid;
	grid-template-columns: 280px 1fr 300px;
	min-height: calc(100vh - 53px);
	background: #ece9e4;
}

@media (max-width: 1100px) {
	.dv-stage-editor { grid-template-columns: 240px 1fr 280px; }
}

@media (max-width: 900px) {
	.dv-stage-editor {
		grid-template-columns: 1fr;
		grid-template-rows: auto 1fr auto;
	}
	.dv-tools-panel { max-height: none; border-right: none; border-bottom: 1px solid #e5e0d8; }
	.dv-edit-panel { border-left: none; border-top: 1px solid #e5e0d8; max-height: 360px; }
}

/* Sol araç paneli */
.dv-tools-panel {
	background: #f3f4f6;
	border-right: 1px solid #e5e7eb;
	padding: 0.85rem 0.75rem 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	overflow-y: auto;
	color: #2b2b2b;
}

.dv-design-header {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	padding-bottom: 0.65rem;
	border-bottom: 1px solid #e5e7eb;
	margin-bottom: 0.25rem;
}

.dv-design-back {
	display: inline-flex;
	align-items: center;
	gap: 0.15rem;
	padding: 0.35rem 0.5rem 0.35rem 0.25rem;
	border: none;
	background: transparent;
	color: #57534e;
	font-size: 0.78rem;
	font-weight: 600;
	cursor: pointer;
	border-radius: 8px;
	flex-shrink: 0;
	text-decoration: none;
}
.dv-design-back:hover { background: rgba(0,0,0,0.04); color: #2b2b2b; }

.dv-design-head-text { min-width: 0; }

.dv-tools-head { margin-bottom: 0.25rem; }

.dv-tools-title {
	margin: 0;
	font-size: 0.95rem;
	font-weight: 700;
	color: #2b2b2b;
	line-height: 1.25;
}

.dv-tools-sub {
	margin: 0.15rem 0 0;
	font-size: 0.68rem;
	color: #78716c;
	line-height: 1.35;
}

/* Aksiyon satırları */
.dv-action-list {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}

.dv-action-row {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	width: 100%;
	padding: 0.7rem 0.75rem;
	border-radius: 12px;
	border: 1px solid #e5e7eb;
	background: #fff;
	cursor: pointer;
	text-align: left;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.dv-action-row:hover:not(:disabled) {
	border-color: #d6d3d1;
	box-shadow: 0 2px 10px rgba(0,0,0,0.06);
}
.dv-action-row--muted,
.dv-action-row:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.dv-action-icon {
	width: 38px;
	height: 38px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	font-size: 1.1rem;
}
.dv-action-icon--tpl { background: #fce7f3; color: #be185d; }
.dv-action-icon--music { background: #ede9fe; color: #7c3aed; }
.dv-action-icon--text { background: #dbeafe; color: #2563eb; font-weight: 700; }
.dv-action-icon--save { background: #fef3c7; color: #b45309; }
.dv-action-icon--reset { background: #ffedd5; color: #c2410c; }

.dv-action-body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
}
.dv-action-body strong {
	font-size: 0.8rem;
	font-weight: 700;
	color: #2b2b2b;
	line-height: 1.25;
}
.dv-action-body small {
	font-size: 0.67rem;
	color: #78716c;
	line-height: 1.3;
}

.dv-action-chevron {
	font-size: 1.25rem;
	color: #a8a29e;
	line-height: 1;
	flex-shrink: 0;
}

.dv-tool-card {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	width: 100%;
	padding: 0.75rem;
	border-radius: 12px;
	border: 1px solid #e5e0d8;
	background: #fff;
	cursor: pointer;
	text-align: left;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.dv-tool-card:hover {
	border-color: #FF9F1C;
	box-shadow: 0 4px 14px rgba(156, 102, 68, 0.12);
}

.dv-tool-icon { font-size: 1.35rem; line-height: 1; }

.dv-tool-text { display: flex; flex-direction: column; gap: 0.1rem; }
.dv-tool-text strong { font-size: 0.82rem; color: #2b2b2b; }
.dv-tool-text small { font-size: 0.68rem; color: #78716c; }

.dv-tools-actions { display: flex; flex-direction: column; gap: 0.4rem; }

.dv-tool-btn {
	min-height: 36px;
	padding: 0 0.75rem;
	border-radius: 9px;
	border: 1px solid #e5e0d8;
	background: #fff;
	color: #44403c;
	font-size: 0.78rem;
	font-weight: 600;
	cursor: pointer;
}
.dv-tool-btn:hover { background: #f5f0ea; }
.dv-tool-btn--primary {
	background: #FF9F1C;
	border-color: #FF9F1C;
	color: #fff;
}
.dv-tool-btn--primary:hover { background: #7a4e34; }

.dv-tools-sections {
	border-top: 1px solid #e5e7eb;
	padding-top: 0.65rem;
	margin-top: 0.15rem;
}

.dv-tools-sections-label {
	margin: 0 0 0.45rem;
	font-size: 0.65rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: #78716c;
}

.dv-section-row {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.45rem 0;
	font-size: 0.78rem;
	color: #44403c;
	cursor: pointer;
}
.dv-section-row--muted { opacity: 0.5; cursor: not-allowed; }
.dv-section-row--muted em {
	font-style: normal;
	font-size: 0.6rem;
	font-weight: 700;
	color: #FF9F1C;
	margin-left: 0.25rem;
}

.dv-section-icon {
	width: 1.25rem;
	text-align: center;
	flex-shrink: 0;
	font-size: 0.85rem;
}

.dv-section-label { flex: 1; }

/* Toggle switch */
.dv-switch {
	appearance: none;
	width: 42px;
	height: 24px;
	border-radius: 999px;
	background: #d6d3d1;
	position: relative;
	cursor: pointer;
	flex-shrink: 0;
	transition: background 0.2s;
}
.dv-switch::after {
	content: '';
	position: absolute;
	top: 3px;
	left: 3px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0,0,0,0.2);
	transition: transform 0.2s;
}
.dv-switch:checked { background: #059669; }
.dv-switch:checked::after { transform: translateX(18px); }
.dv-switch:disabled { opacity: 0.5; cursor: not-allowed; }

.dv-sidebar-block--accent {
	border-top: 1px solid #e5e7eb;
	padding-top: 0.65rem;
}

/* Arka plan görseli kontrolleri */
.dv-bg-controls {
	border-top: 1px solid #e5e7eb;
	padding-top: 0.65rem;
}

.dv-bg-upload { display: block; cursor: pointer; }

.dv-bg-upload-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 38px;
	padding: 0 0.75rem;
	border-radius: 10px;
	border: 1px dashed #c4b5a8;
	background: #fff;
	color: #57534e;
	font-size: 0.78rem;
	font-weight: 600;
	transition: border-color 0.15s, background 0.15s;
}
.dv-bg-upload:hover .dv-bg-upload-btn {
	border-color: #FF9F1C;
	background: #faf6f0;
	color: #FF9F1C;
}

.dv-bg-thumb {
	height: 56px;
	margin-top: 0.5rem;
	border-radius: 8px;
	border: 1px solid #e5e7eb;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.dv-bg-settings { margin-top: 0.65rem; }

.dv-bg-slider-wrap { display: block; margin-bottom: 0.65rem; }

.dv-bg-slider-label {
	display: flex;
	justify-content: space-between;
	font-size: 0.72rem;
	font-weight: 600;
	color: #57534e;
	margin-bottom: 0.35rem;
}
.dv-bg-slider-label em {
	font-style: normal;
	color: #FF9F1C;
}

.dv-bg-slider {
	width: 100%;
	accent-color: #FF9F1C;
	cursor: pointer;
}

.dv-bg-sub-label {
	margin: 0 0 0.35rem;
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #78716c;
}

.dv-bg-size-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.35rem;
	margin-bottom: 0.65rem;
}

.dv-bg-size-btn {
	min-height: 32px;
	padding: 0.3rem 0.4rem;
	border-radius: 8px;
	border: 1px solid #e5e7eb;
	background: #fff;
	color: #44403c;
	font-size: 0.72rem;
	font-weight: 600;
	cursor: pointer;
}
.dv-bg-size-btn:hover { border-color: #FF9F1C; }
.dv-bg-size-btn.is-active {
	background: #FF9F1C;
	border-color: #FF9F1C;
	color: #fff;
}

.dv-bg-select-wrap { display: block; margin-bottom: 0.55rem; }

.dv-bg-select {
	width: 100%;
	box-sizing: border-box;
	padding: 0.45rem 0.55rem;
	border-radius: 8px;
	border: 1px solid #e5e7eb;
	background: #fff;
	font-size: 0.78rem;
	color: #44403c;
	outline: none;
}
.dv-bg-select:focus { border-color: #FF9F1C; }

.dv-bg-remove {
	width: 100%;
	min-height: 34px;
	border-radius: 8px;
	border: 1px solid #fecaca;
	background: #fff5f5;
	color: #b91c1c;
	font-size: 0.72rem;
	font-weight: 600;
	cursor: pointer;
}
.dv-bg-remove:hover { background: #fee2e2; }

.dv-bg-hint {
	margin: 0.5rem 0 0;
	font-size: 0.62rem;
	line-height: 1.4;
	color: #a8a29e;
}

.dv-bg-image-layer {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	transition: opacity 0.2s ease;
}

.dv-current-tpl {
	margin: 0 0 0.45rem;
	font-size: 0.72rem;
	font-weight: 600;
	color: #FF9F1C;
}

.dv-tools-footer {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	margin-top: auto;
	padding-top: 0.5rem;
}

.dv-toggle-row {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.4rem 0;
	font-size: 0.78rem;
	color: #44403c;
	cursor: pointer;
}
.dv-toggle-row input { accent-color: #FF9F1C; }
.dv-toggle-row em {
	margin-left: auto;
	font-style: normal;
	font-size: 0.65rem;
	color: #059669;
	font-weight: 600;
}

.dv-tools-panel .dv-sidebar-label { color: #78716c; }
.dv-tools-panel .dv-color-swatch { border-color: #e5e0d8; }

.dv-sidebar {
	background: rgba(28, 25, 23, 0.98);
	border-right: 1px solid rgba(255,255,255,0.08);
	padding: 1rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	overflow-y: auto;
}

.dv-sidebar-label {
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #78716c;
	margin: 0 0 0.5rem;
}

.dv-color-row { display: flex; flex-wrap: wrap; gap: 0.4rem; }

.dv-color-swatch {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	border: 2px solid rgba(255,255,255,0.2);
	cursor: pointer;
	transition: transform 0.12s;
	padding: 0;
}
.dv-color-swatch:hover { transform: scale(1.1); }
.dv-color-swatch.is-active { box-shadow: 0 0 0 2px #faf6f0; }

.dv-quick-fields { display: flex; flex-direction: column; gap: 0.5rem; }

.dv-qf { display: flex; flex-direction: column; gap: 0.2rem; }
.dv-qf span { font-size: 0.68rem; color: #a8a29e; font-weight: 600; }
.dv-qf input,
.dv-qf textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 0.45rem 0.55rem;
	border-radius: 8px;
	border: 1px solid rgba(255,255,255,0.12);
	background: rgba(255,255,255,0.05);
	color: #faf6f0;
	font-size: 0.78rem;
	outline: none;
	font-family: inherit;
	resize: vertical;
}
.dv-qf input:focus,
.dv-qf textarea:focus { border-color: #FF9F1C; }

.dv-sidebar-actions { display: flex; flex-direction: column; gap: 0.45rem; margin-top: auto; }

.dv-canvas-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	padding: 1.25rem 1rem 2rem;
	background: #d6d3d1;
	min-height: 480px;
	overflow-y: auto;
}

.dv-canvas-hint {
	font-size: 0.72rem;
	color: #57534e;
	margin: 0 0 1rem;
	text-align: center;
}

.dv-canvas {
	width: 100%;
	display: flex;
	justify-content: center;
}

/* ── Davetiye kartı ── */
.dv-preview-card {
	--inv-accent: var(--tpl-accent, #FF9F1C);
	width: min(100%, 420px);
	aspect-ratio: 3 / 4.15;
	min-height: 520px;
	position: relative;
	overflow: hidden;
	border-radius: 4px;
	box-shadow: 0 24px 80px rgba(0, 0, 0, 0.45);
	background: var(--tpl-bg, #fffdf8);
	color: var(--tpl-text, #3d2f24);
	font-family: 'Cormorant Garamond', Georgia, serif;
	transition: background 0.35s ease, color 0.35s ease, box-shadow 0.35s ease;
}

/* Şablon arka plan stilleri */
.dv-preview-card[data-bg-style="cream"] {
	background: linear-gradient(180deg, #fffdf8 0%, #faf6f0 100%);
}
.dv-preview-card[data-bg-style="white"] {
	background: #ffffff;
}
.dv-preview-card[data-bg-style="blush"] {
	background: linear-gradient(165deg, #fdf2f4 0%, #fce7f3 100%);
}
.dv-preview-card[data-bg-style="floral-pink"] {
	background: linear-gradient(180deg, #fff5f8 0%, #fde8ef 60%, #fff5f8 100%);
}
.dv-preview-card[data-bg-style="floral-purple"] {
	background: linear-gradient(180deg, #f8f4ff 0%, #ede5ff 55%, #f8f4ff 100%);
}
.dv-preview-card[data-bg-style="bosphorus-day"] {
	background: linear-gradient(180deg, #f5f0e8 0%, #ebe4d8 100%);
}
.dv-preview-card[data-bg-style="bosphorus-dusk"] {
	background: linear-gradient(180deg, #e8eef3 0%, #d5dee8 100%);
}
.dv-preview-card[data-bg-style="night-navy"] {
	background: linear-gradient(165deg, #1a2332 0%, #243044 50%, #141c28 100%) !important;
	box-shadow: 0 24px 80px rgba(0, 0, 0, 0.6);
}
.dv-preview-card[data-bg-style="night-slate"] {
	background: linear-gradient(165deg, #0f172a 0%, #1e293b 50%, #0f172a 100%) !important;
	box-shadow: 0 24px 80px rgba(0, 0, 0, 0.65);
}
.dv-preview-card[data-bg-style="rustic-wood"] {
	background: linear-gradient(180deg, #f3ebe0 0%, #e8ddd0 100%);
}
.dv-preview-card[data-bg-style="rustic-green"] {
	background: linear-gradient(180deg, #f0f4ec 0%, #e2ead8 100%);
}

/* Şablon fontları (varsayılan) */
.dv-preview-card[data-font="inter"] .dv-card-inner,
.dv-preview-card[data-font="inter"] .dv-names-line,
.dv-preview-card[data-font="inter"] .dv-couple { font-family: 'Inter', sans-serif; }
.dv-preview-card[data-font="playfair"] .dv-card-inner,
.dv-preview-card[data-font="playfair"] .dv-names-line,
.dv-preview-card[data-font="playfair"] .dv-couple { font-family: 'Playfair Display', Georgia, serif; }
.dv-preview-card[data-font="montserrat"] .dv-card-inner,
.dv-preview-card[data-font="montserrat"] .dv-names-line,
.dv-preview-card[data-font="montserrat"] .dv-couple { font-family: 'Montserrat', sans-serif; }
.dv-preview-card[data-font="lora"] .dv-card-inner,
.dv-preview-card[data-font="lora"] .dv-names-line,
.dv-preview-card[data-font="lora"] .dv-couple { font-family: 'Lora', Georgia, serif; }
.dv-preview-card[data-font="cormorant"] .dv-card-inner,
.dv-preview-card[data-font="cormorant"] .dv-names-line,
.dv-preview-card[data-font="cormorant"] .dv-couple { font-family: 'Cormorant Garamond', Georgia, serif; }

.dv-preview-card[data-bg-style="night-navy"] .dv-ornament,
.dv-preview-card[data-bg-style="night-slate"] .dv-ornament { color: var(--inv-accent); opacity: 1; }
.dv-preview-card[data-bg-style="night-navy"] .dv-meta,
.dv-preview-card[data-bg-style="night-slate"] .dv-meta { opacity: 0.55; }

.dv-illus-layer {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 38%;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.3s;
	z-index: 1;
}

.dv-preview-card[data-illus="bosphorus"] .dv-illus-layer {
	opacity: 1;
	height: 42%;
	background:
		linear-gradient(to top, rgba(91,122,140,0.25) 0%, transparent 70%),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 140'%3E%3Cellipse cx='200' cy='95' rx='220' ry='30' fill='%235b7a8c' fill-opacity='0.2'/%3E%3Cpath fill='%234a6270' fill-opacity='0.45' d='M110 55h24v42h-24z M185 42h38v55h-38z M270 58h22v38h-22z'/%3E%3Cpath stroke='%235b7a8c' stroke-width='2.5' fill='none' opacity='0.55' d='M0 88 Q100 72 200 82 T400 88'/%3E%3Cpath fill='%235b7a8c' fill-opacity='0.3' d='M155 100c8-12 16-12 24 0s16 12 24 0 16-12 24 0v40H155z'/%3E%3C/svg%3E") center bottom / cover no-repeat;
}

.dv-preview-card[data-bg-style="bosphorus-day"] .dv-illus-layer,
.dv-preview-card[data-bg-style="bosphorus-dusk"] .dv-illus-layer { opacity: 1; }

.dv-preview-card[data-illus="flowers"] .dv-illus-layer {
	opacity: 1;
	height: 100%;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Ctext x='8' y='40' font-size='28' fill='%23db7093' opacity='0.12'%3E✿%3C/text%3E%3Ctext x='70' y='90' font-size='22' fill='%23c9a0a0' opacity='0.1'%3E✿%3C/text%3E%3Ctext x='40' y='110' font-size='18' fill='%23db7093' opacity='0.08'%3E✿%3C/text%3E%3C/svg%3E") repeat;
}

.dv-preview-card[data-illus="leaves"]::before {
	content: '🍃';
	position: absolute;
	top: 1rem;
	left: 1rem;
	font-size: 1.2rem;
	opacity: 0.35;
	z-index: 1;
}

.dv-preview-card[data-illus="stars"]::after {
	content: '✦ ✦ ✦';
	position: absolute;
	top: 1.25rem;
	right: 1rem;
	font-size: 0.65rem;
	letter-spacing: 0.4em;
	opacity: 0.35;
	color: var(--inv-accent);
	z-index: 1;
}

.dv-preview-card[data-illus="grain"] {
	background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%239c6644' fill-opacity='0.06'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4z'/%3E%3C/g%3E%3C/svg%3E");
	background-color: var(--tpl-bg);
}

.dv-card-inner {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 2rem 1.75rem 2.5rem;
	height: 100%;
	box-sizing: border-box;
}

/* Frame styles */
.dv-preview-card[data-frame="gold"] .dv-card-inner {
	border: 2px solid var(--inv-accent);
	outline: 1px solid color-mix(in srgb, var(--inv-accent) 40%, transparent);
	outline-offset: 8px;
	margin: 16px;
	height: calc(100% - 32px);
}

.dv-preview-card[data-frame="double"] .dv-card-inner {
	border: 3px double var(--inv-accent);
	margin: 14px;
	height: calc(100% - 28px);
}

.dv-preview-card[data-frame="ornate"] .dv-card-inner {
	border: 1px solid var(--inv-accent);
	box-shadow: inset 0 0 0 6px var(--tpl-bg), inset 0 0 0 7px var(--inv-accent);
	margin: 14px;
	height: calc(100% - 28px);
}

.dv-preview-card[data-frame="soft"] .dv-card-inner {
	border: 1px solid rgba(0,0,0,0.08);
	border-radius: 6px;
	margin: 12px;
	height: calc(100% - 24px);
}

.dv-preview-card[data-frame="leaf"] .dv-card-inner::before,
.dv-preview-card[data-frame="leaf"] .dv-card-inner::after {
	content: '🍂';
	position: absolute;
	font-size: 1rem;
	opacity: 0.35;
}
.dv-preview-card[data-frame="leaf"] .dv-card-inner::before { top: 0.75rem; left: 0.75rem; }
.dv-preview-card[data-frame="leaf"] .dv-card-inner::after { bottom: 0.75rem; right: 0.75rem; }

.dv-preview-card[data-frame="minimal"] .dv-card-inner,
.dv-preview-card[data-frame="none"] .dv-card-inner { border: none; margin: 0; }

/* Layout: modern */
.dv-preview-card[data-layout="modern"] .dv-ornament {
	font-family: Inter, sans-serif;
	letter-spacing: 0.45em;
}

.dv-preview-card[data-layout="modern"] .dv-names-line,
.dv-preview-card[data-layout="modern"] .dv-couple {
	text-transform: uppercase;
	letter-spacing: 0.18em;
	font-weight: 300;
	font-size: 1.15rem;
}

.dv-preview-card[data-layout="modern"] .dv-divider { width: 64px; }

/* Layout: istanbul */
.dv-preview-card[data-layout="istanbul"] .dv-card-inner {
	justify-content: flex-start;
	padding-top: 2.5rem;
}

.dv-preview-card[data-layout="istanbul"] .dv-ornament {
	font-size: 0.65rem;
	letter-spacing: 0.28em;
}

.dv-preview-card[data-layout="istanbul"] .dv-names-line {
	font-size: clamp(1.5rem, 4.5vw, 1.85rem);
	font-weight: 700;
}

.dv-preview-card[data-layout="istanbul"] .dv-subtitle {
	font-size: 0.72rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	max-width: 92%;
	line-height: 1.5;
	font-style: normal;
}

.dv-preview-card[data-layout="istanbul"] .dv-date-block .dv-date { display: none; }

.dv-preview-card[data-layout="istanbul"] .dv-venue-block {
	align-self: flex-start;
	text-align: left;
	width: 100%;
	margin-top: auto;
	padding-bottom: 4rem;
}

.dv-preview-card[data-layout="istanbul"] .dv-families { display: none; }

.dv-preview-card[data-layout="istanbul"] .dv-editable-wrap[data-field="families"] { display: none; }

/* Varsayılan: tek satır isim (modern / istanbul) */
.dv-names-block .dv-editable-wrap[data-field="bride"],
.dv-names-block .dv-editable-wrap[data-field="groom"],
.dv-names-block #dv-amp-sep { display: none; }

.dv-preview-card[data-layout="classic"] .dv-names-block .dv-editable-wrap[data-field="names"] { display: none !important; }
.dv-preview-card[data-layout="classic"] .dv-names-block .dv-editable-wrap[data-field="bride"],
.dv-preview-card[data-layout="classic"] .dv-names-block .dv-editable-wrap[data-field="groom"],
.dv-preview-card[data-layout="classic"] .dv-names-block #dv-amp-sep { display: block !important; }

.dv-preview-card[data-layout="modern"] .dv-names-block .dv-editable-wrap[data-field="names"],
.dv-preview-card[data-layout="istanbul"] .dv-names-block .dv-editable-wrap[data-field="names"] { display: block !important; }

.dv-preview-card[data-layout="classic"] .dv-date-block .dv-date { display: block; }
.dv-preview-card[data-layout="classic"] .dv-editable-wrap[data-field="dateSplit"] { display: none !important; }

.dv-preview-card[data-layout="modern"] .dv-date-block .dv-date { display: block; }
.dv-preview-card[data-layout="modern"] .dv-editable-wrap[data-field="dateSplit"] { display: none !important; }

.dv-preview-card[data-layout="istanbul"] .dv-editable-wrap[data-field="dateSplit"] { display: block !important; }
.dv-preview-card[data-layout="istanbul"] .dv-editable-wrap[data-field="dateSplit"] .dv-date-split { display: flex !important; }

/* Typography blocks */
.dv-ornament {
	font-size: 0.72rem;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	margin-bottom: 0.65rem;
	font-family: Inter, sans-serif;
	font-weight: 500;
	color: var(--inv-accent);
	opacity: 0.85;
}

.dv-names-line,
.dv-couple {
	font-size: clamp(1.55rem, 4.5vw, 2rem);
	font-weight: 600;
	line-height: 1.2;
	margin: 0.2rem 0;
}

.dv-ampersand {
	font-size: 1.1rem;
	font-style: italic;
	opacity: 0.7;
	margin: 0.1rem 0;
}

.dv-subtitle {
	font-size: 0.82rem;
	font-style: italic;
	opacity: 0.85;
	margin: 0.65rem 0 0.85rem;
	max-width: 90%;
	line-height: 1.5;
}

.dv-date-block { margin: 0.5rem 0; }

.dv-date {
	font-size: 1.1rem;
	font-weight: 600;
	letter-spacing: 0.04em;
}

.dv-date-split {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	margin: 0.75rem 0;
}

.dv-day-num {
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
	color: var(--inv-accent);
}

.dv-day-meta {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-family: Inter, sans-serif;
}

.dv-day-line {
	width: 100%;
	height: 1px;
	background: currentColor;
	opacity: 0.35;
	margin: 0.35rem 0;
}

.dv-time {
	font-size: 0.95rem;
	font-weight: 600;
	margin-top: 0.25rem;
	font-family: Inter, sans-serif;
	letter-spacing: 0.08em;
}

.dv-venue {
	font-size: 1rem;
	font-weight: 600;
	margin-top: 0.5rem;
}

.dv-address {
	font-size: 0.78rem;
	opacity: 0.75;
	margin-top: 0.2rem;
	font-family: Inter, sans-serif;
	line-height: 1.4;
	max-width: 95%;
}

.dv-families {
	font-size: 0.76rem;
	margin-top: 0.85rem;
	opacity: 0.8;
	line-height: 1.5;
	max-width: 90%;
}

.dv-meta {
	font-family: Inter, sans-serif;
	font-size: 0.6rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin-top: auto;
	padding-top: 0.75rem;
	opacity: 0.45;
}

/* ── Düzenlenebilir alan hover ── */
.dv-editable-wrap {
	position: relative;
	display: inline-block;
	max-width: 100%;
}

.dv-editable-wrap--inline { display: block; width: 100%; }

.dv-editable {
	margin: 0;
	cursor: pointer;
	outline: none;
	border-radius: 2px;
	transition: background 0.15s;
}

.dv-edit-badge,
.dv-edit-tip {
	position: absolute;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.18s;
	z-index: 5;
}

.dv-edit-badge {
	top: -10px;
	right: -8px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #FF9F1C;
	color: #fff;
	font-size: 0.65rem;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 8px rgba(0,0,0,0.25);
}

.dv-edit-tip {
	left: 50%;
	transform: translateX(-50%);
	bottom: calc(100% + 6px);
	white-space: nowrap;
	padding: 0.35rem 0.65rem;
	border-radius: 6px;
	background: #292524;
	color: #faf6f0;
	font-family: Inter, sans-serif;
	font-size: 0.68rem;
	font-weight: 600;
	box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}

.dv-edit-tip::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	border: 5px solid transparent;
	border-top-color: #292524;
}

.dv-editable-wrap:hover .dv-editable {
	background: rgba(232, 168, 56, 0.04);
}

.dv-editable-wrap.is-active .dv-editable {
	outline: none;
	background: transparent;
}

/* Seçim kutusu — DüğünHepsi tarzı */
.dv-selection-box {
	position: absolute;
	inset: -8px -10px;
	border: 2px dashed #e8a838;
	border-radius: 4px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.15s;
	z-index: 4;
}

.dv-editable-wrap:hover .dv-selection-box,
.dv-editable-wrap.is-active .dv-selection-box {
	opacity: 1;
}

.dv-handle {
	position: absolute;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid #e8a838;
	box-shadow: 0 1px 4px rgba(0,0,0,0.2);
}

.dv-handle-tl { top: -6px; left: -6px; }
.dv-handle-tr { top: -6px; right: -6px; display: none; }
.dv-handle-bl { bottom: -6px; left: -6px; display: none; }
.dv-handle-br { bottom: -6px; right: -6px; }

.dv-handle.dv-handle-move,
.dv-handle.dv-handle-resize {
	pointer-events: auto;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	opacity: 0;
	transition: opacity 0.15s, transform 0.15s;
	z-index: 6;
}

.dv-handle-move {
	cursor: grab;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23e8a838' stroke-width='2.5'%3E%3Cpath d='M5 9l-3 3 3 3M9 5l3-3 3 3M15 19l-3 3-3-3M19 9l3 3-3 3M2 12h20M12 2v20'/%3E%3C/svg%3E") center/12px no-repeat;
	top: -12px;
	left: -12px;
}

.dv-handle-resize {
	cursor: nwse-resize;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%23e8a838' stroke-width='2.5'%3E%3Cpath d='M21 21L12 12M21 15v6h-6M3 3l9 9M3 9V3h6'/%3E%3C/svg%3E") center/11px no-repeat;
	bottom: -12px;
	right: -12px;
}

.dv-editable-wrap:hover .dv-handle-move,
.dv-editable-wrap:hover .dv-handle-resize,
.dv-editable-wrap.is-active .dv-handle-move,
.dv-editable-wrap.is-active .dv-handle-resize,
.dv-editable-wrap.is-dragging .dv-handle-move,
.dv-editable-wrap.is-dragging .dv-handle-resize {
	opacity: 1;
}

.dv-editable-wrap.is-dragging .dv-handle-move {
	cursor: grabbing;
}

.dv-editable-wrap:hover .dv-edit-badge,
.dv-editable-wrap:hover .dv-edit-tip {
	opacity: 1;
}

.dv-editable-wrap.is-active .dv-edit-badge {
	opacity: 1;
	background: #2563eb;
}

.dv-editable-wrap.is-active .dv-edit-tip {
	opacity: 0;
}

/* Serbest konumlandırma */
.dv-card-inner.dv-layout-free {
	display: block;
}

.dv-card-inner.dv-layout-free .dv-names-block,
.dv-card-inner.dv-layout-free .dv-date-block,
.dv-card-inner.dv-layout-free .dv-venue-block {
	position: static;
	display: block;
	height: 0;
	margin: 0;
	padding: 0;
	overflow: visible;
}

.dv-editable-wrap.dv-positioned {
	position: absolute;
	transform: translate(-50%, -50%);
	z-index: 3;
	max-width: none;
	width: max-content;
	text-align: center;
}

.dv-editable-wrap.dv-positioned.dv-field-align-left {
	transform: translate(0, -50%);
	text-align: left;
}

.dv-editable-wrap.dv-positioned .dv-editable {
	text-align: inherit;
	width: 100%;
}

.dv-editable-wrap.dv-positioned.dv-field-nowrap .dv-editable {
	white-space: nowrap;
}

.dv-editable-wrap.dv-positioned.dv-field-sized .dv-editable {
	white-space: normal;
	overflow-wrap: break-word;
}

.dv-preview-card[data-layout="istanbul"] .dv-editable-wrap[data-field="venue"].dv-positioned,
.dv-preview-card[data-layout="istanbul"] .dv-editable-wrap[data-field="address"].dv-positioned {
	text-align: left;
}

.dv-card-inner.dv-layout-free .dv-editable-wrap.dv-positioned {
	width: max-content;
}

.dv-card-inner.dv-layout-free .dv-editable-wrap.dv-positioned.dv-field-sized {
	width: auto;
}

.dv-card-inner.dv-layout-free .dv-editable-wrap.dv-positioned.dv-editable-wrap--inline {
	width: max-content;
}

/* Serbest modda layout'a göre gizli alanlar görünmesin */
.dv-preview-card[data-layout="classic"] .dv-card-inner.dv-layout-free .dv-names-block .dv-editable-wrap[data-field="names"],
.dv-preview-card[data-layout="modern"] .dv-card-inner.dv-layout-free .dv-names-block .dv-editable-wrap[data-field="bride"],
.dv-preview-card[data-layout="modern"] .dv-card-inner.dv-layout-free .dv-names-block .dv-editable-wrap[data-field="groom"],
.dv-preview-card[data-layout="istanbul"] .dv-card-inner.dv-layout-free .dv-names-block .dv-editable-wrap[data-field="bride"],
.dv-preview-card[data-layout="istanbul"] .dv-card-inner.dv-layout-free .dv-names-block .dv-editable-wrap[data-field="groom"],
.dv-preview-card[data-layout="modern"] .dv-card-inner.dv-layout-free .dv-names-block #dv-amp-sep,
.dv-preview-card[data-layout="istanbul"] .dv-card-inner.dv-layout-free .dv-names-block #dv-amp-sep,
.dv-preview-card[data-layout="classic"] .dv-card-inner.dv-layout-free .dv-editable-wrap[data-field="dateSplit"],
.dv-preview-card[data-layout="modern"] .dv-card-inner.dv-layout-free .dv-editable-wrap[data-field="dateSplit"],
.dv-preview-card[data-layout="istanbul"] .dv-card-inner.dv-layout-free .dv-editable-wrap[data-field="date"],
.dv-preview-card[data-layout="istanbul"] .dv-card-inner.dv-layout-free .dv-editable-wrap[data-field="families"] {
	display: none !important;
}

.dv-editable-wrap.is-dragging {
	z-index: 10;
}

.dv-editable-wrap.is-dragging .dv-selection-box {
	opacity: 1;
}

.dv-custom-texts {
	position: absolute;
	inset: 0;
	z-index: 5;
	pointer-events: none;
}

.dv-custom-texts .dv-editable-wrap {
	pointer-events: auto;
}

.dv-custom-text {
	margin: 0;
	font-size: 1rem;
	line-height: 1.45;
	text-align: center;
	cursor: pointer;
}

.dv-panel-reset--danger {
	border-color: #fecaca;
	color: #b91c1c;
	margin-bottom: 0.35rem;
}

.dv-panel-reset--danger:hover {
	border-color: #b91c1c;
	background: rgba(185, 28, 28, 0.06);
	color: #991b1b;
}
.dv-edit-panel {
	background: #faf8f5;
	border-left: 1px solid #e5e0d8;
	padding: 1rem;
	overflow-y: auto;
	color: #2b2b2b;
}

.dv-panel-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-height: 280px;
	padding: 1.5rem 0.75rem;
	color: #78716c;
}

.dv-panel-empty-icon {
	font-size: 2rem;
	margin: 0 0 0.5rem;
	opacity: 0.4;
}

.dv-panel-empty-text {
	margin: 0;
	font-size: 0.88rem;
	font-weight: 600;
	color: #57534e;
}

.dv-panel-empty-hint {
	margin: 0.35rem 0 0;
	font-size: 0.72rem;
	line-height: 1.45;
	max-width: 200px;
}

.dv-panel-kicker {
	margin: 0;
	font-size: 0.65rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #78716c;
}

.dv-panel-field-title {
	margin: 0.25rem 0 1rem;
	font-size: 1.05rem;
	font-weight: 700;
	color: #2b2b2b;
	line-height: 1.3;
}

.dv-panel-block { display: block; margin-bottom: 1rem; }

.dv-panel-label {
	display: block;
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #78716c;
	margin-bottom: 0.45rem;
}

.dv-panel-textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 0.6rem 0.7rem;
	border-radius: 10px;
	border: 1px solid #e5e0d8;
	background: #fff;
	color: #2b2b2b;
	font-size: 0.85rem;
	font-family: inherit;
	resize: vertical;
	outline: none;
	line-height: 1.45;
}
.dv-panel-textarea:focus { border-color: #FF9F1C; box-shadow: 0 0 0 3px rgba(156,102,68,0.12); }

.dv-size-row,
.dv-style-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.35rem;
}

.dv-accordion-count {
	font-size: 0.62rem;
	font-weight: 600;
	color: #78716c;
	margin-left: 0.35rem;
}

.dv-font-search {
	width: 100%;
	box-sizing: border-box;
	padding: 0.5rem 0.65rem;
	border-radius: 8px;
	border: 1px solid #e5e0d8;
	background: #fff;
	font-size: 0.78rem;
	margin-bottom: 0.5rem;
	outline: none;
}
.dv-font-search:focus { border-color: #FF9F1C; box-shadow: 0 0 0 3px rgba(156,102,68,0.1); }

.dv-font-filter-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.3rem;
	margin-bottom: 0.5rem;
}

.dv-font-filter {
	padding: 0.28rem 0.55rem;
	border-radius: 999px;
	border: 1px solid #e5e0d8;
	background: #fff;
	color: #57534e;
	font-size: 0.65rem;
	font-weight: 600;
	cursor: pointer;
}
.dv-font-filter.is-active {
	background: #FF9F1C;
	border-color: #FF9F1C;
	color: #fff;
}

.dv-font-picker {
	max-height: 240px;
	overflow-y: auto;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.3rem;
	padding-right: 0.15rem;
}

.dv-font-picker::-webkit-scrollbar { width: 5px; }
.dv-font-picker::-webkit-scrollbar-thumb { background: #d6d3d1; border-radius: 999px; }

.dv-size-btn,
.dv-font-btn,
.dv-style-btn {
	min-height: 34px;
	padding: 0.4rem 0.55rem;
	border-radius: 8px;
	border: 1px solid #e5e0d8;
	background: #fff;
	color: #44403c;
	font-size: 0.78rem;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.12s;
	text-align: left;
	line-height: 1.25;
}
.dv-size-btn:hover,
.dv-font-btn:hover,
.dv-style-btn:hover { border-color: #FF9F1C; }

.dv-size-btn.is-active,
.dv-font-btn.is-active,
.dv-style-btn.is-active {
	background: #FF9F1C;
	border-color: #FF9F1C;
	color: #fff;
}

.dv-accordion {
	border: 1px solid #e5e0d8;
	border-radius: 10px;
	background: #fff;
	margin-bottom: 0.55rem;
	overflow: hidden;
}

.dv-accordion summary {
	padding: 0.65rem 0.75rem;
	font-size: 0.78rem;
	font-weight: 700;
	color: #44403c;
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.dv-accordion summary::-webkit-details-marker { display: none; }
.dv-accordion summary::after { content: '▾'; color: #78716c; font-size: 0.85rem; }
.dv-accordion[open] summary::after { transform: rotate(180deg); }

.dv-accordion-body { padding: 0 0.75rem 0.75rem; }

.dv-text-color-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin-bottom: 0.55rem;
}

.dv-text-color-swatch {
	width: 30px;
	height: 30px;
	border-radius: 8px;
	border: 2px solid #e5e0d8;
	cursor: pointer;
	font-size: 0.62rem;
	font-weight: 700;
	color: #44403c;
	background: #fff;
	padding: 0;
}
.dv-text-color-swatch.is-active { box-shadow: 0 0 0 2px #FF9F1C; }

.dv-color-input-wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	font-size: 0.72rem;
	color: #57534e;
}
.dv-color-input-wrap input[type="color"] {
	width: 42px;
	height: 30px;
	border: 1px solid #e5e0d8;
	border-radius: 6px;
	padding: 2px;
	cursor: pointer;
	background: #fff;
}

.dv-panel-reset {
	width: 100%;
	margin-top: 0.5rem;
	min-height: 38px;
	border-radius: 10px;
	border: 1px dashed #d6d3d1;
	background: transparent;
	color: #78716c;
	font-size: 0.75rem;
	font-weight: 600;
	cursor: pointer;
}
.dv-panel-reset:hover {
	border-color: #FF9F1C;
	color: #FF9F1C;
	background: rgba(156,102,68,0.05);
}

.dv-panel-reset--sub {
	margin-top: 0.25rem;
	font-size: 0.72rem;
}

.dv-panel-range-row {
	display: flex;
	align-items: center;
	gap: 0.65rem;
}

.dv-panel-range-row input[type="range"] {
	flex: 1;
	accent-color: #FF9F1C;
}

.dv-panel-range-val {
	min-width: 4.5rem;
	font-size: 0.75rem;
	font-weight: 600;
	color: #78716c;
	text-align: right;
}

.dv-panel-check {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	margin-top: 0.55rem;
	font-size: 0.75rem;
	color: #57534e;
	cursor: pointer;
}

.dv-panel-check input {
	accent-color: #FF9F1C;
}

/* ── Şablon modal ── */
.dv-modal {
	position: fixed;
	inset: 0;
	z-index: 200;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s, visibility 0.2s;
}

.dv-modal.is-open {
	opacity: 1;
	visibility: visible;
}

.dv-modal-overlay {
	position: absolute;
	inset: 0;
	background: rgba(15, 14, 13, 0.55);
	backdrop-filter: blur(4px);
}

.dv-modal-dialog {
	position: relative;
	z-index: 1;
	width: min(960px, 100%);
	max-height: min(88vh, 820px);
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 24px 80px rgba(0,0,0,0.25);
	overflow: hidden;
}

.dv-modal-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.15rem 1.25rem 0.85rem;
	border-bottom: 1px solid #e5e7eb;
}

.dv-modal-title {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 700;
	color: #2b2b2b;
}

.dv-modal-sub {
	margin: 0.25rem 0 0;
	font-size: 0.78rem;
	color: #78716c;
}

.dv-modal-close {
	width: 36px;
	height: 36px;
	border: none;
	border-radius: 10px;
	background: #f3f4f6;
	color: #57534e;
	font-size: 1.4rem;
	line-height: 1;
	cursor: pointer;
	flex-shrink: 0;
}
.dv-modal-close:hover { background: #e5e7eb; color: #2b2b2b; }

.dv-modal-filters {
	padding: 0.75rem 1.25rem 0;
	background: #fff;
}

.dv-modal-filters .dv-filter-tab {
	border-color: #e5e7eb;
	background: #f9fafb;
	color: #57534e;
}
.dv-modal-filters .dv-filter-tab.is-active {
	background: #FF9F1C;
	border-color: #FF9F1C;
	color: #fff;
}

.dv-modal-body {
	padding: 1rem 1.25rem 1.25rem;
	overflow-y: auto;
	background: #f9fafb;
}

.dv-modal-grid {
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
}

@media print {
	.dv-topbar, .dv-tools-panel, .dv-edit-panel, .dv-canvas-hint, .dv-no-print, .dv-modal { display: none !important; }
	.dv-studio-body { background: #fff; }
	.dv-stage-editor { display: block !important; grid-template-columns: 1fr; }
	.dv-canvas-wrap { background: none; padding: 0; }
	.dv-preview-card { box-shadow: none; max-width: 100%; page-break-inside: avoid; }
	.dv-selection-box, .dv-edit-badge, .dv-edit-tip { display: none !important; }
}
