@import "htk/style/classes";

.catalog {
	margin-right: $side-panel-width;
}
.catalog-actions {
	.htk-search-entry {
		margin-right: 4px;
	}
	& > button.menu {
		display: none;
	
		& > .htk-icon {
			display: block;
		}
	}
}
.title ._subtitle {
	font-size: .85rem;
	color: #bbb;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}

/* Right panel */

.catalog-panel {
	background-color: #fafafa;

	.basket-info {
		background-color: #8cc63f;
		color: white;
		padding: 17px 28px;
		border-radius: 7px;
		margin: 14px;
		text-align: center;

		& > button {
			color: white;
			background-color: rgba(0, 0, 0, .1);
			margin: 0 auto;
			display: block;
			margin-top: 10px;
			padding: 10px 15px;
		}
		& > button:hover {
			background-color: white;
			color: #60872c;
		}
		& > p {
			margin: 0;
			padding: .4em 0;
			text-overflow: ellipsis;
			white-space: nowrap;
			overflow: hidden;
		}
	}
	.filter {
		margin: 14px;
	}
	.categories,
	.filters,
	.order {
		margin: 20px 0;
	}
	.filters,
	.order {
		display: none;
	}
	.realm-msg {
		margin-top: 14px;
	}
	.realm-msg > h5 {
		font-weight: normal;
		text-align: center;
		padding: 34px 0;
		color: #777;
	}
	h2 {
		font-weight: normal;
		color: #777;
		font-size: 1.1rem;
	}
	.realms > div > div {
		text-align: center;
	}
	.realms a {
		display: inline-block;
		width: 25%;
		padding: 8px;
		box-sizing: border-box;
		border-radius: 50%;
	}
	.realms a:hover {
		background-color: rgba(1, 1, 1, .05);
	}
	.realms a > img {
		display: block;
		padding: 0;
		width: 100%;
	}
	.filters > button {
		margin-top: 14px;
	}
}

/* Items */

.item-box {
	display: flex;
	box-sizing: border-box;

	& > .htk-image {
		flex: none;
	}
	& > .item-info {
		flex: auto;
		position: relative;

		.second-category {
			font-weight: bold;
			color: orange;
		}
		.third-category {
			font-weight: bold;
			color: red;
		}
		.item-id {
			float: right;
		}
		& > .available-price {
			position: absolute;
			bottom: 0;
			right: 0;
			white-space: nowrap;
			font-size: .95rem;
			text-align: right;
			align-items: middle;
			column-gap: 3px;
			display: flex;

			& > * {
				border-radius: 3px;
				padding: 1px 5px;
				border: 1px transparent solid;
				box-sizing: border-box;
			}
		}
		.grouping {
			width: 44px;
			background-color: #ddd;
		}
		.available {
			width: 65px;
			border-color: #bbb;
			color: #777;
		}
		.price {
			width: 75px;
			border-color: #9cbc28;
			color: #748c1e;
		}
	}
}

.item-info {
	& > h2 {
		font-weight: normal;
		font-size: 1rem;
		margin-bottom: 1px;
		text-overflow: ellipsis;
		overflow: hidden;
	}
	& > .sub-name {
		margin: 0;
		padding: 0;
		color: #777;
		font-size: .9rem;
		text-overflow: ellipsis;
		white-space: nowrap;
		overflow: hidden;
		text-transform: uppercase;
		margin-bottom: 1px;
	}
	.item-id {
		font-size: .9rem;
		color: #777;
	}
	& > p {
		margin: 0;
		margin-bottom: 1px;
	}
}

/* Tags */

.grid-view,
.list-view,
.item-card {
	.item-tags {
		font-size: .8rem;
		display: table;
		color: #333;
		margin: 0;
		width: auto;
		border-collapse: collapse;

		td:first-child {
			color: #999;
			padding-right: 7px;
		}
	}
}
.grid-view,
.item-card {
	.item-tags {
		td {
			overflow: hidden;
			white-space: nowrap;
			text-overflow: ellipsis;
			line-height: 14px;
		}
		td:first-child {
			max-width: 90px;
			width: 90px;
		}
		td:last-child {
			max-width: 120px;
			width: 120px;
		}
	}
}

/* Grid view */

.grid-view {
	& > * {
		display: flex;
		gap: 16px;
		flex-wrap: wrap;
		justify-content: center;
	}
	.item-box {
		border-radius: 8px;
		box-shadow: 1px 1px 3px rgba(0, 0, 0, .1);
		overflow: hidden;
		background-color: white;
		flex-direction: column;
		width: 210px;
		overflow: hidden;

		&:hover {
			background-color: #efefef;
		}
		& > .htk-image {
			width: 100%;
			height: 180px;

			& > img {
				height: initial;
			}
		}
		& > .item-info {
			flex: auto;
			overflow: hidden;
			margin: 10px;
			height: 170px;

			& > h2 {
				max-height: 3rem;
			}
			& > .item-tags {
				position: absolute;
				top: 75px;
			}
		}
	}
}

/* List view */

.list-view {
	border-radius: 8px;
	box-shadow: .05em .05em .2em rgba(0, 0, 0, .1);
	overflow: hidden;
	background-color: white;
	max-width: 544px;
	margin: 0 auto;

	.item-box {
		gap: 10px;
		margin: 0;
		padding: 10px;
		height: 126px;
		overflow: visible;
		border-bottom: 1px solid #DDD;

		&:last-child {
			border-bottom: none;
		}
		& > .htk-image {
			width: 105px;
			height: 105px;
			border-radius: 50%;
		}
		& > .item-info {
			overflow: hidden;

			& > h2 {
				white-space: nowrap;
			}
			& > .color {
				display: none;
			}
			& > .htk-button {
				float: right;
			}
			& > .item-tags {
				display: block;
				text-overflow: ellipsis;
				white-space: nowrap;
				overflow: hidden;
		
				& > tr {
					display: inline-block;
				}
				td {
					display: inline-block;
					padding-right: 7px;
		
					&:first-child {
						display: none;
					}
				}
			}
		}
	}
}

/* Card */

.card-popup {
	overflow: auto;
}
.item-card {
	font-size: .9rem;
	max-width: 320px;
	overflow: hidden;

	& > .top {
		padding: 14px;

		& > .item-info {
			margin-left: 126px;
			height: 112px;

			& > h2 {
				max-height: 4.5rem;
			}
		}
		& > .htk-image {
			height: 112px;
			width: 112px;
			float: left;
			border-radius: 4px;
		}
		& > .desc {
			clear: both;
			margin-top: 15px 0;
			font-size: .9rem;
		}
	}
	& > .lots-grid {
		border-top: 1px solid #DDD;

		tr {
			height: 45px;
		}
		.cell-spin {
			max-width: initial;
			width: 42px;
		}
		.price-kg {
			font-size: .8rem;
			color: #999;
			width: 1px;
		}
		.cell-text {
			max-width: initial;
			width: auto;
		}
		.cell-button {
			max-width: initial;
			width: 14px;
		}
	}
	& > .footer {
		display: flex;
		align-items: center;
		justify-content: space-between;
		background-color: #1a1a1a;
		color: white;
		padding: 10px;

		& > button {
			&:hover {
				background-color: rgba(255, 255, 255, .1);
			}
			& > .htk-icon {
				display: block;
			}
		}
	}
}

/* Mobile */

@include mobile {
	.catalog-actions > button.menu {
		display: block;
	}
	.catalog {
		margin-right: 0;
	}
}
@media (max-width: 650px) {
	.grid-view .item-box {
		width: 100%;
		max-width: 450px;

		& > .htk-image {
			height: initial;
			max-height: 260px;
		}
	}
}