.company-page {

}
.company-page__banner {
	margin-top: 20px;
	height: 120px;
	border-radius: 4px;
	overflow: hidden;
	outline: 1px solid var(--neutral-1000-012);
	outline-offset: -1px;
}
.company-page__banner img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.company-page__body {
	padding-block: 24px;
	display: grid;
	gap: 12px;
}

/* meta */
.company-page__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.company-page__avatar {
	--avatar-size: 40px;

	flex-shrink: 0;
	border-radius: 4px;
}

.company-page__rating {
	margin-right: auto;
	padding: 6px 16px;

	display: flex;
	justify-content: center;
	align-items: center;

	background-color: var(--neutral-0050);
	border-radius: 4px;
	box-shadow: inset 0 0 0 1px var(--neutral-0150);
}

/* buttons */
.company-page__buttons {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

/* requisites */
.company-page__requisites {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.company-page__requisites-caption {
	margin-bottom: 2px;
}

.company-requisite {
	--border-color: var(--neutral-0100);
	--caption-color: var(--neutral-0500);
	--value-color: var(--neutral-0800);

	padding: 8px 8px 8px 12px;
	display: flex;
	flex-direction: column;
	background-color: var(--neutral-0050);
	border-radius: 4px;
	box-shadow: inset 0 0 0 1px var(--border-color);
}
button.company-requisite:hover,
button.company-requisite:focus-visible {
	--border-color: var(--neutral-0150);
	--caption-color: var(--neutral-0700);
	--value-color: var(--neutral-1000);

	background: url('../../images/company-requisite-copy.svg') no-repeat right 8px top 8px var(--neutral-0100);
}
button.company-requisite:active {
	background-color: var(--neutral-0150);
}

.company-requisite__caption-group {
	display: flex;
	align-items: center;
	gap: 2px;
}
.company-requisite__caption {
	font-weight: var(--fw-400);
	font-size: 14px;
	line-height: 20px;
	color: var(--caption-color);
}
.company-requisite__value {
	font-weight: var(--fw-500);
	font-size: 15px;
	line-height: 20px;
	color: var(--value-color);
}

/* note */
.company-note {
	padding: 10px 6px;
	background-color: var(--contrast-0100);
	box-shadow: inset 0 0 0 1px var(--contrast-0500);
	border-radius: 4px;
}
.company-note__title {
	padding-inline: 6px;
	display: flex;
	justify-content: space-between;
	gap: 8px;

	font-weight: var(--fw-500);
	font-size: 15px;
	line-height: 20px;
	color: var(--neutral-1000);
}
.company-note__content {
	margin-top: 6px;
	padding: 6px 6px 0;
	border-top: 1px solid var(--contrast-0500);
	font-weight: 400;
	font-size: 15px;
	line-height: 24px;
	color: var(--neutral-0800);
}

/* main content */
.company-content {
	padding-top: 12px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.company-content__group {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.company-content__group-caption,
.company-page__requisites-caption {
	font-weight: var(--fw-500);
	font-size: 15px;
	line-height: 24px;
	color: var(--neutral-1000);
}
.company-content__group-content p:last-child {
	padding-bottom: 0;
}
.company-content__group-content:has(.badge) {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}

.company-content__address-group {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.company-content__address {
	display: flex;
	flex-direction: column;
	font-weight: var(--fw-400);
	font-size: 15px;
	line-height: 20px;
	color: var(--neutral-0600);
}
.company-content__address b {
	font-weight: var(--fw-500);
	color: var(--neutral-0800);
}


@media (max-width: 363px) {
	.company-page__favorite span {
		display: none;
	}
}

@media (max-width: 767.98px) {
	.company-page__requisites-caption {
		display: none;
	}
}

@media (min-width: 768px) {
	.company-page__banner {
		height: 180px;
	}

	.company-page__body {
		grid-template-columns: 3fr 5fr;
		align-items: start;
		gap: 16px;
	}
	.company-page__buttons {
		flex-direction: row;
	}
	.company-page__requisites {
		margin-top: -8px;
	}
	.company-content {
		padding-top: 0;
	}
}

@media (min-width: 768px) and (max-width: 930px) {
	.company-page__favorite span {
		display: none;
	}
}

@media (min-width: 1140px) {
	.company-page__banner {
		height: 240px;
	}

	.company-page__body {
		padding-bottom: 48px;
		grid-template-columns: auto 1fr 264px;
		column-gap: var(--column-gap);
	}
	.company-page__meta,
	.company-page__requisites {
		grid-row: span 2;
	}
	.company-page__meta {
		padding-right: 24px;
		flex-direction: column;
	}
	.company-page__avatar {
		--avatar-size: 148px;
	}
	.company-page__rating {
		margin-right: 0;
	}
	.company-content__buttons,
	.company-content {
		padding-right: 92px;
	}
	.company-page__requisites {
		margin-top: 0;
	}
}
