/**
 * Общие компоненты темы: шапка, мобильное/десктопное меню услуг, карточки блога,
 * поиск, вкладки в статьях, блок автора, контакты.
 * Всегда на всех страницах — не привязан к CPT.
 */

/* --- Шапка: кнопка «Услуги» --- */
.service_botton:hover, .n_hover {
    background-image: url(/wp-content/themes/stomarus/img/menu-c.svg);
    color: var(--color-accent);
}

/* --- Поиск: hover / focus (шапка, 404, контексты main.*) --- */
main.services .is-search-form input.is-search-input,
main.specialists .is-search-form input.is-search-input,
main.portfolio .is-search-form input.is-search-input,
.error-404.not-found .error-404_search .is-search-form input.is-search-input {
    font-family: "Roboto", "Arial", sans-serif;
    font-weight: 400;
    font-size: 12px !important;
    padding-left: 36px;
    height: 39px;
    background-image: url(/wp-content/themes/stomarus/img/search-icon.svg) !important;
    background-repeat: no-repeat;
    transition: .5s;
    background-position: 10px 46%;
    border: solid 1px #EBEBEB !important;
}

main.services .is-search-form input.is-search-input:hover,
main.specialists .is-search-form input.is-search-input:hover,
main.portfolio .is-search-form input.is-search-input:hover,
#primary .error-404.not-found .error-404_search .is-search-form input.is-search-input:hover,
#header_main-search-block .is-search-input:hover,
#masthead .header_main_block .mobile_search .is-search-input:hover {
    background-image: url(/wp-content/themes/stomarus/img/search-icon-c.svg) !important;
}

main.services .is-search-form input.is-search-input:focus,
main.specialists .is-search-form input.is-search-input:focus,
#header_main-search-block .is-search-input:focus,
main.portfolio .is-search-form input.is-search-input:focus,
#masthead .header_main_block .mobile_search .is-search-input:focus,
#primary .error-404.not-found .error-404_search .is-search-input:focus {
    border: 1px solid var(--color-accent) !important;
    background-image: url(/wp-content/themes/stomarus/img/search-icon-c.svg) !important;
}

main.services .is-search-form input.is-search-input::placeholder,
main.specialists .is-search-form input.is-search-input::placeholder,
main.portfolio .is-search-form input.is-search-input::placeholder,
#primary .error-404.not-found .error-404_search input.is-search-input::placeholder {
    color: #A3A3A3;
}

/* --- Вкладки в single поста / услуги --- */
.tabs_services .info-tekst-margin, .tabs_services .info-text-normal {

}

.tabs_services .lsf__tab.active-tab a {
    color: #fff;
    background-color: var(--color-accent) !important;
}

.tabs_services .lsf__tab a {
    font-family: "Roboto", "Arial", sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: var(--color-accent);
    text-transform: inherit;
    width: max-content;
    margin-right: 10px;
}

.tabs_services .tabs {
    background-color: transparent;
}

.tabs_services .lsf__tab {
    border: none;
    padding: 0;
    width: max-content;
}

.tabs_services .lsf__tabs-nav {
    display: flex;
    flex-wrap: wrap;
}

.tabs_services .lsf__tab a:hover {
    background-color: #e7e7e7;
}

/* --- Карточка блога (главная, блог, врач, категории) --- */
.single-services_blog_flex {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    width: 100%;
}

.services_blog_block {
    width: 100%;
    min-width: 0;
    position: relative;
    display: flex;
    flex-direction: column;
}

.services_blog_block:hover {
    box-shadow: 0 4px 20px rgb(0 0 0 / 15%);
}

.services_blog_block_border {
    border: 1px solid #EBEBEB;
    border-top: none;
    margin-top: -8px;
    padding: 20px 20px 65px 20px;
    flex-grow: 1;
}

.services_blog_block img {
    width: 100%;
}

.services_blog_cat {
    background: var(--color-accent);
    font-family: "Roboto", "Arial", sans-serif;
    font-weight: 400;
    font-size: 16px;
    position: absolute;
    width: max-content;
    top: 20px;
    left: 20px;
    z-index: 0;
    color: #fff;
    padding: 4px 21px;
}

.services_blog_block_border h3 a, .services_blog_block_border .asH3F a {
    font-weight: 600;
    font-size: 20px;
    color: var(--color-text);
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    max-height: 58px;
}

.services_blog_block_border h3 a:hover, .services_blog_block_border .asH3F a:hover {
    color: var(--color-accent);
}

.services_blog_link {
    position: absolute;
    bottom: 30px;
}

.services_blog_arrow-right {
    position: absolute;
    opacity: 1;
    transition: 0.5s;
}

.services_blog_go_to {
    opacity: 0;
    background-image: url(/wp-content/themes/stomarus/img/arrow-right.svg);
    background-repeat: no-repeat;
    background-position: 67% 60%;
    padding-right: 110px;
    transition: 0.5s;
    font-family: "Roboto", "Arial", sans-serif;
    font-weight: 600;
    font-size: 16px;
    text-decoration-line: underline;
    color: var(--color-text);
}

.services_blog_block:hover .services_blog_arrow-right {
    opacity: 0;
}

.services_blog_block:hover .services_blog_go_to {
    opacity: 1;
}

.services_blog_go_to:hover {
    color: var(--color-accent);
    background-image: url(/wp-content/themes/stomarus/img/Arrow-right-c.svg);
}

.services_blog_view_date {
    position: absolute;
    right: 20px;
    top: 20px;
    text-align: right;
}

.services_blog_view_date img {
    width: 20px;
    height: 20px;
    margin-bottom: -4px;
    margin-right: 5px;
}

.services_blog_date, .services_blog_view {
    font-family: "Roboto", "Arial", sans-serif;
    font-weight: 400;
    font-size: 16px;
    mix-blend-mode: difference;
    filter: invert(1) grayscale(1) contrast(9);
}

.services_blog_date {
    margin-bottom: 10px;
}

.services-reviews_all {
    color: var(--color-text);
    font-family: "Roboto", "Arial", sans-serif;
    font-weight: 400;
    font-size: 16px;
    border: 1px solid #333;
    display: block;
    width: max-content;
    margin: 10px auto 0 auto;
    padding: 9px 29px 8px 29px;
}

.services-reviews_all:hover {
    background: #333;
    color: #fff;
    border: 1px solid #333;
}

.single_article_blog .services_blog_block {
    width: 380px;
}

.blog_grid_block:hover .services_blog_go_to {
    opacity: 1;
}

.blog_grid_block:hover .services_blog_arrow-right {
    opacity: 0;
}

.home_blog_flex .services_blog_block {
    width: 380px;
}

.services_blog_block_border h3 a, .archive.category .services_blog_block_border h3 a,
.services_blog_block_border .asH3F a, .archive.category .services_blog_block_border .asH3F a {
    margin-top: 10px;
}

/* --- Автор в статье блога (классы portfolio_*) --- */
.portfolio_doktora {
    border: 1px solid #EBEBEB;
    padding: 20px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    font-family: "Roboto", "Arial", sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: #605C5C;
    transition: .4s;
}

.portfolio_doktora_title {
    font-weight: 600;
    font-size: 20px;
    color: var(--color-text);
    margin-bottom: 12px;
}

.portfolio_doktora:hover .portfolio_doktora_title {
    color: var(--color-accent);
}

.portfolio_doktora_text {
    width: 250px;
}

.portfolio_doktora:hover .portfolio_doktora_text {
    color: #605C5C;
}

.portfolio_doktora:hover {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.portfolio_doktora_doc_text {
    width: 265px;
}

.portfolio_doktora_doc_text .replace_s_networks {
    margin-right: 10px;
}

/* --- Якоря в длинных статьях --- */
.single_article_pokazaniya,
.single_article_price,
.single_article_avtor_tekst,
.single_article_etapy {
    scroll-margin-top: calc(var(--h2-margin-top) + var(--header-height));
}

@media only screen and (max-width: 1260px) {
    .service_container ul.service_links a {
        width: 350px;
    }

    .home_blog_flex .services_blog_block {
        width: 31%;
    }

    .services_blog_cat {
        font-size: 14px;
        padding: 4px 10px;
    }

    .services_blog_link {
        bottom: 20px;
    }

    .services_blog_block_border {
        padding: 8px 20px 40px 20px;
    }

    .single-services_blog_flex {
        grid-template-columns: repeat(2, 1fr);
        width: 100%;
    }

    .services_blog_block {
        width: 100%;
        min-width: 0;
    }

    .services_blog_arrow-right {
        display: none;
    }

    .services_blog_go_to {
        opacity: 1;
    }

    .page-template-blog .services_blog_block_border .flex div:last-child {
        width: 75%;
    }

    .page-template-blog .services_blog_block_border {
        padding: 20px 20px 40px 20px;
    }

    .single_article_blog .services_blog_block {
        width: 31%;
    }

    .single-post .single-services_blog_flex .services_blog_block_border {
        padding: 20px 20px 35px 20px;
    }

    .portfolio_doktora_title {
        font-size: 18px;
    }

    .portfolio_doktora_text {
        width: 70%;
    }

    .portfolio_doktora_doc_text {
        width: 68%;
    }
}

@media only screen and (max-width: 1024px) {
    .home_blog_flex .services_blog_block {
        width: 48%;
    }

    .services_blog_cat {
        font-size: 16px;
        padding: 4px 21px;
    }

    .archive.category .services_blog_block_border {
        padding: 20px 20px 40px 20px;
    }

    .single-post .single_article_blog .services_blog_block {
        width: 48%;
    }

    .single-post .single_article_blog .services_blog_block:nth-child(5),
    .single-post .single_article_blog .services_blog_block:nth-child(6) {
        display: none;
    }

    .home .services_blog_block_border {
        padding: 20px 20px 40px 20px;
    }

    .portfolio_doktora, .portfolio_napravleniya {
        width: 49%;
    }

    .single_article_nav_mobile .portfolio_doktora_doc_text {
        width: 78%;
    }
}

@media only screen and (max-width: 768px) {
    .home_blog_flex .services_blog_block {
        width: 100%;
    }

    .services_blog_block_border h3 a, .services_blog_block_border .asH3F a {
        font-size: 16px;
    }

    .services_blog_block_border {
        padding: 8px 15px 34px 15px;
    }

    .services_blog_go_to {
        opacity: 1;
    }

    .services_blog_arrow-right img {
        display: none;
    }

    .services_blog_block_border h3, .services_blog_block_border .asH3F {
        margin-top: 10px;
    }

    .single-services_blog_flex {
        grid-template-columns: 1fr;
    }

    .services_blog_block {
        width: 100%;
    }

    .services-reviews_all {
        font-size: 14px;
    }

    .services_blog_cat {
        font-size: 14px;
    }

    .services_blog_date, .services_blog_view {
        font-size: 14px;
    }

    .contact_main_adress, .contact_main_time, .contact_main_phone a,
    .contact_main_email, .contact_main_second .lsf__tab a, .contact_main_three_link, .contact_main_scroll_to_form,
    .contact_main_second_lsf__tab-item div, .contact_main_three_main div, .contact_main_three_main div span {
        font-size: 14px;
    }

    .contact_main_second .lsf__tab a, .contact_main_second .lsf__tab_none a {
        padding: 5px 15px 5px 15px;
        display: flex;
        font-size: 14px;
    }

    .contact_main_second .lsf__tab:last-child a {
        margin-right: 0;
    }

    .contact_main_second .lsf__tabs-nav {
        margin: 0 0 15px 0;
    }

    .services_blog_view_date {
        right: 15px;
        top: 15px;
    }

    .page-template-blog .services_blog_block_border {
        padding: 15px 15px 40px 15px;
    }

    .blog_grid_block_disc, a.blog_grid_block_specialist_title, .blog_grid_block_specialist_sub, .services_blog_go_to {
        font-size: 14px;
    }

    .archive.category .services_blog_block_border {
        padding: 15px 15px 40px 15px;
    }

    .single_article_nav_mobile .aside_doc_soderzanie, .aside_doc_desc, .single_article_pokazaniya_main ul, .single_article_absolyutnye_protivopokazaniya ul,
    .aside_doc_soderzanie_nav a, .single-post .tabs_services .lsf__tab a, .single_article_avtor_tekst_text, .aside_doc_soderzanie_nav_mobile a {
        font-size: 14px;
    }

    .single-post .single_article_blog .services_blog_block {
        width: 100%;
        margin-bottom: 15px;
    }

    .services_blog_block_border h3, .services_blog_block_border .asH3F {
        margin-top: 0;
    }

    .lsf__tab a.metro, .lsf__tab a.car {
        background-position: 15% 50%;
        padding: 7px 15px 6px 44px;
        background-size: 22px;
    }

    .lsf__tab_none a.route {
        background-position: 10% 50%;
        padding: 7px 15px 6px 44px;
        background-size: 22px;
    }

    .lsf__tab_none a.taxi {
        background-position: 10% 50%;
        padding: 7px 15px 6px 44px;
        background-size: 22px;
    }

    .portfolio_doktora, .portfolio_napravleniya {
        width: 100%;
        padding: 15px;
    }

    .portfolio_doktora_title {
        font-size: 16px;
    }

    .portfolio_doktora_text {
        width: 76%;
        font-size: 14px;
    }
}
