/**
 * DAF Marketplace — Image Converter Tool
 * Location: /assets/css/tools/image-converter.css
 *
 * Purpose:
 * - Clean premium frontend styling for HyperDAF Image Converter.
 * - Clear white layout without blur/heavy shade effects.
 * - Stable original/converted preview balance for landscape, portrait, and square images.
 * - Supports conversion settings, large image previews, platform size presets,
 *   supported formats, how-it-works, privacy cards, CTA, and responsive layout.
 */

.daf-image-converter-page {
	--daf-ic-primary: #6657ff;
	--daf-ic-primary-dark: #4f46e5;
	--daf-ic-primary-soft: #f0edff;
	--daf-ic-blue: #2563eb;
	--daf-ic-green: #0f9f49;
	--daf-ic-green-soft: #e9fbf1;
	--daf-ic-red: #ef4444;
	--daf-ic-red-soft: #fff1f2;
	--daf-ic-ink: #07111f;
	--daf-ic-muted: #5b6678;
	--daf-ic-soft: #f7f9ff;
	--daf-ic-card: #ffffff;
	--daf-ic-border: #dfe7f4;
	--daf-ic-border-strong: #c8d4ea;
	--daf-ic-radius: 16px;

	width: 100%;
	min-height: 100vh;
	background: #ffffff;
	color: var(--daf-ic-ink);
	overflow-x: hidden;
}

.daf-image-converter-page *,
.daf-image-converter-page *::before,
.daf-image-converter-page *::after {
	box-sizing: border-box;
}

.daf-image-converter-page a {
	text-decoration: none;
}

.daf-image-converter-page svg {
	display: block;
	flex: 0 0 auto;
}

.daf-image-converter-container {
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
}

/* =========================================================
   PAGE SHELL + BREADCRUMB
========================================================= */

.daf-image-converter-shell {
	padding: 26px 0 56px;
	background: #ffffff;
}

.daf-image-converter-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 9px;
	margin: 0 0 30px;
	color: #7a8799;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
}

.daf-image-converter-breadcrumb a {
	color: #64748b;
}

.daf-image-converter-breadcrumb a:hover,
.daf-image-converter-breadcrumb a:focus {
	color: var(--daf-ic-primary);
}

.daf-image-converter-breadcrumb span {
	color: #a8b2c3;
}

.daf-image-converter-breadcrumb strong {
	color: #3d4758;
	font-weight: 850;
}

/* =========================================================
   HEAD
========================================================= */

.daf-image-converter-head {
	max-width: 860px;
	margin: 0 auto 30px;
	text-align: center;
}

.daf-image-converter-head__badges,
.daf-image-converter-head__chips {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 9px;
}

.daf-image-converter-head__badges {
	margin-bottom: 12px;
}

.daf-image-converter-head__badges span,
.daf-image-converter-head__chips span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 28px;
	padding: 0 11px;
	border: 1px solid rgba(102, 87, 255, 0.16);
	border-radius: 999px;
	background: #f3f1ff;
	color: #4338ca;
	font-size: 11px;
	font-weight: 850;
	line-height: 1;
	white-space: nowrap;
}

.daf-image-converter-head__badges svg,
.daf-image-converter-head__chips svg {
	width: 13px;
	height: 13px;
}

.daf-image-converter-head h1 {
	margin: 0;
	color: var(--daf-ic-ink);
	font-size: clamp(40px, 4vw, 64px);
	font-weight: 950;
	line-height: 1.02;
	letter-spacing: -0.065em;
	text-wrap: balance;
}

.daf-image-converter-head h1 span {
	display: inline-block;
	color: var(--daf-ic-primary);
}

.daf-image-converter-head > p {
	max-width: 720px;
	margin: 13px auto 18px;
	color: var(--daf-ic-muted);
	font-size: 15px;
	font-weight: 550;
	line-height: 1.62;
}

/* =========================================================
   BUTTONS
========================================================= */

.daf-image-converter-primary-btn,
.daf-image-converter-mini-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 42px;
	padding: 0 16px;
	border: 1px solid var(--daf-ic-primary);
	border-radius: 11px;
	background: var(--daf-ic-primary);
	color: #ffffff;
	font-size: 13px;
	font-weight: 900;
	line-height: 1;
	cursor: pointer;
	transition:
		background-color 160ms ease,
		border-color 160ms ease,
		color 160ms ease;
}

.daf-image-converter-primary-btn svg,
.daf-image-converter-mini-btn svg {
	width: 16px;
	height: 16px;
}

.daf-image-converter-primary-btn:hover,
.daf-image-converter-primary-btn:focus,
.daf-image-converter-mini-btn:hover,
.daf-image-converter-mini-btn:focus {
	border-color: var(--daf-ic-primary-dark);
	background: var(--daf-ic-primary-dark);
	color: #ffffff;
}

.daf-image-converter-primary-btn:disabled,
.daf-image-converter-mini-btn:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.daf-image-converter-mini-btn {
	min-height: 36px;
	padding: 0 12px;
	border-radius: 9px;
	font-size: 12px;
}

.daf-image-converter-mini-btn--danger {
	border-color: rgba(239, 68, 68, 0.22);
	background: #ffffff;
	color: var(--daf-ic-red);
}

.daf-image-converter-mini-btn--danger:hover,
.daf-image-converter-mini-btn--danger:focus {
	border-color: var(--daf-ic-red);
	background: var(--daf-ic-red-soft);
	color: var(--daf-ic-red);
}

/* =========================================================
   CARDS
========================================================= */

.daf-image-converter-upload-card,
.daf-image-converter-settings-card,
.daf-image-converter-results-card,
.daf-image-converter-info-card {
	border: 1px solid var(--daf-ic-border);
	border-radius: var(--daf-ic-radius);
	background: #ffffff;
}

.daf-image-converter-upload-card {
	padding: 14px;
	margin-bottom: 22px;
}

.daf-image-converter-dropzone {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 222px;
	padding: 30px 20px;
	border: 2px dashed rgba(102, 87, 255, 0.34);
	border-radius: 14px;
	background: #ffffff;
	text-align: center;
	cursor: pointer;
	transition:
		border-color 180ms ease,
		background-color 180ms ease;
}

.daf-image-converter-dropzone:hover,
.daf-image-converter-dropzone:focus,
.daf-image-converter-dropzone.is-dragover {
	border-color: rgba(102, 87, 255, 0.78);
	background: #fbfbff;
	outline: none;
}

.daf-image-converter-dropzone__input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.daf-image-converter-dropzone__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	margin: 0 auto 18px;
	border-radius: 50%;
	background: var(--daf-ic-primary);
	color: #ffffff;
}

.daf-image-converter-dropzone__icon svg {
	width: 26px;
	height: 26px;
}

.daf-image-converter-dropzone h2 {
	margin: 0 0 8px;
	color: var(--daf-ic-ink);
	font-size: 19px;
	font-weight: 950;
	line-height: 1.2;
	letter-spacing: -0.025em;
}

.daf-image-converter-dropzone > span {
	display: block;
	margin-bottom: 11px;
	color: #758196;
	font-size: 13px;
	font-weight: 700;
}

.daf-image-converter-dropzone p {
	max-width: 720px;
	margin: 15px auto 0;
	color: var(--daf-ic-muted);
	font-size: 12.5px;
	font-weight: 560;
	line-height: 1.5;
}

/* =========================================================
   SETTINGS CARD
========================================================= */

.daf-image-converter-settings-card {
	margin-bottom: 22px;
	padding: 20px;
}

.daf-image-converter-settings-card__title {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 18px;
	color: var(--daf-ic-primary);
}

.daf-image-converter-settings-card__title svg {
	width: 20px;
	height: 20px;
}

.daf-image-converter-settings-card__title h2 {
	margin: 0;
	color: var(--daf-ic-primary);
	font-size: 16px;
	font-weight: 950;
	letter-spacing: -0.025em;
}

.daf-image-converter-settings-grid {
	display: grid;
	grid-template-columns: minmax(145px, 1fr) minmax(210px, 1.4fr) minmax(190px, 1.35fr) minmax(160px, 1fr) minmax(90px, 0.6fr);
	gap: 16px;
	align-items: end;
}

.daf-image-converter-field {
	min-width: 0;
}

.daf-image-converter-field label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin: 0 0 8px;
	color: #485468;
	font-size: 12.5px;
	font-weight: 850;
	line-height: 1.25;
}

.daf-image-converter-field label strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 24px;
	padding: 0 8px;
	border-radius: 999px;
	background: var(--daf-ic-primary-soft);
	color: var(--daf-ic-primary);
	font-size: 12px;
	font-weight: 950;
}

.daf-image-converter-field select,
.daf-image-converter-field input[type="number"],
.daf-image-converter-field input[type="color"] {
	width: 100%;
	min-height: 40px;
	border: 1px solid #ccd8eb;
	border-radius: 9px;
	background-color: #ffffff;
	color: var(--daf-ic-ink);
	font-size: 13px;
	font-weight: 750;
	outline: none;
	transition:
		border-color 160ms ease,
		background-color 160ms ease;
}

.daf-image-converter-field select,
.daf-image-converter-field input[type="number"] {
	padding: 0 11px;
}

.daf-image-converter-field input[type="color"] {
	width: 42px;
	padding: 4px;
	cursor: pointer;
}

.daf-image-converter-field select:focus,
.daf-image-converter-field input[type="number"]:focus,
.daf-image-converter-field input[type="color"]:focus {
	border-color: rgba(102, 87, 255, 0.72);
	background: #ffffff;
}

.daf-image-converter-field input[type="range"] {
	width: 100%;
	margin: 0;
	accent-color: var(--daf-ic-primary);
}

.daf-image-converter-field--quality {
	padding-bottom: 8px;
}

.daf-image-converter-field--background {
	display: grid;
	justify-items: start;
}

.daf-image-converter-custom-size {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-top: 16px;
	padding: 16px;
	border: 1px solid rgba(102, 87, 255, 0.15);
	border-radius: 13px;
	background: #fbfbff;
}

.daf-image-converter-custom-size[hidden] {
	display: none !important;
}

/* Toggle row */

.daf-image-converter-toggle-row {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-top: 18px;
	padding: 16px;
	border: 1px solid #e4ebf7;
	border-radius: 13px;
	background: #ffffff;
}

.daf-image-converter-toggle {
	position: relative;
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	align-items: center;
	column-gap: 10px;
	margin: 0;
	cursor: pointer;
}

.daf-image-converter-toggle input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.daf-image-converter-toggle > span {
	position: relative;
	display: block;
	width: 34px;
	height: 20px;
	border-radius: 999px;
	background: #d1d5db;
	transition: background-color 160ms ease;
}

.daf-image-converter-toggle > span::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #ffffff;
	transition: transform 160ms ease;
}

.daf-image-converter-toggle input:checked + span {
	background: var(--daf-ic-primary);
}

.daf-image-converter-toggle input:checked + span::after {
	transform: translateX(14px);
}

.daf-image-converter-toggle strong {
	display: block;
	min-width: 0;
	color: #1f2937;
	font-size: 12.5px;
	font-weight: 950;
	line-height: 1.2;
}

.daf-image-converter-toggle em {
	display: block;
	margin-top: 3px;
	color: #6b7280;
	font-size: 11px;
	font-style: normal;
	font-weight: 560;
	line-height: 1.3;
}

.daf-image-converter-tip {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	margin-top: 16px;
	padding: 12px 14px;
	border: 1px solid rgba(102, 87, 255, 0.14);
	border-radius: 12px;
	background: #f7f5ff;
	color: #4338ca;
}

.daf-image-converter-tip svg {
	width: 18px;
	height: 18px;
	margin-top: 1px;
}

.daf-image-converter-tip p {
	margin: 0;
	font-size: 12.5px;
	font-weight: 700;
	line-height: 1.48;
}

/* =========================================================
   RESULTS CARD
========================================================= */

.daf-image-converter-results-card {
	margin-bottom: 22px;
	padding: 18px;
}

.daf-image-converter-results-card__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 16px;
}

.daf-image-converter-results-card__top h2 {
	margin: 0;
	color: var(--daf-ic-primary);
	font-size: 16px;
	font-weight: 950;
	letter-spacing: -0.025em;
}

.daf-image-converter-results-card__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 9px;
}

/* Empty */

.daf-image-converter-file-list {
	display: grid;
	gap: 16px;
}

.daf-image-converter-empty {
	display: grid;
	place-items: center;
	min-height: 210px;
	padding: 34px 16px;
	border: 1px dashed #d8e1ef;
	border-radius: 14px;
	background: #ffffff;
	text-align: center;
}

.daf-image-converter-empty > div {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 62px;
	height: 62px;
	margin-bottom: 14px;
	border-radius: 20px;
	background: var(--daf-ic-primary-soft);
	color: var(--daf-ic-primary);
}

.daf-image-converter-empty svg {
	width: 30px;
	height: 30px;
}

.daf-image-converter-empty h3 {
	margin: 0 0 7px;
	color: var(--daf-ic-ink);
	font-size: 18px;
	font-weight: 950;
	letter-spacing: -0.025em;
}

.daf-image-converter-empty p {
	max-width: 460px;
	margin: 0;
	color: var(--daf-ic-muted);
	font-size: 13px;
	font-weight: 560;
	line-height: 1.55;
}

/* =========================================================
   GENERATED IMAGE ROWS — BALANCED ORIGINAL + CONVERTED CARDS
========================================================= */

.daf-image-converter-item {
	position: relative;
	display: grid;
	grid-template-columns: minmax(300px, 1fr) 30px minmax(190px, 0.56fr) 30px minmax(300px, 1fr);
	align-items: stretch;
	gap: 14px;
	padding: 16px;
	border: 1px solid #dfe7f4;
	border-radius: 16px;
	background: #ffffff;
	overflow: hidden;
}

.daf-image-converter-side-card,
.daf-image-converter-preview-card,
.daf-image-converter-output-card {
	display: grid;
	grid-template-rows: auto minmax(128px, 1fr);
	align-items: start;
	min-width: 0;
	gap: 10px;
	height: 100%;
}

.daf-image-converter-output-card {
	grid-template-columns: 1fr;
}

.daf-image-converter-item__preview,
.daf-image-converter-item__output-preview {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-width: 0;
	height: 230px;
	padding: 8px;
	border: 1px solid #dfe7f4;
	border-radius: 14px;
	background-color: #ffffff;
	overflow: hidden;
}

.daf-image-converter-item__preview img,
.daf-image-converter-item__output-preview img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 10px;
	object-fit: contain;
	object-position: center;
	background: #ffffff;
}

/* Orientation support from JS */
.daf-image-converter-item.is-landscape .daf-image-converter-item__preview,
.daf-image-converter-item.is-landscape .daf-image-converter-item__output-preview,
.daf-image-converter-preview-card.is-landscape .daf-image-converter-item__preview,
.daf-image-converter-output-card.is-landscape .daf-image-converter-item__output-preview {
	aspect-ratio: 16 / 9;
	height: auto;
	min-height: 214px;
	max-height: 252px;
}

.daf-image-converter-item.is-portrait .daf-image-converter-item__preview,
.daf-image-converter-preview-card.is-portrait .daf-image-converter-item__preview,
.daf-image-converter-item.is-portrait .daf-image-converter-item__output-preview,
.daf-image-converter-output-card.is-portrait .daf-image-converter-item__output-preview {
	width: min(100%, 228px);
	height: 340px;
	margin-right: auto;
	margin-left: auto;
}

.daf-image-converter-item.is-square .daf-image-converter-item__preview,
.daf-image-converter-item.is-square .daf-image-converter-item__output-preview,
.daf-image-converter-preview-card.is-square .daf-image-converter-item__preview,
.daf-image-converter-output-card.is-square .daf-image-converter-item__output-preview {
	aspect-ratio: 1 / 1;
	height: auto;
	min-height: 235px;
	max-height: 278px;
}

.daf-image-converter-item__preview::before,
.daf-image-converter-item__output-preview::before {
	position: absolute;
	top: 8px;
	left: 8px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 22px;
	padding: 0 8px;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 950;
	line-height: 1;
}

.daf-image-converter-item__preview::before {
	content: "Original";
	border: 1px solid rgba(102, 87, 255, 0.24);
	background: #ffffff;
	color: var(--daf-ic-primary);
}

.daf-image-converter-item__output-preview::before {
	content: "Converted";
	border: 1px solid rgba(15, 159, 73, 0.24);
	background: #ffffff;
	color: var(--daf-ic-green);
}

.daf-image-converter-item__preview::after,
.daf-image-converter-item__output-preview::after {
	content: attr(data-daf-ic-dimensions);
	position: absolute;
	left: 8px;
	bottom: 8px;
	z-index: 3;
	display: none;
	align-items: center;
	justify-content: center;
	min-height: 22px;
	padding: 0 8px;
	border: 1px solid #dfe7f4;
	border-radius: 999px;
	background: #ffffff;
	color: #111827;
	font-size: 10px;
	font-weight: 850;
	line-height: 1;
}

.daf-image-converter-item__preview[data-daf-ic-dimensions]::after,
.daf-image-converter-item__output-preview[data-daf-ic-dimensions]::after {
	display: inline-flex;
}

.daf-image-converter-item__meta,
.daf-image-converter-item__output-meta {
	display: grid;
	align-content: start;
	min-width: 0;
	gap: 8px;
}

.daf-image-converter-item__output-meta {
	grid-template-rows: auto auto auto minmax(38px, 1fr);
	height: 100%;
	min-height: 128px;
	overflow: hidden;
}

.daf-image-converter-item__title {
	margin: 0;
	color: var(--daf-ic-ink);
	font-size: 14px;
	font-weight: 950;
	line-height: 1.25;
	letter-spacing: -0.02em;
}

.daf-image-converter-item__title span {
	display: block;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.daf-image-converter-item__inline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	color: var(--daf-ic-muted);
	font-size: 12px;
	font-weight: 750;
	line-height: 1.35;
}

.daf-image-converter-item__badge,
.daf-image-converter-item__format {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	min-height: 24px;
	padding: 0 9px;
	border-radius: 7px;
	background: var(--daf-ic-primary-soft);
	color: var(--daf-ic-primary);
	font-size: 10.5px;
	font-weight: 950;
	text-transform: uppercase;
}

.daf-image-converter-item__format {
	background: var(--daf-ic-green-soft);
	color: var(--daf-ic-green);
}

.daf-image-converter-item__details {
	display: grid;
	gap: 4px;
	margin-top: 0;
	color: var(--daf-ic-muted);
	font-size: 12px;
	font-weight: 650;
	line-height: 1.35;
}

.daf-image-converter-item__details strong {
	color: #1f2937;
	font-weight: 900;
}

.daf-image-converter-item__arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	margin: auto;
	border: 1px solid #e3e9f5;
	border-radius: 50%;
	background: #ffffff;
	color: #475569;
	font-size: 17px;
	font-weight: 950;
}

.daf-image-converter-item__arrow::before {
	content: "→";
}

.daf-image-converter-item__controls {
	display: grid;
	align-content: center;
	gap: 10px;
	min-height: 190px;
	padding: 14px;
	border: 1px solid #e4ebf7;
	border-radius: 14px;
	background: #ffffff;
}

.daf-image-converter-item__controls label {
	display: block;
	margin: 0 0 6px;
	color: #5b6678;
	font-size: 11px;
	font-weight: 850;
}

.daf-image-converter-item__controls select {
	width: 100%;
	min-height: 38px;
	padding: 0 10px;
	border: 1px solid #ccd8eb;
	border-radius: 9px;
	background: #ffffff;
	color: var(--daf-ic-ink);
	font-size: 12.5px;
	font-weight: 750;
	outline: none;
}

.daf-image-converter-item__controls select:focus {
	border-color: rgba(102, 87, 255, 0.72);
}

.daf-image-converter-item__controls input[type="range"] {
	width: 100%;
	accent-color: var(--daf-ic-primary);
}

.daf-image-converter-item__estimate {
	display: grid;
	gap: 4px;
	color: var(--daf-ic-muted);
	font-size: 11.5px;
	font-weight: 650;
}

.daf-image-converter-item__estimate b {
	display: inline-flex;
	width: fit-content;
	min-height: 24px;
	align-items: center;
	justify-content: center;
	padding: 0 8px;
	border-radius: 999px;
	background: var(--daf-ic-green-soft);
	color: var(--daf-ic-green);
	font-weight: 950;
}

.daf-image-converter-item__estimate b.is-negative {
	background: var(--daf-ic-red-soft);
	color: var(--daf-ic-red);
}

.daf-image-converter-item__output-meta p {
	margin: 0;
	color: var(--daf-ic-muted);
	font-size: 12px;
	font-weight: 650;
	line-height: 1.4;
}

.daf-image-converter-item__status {
	margin: 0;
	color: var(--daf-ic-muted);
	font-size: 11.5px;
	font-weight: 700;
	line-height: 1.4;
}

.daf-image-converter-item.is-done .daf-image-converter-item__status {
	color: var(--daf-ic-green);
}

.daf-image-converter-item.is-error .daf-image-converter-item__status {
	color: var(--daf-ic-red);
}

/* Old duplicate action wrappers remain hidden if older JS/cache loads */
.daf-image-converter-preview-card__footer,
.daf-image-converter-output-card__footer,
.daf-image-converter-preview-card__actions,
.daf-image-converter-output-card__actions,
.daf-image-converter-preview-card__name,
.daf-image-converter-output-card__name {
	display: none !important;
}

/* Buttons only at bottom of converted card */
.daf-image-converter-item__actions {
	display: grid;
	grid-template-columns: 142px 42px 42px;
	align-items: center;
	justify-content: start;
	align-self: end;
	gap: 8px;
	width: 242px;
	max-width: 100%;
	margin-top: auto;
	padding-top: 8px;
	overflow: visible;
}

.daf-image-converter-item__actions button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 38px;
	min-height: 38px;
	max-height: 38px;
	margin: 0;
	line-height: 1;
	white-space: nowrap;
}

.daf-image-converter-item__actions .daf-image-converter-mini-btn {
	width: 142px;
	min-width: 142px;
	max-width: 142px;
	padding: 0 12px;
}

.daf-image-converter-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	min-width: 42px;
	max-width: 42px;
	height: 38px;
	min-height: 38px;
	max-height: 38px;
	border: 1px solid #dfe7f4;
	border-radius: 10px;
	background: #ffffff;
	color: #64748b;
	cursor: pointer;
	transition:
		border-color 160ms ease,
		background-color 160ms ease,
		color 160ms ease;
}

.daf-image-converter-icon-btn svg {
	width: 16px;
	height: 16px;
}

.daf-image-converter-icon-btn:hover,
.daf-image-converter-icon-btn:focus {
	border-color: rgba(102, 87, 255, 0.28);
	background: var(--daf-ic-primary-soft);
	color: var(--daf-ic-primary);
}

.daf-image-converter-icon-btn--download:hover,
.daf-image-converter-icon-btn--download:focus {
	border-color: rgba(15, 159, 73, 0.26);
	background: var(--daf-ic-green-soft);
	color: var(--daf-ic-green);
}

.daf-image-converter-icon-btn--danger:hover,
.daf-image-converter-icon-btn--danger:focus {
	border-color: rgba(239, 68, 68, 0.28);
	background: var(--daf-ic-red-soft);
	color: var(--daf-ic-red);
}

/* Summary */

.daf-image-converter-summary {
	display: grid;
	grid-template-columns: auto minmax(170px, 1fr) auto auto auto;
	align-items: center;
	gap: 18px;
	margin-top: 18px;
	padding: 14px;
	border: 1px solid #e4ebf7;
	border-radius: 12px;
	background: #ffffff;
}

.daf-image-converter-summary > span {
	color: var(--daf-ic-muted);
	font-size: 12.5px;
	font-weight: 650;
}

.daf-image-converter-summary strong {
	color: #1f2937;
	font-size: 12.5px;
	font-weight: 900;
	white-space: nowrap;
}

.daf-image-converter-summary strong em {
	color: var(--daf-ic-ink);
	font-style: normal;
	font-weight: 950;
}

.daf-image-converter-summary b {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 0 12px;
	border-radius: 10px;
	background: var(--daf-ic-green-soft);
	color: var(--daf-ic-green);
	font-size: 12px;
	font-weight: 950;
	white-space: nowrap;
}

/* =========================================================
   INFO GRID
========================================================= */

.daf-image-converter-info-grid {
	display: grid;
	grid-template-columns: 1fr 0.8fr 0.8fr;
	gap: 18px;
	margin-bottom: 22px;
}

.daf-image-converter-info-card {
	padding: 20px;
}

.daf-image-converter-info-card h2 {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 16px;
	color: var(--daf-ic-primary);
	font-size: 15px;
	font-weight: 950;
	letter-spacing: -0.02em;
}

.daf-image-converter-info-card h2 svg {
	width: 18px;
	height: 18px;
}

.daf-image-converter-format-list {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
}

.daf-image-converter-format-list span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 31px;
	padding: 0 12px;
	border-radius: 9px;
	background: var(--daf-ic-primary-soft);
	color: var(--daf-ic-primary);
	font-size: 11px;
	font-weight: 950;
}

.daf-image-converter-format-list span:nth-child(1) {
	background: #fff1f2;
	color: #ef4444;
}

.daf-image-converter-format-list span:nth-child(2) {
	background: #eef6ff;
	color: #0f65cc;
}

.daf-image-converter-format-list span:nth-child(3) {
	background: #e9fbf1;
	color: #0f9f49;
}

.daf-image-converter-format-list span:nth-child(4) {
	background: #eef2ff;
	color: #4f46e5;
}

.daf-image-converter-steps {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.daf-image-converter-steps li {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	gap: 10px;
	align-items: flex-start;
}

.daf-image-converter-steps strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--daf-ic-primary-soft);
	color: var(--daf-ic-primary);
	font-size: 11px;
	font-weight: 950;
}

.daf-image-converter-steps span {
	color: var(--daf-ic-ink);
	font-size: 12.5px;
	font-weight: 900;
	line-height: 1.3;
}

.daf-image-converter-steps em {
	display: block;
	margin-top: 2px;
	color: var(--daf-ic-muted);
	font-size: 11.2px;
	font-style: normal;
	font-weight: 560;
	line-height: 1.35;
}

.daf-image-converter-privacy-list {
	display: grid;
	gap: 13px;
}

.daf-image-converter-privacy-list p {
	position: relative;
	margin: 0;
	padding-left: 26px;
	color: var(--daf-ic-muted);
	font-size: 12px;
	font-weight: 560;
	line-height: 1.45;
}

.daf-image-converter-privacy-list p::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 17px;
	height: 17px;
	border-radius: 50%;
	background: var(--daf-ic-green-soft);
	color: var(--daf-ic-green);
	font-size: 10px;
	font-weight: 950;
}

.daf-image-converter-privacy-list strong {
	display: block;
	color: var(--daf-ic-primary);
	font-size: 12.5px;
	font-weight: 950;
}

.daf-image-converter-privacy-list span {
	display: block;
	margin-top: 2px;
}

/* =========================================================
   CTA — informational only, no promo button
========================================================= */

.daf-image-converter-cta {
	display: block;
	padding: 24px 34px;
	border-radius: 14px;
	background: var(--daf-ic-primary);
	color: #ffffff;
}

.daf-image-converter-cta h2 {
	margin: 0 0 6px;
	color: #ffffff;
	font-size: 22px;
	font-weight: 950;
	letter-spacing: -0.035em;
}

.daf-image-converter-cta p {
	max-width: 900px;
	margin: 0;
	color: rgba(255, 255, 255, 0.92);
	font-size: 13.5px;
	font-weight: 560;
	line-height: 1.55;
}

.daf-image-converter-cta a {
	display: none !important;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1180px) {
	.daf-image-converter-settings-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.daf-image-converter-field--background {
		justify-items: stretch;
	}

	.daf-image-converter-field--background input[type="color"] {
		width: 100%;
	}

	.daf-image-converter-toggle-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.daf-image-converter-item {
		grid-template-columns: minmax(270px, 1fr) 28px minmax(180px, 0.56fr) 28px minmax(270px, 1fr);
		gap: 12px;
	}

	.daf-image-converter-item__preview,
	.daf-image-converter-item__output-preview {
		height: 220px;
	}

	.daf-image-converter-item.is-landscape .daf-image-converter-item__preview,
	.daf-image-converter-item.is-landscape .daf-image-converter-item__output-preview,
	.daf-image-converter-preview-card.is-landscape .daf-image-converter-item__preview,
	.daf-image-converter-output-card.is-landscape .daf-image-converter-item__output-preview {
		min-height: 205px;
		max-height: 240px;
	}

	.daf-image-converter-summary {
		grid-template-columns: 1fr 1fr;
	}

	.daf-image-converter-summary .daf-image-converter-primary-btn {
		grid-column: 1 / -1;
		width: 100%;
	}

	.daf-image-converter-info-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 1040px) {
	.daf-image-converter-item {
		grid-template-columns: minmax(260px, 1fr) 32px minmax(260px, 1fr);
		align-items: start;
	}

	.daf-image-converter-item__controls {
		grid-column: 1 / -1;
		grid-row: 2;
		min-height: auto;
	}

	.daf-image-converter-item__arrow:nth-of-type(1) {
		grid-column: 2;
		grid-row: 1;
		align-self: center;
	}

	.daf-image-converter-item__arrow:nth-of-type(2) {
		display: none;
	}

	.daf-image-converter-item__actions {
		width: 242px;
		max-width: 100%;
	}
}

@media (max-width: 960px) {
	.daf-image-converter-shell {
		padding-top: 22px;
	}

	.daf-image-converter-head h1 {
		font-size: clamp(36px, 7vw, 54px);
	}

	.daf-image-converter-settings-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.daf-image-converter-custom-size {
		grid-template-columns: 1fr;
	}

	.daf-image-converter-item {
		grid-template-columns: 1fr;
	}

	.daf-image-converter-item__arrow {
		display: none;
	}

	.daf-image-converter-side-card,
	.daf-image-converter-preview-card,
	.daf-image-converter-output-card {
		height: auto;
	}

	.daf-image-converter-item__preview,
	.daf-image-converter-item__output-preview {
		height: 260px;
	}

	.daf-image-converter-item.is-landscape .daf-image-converter-item__preview,
	.daf-image-converter-item.is-landscape .daf-image-converter-item__output-preview,
	.daf-image-converter-preview-card.is-landscape .daf-image-converter-item__preview,
	.daf-image-converter-output-card.is-landscape .daf-image-converter-item__output-preview {
		min-height: 220px;
		max-height: 285px;
	}

	.daf-image-converter-item.is-portrait .daf-image-converter-item__preview,
	.daf-image-converter-preview-card.is-portrait .daf-image-converter-item__preview,
	.daf-image-converter-item.is-portrait .daf-image-converter-item__output-preview,
	.daf-image-converter-output-card.is-portrait .daf-image-converter-item__output-preview {
		height: 350px;
	}

	.daf-image-converter-cta {
		padding: 22px 24px;
	}
}

@media (max-width: 767px) {
	.daf-image-converter-container {
		width: min(100%, calc(100% - 24px));
	}

	.daf-image-converter-breadcrumb {
		margin-bottom: 22px;
		font-size: 11.5px;
	}

	.daf-image-converter-head {
		text-align: left;
		margin-bottom: 22px;
	}

	.daf-image-converter-head__badges,
	.daf-image-converter-head__chips {
		justify-content: flex-start;
	}

	.daf-image-converter-head h1 {
		font-size: clamp(34px, 10vw, 44px);
	}

	.daf-image-converter-head > p {
		margin-left: 0;
		margin-right: 0;
		font-size: 13.7px;
	}

	.daf-image-converter-upload-card {
		padding: 10px;
	}

	.daf-image-converter-dropzone {
		min-height: 230px;
		padding: 26px 16px;
	}

	.daf-image-converter-dropzone h2 {
		font-size: 17px;
	}

	.daf-image-converter-settings-card,
	.daf-image-converter-results-card,
	.daf-image-converter-info-card {
		padding: 16px;
		border-radius: 14px;
	}

	.daf-image-converter-settings-grid,
	.daf-image-converter-toggle-row {
		grid-template-columns: 1fr;
	}

	.daf-image-converter-results-card__top {
		align-items: flex-start;
		flex-direction: column;
	}

	.daf-image-converter-results-card__actions {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
	}

	.daf-image-converter-mini-btn {
		width: 100%;
	}

	.daf-image-converter-item {
		gap: 14px;
		padding: 13px;
	}

	.daf-image-converter-item__preview,
	.daf-image-converter-item__output-preview {
		height: 230px;
	}

	.daf-image-converter-item.is-landscape .daf-image-converter-item__preview,
	.daf-image-converter-item.is-landscape .daf-image-converter-item__output-preview,
	.daf-image-converter-preview-card.is-landscape .daf-image-converter-item__preview,
	.daf-image-converter-output-card.is-landscape .daf-image-converter-item__output-preview {
		min-height: 190px;
		max-height: 245px;
	}

	.daf-image-converter-item.is-portrait .daf-image-converter-item__preview,
	.daf-image-converter-preview-card.is-portrait .daf-image-converter-item__preview,
	.daf-image-converter-item.is-portrait .daf-image-converter-item__output-preview,
	.daf-image-converter-output-card.is-portrait .daf-image-converter-item__output-preview {
		width: min(100%, 210px);
		height: 315px;
	}

	.daf-image-converter-item__output-meta {
		grid-template-rows: auto auto auto auto;
		min-height: 0;
	}

	.daf-image-converter-item__actions {
		grid-template-columns: 142px 42px 42px;
		width: 242px;
		max-width: 100%;
	}

	.daf-image-converter-summary {
		grid-template-columns: 1fr;
		align-items: stretch;
		gap: 12px;
	}

	.daf-image-converter-summary strong,
	.daf-image-converter-summary b {
		justify-content: center;
		text-align: center;
		white-space: normal;
	}

	.daf-image-converter-format-list {
		gap: 8px;
	}

	.daf-image-converter-format-list span {
		min-height: 30px;
		padding-inline: 10px;
	}

	.daf-image-converter-cta {
		padding: 22px 18px;
	}

	.daf-image-converter-cta h2 {
		font-size: 20px;
	}
}

@media (max-width: 420px) {
	.daf-image-converter-container {
		width: min(100%, calc(100% - 20px));
	}

	.daf-image-converter-head h1 {
		font-size: clamp(31px, 10.8vw, 39px);
	}

	.daf-image-converter-head__badges span,
	.daf-image-converter-head__chips span {
		font-size: 10.5px;
	}

	.daf-image-converter-dropzone__icon {
		width: 52px;
		height: 52px;
	}

	.daf-image-converter-dropzone__icon svg {
		width: 23px;
		height: 23px;
	}

	.daf-image-converter-item__preview,
	.daf-image-converter-item__output-preview {
		height: 200px;
	}

	.daf-image-converter-item.is-portrait .daf-image-converter-item__preview,
	.daf-image-converter-preview-card.is-portrait .daf-image-converter-item__preview,
	.daf-image-converter-item.is-portrait .daf-image-converter-item__output-preview,
	.daf-image-converter-output-card.is-portrait .daf-image-converter-item__output-preview {
		width: min(100%, 185px);
		height: 290px;
	}

	.daf-image-converter-item__actions {
		grid-template-columns: minmax(128px, 1fr) 42px 42px;
		width: 100%;
		max-width: 100%;
	}

	.daf-image-converter-item__actions .daf-image-converter-mini-btn {
		width: 100%;
		min-width: 0;
		max-width: none;
	}

	.daf-image-converter-icon-btn {
		width: 42px;
		min-width: 42px;
		max-width: 42px;
	}
}