/*!
Theme Name: kuvshynchikova
Version: 1.0.5

*/

.services .container .tabcontent .service-category {
    z-index: 0;
}

.services .container .tabcontent .service-category::after {
    content: '';

    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;

    background-image: inherit;
    background-size: cover;
    background-position: center;

    transition: all 0.5s;
}

@media screen and (min-width: 769px) {
    .services .container .tabcontent .service-category:hover::after {
        transform: scale(110%);
    }
}

.uv .column-right,
.prakt,
.singleblog .content,
.contact .contactblock,
.seo,
.vart p,
.about .column-left p,
.work p,
.work li,
.var .column-left p,
.aboutbanner p,
.short p,
.nmis p,
.dovira p,
.dovira li,
.blog p,
.opis p,
.service-taxonomy,
.won p,
.won li,
.won-banner p,
.faq .container .flist .active .answer {
    text-align: justify;
}

.seo .container {
    padding-right: 24px;
}

.uv .column-right ul,
.uv .column-right ol,
.singleblog .content ul,
.singleblog .content ol,
.contact .contactblock ul,
.contact .contactblock ol
.service-taxonomy ul,
.service-taxonomy ol {
    padding-left: 1.1em;
}

.uv .column-right ul li,
.uv .column-right ol li,
.singleblog .content ol li,
.singleblog .content ul li,
.contact .contactblock ol li,
.contact .contactblock ul li,
.service-taxonomy ol li,
.service-taxonomy ul li {
    margin-right: 0;
    margin-bottom: 8px;
    margin-left: 0;
}

body .prakt .container .desk {
    padding-bottom: 0;
    margin-bottom: 70px;
}

body .prakt .container .desk *,
body .prakt .container .opis *,
body .singleblog .content *,
/*.blog *,*/
.service-taxonomy *,
.uv *,
.contact .contactblock * {
    color: #232323 !important;
}

body .prakt .container .desk h1,
body .prakt .container .opis h1,
body .singleblog .content h1,
.contact .contactblock h1,
.blog h1,
.service-taxonomy h1,
body .prakt .container .desk h2,
body .prakt .container .opis h2,
body .singleblog .content h2,
.contact .contactblock h2,
.blog h2,
.service-taxonomy h2,
body .prakt .container .desk h3,
body .prakt .container .opis h3,
body .singleblog .content h3,
.contact .contactblock h3,
.blog h3,
.service-taxonomy h3,
body .prakt .container .desk h4,
body .prakt .container .opis h4,
body .singleblog .content h4,
.contact .contactblock h4,
.blog h4,
.service-taxonomy h4,
body .prakt .container .desk h5,
body .prakt .container .opis h5,
body .singleblog .content h5,
.contact .contactblock h5,
.blog h5,
.service-taxonomy h5,
body .prakt .container .desk p,
body .prakt .container .opis p,
body .singleblog .content p,
.contact .contactblock p,
.dovira p,
.blog p,
.service-taxonomy p,
.uv .container .column-right p,
.uv .container .column-right ol,
.uv .container .column-right ul {
    margin-bottom: 24px !important;

    color: #232323 !important;
}

body .prakt .container .desk ul,
body .prakt .container .desk ol,
body .prakt .container .opis ul,
body .prakt .container .opis ol,
.contact .contactblock ul,
.contact .contactblock ol,
.service-taxonomy ul,
.service-taxonomy ol {
    padding-left: 1.1em;
    margin-right: 0;
    margin-bottom: 24px;
    margin-left: 0;
}

body .prakt .container .desk ul li,
body .prakt .container .desk ol li,
body .prakt .container .opis ul li,
body .prakt .container .opis ol li,
.contact .contactblock ul li,
.contact .contactblock ol li,
.service-taxonomy ul li,
.service-taxonomy ol li {
    margin-bottom: 12px;
}

body .prakt .container .img,
.service-taxonomy .img { */
    display: flex;
    aspect-ratio: 3 / 1;
}

body .prakt .container .img img,
.service-taxonomy .img img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.contact .container .rsubtitle {
    margin-top: 0!important;
}

.service-taxonomy .container .desk ul:not(.check-mark-list),
body .prakt .container .desk ul:not(.check-mark-list) {
    list-style-type: initial;
}

.service-taxonomy .container .desk ul:not(.check-mark-list) li,
body .prakt .container .desk ul:not(.check-mark-list) li {
    margin-bottom: 8px;
}

.service-taxonomy .container .desk ul:not(.check-mark-list) li::before,
body .prakt .container .desk ul:not(.check-mark-list) li::before {
    display: none;
}

.check-mark-list {
    padding-left: 0 !important;
    list-style-type: none;
}

.check-mark-list li {
    margin-bottom: 12px;
    padding-left: 32px;

    min-height: 22px;

    position: relative;
}

.check-mark-list li::before {
    content: "";

    width: 22px;
    height: 22px;

    position: absolute;
    top: 0;
    left: 0;

    display: inline-block;

    background-image: url(./img/liu.svg);
    background-size: contain;
    background-position: top left;
    background-repeat: no-repeat;

    vertical-align: middle;
}

.p-nav {
    font-weight: 400;
    font-size: 15px;
    line-height: 150%;
    color: rgba(52, 52, 52, 0.7);
    margin-bottom: 25px;
}

.p-nav span,
.p-nav a {
    margin-right: 0 !important;
    margin-left: 0 !important;

    color: rgba(52, 52, 52, 0.7);
}

.reviews .container .revcontainer .revlist .swiper-wrapper .swiper-slide p img {
    max-height: none;

    object-fit: contain;
    aspect-ratio: 1 / 1;
}

.reviews .container .revcontainer .revlist .swiper-wrapper .swiper-slide *:last-child {
    margin-bottom: 0;
}

footer .center .container .contacts ul li:nth-child(2) {
    background: url(./img/fc3.svg) left top 2px no-repeat !important;
}

footer .center .container .contacts ul li:nth-child(3) {
    background: url(./img/fc4.svg) left top 2px no-repeat !important;
}

@media (min-width: 782px) {
    .admin-bar #header{
        margin-top: 32px;
    }
}

@media (min-width: 601px) and (max-width: 781px) {
    .admin-bar #header{
        margin-top: 46px;
    }
}

.teamlist__content {
    margin-bottom: 2rem;
    
    text-align: justify;
    line-height: 1.5em;
    
    color: #232323;
}

.teamlist__content ul {
    margin: .5em 0;
    padding-left: 1.25em;
}


/* ===== SEO BLOG POSTS â layout fixes ===== */

/* 1. Compensation for fixed header (118px) */
.single-post .site-main {
    padding-top: 130px !important;
    margin-top: 0 !important;
}

/* 2. Hide default WP sidebar widgets */
.single-post .widget_recent_entries,
.single-post .widget_recent_comments,
.single-post .widget_archive,
.single-post .widget_categories,
.single-post .widget_search {
    display: none !important;
}

/* 3. Hide entry meta (Posted on / by admin) */
.single-post .entry-meta,
.single-post .byline,
.single-post .posted-on {
    display: none !important;
}

/* 4. Hide category footer */
.single-post .entry-footer {
    display: none !important;
}

/* 5. Hide prev/next post navigation */
.single-post .navigation.post-navigation {
    display: none;
}

/* 6. Hide comments section */
.single-post #comments {
    display: none;
}

/* 7. H1 title styling */
.single-post h1.entry-title {
    font-size: 1.75rem;
    line-height: 1.3;
    margin-bottom: 1.5rem;
    color: #1a1a2e;
}

/* 8. Content typography */
.single-post .entry-content {
    font-size: 1rem;
    line-height: 1.75;
}

/* 0. Reset fixed positioning on post entry-header */
.single-post article header.entry-header {
    position: static !important;
    top: auto !important;
    width: auto !important;
}
/* ===== END SEO BLOG POSTS ===== */


/* ===== MESSENGER BLOCK GRID FIX ===== */
/* HTML: 3 children per messenger (invisible-link | icon | label) × 4 = 12 items total */
/* 6-col grid → 2 messengers per row on all screen sizes */
.dsoc .list {
    grid-template-columns: 0 auto 1fr 0 auto 1fr !important;
    align-items: center;
}
.dsoc .list > p {
    padding: 0 !important;
    margin: 0 !important;
    position: relative;
    min-height: 50px;
}
.dsoc .list > p > a {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
    cursor: pointer;
}
/* ===== END MESSENGER BLOCK GRID FIX ===== */

/* ===== BLOG ARTICLE TYPOGRAPHY FIX ===== */
/* Mobile: remove justify (causes huge word gaps on narrow screens) */
@media screen and (max-width: 768px) {
    .singleblog .content,
    .singleblog .content p,
    .singleblog .content li {
        text-align: left !important;
    }
    .singleblog .content {
        font-size: 16px;
        line-height: 1.7;
    }
    .singleblog .content h2,
    .singleblog .content h3,
    .singleblog .content h4 {
        text-align: left !important;
        margin-top: 1.5rem;
        margin-bottom: 0.75rem;
        line-height: 1.3;
    }
}
/* ===== END BLOG ARTICLE TYPOGRAPHY FIX ===== */


/* ===== SERVICE ARTICLE MOBILE TYPOGRAPHY FIX ===== */
/* Articles migrated blog→service render via .prakt .desk; apply same mobile fix */
@media screen and (max-width: 768px) {
    .prakt .desk,
    .prakt .desk p,
    .prakt .desk li,
    .prakt .opis,
    .prakt .opis p,
    .prakt .opis li {
        text-align: left !important;
    }
    .prakt .desk {
        font-size: 16px;
        line-height: 1.7;
    }
    .prakt .desk h2,
    .prakt .desk h3,
    .prakt .desk h4 {
        text-align: left !important;
        margin-top: 1.5rem;
        margin-bottom: 0.75rem;
        line-height: 1.3;
    }
}
/* ===== END SERVICE ARTICLE MOBILE TYPOGRAPHY FIX ===== */

/* ===== UV EMPTY RIGHT COLUMN FIX ===== */
/* When .uv right column has no ACF content (migrated blog→service posts), expand left to full width */
.uv .container:has(.column-right:empty) {
    grid-template-columns: 1fr;
}
.uv .container .column-right:empty {
    display: none;
}
/* ===== END UV EMPTY RIGHT COLUMN FIX ===== */

/* ===== ARTICLE CONTENT HEADING FIX ===== */
/* Migrated blog→service articles use .article-content wrapper; reset H3 from 44px service style */
.prakt .desk .article-content h2 {
    font-size: 22px !important;
    text-transform: none !important;
    font-family: inherit !important;
    font-weight: 700 !important;
    color: #232323 !important;
    margin-top: 1.5rem !important;
    margin-bottom: 0.5rem !important;
    line-height: 1.35 !important;
}
.prakt .desk .article-content h3 {
    font-size: 18px !important;
    text-transform: none !important;
    font-family: inherit !important;
    font-weight: 700 !important;
    color: #232323 !important;
    margin-top: 1.25rem !important;
    margin-bottom: 0.4rem !important;
    line-height: 1.35 !important;
}
.prakt .desk .article-content h4 {
    font-size: 16px !important;
    text-transform: none !important;
    font-weight: 700 !important;
    color: #232323 !important;
    margin-top: 1rem !important;
    margin-bottom: 0.4rem !important;
}
@media screen and (max-width: 768px) {
    .prakt .desk .article-content h2 { font-size: 20px !important; }
    .prakt .desk .article-content h3 { font-size: 17px !important; }
}
/* ===== END ARTICLE CONTENT HEADING FIX ===== */

/* ===== ARTICLE CONTENT DESKTOP TEXT-ALIGN FIX ===== */
/* justify inherited from .prakt causes gaps in article content on desktop too */
.prakt .desk .article-content,
.prakt .desk .article-content p,
.prakt .desk .article-content li {
    text-align: left !important;
}
/* ===== END ARTICLE CONTENT DESKTOP TEXT-ALIGN FIX ===== */

