@charset "UTF-8";

:root {
	--text-light: #fafaff;

	--socket-connected: #2be851;
	--socket-disconnected: #8e8181;
	--socket-text: #b09999;

	--white: #fff;

	outline: none;
	-webkit-tap-highlight-color: transparent;

	font-family: "Geologica", "DejaVu", Open Sans, sans-serif !important;
	color: var(--text-color, var(--tg-theme-text-color));
	transition: 0.1s ease-out;

	overscroll-behavior-x: none;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

* {
	text-decoration: none;
	outline: none;
	border: none;
}

a {
	cursor: pointer;
	color: var(--link-text-color, var(--tg-theme-link-color));
}

body {
	--gap: 16px;
	/* --width: calc(100% - var(--gap) * 2); */
	--width: calc(100vw - var(--gap) * 2 - 1rem);
	--offset-x: 2%;
	width: 100%;
	height: 100%;
	margin: 0;
	min-height: 100vh;
	padding: 0;
	gap: 1rem;
	display: flex;
	flex-direction: column;
	overflow-x: hidden;
	-ms-overflow-style: none;
	background-color: var(--background-color, var(--tg-theme-bg-color));
}

body::-webkit-scrollbar {
	display: none;
}

body:has(section#window) {
	overflow-y: hidden;
}

aside {}

header {
	z-index: 1000;
	container-type: inline-size;
	container-name: header;
	position: relative;
	padding: 0 var(--offset-x);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 26px;
}

body:has(>div#top>search)>header {
	margin-top: var(--header-margin-top, 2rem);
}

main {
	--gap-main: calc(var(--gap) + 10px);
	container-type: inline-size;
	container-name: main;
	flex-grow: 1;
	padding: 0 var(--offset-x);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--gap-main);
	transition: 0s;
}

main>*.merged {
	margin-top: -14px;
}

main>*[data-section] {
	width: var(--width);
}

main>section[data-section]>p {
	margin: 0;
}

main>article {
	padding: 0 1rem;
}

main>article>:is(h2, h2 + small) {
	text-align: center;
	display: block;
}

main>article>h2+small {
	margin-bottom: 1.8rem;
	color: var(--hint-text-color, var(--tg-theme-hint-color));
}

main>article>h3 {
	margin-top: 2rem;
}

div#top {
	--shadow: 0px 0px 12vh 0px rgba(34, 60, 80, 0.3);
	z-index: 1000;
	position: fixed !important;
	top: 0;
	width: 100vw;
	box-sizing: border-box;
	padding: var(--search-padding, 0.6rem 1rem);
	display: flex;
	flex-direction: column;
	align-items: center;
	overflow: hidden;
	background-color: var(--interface-top-background-color, var(--interface-background-color, var(--tg-theme-bg-color)));
	transform: translate3d(0, 0, 0);
	/* -webkit-box-shadow: var(--shadow);
	-moz-box-shadow: var(--shadow);
	box-shadow: var(--shadow); */
}

div#top * {
	color: var(--interface-top-text-color, var(--text-color, var(--tg-theme-text-color)));
}

search {
	background-color: var(--interface-search-background-color, var(--section-background-color));
}

search * {
	color: var(--interface-search-text-color, var(--section-text-color));
}

search ::-webkit-input-placeholder {
	color: var(--interface-search-text-color, var(--section-text-color));
}

search :-ms-input-placeholder {
	color: var(--interface-search-text-color, var(--section-text-color));
}

search ::-moz-placeholder {
	color: var(--interface-search-text-color, var(--section-text-color));
	opacity: 1;
}

search :-moz-placeholder {
	color: var(--interface-search-text-color, var(--section-text-color));
	opacity: 1;
}


main>search.relative {
	--gap: 16px;
	--border-width: 1px;
	width: var(--width);
	display: flex;
	flex-flow: row;
	border-radius: 1.375rem;
	backdrop-filter: contrast(0.8);
	border: 2px solid transparent;
	overflow: clip;
}

div#top>search.fixed {
	--gap: 16px;
	--border-width: 1px;
	width: var(--width);
	display: flex;
	flex-flow: row;
	border-radius: 1.375rem;
	backdrop-filter: contrast(0.8);
	overflow: hidden;
	border: 1px solid var(--interface-search-border-color, var(--section-border-color));
}

a#cart {
	--size: 2.2rem;
	position: fixed !important;
	bottom: 1rem;
	right: 1rem;
	width: var(--size);
	height: var(--size);
	padding: 0.25rem 0.3rem 0.35rem 0.3rem;
	border-radius: 0.75rem;
	overflow: hidden;
	background-color: var(--tg-theme-section-header-text-color);
	box-shadow: 0px 0px 12px 3px rgba(0, 0, 0, 0.2);
	-webkit-box-shadow: 0px 0px 12px 3px rgba(0, 0, 0, 0.2);
	-moz-box-shadow: 0px 0px 12px 3px rgba(0, 0, 0, 0.2);
	transform: translate3d(0, 0, 0);
}

a#cart:before {
	content: var(--cart-amount);
	position: absolute;
	right: -0.5rem;
	top: -0.6rem;
	padding: 0.2rem 0.3rem;
	min-width: 0.7rem;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: small;
	border-radius: 1.125rem;
	border: 0.2rem solid var(--button-background-color, var(--tg-theme-button-color));
	color: var(--button-text-color, var(--tg-theme-button-color));
	background-color: var(--button-background-color, var(--tg-theme-button-color));
	box-shadow: 0px 0px 12px 3px rgba(0, 0, 0, 0.2);
	-webkit-box-shadow: 0px 0px 12px 3px rgba(0, 0, 0, 0.2);
	-moz-box-shadow: 0px 0px 12px 3px rgba(0, 0, 0, 0.2);
}

footer {
	margin-bottom: var(--menu-height);
}

footer>section#organisation {
	align-items: center;
	padding: 1rem;
	gap: 0.2rem;
	font-size: small;
}

footer>section#organisation>p {
	margin: unset;
	display: inline-flex;
	flex-flow: row wrap;
	justify-content: center;
	gap: 0 0.4rem;
}

footer>section#organisation>span#company {
	display: block;
	text-align: center;
	font-family: 'Geologica';
	font-weight: 300;
	font-size: 0.7rem;
}

footer>section#organisation>p>span#identifier {
	color: var(--hint-text-color, var(--tg-theme-hint-color));
}

footer>section#organisation>p>span#tax {
	color: var(--hint-text-color, var(--tg-theme-hint-color));
}

footer>section#organisation>p>span#identifier:before {
	content: var(--company-identifier) ':';
	margin-right: 0.1rem;
	font-family: 'Geologica';
	font-weight: 300;
	color: var(--text-color, var(--tg-theme-text-color));
}

footer>section#organisation>p>span#tax:before {
	content: var(--company-tax) ':';
	margin-right: 0.1rem;
	font-family: 'Geologica';
	font-weight: 300;
	color: var(--text-color, var(--tg-theme-text-color));
}

footer>section#organisation>nav {
	margin-top: 0.2rem;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: 0.4rem;
	font-family: "Geologica";
	font-size: 0.6rem;
	font-weight: 400;

	>a {
		color: var(--hint-text-color, var(--tg-theme-hint-color));

		&:is(:hover, :focus) {
			color: var(--link-text-color);
		}

		&:is(.active) {
			color: var(--link-active-text-color);
		}
	}
}

search:has(input:is(:focus, :active)) {
	border-color: var(--tg-theme-accent-text-color);
	transition: unset;
}

search>label {
	margin-inline-start: 0.75rem;
	width: 1.5rem;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
}

search>label>i.icon {
	color: var(--tg-theme-subtitle-text-color);
}

search:has(input:is(:focus, :active))>label>i.icon {
	color: var(--tg-theme-accent-text-color);
	transition: unset;
}

search>input {
	width: 100%;
	max-width: calc(100% - 3.25rem);
	height: 2.5rem;
	touch-action: manipulation;
	padding: calc(.4375rem - var(--border-width)) calc(.625rem - var(--border-width)) calc(.5rem - var(--border-width)) calc(.75rem - var(--border-width));
	background-color: transparent;
}

search>input:is(:disabled, [disabled="true"]) {
	cursor: progress;
	color: var(--tg-theme-subtitle-text-color);
}

search:has(input:is(:disabled, [disabled="true"])) {
	backdrop-filter: contrast(0.5);
}

button,
*[type="button"] {
	cursor: pointer;
}

:is(button, :is(a, label)[type="button"]) {
	padding: 8px 16px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: "Geologica", Open Sans, sans-serif !important;
	font-weight: 200;
	cursor: pointer;
	color: var(--button-text-color, var(--tg-theme-button-text-color));
	background-color: var(--button-background-color, var(--tg-theme-button-color));

	&:is(:hover, :focus) {
		filter: brightness(120%);
	}

	&:active {
		filter: brightness(80%);
		transition: 0s;
	}

	&:is(:disabled, [disabled="true"]) {
		filter: contrast(0.7) brightness(0.7);
		cursor: not-allowed;
	}
}

button {
	height: 33px;
}

a[type="button"] {
	height: 23px;
}

h1,
h2 {
	margin: 0.2rem 0 0;
	margin-bottom: -1rem;
	font-family: 'Geologica';
	font-weight: 300;
}

:is(h1, h2)#title.brand {
	font-size: 2.2rem;
	font-weight: 200;
	font-family: 'Geologica';
}

input {
	color: var(--input-text-color, var(--text-color, var(--tg-theme-text-color)));
	background: unset;
}

.kabrio {
	font-family: "Kabrio";
}

.cost.currency:after {
	content: var(--currency);
	margin-left: var(--currency-offset, 0.2rem);
	font-weight: normal;
}

.cost.plus:before {
	content: '+';
	margin-left: var(--plus-offset, 0.1rem);
}

.delivery.days:after {
	content: var(--days);
	margin-left: var(--days-offset, 0.1rem);
}

.rounded {
	border-radius: 0.75rem;
}

.rounded.smoother {
	border-radius: 1.375rem;
}

.row {
	display: flex;
	flex-direction: row;
}

.column {
	display: flex;
	flex-direction: column;
}

.success {
	/* color: var(--tg-theme-hint-color, green); */
	color: #697d30;
	color: #3adb40;
}

.fail {
	color: var(--tg-theme-destructive_text_color, red);
}

.hint {
	color: var(--tg-theme-hint-color);
}

.hidden {
	display: none !important;
}

.unselectable {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
