/* ============================================
   Text — типографіка, шрифти, списки, меню
   ============================================ */

/* Typography - Start */
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
.wp-block-heading {
	font-family: var(--font-family-2);
	font-weight: 500;
	margin: 0;
}
h1,
.h1 {
	font-size: 48px;
	line-height: 56px;
}
h2,
.h2 {
	font-size: 32px;
	line-height: 40px;
}
h3,
.h3 {
	font-size: 25px;
	line-height: 30px;
}
h4,
.h4 {
	font-size: 22px;
	line-height: 28px;
}
h5,
.h5 {
	font-size: 20px;
	line-height: 24px;
}
p {
	font-size: 16px;
	line-height: 24px;
	font-weight: 400;
	margin: 0;
}
p.text-up-1 {
	font-size: 20px;
	line-height: 24px;
}
p.text-up-2 {
	font-size: 24px;
	line-height: 28px;
}
p.text-down-1 {
	font-size: 14px;
	line-height: 17px;
}
p.text-down-2 {
	font-size: 12px;
	line-height: 16px;
}
p a {
	word-break: break-all;
}
small {
	font-size: 14px;
	line-height: 17px;
}

@media (max-width: 1680px) {
	p {
		font-size: 14px;
		line-height: 22px;
	}
}
@media (max-width: 1279px) {
	h1,
	.h1 {
		font-size: 24px;
		line-height: 28px;
	}
	h2,
	.h2 {
		font-size: 24px;
		line-height: 28px;
	}
	h3,
	.h3 {
		font-size: 20px;
		line-height: 24px;
	}
	p.text-up-1 {
		font-size: 18px;
		line-height: 22px;
	}
	p.text-up-2 {
		font-size: 22px;
		line-height: 26px;
	}
}
@media (max-width: 768px) {
	p.text-up-1 {
		font-size: 16px;
		line-height: 20px;
	}
	p.text-up-2 {
		font-size: 20px;
		line-height: 24px;
	}
}
/* Typography - End */

/* Menu - Start */
:where(ul).menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 16px;
	line-height: 24px;
}
ul.menu#top-bar-menu {
	font-size: 14px;
	line-height: 17px;
}
:where(.menu) > .menu-item {
	display: inline-flex;
	align-items: center;
	padding: 8px 12px;
}
.menu:where(.menu-vertical) {
	flex-direction: column;
	align-items: stretch;
}
:where(.menu.menu-vertical) > .menu-item {
	display: block;
	padding: 8px 0;
}
/* Menu - End */

/* Text Box Lists - Start */
:where(.text-box) ul li,
:where(.text-box) ol li {
	position: relative;
	padding-left: 25px;
	font-size: 16px;
	line-height: 24px;
	font-weight: 400;
}

:where(.text-box) ul,
:where(.text-box) ol {
	list-style: none;
	padding: 0;
	margin: 0;
}
:where(.text-box) ol {
	counter-reset: item;
}
:where(.text-box) ul > li:before {
	content: "";
	position: absolute;
	top: 8px;
	left: 10px;
	background: var(--primary);
	width: 6px;
	height: 6px;
	border-radius: var(--radius-max);
	display: flex;
	align-items: center;
	justify-content: center;
}
:where(.text-box) ol > li:before {
	counter-increment: item;
	content: counter(item) ".";
	position: absolute;
	left: 7px;
	top: 0;
	color: var(--primary);
	font-weight: 600;
}
:where(.text-box) ol > li:nth-child(1):before {
	left: 8px;
}
:where(.text-box) ol > li:nth-child(n + 10):before {
	left: -8px;
}
:where(.text-box) :is(p, .h2, .h3, .h4, .h5, h2, h3, h4, h5) + :is(ul, ol) {
	margin-top: calc(var(--blocks-indent) / -4 * 3);
}

:where(.text-box) :is(.h2, .h3, .h4, .h5, h2, h3, h4, h5) + p {
	margin-top: calc(var(--blocks-indent) / -2);
}

@media (max-width: 1680px) {
	:where(.text-box) ul li,
	:where(.text-box) ol li {
		font-size: 14px;
		line-height: 22px;
	}
}
/* Text Box Lists - End */
