:root
{
	--shopify-bg: #f1f2f4;
	--shopify-surface: #ffffff;
	--shopify-surface-subdued: #f6f6f7;
	--shopify-border: #d2d5d8;
	--shopify-text: #202223;
	--shopify-text-subdued: #616161;
	--shopify-field-font-size: 0.9rem;
	--shopify-field-placeholder: #a3adb8;
	--shopify-label-font-size: 0.9rem;
	--shopify-label-color: #8a949e;
	--shopify-primary: #008060;
	--shopify-primary-hover: #006e52;
	--shopify-danger-bg: #fff4f4;
	--shopify-danger-border: #e4c3c3;
	--shopify-danger-text: #8c1f1f;
	--esynapse-backbar-max-width: 1120px;
}

body.esynapse-theme
{
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
	margin: 0;
	padding: 1.5rem 1rem;
	background: var(--shopify-bg);
	color: var(--shopify-text);
}

body.esynapse-theme h1,
body.esynapse-theme h2,
body.esynapse-theme h3
{
	margin: 0 0 0.75rem 0;
	line-height: 1.25;
}

body.esynapse-theme p,
body.esynapse-theme ul,
body.esynapse-theme ol
{
	margin-top: 0.3rem;
}

body.esynapse-theme a
{
	color: #005bd3;
}

body.esynapse-theme a:hover
{
	color: #004299;
}

body.esynapse-theme form
{
	margin: 0;
}

body.esynapse-theme form.search-form
{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0.85rem;
	margin-bottom: 1.25rem;
}

body.esynapse-theme form.search-form .search-form-fields
{
	flex: 1 1 0;
	max-width: 66%;
	min-width: 0;
}

body.esynapse-theme form.search-form .search-form-fields .grid
{
	display: grid;
	gap: 0.75rem;
	margin: 0;
}

body.esynapse-theme form.search-form .search-form-actions
{
	flex: 0 0 auto;
}

body.esynapse-theme form.search-form .search-form-actions button
{
	white-space: nowrap;
	margin: 0;
}

body.esynapse-theme form.search-form .search-form-actions button.search-submit-button
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.35rem;
	min-width: 2.35rem;
	height: 2.35rem;
	min-height: 2.35rem;
	padding: 0;
}

body.esynapse-theme form.search-form .search-form-actions button.search-submit-button svg
{
	width: 1.1rem;
	height: 1.1rem;
	fill: currentColor;
}

body.esynapse-theme p.results-summary
{
	margin: 0 0 0.85rem 0;
	color: var(--shopify-text-subdued);
	font-size: 0.9rem;
}

body.esynapse-theme form.search-form + p
{
	margin-top: 0;
}

body.esynapse-theme label:not(.checkbox-row):not(.option-row),
body.esynapse-theme .field-label
{
	display: block;
	font-size: var(--shopify-label-font-size);
	color: var(--shopify-label-color);
	font-weight: 500;
	letter-spacing: 0.01em;
}

body.esynapse-theme input:not([type='checkbox']):not([type='radio']):not([type='hidden']):not([type='submit']):not([type='button']):not([type='image']),
body.esynapse-theme select,
body.esynapse-theme textarea
{
	width: 100%;
	max-width: 100%;
	border: 1px solid var(--shopify-border);
	border-radius: 8px;
	background: var(--shopify-surface);
	padding: 0.55rem 0.6rem;
	font-family: inherit;
	font-size: var(--shopify-field-font-size);
	line-height: 1.4;
	color: var(--shopify-text);
	box-sizing: border-box;
}

body.esynapse-theme input::placeholder,
body.esynapse-theme textarea::placeholder
{
	color: var(--shopify-field-placeholder);
	opacity: 1;
}

body.esynapse-theme input::-webkit-input-placeholder,
body.esynapse-theme textarea::-webkit-input-placeholder
{
	color: var(--shopify-field-placeholder);
}

body.esynapse-theme select:required:invalid
{
	color: var(--shopify-field-placeholder);
}

body.esynapse-theme textarea
{
	min-height: 84px;
}

body.esynapse-theme button,
body.esynapse-theme input[type='submit'],
body.esynapse-theme input[type='button']
{
	border: 1px solid var(--shopify-primary);
	background: var(--shopify-primary);
	color: #ffffff;
	border-radius: 8px;
	padding: 0.5rem 0.85rem;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
	width: auto;
}

body.esynapse-theme button:hover,
body.esynapse-theme input[type='submit']:hover,
body.esynapse-theme input[type='button']:hover
{
	background: var(--shopify-primary-hover);
}

body.esynapse-theme table
{
	width: 100%;
	border-collapse: collapse;
	background: var(--shopify-surface);
	border: 1px solid var(--shopify-border);
	border-radius: 10px;
	overflow: hidden;
}

body.esynapse-theme th,
body.esynapse-theme td
{
	border-bottom: 1px solid var(--shopify-border);
	padding: 0.55rem 0.65rem;
	text-align: left;
	vertical-align: top;
}

body.esynapse-theme th
{
	font-weight: 600;
	background: var(--shopify-surface-subdued);
	color: var(--shopify-text-subdued);
}

body.esynapse-theme tr:last-child td
{
	border-bottom: 0;
}

body.esynapse-theme .page,
body.esynapse-theme .container,
body.esynapse-theme .content,
body.esynapse-theme .main,
body.esynapse-theme .wrap
{
	max-width: 1120px;
	margin: 0 auto;
}

body.esynapse-theme .card,
body.esynapse-theme .panel,
body.esynapse-theme .box
{
	background: var(--shopify-surface);
	border: 1px solid var(--shopify-border);
	border-radius: 12px;
	padding: 1rem;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03);
	margin-bottom: 1rem;
}

body.esynapse-theme .error,
body.esynapse-theme .errors,
body.esynapse-theme .alert,
body.esynapse-theme .warning
{
	background: var(--shopify-danger-bg);
	border: 1px solid var(--shopify-danger-border);
	color: var(--shopify-danger-text);
	border-radius: 8px;
	padding: 0.65rem 0.75rem;
	margin-bottom: 0.75rem;
}

body.esynapse-theme .muted,
body.esynapse-theme .meta,
body.esynapse-theme .subtle
{
	color: var(--shopify-text-subdued);
}

body.esynapse-theme .esynapse-backbar
{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.35rem;
	max-width: var(--esynapse-backbar-max-width);
	margin: 0 auto 0.8rem auto;
}

body.esynapse-theme .esynapse-backbtn
{
	display: inline-block;
	text-decoration: none;
	border: 1px solid var(--shopify-border);
	background: var(--shopify-surface);
	color: var(--shopify-text);
	border-radius: 8px;
	padding: 0.45rem 0.72rem;
	font-size: 0.88rem;
	font-weight: 600;
}

body.esynapse-theme .esynapse-backbtn:hover
{
	background: var(--shopify-surface-subdued);
}

body.esynapse-theme .esynapse-backbtn::before
{
	content: '\2190 ';
}

@media (max-width: 768px)
{
	body.esynapse-theme
	{
		padding: 1rem 0.6rem;
	}

	body.esynapse-theme form.search-form
	{
		flex-direction: column;
		align-items: stretch;
	}

	body.esynapse-theme form.search-form .search-form-fields
	{
		max-width: 100%;
	}

	body.esynapse-theme form.search-form .search-form-actions
	{
		align-self: flex-start;
	}
}
