@import url("https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@400;600;700&display=swap");

html,
body.omini-standalone-public {
	margin: 0 !important;
	padding: 0 !important;
	min-height: 100%;
	width: 100%;
	background: #f6f8fc;
}

body.omini-standalone-public {
	overflow-x: hidden;
}

.omini-public,
.omini-public * {
	box-sizing: border-box;
}

.omini-public {
	--omini-bg: #f7f9fd;
	--omini-text: #101827;
	--omini-muted: #536174;
	--omini-accent: #2456f2;
	--omini-accent-2: #ef476f;
	--omini-card: rgba(255, 255, 255, 0.94);
	--omini-border: rgba(15, 23, 42, 0.1);
	--omini-shadow: 0 18px 55px rgba(15, 23, 42, 0.14);
	--omini-radius: 8px;
	display: flex;
	justify-content: center;
	align-items: stretch;
	min-height: 100vh;
	width: 100%;
	margin: 0;
	color: var(--omini-text);
	font-family: "Josefin Sans", "Jost", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	background: var(--omini-bg);
	letter-spacing: 0;
	font-weight: 400;
}

.omini-public__canvas {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	min-height: 100vh;
	padding: clamp(36px, 6vw, 72px) 18px 45px;
	overflow: hidden;
}

.omini-public__canvas::before,
.omini-public__canvas::after {
	content: "";
	position: absolute;
	pointer-events: none;
	z-index: 0;
}

.omini-public__profile,
.omini-public__socials,
.omini-public__links,
.omini-public__attribution {
	position: relative;
	z-index: 1;
}

.omini-public__profile {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: min(100%, 720px);
	text-align: center;
}

.omini-public__avatar {
	display: block;
	width: clamp(104px, 22vw, 148px);
	height: clamp(104px, 22vw, 148px);
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 999px !important;
	border: 6px solid rgba(255, 255, 255, 0.95);
	background: #fff;
	box-shadow: var(--omini-shadow);
	overflow: hidden;
	clip-path: circle(50% at 50% 50%);
}

.omini-public__avatar--fallback {
	display: grid;
	place-items: center;
	background: linear-gradient(135deg, var(--omini-accent), var(--omini-accent-2));
	color: #fff;
	font-size: clamp(44px, 12vw, 72px);
	font-weight: 400;
}

.omini-public h1 {
	margin: 26px 0 8px;
	font-size: clamp(28px, 6.2vw, 44px);
	line-height: 1.05;
	font-weight: 700 !important;
	letter-spacing: 0;
	overflow-wrap: anywhere;
}

.omini-public__profession {
	margin: 0 0 8px;
	color: var(--omini-accent);
	font-size: clamp(15px, 3.2vw, 20px);
	font-weight: 700 !important;
	line-height: 1.3;
	text-align: center;
	overflow-wrap: anywhere;
}

.omini-public__bio {
	width: min(100%, 620px);
	margin: 0 auto;
	color: var(--omini-muted);
	font-size: 12px;
	line-height: 1.45;
}

.omini-public__bio p {
	margin: 0;
}

.omini-public__socials {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	width: min(100%, 620px);
	margin: 14px 0 22px;
}

.omini-public__socials:empty {
	display: none;
}

.omini-public__socials a {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border: 1px solid color-mix(in srgb, var(--omini-accent) 45%, transparent);
	border-radius: 999px;
	color: var(--omini-text);
	background: rgba(255, 255, 255, 0.18);
	text-decoration: none;
	font-size: 13px;
	font-weight: 400;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

.omini-social-icon {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	color: currentColor;
}

.omini-social-icon svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.omini-public__links {
	display: grid;
	gap: 10px;
	width: min(100%, 640px);
	margin: 0 auto;
}

.omini-public__link {
	display: grid;
	grid-template-columns: 42px 1fr 20px;
	align-items: center;
	min-height: 62px;
	padding: 10px 14px;
	border: 1px solid var(--omini-border);
	border-radius: var(--omini-radius);
	color: var(--omini-text);
	background: var(--omini-card);
	box-shadow: var(--omini-shadow);
	text-decoration: none;
	font-size: clamp(15px, 3vw, 19px);
	font-weight: 400;
	overflow: hidden;
}

.omini-public__link-icon {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 8px;
	color: #fff;
	background: linear-gradient(135deg, var(--omini-accent), var(--omini-accent-2));
	font-size: 15px;
	font-weight: 400;
	overflow: hidden;
}

.omini-public__link-icon--website {
	color: var(--omini-accent);
	background: transparent;
}

.omini-public__link-icon img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: inherit;
	background: #fff;
}

.omini-public__link-icon .omini-social-icon svg {
	width: 18px;
	height: 18px;
}

.omini-public__link--field {
	grid-template-columns: 42px 1fr;
}

.omini-public__link--field strong,
.omini-public__link--field small {
	display: block;
	overflow-wrap: anywhere;
}

.omini-public__link--field small {
	margin-top: 4px;
	color: var(--omini-muted);
	font-size: 0.72em;
	font-weight: 400;
	line-height: 1.35;
}

.omini-public__products {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	width: min(100%, 640px);
	margin: 14px auto 0;
}

.omini-public__product {
	display: grid;
	gap: 7px;
	padding: 10px;
	border: 1px solid var(--omini-border);
	border-radius: 8px;
	color: var(--omini-text);
	background: var(--omini-card);
	box-shadow: var(--omini-shadow);
	text-align: center;
	text-decoration: none;
}

.omini-public__product-image {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 8px;
	background: rgba(148, 163, 184, 0.16);
	overflow: hidden;
}

.omini-public__product-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: inherit;
	background: #fff;
}

.omini-public__product-title {
	color: currentColor;
	font-weight: 700 !important;
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.omini-public__product-prices {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	flex-wrap: wrap;
	color: var(--omini-muted);
	line-height: 1.2;
}

.omini-public__product-sale-price {
	color: var(--omini-text);
	font-weight: 700 !important;
}

.omini-public__product-regular-price {
	color: var(--omini-muted);
	opacity: 0.55;
	text-decoration: line-through;
	line-height: 1.2;
}

.omini-public__product-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	border-radius: 7px;
	color: #fff;
	background: var(--omini-accent);
	line-height: 1;
}

.omini-public__chevron {
	justify-self: end;
	color: var(--omini-accent);
	font-size: 28px;
	line-height: 1;
}

.omini-public__attribution {
	margin-top: auto;
	padding-top: 36px;
	color: color-mix(in srgb, var(--omini-text) 78%, transparent);
	font-size: clamp(12px, 2.8vw, 15px);
	opacity: 0.6;
	text-align: center;
}

.omini-public__attribution span {
	color: var(--omini-accent-2);
}

.omini-public__attribution a {
	color: var(--omini-accent);
	font-weight: 400;
}

.omini-dashboard-page .omini-public__canvas {
	justify-content: flex-start;
	min-height: 100vh;
	padding-top: 24px;
	background: #f7f9fd;
}

.omini-dashboard-form {
	display: grid;
	gap: 7px;
	width: min(98%, 980px);
	margin: 0 auto;
	padding: 14px;
	border: 1px solid rgba(15, 23, 42, 0.1);
	border-radius: 8px;
	color: #101827;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 18px 55px rgba(15, 23, 42, 0.1);
}

.omini-dashboard-form h1,
.omini-dashboard-form h2 {
	margin: 0;
	font-size: 18px !important;
	line-height: 1.25;
}

.omini-dashboard-form p {
	margin: 0;
}

.omini-dashboard-form label {
	display: grid;
	gap: 5px;
}

.omini-dashboard-field-row,
.omini-dashboard-image-field {
	display: grid !important;
	grid-template-columns: minmax(96px, 150px) minmax(0, 1fr);
	align-items: center;
	gap: 7px;
}

.omini-dashboard-image-field__control {
	display: grid;
	grid-template-columns: 62px minmax(0, 1fr);
	align-items: center;
	gap: 10px;
}

.omini-dashboard-image-field__preview,
.omini-dashboard-row-image__preview {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	border: 2px dashed #9db4ff;
	border-radius: 999px;
	background: #fff;
	overflow: hidden;
}

.omini-dashboard-row-image__preview {
	width: 42px;
	height: 42px;
	border-radius: 8px;
}

.omini-dashboard-image-field__preview::before,
.omini-dashboard-row-image__preview::before {
	content: "+";
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 999px;
	color: #fff;
	background: #2456f2;
	font-size: 20px;
	line-height: 1;
}

.omini-dashboard-image-field__preview:has(img)::before,
.omini-dashboard-row-image__preview:has(img)::before {
	display: none;
}

.omini-dashboard-image-field__preview.has-image::before,
.omini-dashboard-row-image__preview.has-image::before {
	display: none;
}

.omini-dashboard-image-field__preview img,
.omini-dashboard-row-image__preview img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	background: #fff;
}

.omini-dashboard-image-field__preview img {
	border-radius: 999px;
}

.omini-dashboard-row-image__preview img {
	border-radius: 8px;
}

.omini-dashboard-row-image,
.omini-dashboard-row-image__control {
	display: grid;
	gap: 5px;
}

.omini-dashboard-row-image__control {
	grid-template-columns: 46px minmax(0, 1fr);
	align-items: center;
}

.omini-dashboard-image-field input[type="file"] {
	width: 100%;
	min-height: auto;
	padding: 0;
	border: 0;
	background: transparent;
	font-size: 12px;
}

.omini-dashboard-row-image input[type="file"] {
	width: 100%;
	min-height: auto;
	padding: 0;
	border: 0;
	background: transparent;
	font-size: 12px;
}

.omini-dashboard-image-field input[type="file"].is-hidden,
.omini-dashboard-row-image input[type="file"].is-hidden {
	display: none;
}

.omini-dashboard-form input,
.omini-dashboard-form textarea {
	width: 100%;
	min-height: 38px;
	border: 1px solid #cbd5e1;
	border-radius: 7px;
	padding: 7px 9px;
	background: #fff;
	color: #101827;
	font: inherit;
	box-sizing: border-box;
}

.omini-dashboard-form input[readonly] {
	color: #64748b;
	background: #f1f5f9;
	cursor: not-allowed;
}

.omini-dashboard-repeat {
	display: grid;
	gap: 10px;
	margin: 10px 0;
}

.omini-dashboard-repeat__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.omini-dashboard-repeat__head h2 {
	margin: 0;
}

.omini-dashboard-repeat__head button,
.omini-dashboard-row button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	border: 1px solid #172033;
	border-radius: 8px;
	padding: 0 12px;
	color: #172033;
	background: #fff;
	font: inherit;
	font-size: 12px;
	cursor: pointer;
	white-space: nowrap;
}

.omini-dashboard-row {
	display: grid;
	grid-template-columns: 1fr;
	align-items: stretch;
	gap: 6px;
	padding: 8px;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
}

.omini-dashboard-row button {
	justify-self: start;
	min-width: 104px;
	border-color: transparent;
	color: #fff;
	background: #111827;
}

.omini-dashboard-actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	width: 100%;
}

.omini-dashboard-form > button,
.omini-dashboard-actions button,
.omini-dashboard-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	border: 0;
	border-radius: 7px;
	padding: 0 14px;
	color: #fff;
	background: #2456f2;
	text-decoration: none;
	cursor: pointer;
}

.omini-dashboard-link {
	background: #111827;
}

.omini-dashboard-error {
	color: #b42318;
}

.omini-dashboard-success {
	color: #15803d;
}

.omini-public--message .omini-public__canvas {
	justify-content: center;
	max-width: none;
	background: #f7f9fd;
}

.omini-template-minimal-clean {
	--omini-bg: radial-gradient(circle at 10% 8%, #eef3ff 0, transparent 28%), radial-gradient(circle at 88% 88%, #edf2ff 0, transparent 24%), #f9fbff;
	--omini-accent: #2558f1;
	--omini-accent-2: #e5312b;
	--omini-card: rgba(255, 255, 255, 0.86);
	--omini-border: rgba(29, 41, 57, 0.08);
}

.omini-template-dark-neon {
	--omini-bg: #030711;
	--omini-text: #ffffff;
	--omini-muted: #c6c9d5;
	--omini-accent: #2585ff;
	--omini-accent-2: #ff3fb6;
	--omini-card: rgba(5, 9, 21, 0.72);
	--omini-border: rgba(102, 181, 255, 0.74);
	--omini-shadow: 0 0 28px rgba(37, 133, 255, 0.22), 0 0 42px rgba(255, 63, 182, 0.16);
	background-image: linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
	background-size: 54px 54px;
}

.omini-template-purple-gradient {
	--omini-bg: linear-gradient(145deg, #5947e8 0%, #984de4 52%, #f46bc3 100%);
	--omini-text: #ffffff;
	--omini-muted: rgba(255, 255, 255, 0.82);
	--omini-accent: #632fe2;
	--omini-accent-2: #5fd2ff;
	--omini-card: rgba(255, 255, 255, 0.94);
	--omini-border: rgba(255, 255, 255, 0.42);
}

.omini-template-purple-gradient .omini-public__link {
	color: #111b32;
}

.omini-template-creator-style {
	--omini-bg: #fff8ed;
	--omini-text: #16191d;
	--omini-muted: #f06f32;
	--omini-accent: #f9732f;
	--omini-accent-2: #111111;
	--omini-card: #ffffff;
	--omini-border: rgba(249, 115, 47, 0.16);
}

.omini-template-creator-style h1 {
	font-family: "Segoe Script", "Bradley Hand ITC", cursive;
	font-weight: 400;
}

.omini-template-business-card,
.omini-template-professional {
	--omini-bg: linear-gradient(180deg, #08213c 0%, #0a2542 47%, #f8fafc 47%, #f8fafc 83%, #071d35 83%);
	--omini-text: #ffffff;
	--omini-muted: #f6c867;
	--omini-accent: #d7a936;
	--omini-accent-2: #102b4a;
	--omini-card: #ffffff;
	--omini-border: rgba(215, 169, 54, 0.3);
}

.omini-public,
.omini-public * {
	font-weight: 400 !important;
}

.omini-public h1,
.omini-public .omini-public__profession {
	font-weight: 700 !important;
}

.omini-template-business-card .omini-public__links,
.omini-template-professional .omini-public__links {
	color: #0f172a;
}

.omini-template-business-card .omini-public__link,
.omini-template-professional .omini-public__link {
	color: #0f172a;
}

.omini-template-glassmorphism {
	--omini-bg: linear-gradient(135deg, #3d95d9 0%, #5d65bb 48%, #d768c9 100%);
	--omini-text: #ffffff;
	--omini-muted: #6ef0ff;
	--omini-accent: #4bd3ff;
	--omini-accent-2: #e75edc;
	--omini-card: rgba(255, 255, 255, 0.16);
	--omini-border: rgba(255, 255, 255, 0.52);
	--omini-shadow: 0 18px 42px rgba(30, 44, 92, 0.24);
}

.omini-template-glassmorphism .omini-public__link {
	backdrop-filter: blur(16px);
	color: #ffffff;
}

.omini-template-store-seller {
	--omini-bg: linear-gradient(145deg, #fffdf2 0%, #f9f0d9 56%, #e4efd3 100%);
	--omini-text: #102033;
	--omini-muted: #315c35;
	--omini-accent: #2f7436;
	--omini-accent-2: #8a6c2c;
	--omini-card: rgba(255, 255, 255, 0.88);
	--omini-border: rgba(47, 116, 54, 0.16);
}

@media (max-width: 520px) {
	.omini-public__canvas {
		padding: 28px 14px 24px;
	}

	.omini-public h1 {
		margin-top: 22px;
	}

	.omini-public__link {
		grid-template-columns: 46px 1fr 20px;
		min-height: 64px;
		padding: 10px 14px;
	}

	.omini-public__link-icon {
		width: 32px;
		height: 32px;
	}

	.omini-public__products {
		gap: 8px;
	}

	.omini-dashboard-field-row,
	.omini-dashboard-image-field {
		grid-template-columns: 1fr !important;
	}

	.omini-dashboard-actions {
		grid-template-columns: 1fr;
	}
}

.omini-public {
	width: 98%;
	max-width: 98%;
	margin: 5px auto;
	box-sizing: border-box;
	font-size: 12px;
}

.omini-public :where(p, span, a, label, input, button, textarea, select, li, td, th, small, strong) {
	font-size: 12px;
}

.omini-public :where(h1, h2, h3, h4, h5, h6) {
	font-size: 18px !important;
	line-height: 1.25;
}
