/*
 * Moving Pictures — Custom Header Styles
 * Must-use plugin ensures this loads last, after dark.css
 */

/* ── Fix: sixteen.columns overflow + blog-nosidebar mis-centering ────────────
 * 1. .sixteen.columns is hardcoded 1180px. At medium DPI/viewport widths the
 *    .container can be narrower than 1180px; the column then overflows and
 *    margin:auto can't centre it — it pins to the left edge. max-width:100%
 *    prevents the overflow at any viewport width.
 * 2. .blog-nosidebar (regular pages: About, Offer…) has float:none;display:block
 *    but no margin:0 auto — the column left-aligns inside the container.
 *    Adding margin:0 auto centres it the same way .portfolio-text already does.
 */
.container .sixteen.columns {
    max-width: 100%;
}
.container .columns.blog-nosidebar {
    margin: 0 auto;
}

/* ── Hide left-side fixed UI elements (search icon + scroll-to-top) ─────────
 * The theme places these at left: 18–27px with nothing on the right,
 * creating visual asymmetry that makes centered content appear left-shifted.
 * We don't use the theme's search overlay, so hiding both is safe.
 */
.search-icon,
.to-top {
    display: none !important;
}

/* ── Scrollbar-width compensation for fixed nav ─────────────────────────── */
/* Fixed elements use 100% of the visual viewport (incl. the scrollbar track),
 * but body content only uses the layout viewport (visual − scrollbar ≈ 17px).
 * Result: nav is centred on visual-viewport-centre while content is centred
 * on (visual−17px)/2 — a ~8-9px right-shift of the nav vs. the content.
 * Fix: add the scrollbar width to the nav's right padding so both halves of
 * the 1fr-auto-1fr grid balance against the same reference as the page body.
 * --mp-scrollbar-w is set by an inline <head> script before first paint.
 */
.layout-fullwidth.fixed-nav .nav_container,
body.home .nav_container,
body.front-page .nav_container,
body.page-id-181 .nav_container,
body.page-id-37 .nav_container {
    padding-right: calc(80px + var(--mp-scrollbar-w, 0px)) !important;
}

/* ── Frosted glass — blur + background controlled by CSS variables ──────── */
/* --mp-nav-blur: 0px (top) → 18px (after 120px scroll), set by JS on body  */
/* --mp-nav-bg: transparent (top) → rgba(19,23,29,0.45) (after 120px scroll) */
.container.nav_container,
.fixed-nav .nav_container,
body.dark-scheme .fixed-nav .nav_container,
body.dark-scheme .container.nav_container {
    background: var(--mp-nav-bg, transparent) !important;
    backdrop-filter: blur(var(--mp-nav-blur, 18px)) !important;
    -webkit-backdrop-filter: blur(var(--mp-nav-blur, 18px)) !important;
    border-bottom: none !important;
    box-shadow: none !important;
    transition: backdrop-filter 0.12s linear, -webkit-backdrop-filter 0.12s linear !important;
}

/* ── Nav link colors — white text ────────────────────────────────────────── */
.container.nav_container #navigation a,
.fixed-nav .nav_container #navigation a {
    color: rgba(255, 255, 255, 0.88) !important;
}
.container.nav_container #navigation a:hover,
.fixed-nav .nav_container #navigation a:hover {
    color: #ffffff !important;
}

/* ── CTA pill + lang switcher moved to right column — see 3-column section ── */

/* ── 3-column stable header: logo | centered nav | lang+CTA ─────────────── */
/*
 * CSS Grid with 1fr-auto-1fr:
 *   col 1 (1fr)  = logo — expands equally with col 3
 *   col 2 (auto) = nav  — exactly as wide as its content, always centred
 *   col 3 (1fr)  = right — expands equally with col 1
 * When nav text width changes on language switch both outer cols absorb the
 * difference equally, so the nav never visually shifts.
 */
.container.nav_container #site-navigation {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
    min-height: 98px !important;
}

/* Logo col */
.container.nav_container #site-navigation .mp-header-logo-col {
    float: none !important;
    width: auto !important;
    justify-self: start !important;
}

/* Nav col */
.container.nav_container #site-navigation .mp-header-nav-col {
    float: none !important;
    width: auto !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 0 !important;
}
.container.nav_container #site-navigation .mp-header-nav-col #navigation {
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
}

/* Right col */
.container.nav_container #site-navigation .mp-header-right-col {
    float: none !important;
    width: auto !important;
    justify-self: end !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
}
.mp-header-right-inner {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}

/* Hide ALL lang items (any mode) and old CTA from the nav menu */
#navigation li.lang-item,
#navigation li.pll-parent-menu-item,
#navigation li.nav-cta-btn {
    display: none !important;
}

/* ── Standalone lang switcher (right column) ─────────────────────────────── */
/* Clean custom HTML: <div.mp-lang-switcher> <a.mp-lang-link> / <a.mp-lang-link> */

.mp-lang-switcher {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
}

/* The "/" separator */
.mp-lang-sep {
    color: rgba(255,255,255,0.2) !important;
    padding: 0 6px !important;
    font-size: 0.9em !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    user-select: none !important;
}

/* Both lang links — inactive state */
a.mp-lang-link {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 1em !important;
    font-weight: 400 !important;
    font-family: inherit !important;
    letter-spacing: inherit !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    color: rgba(255,255,255,0.38) !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    transition: color 0.25s ease !important;
    line-height: inherit !important;
}
a.mp-lang-link::before,
a.mp-lang-link::after { display: none !important; }

/* Active language — white */
a.mp-lang-link.mp-lang-current {
    color: #ffffff !important;
    font-weight: 600 !important;
}

/* Hover on inactive */
a.mp-lang-link:hover {
    color: rgba(255,255,255,0.88) !important;
}

/* ── Right-column CTA pill button ────────────────────────────────────────── */
a.mp-header-cta {
    background: linear-gradient(to right, #f44f9e, #fa777d) !important;
    color: #fff !important;
    padding: 7px 22px !important;
    border-radius: 30px !important;
    font-weight: 600 !important;
    letter-spacing: 0.03em !important;
    display: inline-block !important;
    transition: opacity 0.2s, transform 0.15s !important;
    border: none !important;
    text-decoration: none !important;
    font-size: 1em !important;
    font-family: inherit !important;
    white-space: nowrap !important;
}
a.mp-header-cta:hover {
    opacity: 0.85 !important;
    transform: translateY(-1px) !important;
    color: #fff !important;
}

/* ── Block editor content formatting ────────────────────────────────────── */
.post-content ul,
.post-content ol,
.entry-content ul,
.entry-content ol,
.wp-block-list {
    padding-left: 1.6em !important;
    margin-bottom: 1.2em !important;
}

.post-content ul,
.entry-content ul,
.wp-block-list:not(ol) {
    list-style: disc !important;
}

.post-content ol,
.entry-content ol {
    list-style: decimal !important;
}

.post-content li,
.entry-content li {
    display: list-item !important;
    margin-bottom: 0.3em;
    line-height: 1.7;
}

.post-content h1, .post-content h2, .post-content h3,
.post-content h4, .post-content h5, .post-content h6,
.entry-content h1, .entry-content h2, .entry-content h3,
.entry-content h4, .entry-content h5, .entry-content h6 {
    margin-top: 1.4em;
    margin-bottom: 0.6em;
    font-weight: 700;
    line-height: 1.3;
}

.post-content p,
.entry-content p {
    margin-bottom: 1.1em;
    line-height: 1.75;
}

/* ── Footer layout ───────────────────────────────────────────────────────── */
#footer {
    padding-top: 48px !important;
    padding-bottom: 0 !important;
    min-height: 0 !important;
    height: auto !important;
}
#footer .container {
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 80px !important;
    padding-bottom: 24px !important;
    min-height: 0 !important;
}
/* Reset grid floats and widget wrapper spacing */
#footer .container .column {
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
#footer .container aside.widget {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
/* Left: brand — fixed comfortable width */
#footer .container .one-third.column:first-child {
    flex: 0 0 320px !important;
    width: 320px !important;
    min-width: 0 !important;
}
/* Center: nav — shrink to content, pushed down to clear logo height */
#footer .container .one-third.column:nth-child(2) {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 120px !important;
    padding-top: 15px !important;
}
/* Right column: hidden (contact is in the nav menu) */
#footer .container .one-third.column:last-child {
    display: none !important;
}

/* ── Footer brand block ───────────────────────────────────────────────────── */
.mp-footer-logo-link {
    display: inline-block !important;
    margin-bottom: 18px !important;
    border: none !important;
}
.mp-footer-logo-img {
    max-width: 200px !important;
    height: auto !important;
    display: block !important;
}
.mp-footer-desc {
    font-size: 0.9em !important;
    color: rgba(255,255,255,0.5) !important;
    line-height: 1.75 !important;
    margin-bottom: 22px !important;
    max-width: 380px !important;
}

/* ── Footer headings — Plexx uses <h6 class="widget-title"><span> ─────────── */
.mp-footer-heading,
#footer h6.widget-title,
#footer h6.widget-title span {
    font-size: 0.85em !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,0.35) !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    border: none !important;
    line-height: 1 !important;
    display: block !important;
}

/* ── Footer nav links (nav_menu widget + custom HTML) ────────────────────── */
.mp-footer-links,
#footer .widget_nav_menu ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.mp-footer-links li,
#footer .widget_nav_menu ul li {
    margin-bottom: 11px !important;
    padding: 0 !important;
}
.mp-footer-links a,
#footer .widget_nav_menu ul li a {
    color: rgba(255,255,255,0.6) !important;
    text-decoration: none !important;
    font-size: 0.95em !important;
    border: none !important;
    transition: color 0.2s !important;
}
.mp-footer-links a:hover,
#footer .widget_nav_menu ul li a:hover {
    color: #fff !important;
}
/* Hide sub-menus in footer */
#footer .widget_nav_menu ul ul {
    display: none !important;
}

/* ── Social icons ────────────────────────────────────────────────────────── */
.mp-social-icons {
    display: flex;
    gap: 22px;
    align-items: center;
    padding: 4px 0;
}
/* Footer social: left-aligned */
.mp-footer-social {
    justify-content: flex-start !important;
}
.mp-social-icons a {
    color: rgba(255,255,255,0.5) !important;
    font-size: 1.35em;
    transition: color 0.2s, transform 0.15s !important;
    text-decoration: none !important;
    border: none !important;
}
.mp-social-icons a:hover {
    background: linear-gradient(to right, #f44f9e, #fa777d);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    transform: translateY(-2px) !important;
}
.mp-social-icons a::before,
.mp-social-icons a::after { display: none !important; }

/* ── Copyright bar ───────────────────────────────────────────────────────── */
.copyright {
    border-top: none !important;
    padding: 0 80px 24px !important;
    text-align: center !important;
}
.copyright p {
    color: rgba(255,255,255,0.3) !important;
    font-size: 0.82em !important;
    margin: 0 !important;
    letter-spacing: 0.03em !important;
}

/* ── Full-screen looping video hero (front page only) ────────────────────── */
/* position:relative keeps it in the normal document flow so it scrolls away */
/* when the user scrolls down (content just follows naturally beneath it).   */
/* Negative margins break out of the body's built-in padding:                */
/*   .layout-fullwidth          → padding: 0 80px   (side gutters)           */
/*   .layout-fullwidth.fixed-nav → padding-top: 98px (space for fixed nav)   */
#mp-video-hero {
    position: relative;
    width: calc(100% + 160px); /* 100% + 2 × 80px = full viewport width */
    margin-left: -80px;         /* shift left to reach the viewport edge  */
    margin-top: -98px;          /* pull up to sit flush below the nav     */
    height: 100vh;
    overflow: hidden;
    pointer-events: none;
}

#mp-video-hero video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Nav CSS variables — JS updates these on scroll */
body.home,
body.front-page {
    --mp-nav-blur: 0px;
    --mp-nav-bg: transparent;
}

/* Hide the page-title widget that sits between nav and main content */
body.home .title-container,
body.front-page .title-container {
    display: none !important;
}

/* Nav always fixed + above video on front page */
body.home .nav_container,
body.front-page .nav_container {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 999 !important;
}
body.admin-bar.home .nav_container,
body.admin-bar.front-page .nav_container {
    top: 32px !important;
}

/* ── Portfolio single item — show title (override WOW.js initial hidden) ── */
.single-portfolio-item .container.title-container {
    visibility: visible;
}

/* ── ArchiVis pages — hero video + transparent-to-frosted nav (mirrors homepage) */

/* Initial nav state: fully transparent + no blur (JS animates on scroll) */
body.page-id-181,
body.page-id-37 {
    --mp-nav-blur: 0px;
    --mp-nav-bg: transparent;
}

/* Fix nav — same as body.home */
body.page-id-181 .nav_container,
body.page-id-37 .nav_container {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 999 !important;
}
body.admin-bar.page-id-181 .nav_container,
body.admin-bar.page-id-37 .nav_container {
    top: 32px !important;
}

/* Hide the title-container widget area that sits between nav and content */
body.page-id-181 .title-container,
body.page-id-37 .title-container {
    display: none !important;
}

/* Hide theme page title heading (belt-and-suspenders with the wp_head inline style) */
.page-id-181 #page-title,
.page-id-37 #page-title {
    display: none !important;
}

/* ── Mobile extras injected into nav — hidden on desktop ─────────────────── */
#navigation li.mp-mobile-extras-item {
    display: none !important;
}

/* ── RESPONSIVE: unified hamburger menu at ≤1200px ──────────────────────── */
/*
 * Below 1200px CSS pixels the 3-column header can no longer fit comfortably
 * (triggered at ~120% zoom and above, and on all phones/tablets).
 * Solution: collapse to [logo | hamburger], slide-down dropdown contains
 * all nav items + language switcher + CONTACT button.
 */
@media only screen and (max-width: 1150px) {

    /* 1. Two-column grid: logo takes space, nav col shrinks to hamburger */
    .container.nav_container #site-navigation {
        grid-template-columns: 1fr auto !important;
    }

    /* 2. Hide the right column (lang + CTA now live inside the dropdown) */
    .container.nav_container #site-navigation .mp-header-right-col {
        display: none !important;
    }

    /* 3. Nav col: flex row, centres the hamburger vertically */
    .container.nav_container #site-navigation .mp-header-nav-col {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        padding: 0 !important;
    }

    /* 4. #navigation itself: block, not flex — dropdown hangs off it */
    .container.nav_container #site-navigation .mp-header-nav-col #navigation {
        display: block !important;
        position: static !important;
        text-align: left !important;
    }

    /* 5. Show hamburger in flow so the auto column gets a real width */
    .container.nav_container .mp-header-nav-col .menu-dropdown {
        display: block !important;
        position: relative !important;
        top: auto !important;
        right: auto !important;
        transform: none !important;
        width: 30px !important;
        height: 20px !important;
        padding: 13px 15px !important;
        box-sizing: content-box !important;
        margin-right: 14px !important;
        margin-top: -10px !important;
    }

    /* 6. Hamburger bars: white with drop-shadow so they read on any background,
     *    including the fully-transparent nav on the home / ArchiVis pages.     */
    .mp-header-nav-col .menu-dropdown span,
    .mp-header-nav-col .menu-dropdown span::before,
    .mp-header-nav-col .menu-dropdown span::after {
        background-color: rgba(255, 255, 255, 0.9) !important;
    }
    .mp-header-nav-col .menu-dropdown.toggled-on span {
        background-color: transparent !important;
    }
    /* Dark pill background behind the hamburger so bars are visible on ANY
     * background — especially the fully-transparent nav over bright video. */
    .mp-header-nav-col .menu-dropdown {
        background: rgba(0, 0, 0, 0.35) !important;
        border-radius: 8px !important;
    }
    /* 6b. Re-centre the span (middle bar) inside the new smaller button.
     * Theme hardcodes top:20px left:10px for padding:20px — we now use
     * padding:13px 15px so bars need to be nudged to the true centre.
     * Button total: 60x46px → centre at left:17px top:23px */
    .mp-header-nav-col .menu-dropdown span {
        top: 23px !important;
        left: 17px !important;
    }

    /* Reset the theme's mobile padding on #site-navigation (added at <960px)
     * to prevent it from shrinking the grid content area on narrow viewports.
     * Also cancel the layout-fullwidth.fixed-nav 80px side padding on mobile
     * so the grid fills the full viewport width. */
    #site-navigation {
        padding: 0 !important;
    }
    .layout-fullwidth.fixed-nav .nav_container {
        padding: 0 !important;
    }

    /* 7. Dropdown: fixed below the nav bar, full viewport width, white bg */
    .container.nav_container #navigation .nav-menu {
        opacity: 0 !important;
        visibility: hidden !important;
        display: block !important;
        position: fixed !important;
        top: 98px !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        transform: none !important;
        background: #ffffff !important;
        padding: 24px 36px 40px !important;
        text-align: right !important;
        z-index: 9999 !important;
        transition: opacity 0.25s ease, visibility 0.25s ease !important;
        overflow-y: auto !important;
        max-height: calc(100vh - 98px) !important;
    }
    body.admin-bar .container.nav_container #navigation .nav-menu {
        top: 130px !important;  /* 98px nav + 32px WP admin bar */
        max-height: calc(100vh - 130px) !important;
    }
    .container.nav_container #navigation .nav-menu.toggled-on {
        opacity: 1 !important;
        visibility: visible !important;
    }

    /* 8. Nav items: stacked vertically */
    .container.nav_container #navigation ul li,
    .container.nav_container .top-navigation li {
        float: none !important;
        display: block !important;
        position: relative !important;
        margin: 0 !important;
    }

    /* 9. Nav links: dark text on the white dropdown */
    .container.nav_container #navigation a,
    .fixed-nav .nav_container #navigation a {
        color: #273140 !important;
        font-size: 22px !important;
        font-weight: 500 !important;
        padding: 10px 0 !important;
        display: block !important;
        text-align: right !important;
        letter-spacing: normal !important;
        border: none !important;
    }
    .container.nav_container #navigation a:hover,
    .fixed-nav .nav_container #navigation a:hover {
        color: #273140 !important;
        opacity: 0.55 !important;
    }
    /* Remove desktop underline pseudo-element */
    .container.nav_container #navigation a::after,
    .container.nav_container #navigation a::before {
        display: none !important;
    }

    /* 10. Sub-menus: keep hidden on mobile */
    .container.nav_container #navigation ul li ul {
        display: none !important;
    }

    /* 11. Mobile extras: show as last item in the dropdown */
    #navigation li.mp-mobile-extras-item {
        display: block !important;
        border-top: 1px solid rgba(39, 49, 64, 0.1) !important;
        margin-top: 12px !important;
        padding-top: 16px !important;
        list-style: none !important;
    }

    /* 12. Mobile lang links */
    #navigation li.mp-mobile-extras-item .mp-mobile-lang {
        display: flex !important;
        justify-content: flex-end !important;
        align-items: center !important;
        margin-bottom: 14px !important;
    }
    #navigation li.mp-mobile-extras-item .mp-lang-link {
        color: rgba(39, 49, 64, 0.45) !important;
        font-size: 17px !important;
        font-weight: 400 !important;
    }
    #navigation li.mp-mobile-extras-item .mp-lang-link.mp-lang-current {
        color: #273140 !important;
        font-weight: 700 !important;
    }
    #navigation li.mp-mobile-extras-item .mp-lang-link:hover {
        color: #273140 !important;
        opacity: 1 !important;
    }
    #navigation li.mp-mobile-extras-item .mp-lang-sep {
        color: rgba(39, 49, 64, 0.2) !important;
    }

    /* 13. Mobile CTA button — full-width block, centred text (Option A) */
    #navigation li.mp-mobile-extras-item a.mp-header-cta {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
        text-align: center !important;
        color: #fff !important;
        font-size: 1em !important;
        padding: 14px 24px !important;
        margin-top: 4px !important;
    }

    /* 14. Remove scrollbar-width right padding — not needed on narrow viewports */
    .layout-fullwidth.fixed-nav .nav_container,
    body.home .nav_container,
    body.front-page .nav_container,
    body.page-id-181 .nav_container,
    body.page-id-37 .nav_container {
        padding-right: 0 !important;
    }

    /* 15. Fix video hero width on mobile — desktop uses calc(100% + 160px) to
     *     escape the body's 80px side gutters, but those gutters vanish at mobile
     *     (the theme resets .layout-fullwidth to padding:0 at <960px), so the
     *     calc makes the hero 160px wider than the viewport, creating horizontal
     *     scroll and pushing the hamburger off-screen to the right. */
    #mp-video-hero {
        width: 100% !important;
        margin-left: 0 !important;
    }

    /* 16. Prevent horizontal overflow from the video hero or any other cause
     *     on the pages that have hero videos. */
    body.home,
    body.front-page,
    body.page-id-181,
    body.page-id-37,
    body.page-id-33 {
        overflow-x: hidden !important;
    }

    /* 17. Fix ArchiVis tagline h6 on mobile — letter-spacing: 5px makes the text
     *     wider than the viewport on narrow screens (phones). Reset to 0. */
    body.page-id-181 .elementor-widget-text-editor h6,
    body.page-id-37 .elementor-widget-text-editor h6 {
        letter-spacing: 0 !important;
        word-break: break-word;
    }

    /* 18. Footer: stack columns vertically on mobile */
    #footer .container {
        flex-direction: column !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 32px !important;
        padding-left: 28px !important;
        padding-right: 28px !important;
        text-align: center !important;
    }
    #footer .container .one-third.column:first-child {
        flex: 0 0 100% !important;
        width: 100% !important;
    }
    #footer .container .one-third.column:nth-child(2) {
        flex: 0 0 100% !important;
        width: 100% !important;
        padding-top: 0 !important;
    }
    /* Center the brand logo on mobile */
    .mp-footer-logo-link {
        display: block !important;
        text-align: center !important;
    }
    .mp-footer-logo-img {
        margin: 0 auto !important;
    }
    .mp-footer-desc {
        max-width: 100% !important;
        text-align: center !important;
    }
    /* Center social icons */
    .mp-footer-social {
        justify-content: center !important;
    }
    /* Center nav heading and links */
    #footer h6.widget-title,
    #footer h6.widget-title span {
        text-align: center !important;
    }
    #footer .widget_nav_menu ul li {
        text-align: center !important;
    }
    /* Copyright: reduce side padding */
    .copyright {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
}

/* ── ArchiVis pages — spacing + typography fix (pages 37 EN, 181 PL) ────────
 * Same root causes as Home / Offer pages:
 *   .type-page .post-content  → padding: 65px 85px  (too much top space)
 *   .type-page h1-h6          → padding: 25px 0 5px (stacks on Elementor headings)
 *   p                         → margin: 0 0 40px 0  (too much after paragraphs)
 * ─────────────────────────────────────────────────────────────────────────── */

/* 1. Remove theme's .post-content outer padding */
body.page-id-37 .post-content,
body.page-id-181 .post-content {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* 2. Neutralize theme heading padding inside ALL Elementor widgets */
body.page-id-37 .elementor-widget h1,
body.page-id-37 .elementor-widget h2,
body.page-id-37 .elementor-widget h3,
body.page-id-37 .elementor-widget h4,
body.page-id-37 .elementor-widget h5,
body.page-id-37 .elementor-widget h6,
body.page-id-181 .elementor-widget h1,
body.page-id-181 .elementor-widget h2,
body.page-id-181 .elementor-widget h3,
body.page-id-181 .elementor-widget h4,
body.page-id-181 .elementor-widget h5,
body.page-id-181 .elementor-widget h6 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* 3. Section heading widgets — consistent style (uppercase label with accent line) */
body.page-id-37 .elementor-widget-heading .elementor-heading-title,
body.page-id-181 .elementor-widget-heading .elementor-heading-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-align: center;
    display: block;
    margin-bottom: 16px !important;
}
body.page-id-37 .elementor-widget-heading .elementor-heading-title::after,
body.page-id-181 .elementor-widget-heading .elementor-heading-title::after {
    content: '';
    display: block;
    width: 36px;
    height: 2px;
    background: linear-gradient(90deg, #f44f9e, #fa777d);
    margin: 10px auto 0;
}

/* 4. Paragraph bottom margin — neutralize theme's 40px default */
body.page-id-37 .elementor-widget-text-editor p,
body.page-id-181 .elementor-widget-text-editor p {
    margin-bottom: 0;
}

/* ── Home pages (EN: body.home=18, PL: 155): same spacing fixes as Offer pages */
/* Video hero lives in the theme template, NOT in post_content — untouched.     */
body.home .post-content,
body.page-id-155 .post-content {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
body.home .wp-block-separator,
body.page-id-155 .wp-block-separator {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
body.home .wp-block-group h1,
body.home .wp-block-group h2,
body.home .wp-block-group h3,
body.page-id-155 .wp-block-group h1,
body.page-id-155 .wp-block-group h2,
body.page-id-155 .wp-block-group h3 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    display: block !important;
}
body.home .wp-block-group p,
body.page-id-155 .wp-block-group p {
    margin-bottom: 0;
}

/* ── Offer pages (PL: 173, EN: 33): remove theme spacing that stacks on blocks */
/* .type-page .post-content { padding: 65px 85px } adds 65px above/below all  */
/* block content — reset to 0 so only the blocks' own padding controls spacing */
body.page-id-33 .post-content,
body.page-id-173 .post-content {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
/* Separator margins (~48px each side by default) compound the gap between     */
/* sections — collapse them so the separator is just a thin visual divider.    */
body.page-id-33 .wp-block-separator,
body.page-id-173 .wp-block-separator {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
/* .type-page h1-h6 { padding: 25px 0 5px 0 } adds 25px above every heading  */
/* inside Gutenberg blocks — blocks set margin via inline styles, not padding. */
body.page-id-33 .wp-block-group h1,
body.page-id-33 .wp-block-group h2,
body.page-id-33 .wp-block-group h3,
body.page-id-173 .wp-block-group h1,
body.page-id-173 .wp-block-group h2,
body.page-id-173 .wp-block-group h3 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    display: block !important;
}
/* p { margin: 0 0 40px 0 } adds 40px after every paragraph — blocks that     */
/* need spacing already set it via inline styles (which override this rule).   */
body.page-id-33 .wp-block-group p,
body.page-id-173 .wp-block-group p {
    margin-bottom: 0;
}

/* ── Copyright OKAM badge — ArchiVis slider images ──────────────────────────
 * Style for the badge injected by JS in mu-plugin (see movingpictures-styles.php).
 * The badge is a real <span> element appended to each .slick-slide — this avoids
 * all CSS stacking-context problems that affect ::after pseudo-elements inside
 * OWL Carousel's translate3d stage.
 *
 * TO REMOVE THIS FEATURE: delete this CSS block AND the JS block in mu-plugin
 * (search for "Copyright OKAM badge" in movingpictures-styles.php).
 * ─────────────────────────────────────────────────────────────────────────── */

.mp-copyright-badge {
    position: absolute;
    bottom: 14px;
    left: 14px;
    background: rgba(0, 0, 0, 0.52);
    color: #ffffff;
    font-size: 11px;
    font-weight: 500;
    font-family: inherit;
    letter-spacing: 0.04em;
    line-height: 1.4;
    padding: 5px 11px;
    border-radius: 6px;
    pointer-events: none;
    z-index: 20;
    white-space: nowrap;
}

/* END Copyright OKAM badge ─────────────────────────────────────────────── */
