/* Static text page blocks (.txtPageBlock*) and site footer, ported from the static layout */

/* Pages Blocks */
.txtPageBlock { padding: 56px 0; background: var(--bgColor0); }
.txtPageBlock-grid { display: grid; grid-template-columns: 1fr; }
.txtPageBlock-menu { display: flex; flex-direction: row; flex-wrap: wrap; gap: 6px; border-bottom: 1px solid rgba(0, 0, 0, 0.1); padding: 0 0 24px 0; margin: 0 0 24px 0; order: -1; }
.txtPageBlock-menu > * { font-size: 15px; font-weight: 400; color: var(--fontColor1); text-decoration: none; letter-spacing: -0.5px; background: var(--bgColor2); padding: 6px 12px;  border-radius: 6px; }
.txtPageBlock-menu > *:hover{ background: var(--bgColor1); }
.txtPageBlock-menu > *.active { font-weight: 600; background: var(--bgColor4); }
.txtPageBlock-content { font-size: 15px; font-weight: 300; letter-spacing: -0.5px; line-height: 1.4; }
.txtPageBlock-content b { font-weight: 600; }
.txtPageBlock-content h1 { font-size: 20px; font-weight: 800; padding: 0 0 12px 0; }
.txtPageBlock-content h2 { font-size: 19px; font-weight: 700; padding: 0 0 12px 0; }
.txtPageBlock-content h2:not(:first-child), .txtPageBlock-content h1:not(:first-child) { padding: 24px 0 12px 0; }
.txtPageBlock-right { display: flex; flex-direction: column; background: var(--bgColor2); border-radius: 12px; padding: 12px; order: -1; }

/* Editor content spacing: p/ul/ol/li lost their browser-default margins to the 01-compat.css reset, so restore rhythm here using the 12px/24px cadence already used by h2 above */
.txtPageBlock-content p { margin: 0 0 12px 0; line-height: 1.4; }
.txtPageBlock-content ul, .txtPageBlock-content ol { list-style: revert; margin: 0 0 12px 0; padding: 0 0 0 20px; line-height: 1.4; }
.txtPageBlock-content li { margin: 0 0 12px 0; line-height: 1.4; }
.txtPageBlock-content li:last-child { margin-bottom: 0; }

@media (min-width: 1200px) { 
	.txtPageBlock { padding: 72px 0; background: var(--bgColor0); }
	.txtPageBlock-grid { display: grid; grid-template-columns: 3fr 1fr; gap: 56px; align-items: start; }
	/* Сторінка без розділу: бічної колонки немає, текст іде на повну ширину (FR-020). */
	.txtPageBlock-grid--full { grid-template-columns: 1fr; gap: 0; }
	.txtPageBlock-menu { display: flex; flex-direction: column; gap: 6px; border-left: 4px solid rgba(0, 0, 0, 0.05); border-bottom: none; padding: 12px 0 12px 18px; order: 1; }
	.txtPageBlock-menu > * { font-size: 16px; font-weight: 400; color: var(--fontColor1); text-decoration: none; letter-spacing: -0.5px; background: none; padding: 12px 16px;  border-radius: 6px; }
	.txtPageBlock-menu > *:hover{ background: var(--bgColor1); }
	.txtPageBlock-menu > *.active { font-weight: 600; background: var(--bgColor4); }
	.txtPageBlock-content { font-size: 17px; font-weight: 300; letter-spacing: -0.5px; line-height: 1.4; }
	.txtPageBlock-content b { font-weight: 600; }
	.txtPageBlock-content h1 { font-size: 24px; font-weight: 800; padding: 0 0 12px 0; }
	.txtPageBlock-content h2 { font-size: 20px; font-weight: 700; padding: 0 0 12px 0; }
	.txtPageBlock-content h2:not(:first-child), .txtPageBlock-content h1:not(:first-child) { padding: 24px 0 12px 0; }
	.txtPageBlock-right { display: flex; flex-direction: column; gap: 6px; background: var(--bgColor2); border-radius: 12px; padding: 12px; order: 1; }
}
/* Pages Blocks */

/* Career (шорткод [ge_vacancies] і сторінка вакансії) */
.careerItemsList { display: flex; flex-direction: column; gap: 12px; }
.careerItem { display: flex; flex-direction: column; gap: 12px; background: var(--bgColor2); padding: 24px; border-radius: 12px; }
.careerItem-description { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.careerItem-name { font-size: 22px; font-weight: 700; padding: 0 0 12px 0; }
/* У верстці .careerItem-name — простий div. Контракт (templates.md §5) робить
   заголовок посиланням на вакансію заради доступності, тож посилання має
   успадкувати вигляд заголовка, а не бути синім підкресленим за замовчуванням.
   Підкреслення лишається на наведенні й фокусі — інакше зникає ознака клікабельності. */
a.careerItem-name { display: block; color: inherit; text-decoration: none; }
a.careerItem-name:hover,
a.careerItem-name:focus-visible { text-decoration: underline; }
.careerItem-description > * { display: flex; gap: 6px; align-items: center; font-size: 14px; line-height: 1; font-weight: 400; }
.careerItem-description > * img { width: 14px; height: 14px; }
.careerItem-btn { display: flex; gap: 12px; align-items: center; background: var(--bgColor0); padding: 4px 4px 4px 18px; margin: 12px 0 0 0; border-radius: 24px; width: fit-content; font-size: 15px; color: var(--fontColor1); font-weight: 600; text-decoration: none; transition: padding-right 0.3s ease; }
.careerItem-btn img { width: 34px; height: 34px; transition: transform 0.3s ease; }
.careerItem-btn:hover img { transform: translateX(6px); }
.careerItem-btn:hover { padding-right: 10px; }
.careerImg { aspect-ratio: 4 / 3; object-fit: cover; object-position: center; border-radius: 12px; overflow: hidden; }
.careerImg img { width: 100%; height: 100%; }
.careerSendBlock { display: flex; flex-direction: column; background: var(--bgColor0); align-items: center; padding: 24px; border-radius: 6px; }
.careerSendBlock > *:first-child { font-size: 22px; font-weight: 700; }
.careerSendBlock > *:last-child { font-size: 15px; font-weight: 700; color: var(--fontColor1); padding: 8px 18px; margin: 12px 0 0 0; border-radius: 6px; background: var(--bgColor4); text-decoration: none; border: none; cursor: pointer; }
.careerDescription { display: flex; flex-wrap: wrap; gap: 12px; padding: 12px; margin: 24px 0; justify-content: center; }
.careerDescription > * { display: flex; gap: 6px; font-size: 15px; }
.careerDescription > * img { width: 16px; height: 16px; }

@media (min-width: 768px) {
	.careerItemsList { display: flex; flex-direction: column; gap: 12px; }
	.careerItem { display: flex; flex-direction: column; gap: 12px; background: var(--bgColor2); padding: 24px; border-radius: 12px; }
	.careerItem-description { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
	.careerItem-name { font-size: 22px; font-weight: 700; padding: 0 0 12px 0; }
	.careerItem-description > * { display: flex; gap: 6px; align-items: center; font-size: 15px; line-height: 1; font-weight: 400; }
	.careerItem-description > * img { width: 14px; height: 14px; }
	.careerItem-btn { display: flex; gap: 13px; align-items: center; background: var(--bgColor0); padding: 4px 4px 4px 18px; margin: 12px 0 0 0; border-radius: 24px; width: fit-content; font-size: 15px; color: var(--fontColor1); font-weight: 600; text-decoration: none; transition: padding-right 0.3s ease; }
	.careerItem-btn img { width: 34px; height: 34px; transition: transform 0.3s ease; }
	.careerItem-btn:hover img { transform: translateX(6px); }
	.careerItem-btn:hover { padding-right: 10px; }
	.careerImg { aspect-ratio: 4 / 2; object-fit: cover; object-position: center; border-radius: 12px; overflow: hidden; }
	.careerImg img { width: 100%; height: 100%; }
	.careerSendBlock { display: flex; flex-direction: column; background: var(--bgColor0); align-items: center; padding: 24px; border-radius: 6px; }
	.careerSendBlock > *:first-child { font-size: 22px; font-weight: 700; }
	.careerSendBlock > *:last-child { font-size: 15px; font-weight: 700; color: var(--fontColor1); padding: 8px 18px; margin: 12px 0 0 0; border-radius: 6px; background: var(--bgColor4); text-decoration: none; border: none; cursor: pointer; }
	.careerDescription { display: flex; flex-wrap: wrap; gap: 12px; padding: 12px; margin: 24px 0; justify-content: center; }
	.careerDescription > * { display: flex; gap: 6px; font-size: 15px; }
	.careerDescription > * img { width: 16px; height: 16px; }
}

@media (min-width: 1200px) {
	.careerItemsList { display: flex; flex-direction: column; gap: 12px; }
	.careerItem { display: flex; flex-direction: column; gap: 12px; background: var(--bgColor2); padding: 32px; border-radius: 12px; }
	.careerItem-description { display: flex; align-items: center; gap: 24px; }
	.careerItem-name { font-size: 22px; font-weight: 700; padding: 0 0 12px 0; }
	.careerItem-description > * { display: flex; gap: 6px; align-items: center; font-size: 15px; line-height: 1; font-weight: 400; }
	.careerItem-description > * img { width: 16px; height: 16px; }
	.careerItem-btn { display: flex; gap: 12px; align-items: center; background: var(--bgColor0); padding: 4px 4px 4px 18px; margin: 24px 0 0 0; border-radius: 24px; width: fit-content; font-size: 15px; color: var(--fontColor1); font-weight: 600; text-decoration: none; transition: padding-right 0.3s ease; }
	.careerItem-btn img { width: 34px; height: 34px; transition: transform 0.3s ease; }
	.careerItem-btn:hover img { transform: translateX(6px); }
	.careerItem-btn:hover { padding-right: 10px; }
	.careerImg { aspect-ratio: 4 / 1; object-fit: cover; object-position: center; border-radius: 12px; overflow: hidden; }
	.careerImg img { width: 100%; height: 100%; }
	.careerSendBlock { display: flex; flex-direction: column; background: var(--bgColor0); align-items: center; padding: 32px; border-radius: 6px; }
	.careerSendBlock > *:first-child { font-size: 20px; font-weight: 700; }
	.careerSendBlock > *:last-child { font-size: 15px; font-weight: 700; color: var(--fontColor1); padding: 8px 18px; margin: 12px 0 0 0; border-radius: 6px; background: var(--bgColor4); text-decoration: none; border: none; cursor: pointer; }
	.careerDescription { display: flex; flex-direction: column; gap: 12px; padding: 32px; margin: 0; }
	.careerDescription > * { display: flex; gap: 6px; }
	.careerDescription > * img { width: 16px; height: 16px; }
}
/* Career */

/* Footer */
.footerBlock { padding: 56px 0 0 0; background: var(--bgColor1); }
.footer-nav { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.footer-nav > div:first-child { grid-column: 1 / -1; align-items: center; justify-content: center; }
.footer-nav > div { display: flex; flex-direction: column; gap: 12px; }
.footer-nav > div a { font-size: 14px; font-weight: 400; color: var(--fontColor1); text-decoration: none; }
.footer-nav p { padding: 0; margin: 0; font-size: 14px; line-height: 1.4; text-align: center; }
.footer-nav-h { font-size: 18px; font-weight: 700; letter-spacing: -0.5px; padding: 0 0 12px 0; }

.footer-nav-btn { display: flex; gap: 12px; align-items: center; background: var(--bgColor3); padding: 4px 4px 4px 18px; border-radius: 24px; width: fit-content; font-size: 13px !important; color: var(--fontColor2) !important; font-weight: 700 !important; text-decoration: none; margin: 12px 0 24px 0; transition: padding-right 0.3s ease; }
.footer-nav-btn img { width: 34px; height: 34px; transition: transform 0.3s ease; }
.footer-nav-btn:hover img { transform: translateX(6px); }
.footer-nav-btn:hover {  padding-right: 10px; }

.footer-contact { display: flex; flex-direction: column; gap: 24px; align-items: center; justify-content: center; border-top: 1px solid rgba(0, 0, 0, 0.25); margin: 48px 0 0 0; padding: 32px 0 0 0; }
.footer-contact-address { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; }
.footer-contact-address > * { display: flex; gap: 6px; align-items: center; justify-content: center; }
.footer-contact-address > * img { width: 14px; height: 14px; }
/* Номер у верстці — звичайний текст; тут це <a href="tel:">, тож знімаємо колір і підкреслення Bootstrap */
.footer-contact-address a { color: inherit; text-decoration: none; }
.footer-contact-social { display: flex; gap: 6px; }
.footer-contact-social > * { width: 42px; height: 42px; background: var(--bgColor0); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.footer-contact-social > * img { width: 18px; height: 18px; }

.footer-copy { padding: 32px 0; background: var(--bgColor3); margin: 32px 0 0 0;  }
.footer-copy-line { display: flex; flex-direction: column; gap: 24px; align-items: center; justify-content: center; }
.footer-copy-line > * { display: flex; gap: 6px; align-items: center; font-size: 10px; color: var(--fontColor4); text-decoration: none; }
.footer-copy-line > * a { color: var(--fontColor4); text-decoration: none; }
.footer-created { font-size: 8px; text-transform: uppercase; }
.footer-created img { width: 95px; height: auto; }

@media (min-width: 768px) {
	.footerBlock { padding: 56px 0 0 0; background: var(--bgColor1); }
	.footer-nav { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
	.footer-nav > div:first-child { grid-column: 1 / -1; align-items: center; justify-content: center; }
	.footer-nav > div { display: flex; flex-direction: column; gap: 12px; }
	.footer-nav > div a { font-size: 14px; font-weight: 400; color: var(--fontColor1); text-decoration: none; }
	.footer-nav p { padding: 0; margin: 0; font-size: 14px; line-height: 1.4; text-align: center; }
	.footer-nav-h { font-size: 18px; font-weight: 700; letter-spacing: -0.5px; padding: 0 0 12px 0; }

	.footer-nav-btn { display: flex; gap: 12px; align-items: center; background: var(--bgColor3); padding: 4px 4px 4px 18px; border-radius: 24px; width: fit-content; font-size: 13px !important; color: var(--fontColor2) !important; font-weight: 700 !important; text-decoration: none; margin: 12px 0 24px 0; transition: padding-right 0.3s ease; }
	.footer-nav-btn img { width: 34px; height: 34px; transition: transform 0.3s ease; }
	.footer-nav-btn:hover img { transform: translateX(6px); }
	.footer-nav-btn:hover {  padding-right: 10px; }

	.footer-contact { display: flex; flex-direction: column; gap: 24px; align-items: center; justify-content: center; border-top: 1px solid rgba(0, 0, 0, 0.25); margin: 48px 0 0 0; padding: 32px 0 0 0; }
	.footer-contact-address { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; }
	.footer-contact-address > * { display: flex; gap: 6px; align-items: center; justify-content: center; }
	.footer-contact-address > * img { width: 14px; height: 14px; }
/* Номер у верстці — звичайний текст; тут це <a href="tel:">, тож знімаємо колір і підкреслення Bootstrap */
.footer-contact-address a { color: inherit; text-decoration: none; }
	.footer-contact-social { display: flex; gap: 6px; }
	.footer-contact-social > * { width: 42px; height: 42px; background: var(--bgColor0); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
	.footer-contact-social > * img { width: 18px; height: 18px; }

	.footer-copy { padding: 32px 0; background: var(--bgColor3); margin: 32px 0 0 0;  }
	.footer-copy-line { display: flex; flex-direction: column; gap: 24px; align-items: center; justify-content: center; }
	.footer-copy-line > * { display: flex; gap: 6px; align-items: center; font-size: 10px; color: var(--fontColor4); text-decoration: none; }
	.footer-copy-line > * a { color: var(--fontColor4); text-decoration: none; }
	.footer-created { font-size: 8px; text-transform: uppercase; }
	.footer-created img { width: 105px; height: auto; }
}

@media (min-width: 1200px) {
	.footerBlock { padding: 72px 0 0 0; background: var(--bgColor1); }
	.footer-nav { display: grid; grid-template-columns: 2fr repeat(4, 1fr); gap: 24px; }
	.footer-nav > div:first-child { grid-column: 1 / 1; align-items: start; justify-content: start; }
	.footer-nav > div { display: flex; flex-direction: column; gap: 12px; }
	.footer-nav > div a { font-size: 14px; font-weight: 400; color: var(--fontColor1); text-decoration: none; }
	.footer-nav p { padding: 0; margin: 0; width: 90%; font-size: 14px; line-height: 1.4; text-align: left; }
	.footer-nav-h { font-size: 18px; font-weight: 700; letter-spacing: -0.5px; padding: 0 0 12px 0; }

	.footer-nav-btn { display: flex; gap: 12px; align-items: center; background: var(--bgColor3); padding: 4px 4px 4px 18px; border-radius: 24px; width: fit-content; font-size: 13px !important; color: var(--fontColor2) !important; font-weight: 700 !important; text-decoration: none; margin: 12px 0 0 0; transition: padding-right 0.3s ease; }
	.footer-nav-btn img { width: 34px; height: 34px; transition: transform 0.3s ease; }
	.footer-nav-btn:hover img { transform: translateX(6px); }
	.footer-nav-btn:hover {  padding-right: 10px; }

	.footer-contact { display: flex; flex-direction: row; align-items: center; justify-content: space-between; border-top: 1px solid rgba(0, 0, 0, 0.25); margin: 56px 0 0 0; padding: 48px 0 0 0; }
	.footer-contact-address { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; }
	.footer-contact-address > * { display: flex; gap: 6px; align-items: center; justify-content: start; }
	.footer-contact-address > * img { width: 14px; height: 14px; }
/* Номер у верстці — звичайний текст; тут це <a href="tel:">, тож знімаємо колір і підкреслення Bootstrap */
.footer-contact-address a { color: inherit; text-decoration: none; }
	.footer-contact-social { display: flex; gap: 6px; }
	.footer-contact-social > * { width: 42px; height: 42px; background: var(--bgColor0); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
	.footer-contact-social > * img { width: 18px; height: 18px; }

	.footer-copy { padding: 48px 0; background: var(--bgColor3); margin: 48px 0 0 0; }
	.footer-copy-line { display: flex; flex-direction: row; justify-content: space-between; }
	.footer-copy-line > * { display: flex; gap: 12px; align-items: center; font-size: 13px; color: var(--fontColor4); text-decoration: none; }
	.footer-copy-line > * a { color: var(--fontColor4); text-decoration: none; }
	.footer-created { font-size: 10px; text-transform: uppercase; }
	.footer-created img { width: 105px; height: auto; }
}
