/*
Theme Name: Provarnost
Template: kadence
Version: 1.0
*/

/* Provarnost migration */

body.home .entry-header {
    display: none;
}

body.home .content-area {
    margin-top: 0;
}

.pv-section {
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
    padding: 60px 24px 20px;
}

.pv-hero > h4:first-child {
    margin-bottom: 30px;
    font-weight: 700;
}

.pv-hero h2 {
    font-weight: 700;
}

.pv-separator {
    border-color: #484a7d;
    margin: 30px 0;
}

.pv-brand-heading {
    margin-bottom: 5px;
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 900;
}

.pv-services {
    gap: 32px;
}

.pv-service-card {
    display: flex;
    flex-direction: column;
}

.pv-service-card img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.pv-service-card h3 {
    margin-top: 22px;
    font-weight: 800;
}

.pv-service-card .pv-subtitle {
    font-weight: 600;
}

.pv-service-card .wp-block-buttons {
    margin-top: auto;
}

.wp-block-button__link {
    background: #231f20;
    border-radius: 0;
}

.wp-block-button__link:hover {
    background: #dd081f;
}

.pv-contact {
    margin-top: 50px;
    background: #f0f1f2;
}

.pv-contact h2 {
    font-size: clamp(3rem, 8vw, 5.5rem);
    font-weight: 900;
}

.pv-contact-lead {
    color: #484d7d;
    font-size: clamp(1.8rem, 4vw, 2.4rem);
    line-height: 1.2;
    font-weight: 900;
}

.pv-contact-lead a {
    color: inherit;
}

@media (max-width: 781px) {
    .pv-section {
        padding: 35px 20px 15px;
    }

    .pv-services {
        gap: 45px;
    }
}

/* Kadence migration overrides */

body.home .entry-hero {
    display: none;
}

body.home .site-main,
body.home .content-area,
body.home .content-container {
    max-width: none;
    width: 100%;
    margin: 0;
    padding: 0;
}

body.home .content-bg {
    background: transparent;
}

body.home .entry-content-wrap {
    padding: 0;
}

body.home .entry-content {
    margin: 0;
}

body.home .pv-contact.alignfull {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
}

/* Logo only; hide Kadence text site title */
.site-branding .site-title-wrap {
    display: none !important;
}

/* Upper utility navigation */

.pv-utility-bar {
    background: #231f20;
    color: #fff;
    font-size: 13px;
}

.pv-utility-inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 24px;
}

.pv-utility-menu {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 22px;
    margin: 0;
    padding: 9px 0;
    list-style: none;
}

.pv-utility-menu li {
    margin: 0;
}

.pv-utility-menu a {
    color: #fff;
    text-decoration: none;
    font-weight: 600;
}

.pv-utility-menu a:hover {
    color: #f5e900;
}

@media (max-width: 767px) {
    .pv-utility-inner {
        padding: 0 16px;
    }

    .pv-utility-menu {
        justify-content: center;
        gap: 12px;
        flex-wrap: wrap;
        font-size: 11px;
    }
}

/* Rebuilt legacy footer */

.site-footer {
    display: none !important;
}

.pv-footer {
    margin-top: 0;
    background: #231f20;
    color: #d8d8d8;
    font-size: 14px;
}

.pv-footer-main {
    padding: 48px 24px 38px;
}

.pv-footer-inner {
    max-width: 1240px;
    margin: 0 auto;
}

.pv-footer-main .pv-footer-inner {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 38px;
}

.pv-footer h4 {
    margin: 0 0 22px;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
}

.pv-footer p {
    margin: 0 0 10px;
    line-height: 1.6;
}

.pv-footer strong {
    color: #fff;
}

.pv-footer-bottom {
    border-top: 1px solid rgba(255,255,255,.12);
    padding: 18px 24px;
}

.pv-footer-bottom p {
    margin: 0;
    font-size: 13px;
}

@media (max-width: 900px) {
    .pv-footer-main .pv-footer-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .pv-footer-main .pv-footer-inner {
        grid-template-columns: 1fr;
        gap: 25px;
    }
}

/* =========================================================
   Production visual parity: header + homepage title
   ========================================================= */

/* This menu exists in WP, but the production design does not
   display it as a black bar above the header. */
.pv-utility-bar {
    display: none !important;
}

/* Production uses a clean white page background. */
body.home,
body.home #inner-wrap,
body.home .site-main,
body.home .entry-content {
    background: #fff;
}

/* Desktop header: logo row, separator, navigation row. */
@media (min-width: 769px) {

    .site-header {
        background: #fff;
    }

    .site-header .site-container {
        max-width: 960px;
    }

    .site-main-header-inner-wrap {
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        padding: 0 !important;
    }

    .site-header-main-section-left,
    .site-header-main-section-right {
        width: 100%;
        justify-content: center;
    }

    .site-header-main-section-left {
        padding: 18px 0 14px;
        border-bottom: 1px solid #e5e5e5;
    }

    .site-header-main-section-right {
        padding: 10px 0 15px;
    }

    .site-branding {
        width: 100%;
        text-align: center;
    }

    .site-branding .brand {
        display: flex;
        width: 100%;
        justify-content: center;
    }

    .site-branding .custom-logo {
        width: 280px;
        max-width: 280px;
        height: auto;
        max-height: none;
    }

    .main-navigation,
    .primary-menu-container {
        width: 100%;
    }

    .main-navigation .primary-menu-container > ul {
        justify-content: center !important;
    }

    .main-navigation .primary-menu-container > ul > li > a {
        padding: 0 17px;
        color: #707070;
        font-size: 12px;
        font-weight: 400;
        line-height: 1.4;
    }

    .main-navigation .primary-menu-container > ul > li > a:hover {
        color: #231f20;
    }
}

/*
 * Betheme's original homepage title/subheader.
 * The stripe is drawn as a CSS background so we don't need
 * another image asset.
 */
body.home .site-header::after {
    content: "VARNOST PRI DELU,\A POŽARNA VARNOST";
    display: block;
    box-sizing: border-box;
    white-space: pre;

    color: #231f20;
    background-color: #f5e900;
    background-image:
        repeating-linear-gradient(
            135deg,
            #231f20 0,
            #231f20 10px,
            #f5e900 10px,
            #f5e900 20px
        );
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: 100% 22px;

    padding-top: 38px;
    padding-right: 24px;
    padding-bottom: 52px;
    padding-left: max(24px, calc((100% - 960px) / 2));

    font-size: 46px;
    line-height: 0.96;
    font-weight: 900;
    letter-spacing: -1px;
}

/* Mobile version of the yellow title area. */
@media (max-width: 768px) {
    body.home .site-header::after {
        padding: 28px 20px 42px;
        font-size: 31px;
        line-height: 1;
        background-size: 100% 16px;
    }
}

/* =========================================================
   Production parity: sizing refinements
   ========================================================= */

@media (min-width: 769px) {

    /* Original logo_h70.png is 350x70; use its natural size. */
    .site-branding .custom-logo {
        width: 350px !important;
        max-width: 350px !important;
        height: 70px !important;
    }

    .site-header-main-section-left {
        padding-top: 17px;
        padding-bottom: 18px;
    }

    .site-header-main-section-right {
        padding-top: 12px;
        padding-bottom: 17px;
    }

    .main-navigation .primary-menu-container > ul > li > a {
        padding-left: 20px;
        padding-right: 20px;
        font-size: 14px;
        line-height: 1.4;
    }
}

/* Main homepage copy was slightly oversized under Kadence. */

.pv-hero > h4:first-child {
    font-size: 16px;
}

.pv-hero h2 {
    font-size: 24px;
    line-height: 1.28;
}

.pv-services-section > h4 {
    font-size: 17px;
    line-height: 1.35;
}

.pv-service-card h3 {
    font-size: 18px;
    line-height: 1.3;
}

.pv-service-card .pv-subtitle {
    font-size: 13px;
    line-height: 1.5;
}

.pv-service-card p {
    font-size: 14px;
    line-height: 1.55;
}

/*
 * The yellow title is actually slightly smaller than production,
 * so don't reduce it with the rest of the page copy.
 */
@media (min-width: 769px) {
    body.home .site-header::after {
        font-size: 50px;
        line-height: .94;
    }
}

/* Align yellow homepage title with the main 1240px content grid */
@media (min-width: 769px) {
    body.home .site-header::after {
        padding-left: max(24px, calc((100% - 1240px) / 2 + 24px));
    }
}

/* =========================================================
   Varnost in zdravje pri delu
   ========================================================= */

.pv-page {
    max-width: 1240px;
    margin: 0 auto;
    padding: 55px 24px 65px;
}

.pv-page-intro {
    margin-bottom: 32px;
    font-size: 17px;
    line-height: 1.6;
    font-weight: 600;
}

.pv-accordion {
    border-top: 1px solid #d8d8d8;
}

.pv-accordion-item {
    margin: 0;
    border-bottom: 1px solid #d8d8d8;
}

.pv-accordion-item summary {
    position: relative;
    padding: 17px 45px 17px 0;
    cursor: pointer;
    color: #231f20;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 700;
}

.pv-accordion-item summary::marker {
    color: #dd081f;
}

.pv-accordion-item > :not(summary) {
    margin-left: 0;
    margin-right: 0;
}

.pv-accordion-item ul {
    margin: 5px 0 25px 22px;
}

.pv-accordion-item li {
    margin-bottom: 6px;
    line-height: 1.55;
}

.pv-vpd-closing {
    min-height: 300px;
    display: flex;
    align-items: center;

    background:
        linear-gradient(rgba(0,0,0,.25), rgba(0,0,0,.25)),
        url('/wp-content/uploads/pas2.jpg') center center / cover no-repeat;
}

.pv-vpd-closing > h3 {
    width: min(1192px, calc(100% - 48px));
    margin: 0 auto;
    padding: 70px 0;

    color: #fff;
    font-size: 28px;
    line-height: 1.3;
    font-weight: 700;
}

@media (max-width: 768px) {
    .pv-page {
        padding: 35px 20px 45px;
    }

    .pv-page-intro {
        font-size: 16px;
    }

    .pv-vpd-closing {
        min-height: 230px;
    }

    .pv-vpd-closing > h3 {
        width: calc(100% - 40px);
        padding: 45px 0;
        font-size: 22px;
    }
}

/* =========================================================
   VPD page: legacy yellow bands
   ========================================================= */

/* Top page title */
body.page-id-2327 .entry-hero {
    position: relative;
    overflow: hidden;
    background: #f5e900 !important;
}

body.page-id-2327 .entry-hero-container-inner {
    background: transparent !important;
}

body.page-id-2327 .entry-hero .entry-header {
    max-width: 960px;
    margin: 0 auto;
    padding: 34px 24px 54px;
    text-align: left;
}

body.page-id-2327 .entry-hero .entry-title {
    max-width: 600px;
    margin: 0;
    color: #231f20;
    font-size: 48px;
    line-height: .98;
    font-weight: 900;
    letter-spacing: -1px;
}

/* Black/yellow hazard stripe */
body.page-id-2327 .entry-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 22px;

    background:
        repeating-linear-gradient(
            135deg,
            #231f20 0,
            #231f20 10px,
            #f5e900 10px,
            #f5e900 20px
        );
}


/* Bottom CTA band */
body.page-id-2327 .pv-vpd-closing {
    min-height: 165px;

    background-color: #f5e900;
    background-image:
        linear-gradient(
            rgba(245,233,0,.86),
            rgba(245,233,0,.86)
        ),
        url('/wp-content/uploads/pas2.jpg');

    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

body.page-id-2327 .pv-vpd-closing > h3 {
    max-width: 960px;
    width: calc(100% - 48px);
    margin: 0 auto;
    padding: 46px 0;

    color: #231f20;
    text-align: center;
    font-size: 25px;
    line-height: 1.22;
    font-weight: 800;
}


/* Mobile */
@media (max-width: 768px) {
    body.page-id-2327 .entry-hero .entry-header {
        padding: 28px 20px 46px;
    }

    body.page-id-2327 .entry-hero .entry-title {
        font-size: 34px;
    }

    body.page-id-2327 .entry-hero::after {
        height: 16px;
    }

    body.page-id-2327 .pv-vpd-closing > h3 {
        width: calc(100% - 40px);
        padding: 38px 0;
        font-size: 21px;
    }
}

/* Give yellow CTA text horizontal breathing room */
body.page-id-2327 .pv-vpd-closing {
    box-sizing: border-box;
    padding-left: 32px;
    padding-right: 32px;
}

body.page-id-2327 .pv-vpd-closing > h3 {
    width: 100%;
    max-width: 960px;
}

@media (max-width: 768px) {
    body.page-id-2327 .pv-vpd-closing {
        padding-left: 20px;
        padding-right: 20px;
    }
}

/* =========================================================
   Remaining page migration
   ========================================================= */

/* Yellow legacy title treatment on primary public pages */

body.page-id-2323 .entry-hero,
body.page-id-2325 .entry-hero,
body.page-id-2329 .entry-hero,
body.page-id-2331 .entry-hero,
body.page-id-2333 .entry-hero,
body.page-id-2335 .entry-hero {
    position: relative;
    overflow: hidden;
    background: #f5e900 !important;
}

body.page-id-2323 .entry-hero-container-inner,
body.page-id-2325 .entry-hero-container-inner,
body.page-id-2329 .entry-hero-container-inner,
body.page-id-2331 .entry-hero-container-inner,
body.page-id-2333 .entry-hero-container-inner,
body.page-id-2335 .entry-hero-container-inner {
    background: transparent !important;
}

body.page-id-2323 .entry-hero .entry-header,
body.page-id-2325 .entry-hero .entry-header,
body.page-id-2329 .entry-hero .entry-header,
body.page-id-2331 .entry-hero .entry-header,
body.page-id-2333 .entry-hero .entry-header,
body.page-id-2335 .entry-hero .entry-header {
    max-width: 960px;
    margin: 0 auto;
    padding: 34px 24px 54px;
    text-align: left;
}

body.page-id-2323 .entry-hero .entry-title,
body.page-id-2325 .entry-hero .entry-title,
body.page-id-2329 .entry-hero .entry-title,
body.page-id-2331 .entry-hero .entry-title,
body.page-id-2333 .entry-hero .entry-title,
body.page-id-2335 .entry-hero .entry-title {
    margin: 0;
    color: #231f20;
    font-size: 48px;
    line-height: .98;
    font-weight: 900;
    letter-spacing: -1px;
}

body.page-id-2323 .entry-hero::after,
body.page-id-2325 .entry-hero::after,
body.page-id-2329 .entry-hero::after,
body.page-id-2331 .entry-hero::after,
body.page-id-2333 .entry-hero::after,
body.page-id-2335 .entry-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 22px;

    background:
        repeating-linear-gradient(
            135deg,
            #231f20 0,
            #231f20 10px,
            #f5e900 10px,
            #f5e900 20px
        );
}


/* Požarna varnost closing band */

body.page-id-2329 .pv-service-closing {
    box-sizing: border-box;
    min-height: 165px;
    padding-left: 32px;
    padding-right: 32px;

    display: flex;
    align-items: center;

    background-color: #f5e900;
    background-image:
        linear-gradient(
            rgba(245,233,0,.86),
            rgba(245,233,0,.86)
        ),
        url('/wp-content/uploads/pas2.jpg');

    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

body.page-id-2329 .pv-service-closing > h3 {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    padding: 46px 0;

    color: #231f20;
    text-align: center;
    font-size: 25px;
    line-height: 1.22;
    font-weight: 800;
}


/* Kontakt */

.pv-contact-grid {
    gap: 70px;
}

.pv-contact-details p {
    margin-bottom: 12px;
    line-height: 1.55;
}

.pv-contact-form h4 {
    margin-top: 0;
    font-size: 25px;
}

.pv-location-band {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 30px 24px;

    background: #f5e900;
    text-align: center;
}

.pv-location-band h4 {
    max-width: 960px;
    margin: 0 auto;
    color: #231f20;
    font-size: 21px;
    font-weight: 700;
}

.pv-contact-map {
    width: 100%;
}

.pv-contact-map iframe {
    display: block;
    width: 100%;
    height: 480px;
}


/* Novice */

.pv-news-item {
    padding: 0 0 36px;
    margin-bottom: 36px;
    border-bottom: 1px solid #d8d8d8;
}

.pv-news-item h2 {
    margin-bottom: 8px;
    font-size: 27px;
}

.pv-news-item h2 a {
    color: #231f20;
    text-decoration: none;
}

.pv-news-item h2 a:hover {
    color: #dd081f;
}

.pv-news-item .wp-block-post-date {
    margin-bottom: 15px;
    color: #777;
    font-size: 13px;
}


/* Mobile */

@media (max-width: 768px) {

    body.page-id-2323 .entry-hero .entry-header,
    body.page-id-2325 .entry-hero .entry-header,
    body.page-id-2329 .entry-hero .entry-header,
    body.page-id-2331 .entry-hero .entry-header,
    body.page-id-2333 .entry-hero .entry-header,
    body.page-id-2335 .entry-hero .entry-header {
        padding: 28px 20px 46px;
    }

    body.page-id-2323 .entry-hero .entry-title,
    body.page-id-2325 .entry-hero .entry-title,
    body.page-id-2329 .entry-hero .entry-title,
    body.page-id-2331 .entry-hero .entry-title,
    body.page-id-2333 .entry-hero .entry-title,
    body.page-id-2335 .entry-hero .entry-title {
        font-size: 34px;
    }

    body.page-id-2323 .entry-hero::after,
    body.page-id-2325 .entry-hero::after,
    body.page-id-2329 .entry-hero::after,
    body.page-id-2331 .entry-hero::after,
    body.page-id-2333 .entry-hero::after,
    body.page-id-2335 .entry-hero::after {
        height: 16px;
    }

    body.page-id-2329 .pv-service-closing {
        padding-left: 20px;
        padding-right: 20px;
    }

    body.page-id-2329 .pv-service-closing > h3 {
        padding: 38px 0;
        font-size: 21px;
    }

    .pv-contact-grid {
        gap: 35px;
    }

    .pv-contact-map iframe {
        height: 360px;
    }
}

/* Legacy content cleanup */

.pv-inline-arrow {
    margin-right: 7px;
    color: #dd081f;
    font-weight: 700;
}

.pv-content-divider {
    width: 100%;
    margin: 40px 0;
    border: 0;
    border-top: 1px solid #d8d8d8;
}

/* Zaposleni: restore full-width legacy separators */
body.page-id-2331 .pv-content-divider {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 0 !important;

    margin: 24px 0 !important;

    border: 0 !important;
    border-top: 1px solid #cfcfcf !important;

    opacity: 1 !important;
}

/* Zaposleni: full-width employee separators */
body.page-id-2331 .entry-content .wp-block-separator {
    width: 100% !important;
    max-width: none !important;
    margin: 24px 0 !important;

    border: 0 !important;
    border-top: 1px solid #cfcfcf !important;

    opacity: 1 !important;
}

/* =========================================================
   Client review fixes
   ========================================================= */

/* Restore original red utility/action bar */
.pv-utility-bar {
    display: block !important;
    background: #c70f0f !important;
    color: #fff;
    font-size: 14px;
}

.pv-utility-inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 24px;
}

.pv-utility-menu {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0;
    margin: 0;
    padding: 13px 0;
    list-style: none;
}

.pv-utility-menu li {
    display: flex;
    align-items: center;
    margin: 0;
}

.pv-utility-menu li + li::before {
    content: "|";
    margin: 0 10px;
    color: rgba(255,255,255,.7);
}

.pv-utility-menu a {
    color: #fff !important;
    text-decoration: none;
    font-weight: 400;
}

.pv-utility-menu a:hover {
    color: #fff !important;
    text-decoration: underline;
}

/* Slightly more relaxed employee-page line spacing */
body.page-id-2331 .entry-content p {
    line-height: 1.75;
    margin-bottom: 18px;
}

body.page-id-2331 .entry-content h4 {
    margin-bottom: 12px;
}

@media (max-width: 767px) {
    .pv-utility-menu {
        justify-content: center;
        flex-wrap: wrap;
        padding: 10px 0;
    }

    .pv-utility-menu li + li::before {
        margin: 0 7px;
    }
}

/* Center homepage yellow hero title */
body.home .site-header::after {
    padding-left: 24px !important;
    padding-right: 24px !important;
    text-align: center;
}

/* Restore homepage yellow title alignment */
body.home .site-header::after {
    text-align: left !important;
    padding-left: max(24px, calc((100% - 1240px) / 2 + 24px)) !important;
    padding-right: 24px !important;
}

/* Center menu inside red utility bar */
.pv-utility-menu {
    justify-content: center !important;
}

/* =========================================================
   Zaposlitev / vacancy page
   ========================================================= */

/* Remove Kadence blog/article chrome */
body.postid-2455 .entry-header.post-title,
body.postid-2455 .entry-meta,
body.postid-2455 .post-thumbnail,
body.postid-2455 .entry-related,
body.postid-2455 .entry-related-inner {
    display: none !important;
}

/* Flatten the article so it behaves like a normal page */
body.postid-2455 .content-container,
body.postid-2455 .site-main,
body.postid-2455 article.entry,
body.postid-2455 .entry-content-wrap,
body.postid-2455 .entry-content {
    max-width: none;
    margin: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
}

/* Recreate the site's yellow title band */
body.postid-2455 .site-header::after {
    content: "ZAPOSLITEV";
    display: block;
    box-sizing: border-box;

    color: #231f20;
    background-color: #f5e900;
    background-image:
        repeating-linear-gradient(
            135deg,
            #231f20 0,
            #231f20 10px,
            #f5e900 10px,
            #f5e900 20px
        );
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: 100% 22px;

    padding: 42px max(24px, calc((100% - 1240px) / 2 + 24px)) 58px;

    font-size: 50px;
    line-height: 1;
    font-weight: 900;
}

/* Vacancy content */
body.postid-2455 .single-content {
    max-width: 1240px;
    margin: 0 auto;
    padding: 55px 24px 70px;
}

body.postid-2455 .single-content h1 {
    margin-top: 0;
    font-size: 38px;
    line-height: 1.1;
    font-weight: 900;
}

body.postid-2455 .single-content h2 {
    font-size: 24px;
    line-height: 1.25;
}

body.postid-2455 .single-content h3 {
    margin-top: 34px;
    font-size: 19px;
    line-height: 1.3;
    font-weight: 800;
}

body.postid-2455 .single-content p,
body.postid-2455 .single-content li {
    font-size: 16px;
    line-height: 1.65;
}

body.postid-2455 .single-content ul {
    margin-bottom: 24px;
}

/* Mobile */
@media (max-width: 768px) {
    body.postid-2455 .site-header::after {
        padding: 30px 20px 44px;
        background-size: 100% 16px;
        font-size: 34px;
    }

    body.postid-2455 .single-content {
        padding: 35px 20px 50px;
    }

    body.postid-2455 .single-content h1 {
        font-size: 29px;
    }
}

/* Vacancy page: original centered presentation */

body.postid-2455 .single-content {
    text-align: center;
}

body.postid-2455 .single-content > h1,
body.postid-2455 .single-content > h2,
body.postid-2455 .single-content > h3,
body.postid-2455 .single-content > h4,
body.postid-2455 .single-content > p {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

body.postid-2455 .pv-job-image {
    max-width: 1200px;
    margin: 0 auto 45px;
}

body.postid-2455 .pv-job-image img {
    display: block;
    width: 100%;
    height: auto;
}

/* Long vacancy lists remain easy to scan */
body.postid-2455 .single-content ul,
body.postid-2455 .single-content ol {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}

/* Zaposlitev: remove Kadence single-post sidebar/grid completely */
body.postid-2455 .content-wrap {
    display: block !important;
    grid-template-columns: 1fr !important;
}

body.postid-2455 #primary,
body.postid-2455 .content-area,
body.postid-2455 .site-main {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

body.postid-2455 #secondary,
body.postid-2455 .primary-sidebar,
body.postid-2455 aside.widget-area {
    display: none !important;
}

/* Center the actual vacancy presentation */
body.postid-2455 .single-content {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto !important;
    padding: 55px 24px 70px;
    box-sizing: border-box;
    text-align: center;
}

body.postid-2455 .pv-job-image {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto 45px !important;
}

body.postid-2455 .single-content > h1,
body.postid-2455 .single-content > h2,
body.postid-2455 .single-content > h3,
body.postid-2455 .single-content > h4,
body.postid-2455 .single-content > p {
    max-width: 960px;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

/* Keep long lists readable while centering the list block itself */
body.postid-2455 .single-content ul,
body.postid-2455 .single-content ol {
    width: fit-content;
    max-width: 900px;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: left;
}

/* Zaposlitev: collapse Kadence content/sidebar grid */
body.postid-2455 .content-container.site-container {
    display: block !important;
    grid-template-columns: none !important;

    width: 100% !important;
    max-width: none !important;

    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.postid-2455 #primary.content-area {
    width: 100% !important;
    max-width: 100% !important;
}

body.postid-2455 article.single-entry {
    width: 100% !important;
    max-width: 100% !important;
}

/* Center the actual vacancy content */
body.postid-2455 .single-content {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 55px 24px 70px !important;
}

/* Zaposlitev: centered content column, normal left-aligned text */
body.postid-2455 .single-content {
    text-align: left !important;
}

body.postid-2455 .single-content > h1,
body.postid-2455 .single-content > h2,
body.postid-2455 .single-content > h3,
body.postid-2455 .single-content > h4,
body.postid-2455 .single-content > p {
    max-width: 960px;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: left !important;
}

body.postid-2455 .single-content ul,
body.postid-2455 .single-content ol {
    width: auto !important;
    max-width: 960px;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: left !important;
}

/* Image stays centered */
body.postid-2455 .pv-job-image {
    margin-left: auto !important;
    margin-right: auto !important;
}
