body.vacancies .page-inner, body.employers .page-inner, body.rabotamsp .page-inner {
    background: #F7F7F7;
}
body.vacancies .footer, body.employers .footer, body.rabotamsp .footer {
    margin-top: 0;
}
body.vacancies .page-title, body.employers .page-title, body.rabotamsp .page-title {
    margin-bottom: 15px;
}
body.vacancies.detail .page-title, body.employers.detail .page-title {
    display: none !important;
}
body.vacancies.detail .breadcrumbs, body.employers.detail .breadcrumbs {
    margin-bottom: 30px;
}
.job {
    margin-top: 0 !important;
}
.job-upper {
    text-transform: uppercase;
}
.job .input-field {
    font-size: 16px;
    background: #F7F7F7;
    padding-top: 20px;
    padding-bottom: 20px;
}
.job .input-field::placeholder {
    color: rgba(0, 0, 0, 0.23);
    font-size: 16px;
}
/* Скрываем стандартные элементы */
.job input[type="checkbox"],
.job input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}
/* Создаем кастомные элементы */
.job input[type="checkbox"] + label,
.job input[type="radio"] + label {
    position: relative;
    padding-left: 32px;
    cursor: pointer;
    display: inline-block;
    min-height: 25px;
    line-height: 25px;
    user-select: none;
}
/* Базовые стили для псевдоэлементов */
.job input[type="checkbox"] + label::before,
.job input[type="radio"] + label::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 25px;
    height: 25px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
/* Чекбокс - невыбранное состояние */
.job input[type="checkbox"] + label::before {
    background-image: url('data:image/svg+xml;utf8,<svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="25" height="25" rx="7" fill="%23F7F7F7"/></svg>');
}
.job .vacancies-filter__region input[type="checkbox"] + label::before {
    background-image: url('data:image/svg+xml;utf8,<svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="25" height="25" rx="7" fill="white"/></svg>');
}
/* Чекбокс - выбранное состояние */
.job input[type="checkbox"]:checked + label::before {
    background-image: url('data:image/svg+xml;utf8,<svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="25" height="25" rx="7" fill="%23ED5236"/><path d="M8.91699 11.8205L11.7587 15.0329L16.083 9.96729" stroke="white" stroke-width="2" stroke-linecap="round"/></svg>');
}
/* Радиокнопка - невыбранное состояние */
.job input[type="radio"] + label::before {
    background-image: url('data:image/svg+xml;utf8,<svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="25" height="25" rx="12.5" fill="%23F7F7F7"/></svg>');
}
.job .vacancies-filter__region input[type="radio"] + label::before {
    background-image: url('data:image/svg+xml;utf8,<svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="25" height="25" rx="12.5" fill="white"/></svg>');
}
/* Радиокнопка - выбранное состояние */
.job input[type="radio"]:checked + label::before {
    background-image: url('data:image/svg+xml;utf8,<svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="25" height="25" rx="12.5" fill="%23ED5236"/><circle cx="12.5001" cy="12.5001" r="5.66663" fill="white"/></svg>');
}
/* Стили для disabled состояния */
.job input[type="checkbox"]:disabled + label,
.job input[type="radio"]:disabled + label {
    opacity: 0.5;
    cursor: not-allowed;
}
/* Анимация при переключении */
.job input[type="checkbox"] + label::before,
.job input[type="radio"] + label::before {
    transition: all 0.2s ease-in-out;
}
.job input[type="checkbox"]:checked + label::before,
.job input[type="radio"]:checked + label::before {
    transform: scale(1);
}
/* hover эффекты */
.job input[type="checkbox"]:not(:disabled) + label:hover::before,
.job input[type="radio"]:not(:disabled) + label:hover::before {
    transform: scale(1.05);
    transition: transform 0.1s ease;
}
.job-subtitle {
    margin-top: 60px;
    margin-bottom: 30px;
}
.job-nav {
    display: flex;
    gap: 15px;
    font-size: 18px;
    margin-bottom: 25px;
}
.job-nav .current {
    font-weight: 500;
    text-decoration: underline;
    color: #000;
}
.job-nav a {
    color: #000 !important;
    opacity: 0.5;
    transition: 0.3s;
}
.job-nav a:hover {
    opacity: 1;
}
.job-search__inner {
    display: flex;
    gap: 15px;
}
.job-search__input {
    flex-grow: 1;
    background: #fff !important;
}
.job-btn {
    display: inline-flex;
    min-width: 188px;
    padding-left: 20px;
    padding-right: 20px;
    border-radius: 15px;
    border: none;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: 0.3s;
    min-height: 60px;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    color: #000;
}
.job-btn.job-btn-primary {
    background: #C78D4F;
    color: #fff;
}
.job-btn.job-btn-primary:hover {
    background: #946544;
}
.job-btn.job-btn-secondary {
    background: #C78D4F1A;
    color: #C78D4F;
}
.job-btn.job-btn-secondary:hover {
    background: #946544;
    color: #fff;
}
.job-search__btn {
    background: #C78D4F;
    color: #fff;
}
.job-search__btn:hover {
    background: #946544;
}
.job-container {
    display: grid;
    grid-template-columns: 368px auto;
    gap: 40px;
    margin-top: 25px;
}
.job-container.detail-container {
    grid-template-columns: auto 418px;
}
.job-more {
    padding: 18px 20px;
    font-size: 16px;
    font-weight: 500;
    border-radius: 16px;
    background: #fff;
    color: #000;
    text-decoration: none;
    border: none;
    display: inline-flex;
    gap: 8px;
    align-items: center;
    cursor: pointer;
    transition: 0.3s;
}
.job-more:hover {
    opacity: 0.6;
}

.job__list {
    display: flex;
    flex-direction: column;
    gap:7px;
}
.job__buttons {
    padding-top: 23px;
    text-align: center;
}
.job-card {
    background: #fff;
    border-radius: 30px;
    padding: 25px;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.job-card__header {
    position: static;
}
.job-card__title {
    font-weight: 700;
    font-size: 18px;
    margin-bottom: 4px;
    color: #000;
    text-decoration: none;
    display: block;
    position: static;
}
.job-card__title::before {
    display: block;
    position: absolute;
    content: "";
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 1;
}
.job-card__subtitle {
    font-weight: 400;
    font-size: 18px;
}
.job-card__badge {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 9px;
    font-size: 13px;
    font-weight: 400;
    background: #f7f7f7;
    margin-left: 15px;
    vertical-align: middle;
}
.job-card__description {
    font-weight: 400;
    font-size: 14px;
}
.job-card__company {
    font-weight: 400;
    font-size: 16px;
    position: relative;
    z-index: 2;
}
.job-card__small {
    font-size: 14px;
    color: rgba(0, 0, 0, 0.5);
}
.job-filter {
    background: #fff;
    border-radius: 30px;
    padding: 25px;
}
.job-root {
    display: grid;
    grid-template-columns: auto auto;
    gap: 20px;
}
.job-root__item {
    background: #fff;
    border-radius: 31px;
    padding: 35px;
    display: grid;
    grid-template-columns: auto auto;
    gap: 15px;
    align-items: center;
}
.job-root__item > img {
    min-width: 120px;
    max-width: 220px;
}
.job-root__info {
    flex-grow: 1;
}
.job-root__title {
    font-size: 25px;
    font-weight: bold;
    margin-bottom: 5px;
}
.job-root__item-text {
    font-size: 18px;
    margin-bottom: 15px;
}
.job-btn-root {
    background: #C78D4F;
    color: #fff;
}
.job-btn-root:hover {
    background: #946544;
}
.vacancies-filter {
    display: flex;
    flex-direction: column;
    gap: 22px;
}
.vacancies-filter__section-title {
    font-size: 16px;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.6);
    margin-bottom: 15px;
}
.vacancies-filter__items {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.vacancies-filter__items {
    display: flex;
    gap: 10px;
}
.vacancies-filter__items > .vacancies-filter__region {
    background: #F7F7F7;
    border-radius: 14px;
    padding: 18px 15px;
}
.vacancies-filter__item {
    display: flex;
    align-items: center;
    gap: 10px;
}
.vacancies-filter__label {
    font-size: 14px;
    color: #000;
    flex-grow: 1;
    line-height: 1.2;
}
.vacancies-filter__item-count {
    color: rgba(0, 0, 0, 0.2);
}
.vacancies-filter__region {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.vacancies-filter__region > *:not(:first-child) {
    padding-left: 25px;
}
.vacancies-filter__btn-set {
    background-color: #D4614E;
    color: #fff;
}
.vacancies-filter__btn-set:hover {
    background-color: #373737;
}
.vacancies-filter__btn-del {
    background-color: transparent;
    border: 1px solid #373737;
    color: #000;
}
.vacancies-filter__btn-del:hover {
    background-color: #373737;
    color: #fff;
}
.vacancies-filter__buttons {
    display: flex;
    gap: 10px;
    margin-top: 20px;
}
.vacancies-filter__buttons .job-btn {
    min-width: 0;
    flex-grow: 1;
}
.vacancy-detail {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.vacancy-detail > * {
    display: block;
    padding: 35px;
    border-radius: 31px;
    background: #fff;
}
.vacancy-detail__title {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.15;
    margin: 0;
}
.vacancy-detail__pay {
    margin-top: 7px;
    font-size: 18px;
    font-weight: 400;
}
.vacancy-detail__text {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-top: 15px;
}
.vacancy-detail__buttons {
    display: flex;
    gap: 7px;
    margin-top: 15px;
}
.employer-card {
    padding: 35px;
    border-radius: 31px;
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.employer-card__header {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.employer-card__body {
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-size: 14px;
    line-height: 1.2;
}
.employer-card__title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
}
.employer-card__region {
    padding: 12px;
    border-radius: 12px;
    background: #C78D4F0D;
    font-size: 14px;
}
.employer-ico {
    display: flex;
    align-items: center;
    gap: 10px;
}
.employer-ico::before {
    display: inline-block;
    content: "";
    min-width: 35px;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background: #FAF4EE no-repeat center;
}
.employer-ico.employer-card__email::before {
    background-image: url("data:image/svg+xml,%3Csvg width='18' height='13' viewBox='0 0 18 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.06353 8.4767C8.90168 8.57786 8.7196 8.61832 8.55776 8.61832C8.39591 8.61832 8.21383 8.57786 8.05198 8.4767L0 3.56055V10.0952C0 11.4911 1.13294 12.6241 2.52889 12.6241H14.6069C16.0028 12.6241 17.1357 11.4911 17.1357 10.0952V3.56055L9.06353 8.4767Z' fill='black'/%3E%3Cpath d='M14.6067 0H2.52877C1.33514 0 0.323584 0.849706 0.0808105 1.98265L8.57787 7.16181L17.0547 1.98265C16.8119 0.849706 15.8004 0 14.6067 0Z' fill='black'/%3E%3C/svg%3E");
}
.employer-ico.employer-card__phone::before {
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='17' viewBox='0 0 16 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.4297 11.2942C12.4494 10.4558 11.4546 9.9479 10.4863 10.7851L9.90814 11.291C9.48513 11.6583 8.69863 13.3744 5.65773 9.87634C2.61748 6.38267 4.42669 5.83871 4.85033 5.47458L5.43166 4.96798C6.39484 4.12892 6.03135 3.07265 5.33667 1.98535L4.91746 1.32676C4.21961 0.241996 3.45971 -0.470416 2.49399 0.36738L1.97219 0.823324C1.54538 1.13425 0.352323 2.14493 0.0629249 4.06496C-0.285365 6.36874 0.813332 9.00688 3.33052 11.9015C5.84454 14.7974 8.30601 16.252 10.6377 16.2266C12.5754 16.2057 13.7457 15.1659 14.1117 14.7879L14.6354 14.3313C15.5986 13.4941 15.0001 12.6418 14.0192 11.8014L13.4297 11.2942Z' fill='black'/%3E%3C/svg%3E");
}
.employer-ico.employer-card__address::before {
    background-image: url("data:image/svg+xml,%3Csvg width='15' height='19' viewBox='0 0 15 19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.8449 3.94577C13.299 2.86982 12.4915 1.94833 11.4965 1.266C10.5015 0.583676 9.35094 0.162401 8.15059 0.0409001C7.60731 -0.0136334 7.05994 -0.0136334 6.51666 0.0409001C5.31637 0.162594 4.1659 0.583946 3.17093 1.26625C2.17596 1.94856 1.36839 2.86994 0.822399 3.94577C0.135403 5.31853 -0.130026 6.86389 0.0595409 8.38722C0.249108 9.91054 0.885194 11.3437 1.88769 12.5062L6.77795 18.4517C6.84548 18.5337 6.93032 18.5998 7.0264 18.6451C7.12247 18.6905 7.22739 18.714 7.33363 18.714C7.43987 18.714 7.54479 18.6905 7.64086 18.6451C7.73693 18.5998 7.82178 18.5337 7.88931 18.4517L12.7788 12.5062C13.7815 11.3438 14.4177 9.91066 14.6074 8.38733C14.7971 6.864 14.5318 5.3186 13.8449 3.94577ZM7.33363 10.0762C6.76418 10.0762 6.20753 9.90736 5.73405 9.591C5.26057 9.27463 4.89154 8.82497 4.67363 8.29887C4.45571 7.77277 4.39869 7.19387 4.50979 6.63536C4.62088 6.07686 4.89509 5.56384 5.29775 5.16118C5.70041 4.75853 6.21343 4.48431 6.77193 4.37322C7.33043 4.26213 7.90934 4.31914 8.43544 4.53706C8.96153 4.75498 9.4112 5.12401 9.72756 5.59748C10.0439 6.07096 10.2128 6.62762 10.2128 7.19706C10.2118 7.96037 9.90819 8.69214 9.36845 9.23188C8.82871 9.77163 8.09694 10.0753 7.33363 10.0762Z' fill='black'/%3E%3C/svg%3E");
}
.employer-ico.employer-card__contact::before {
    background-image: url("data:image/svg+xml,%3Csvg width='15' height='17' viewBox='0 0 15 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.92348 8.11762C8.03866 8.11762 9.00435 7.71762 9.79339 6.92844C10.5824 6.13943 10.9824 5.17401 10.9824 4.05869C10.9824 2.94371 10.5824 1.97818 9.79326 1.18888C9.00408 0.399968 8.03853 0 6.92348 0C5.80813 0 4.84267 0.399968 4.05366 1.18901C3.26465 1.97805 2.86452 2.94361 2.86452 4.05869C2.86452 5.17401 3.26462 6.13956 4.05379 6.92861C4.84296 7.71752 5.80852 8.11762 6.92348 8.11762ZM14.0255 12.9582C14.0027 12.6299 13.9567 12.2717 13.8889 11.8934C13.8206 11.5123 13.7325 11.1521 13.6271 10.8228C13.5182 10.4825 13.3701 10.1465 13.187 9.82436C12.997 9.49009 12.7738 9.199 12.5233 8.95948C12.2614 8.70891 11.9407 8.50745 11.5699 8.36045C11.2005 8.21432 10.7909 8.14026 10.3529 8.14026C10.1809 8.14026 10.0145 8.21083 9.69323 8.42003C9.46484 8.56875 9.23577 8.71642 9.00603 8.86305C8.78527 9.00372 8.48622 9.13551 8.11683 9.25482C7.75646 9.37143 7.39055 9.43058 7.02939 9.43058C6.66826 9.43058 6.30246 9.37143 5.94169 9.25482C5.57273 9.1356 5.27367 9.00385 5.05315 8.86318C4.79741 8.69976 4.56603 8.55063 4.36532 8.41986C4.04441 8.2107 3.8779 8.1401 3.70589 8.1401C3.26771 8.1401 2.85836 8.21428 2.48897 8.36062C2.11843 8.50731 1.79765 8.70878 1.5355 8.95961C1.28519 9.19926 1.06187 9.49018 0.872086 9.82436C0.689151 10.1464 0.541039 10.4824 0.431996 10.823C0.326672 11.1522 0.238628 11.5123 0.170233 11.8934C0.102464 12.2712 0.0564501 12.6295 0.0336738 12.9586C0.0110167 13.2899 -0.000213549 13.6218 3.0746e-06 13.9537C3.0746e-06 14.8334 0.279638 15.5456 0.831075 16.0708C1.3757 16.5891 2.09631 16.852 2.97264 16.852H11.0869C11.9633 16.852 12.6836 16.5892 13.2284 16.0708C13.7799 15.546 14.0596 14.8337 14.0596 13.9536C14.0594 13.6141 14.048 13.2791 14.0255 12.9582Z' fill='black'/%3E%3C/svg%3E");
}
.employer-detail__info {
    padding: 35px;
    border-radius: 31px;
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 20px;
}
.employer-detail__title {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.15;
    margin: 0;
}
.employer-detail__vacancies {
    font-size: 18px;
}

@media (max-width: 940px) {
    .job-root {
        grid-template-columns: auto;
    }
}

@media (max-width: 530px) {
    .job-root__item {
        display: flex;
        flex-direction: column;
        text-align: center;
    }
}