/* Source-ratio frames replace the legacy fixed-height photo boxes. The scoped
   important declarations reset legacy layout selectors and imported inline sizes. */
.legacy-content { --portrait-height: 320px; }
.legacy-content figure.ux-natural-media {
    width: 100%;
    max-width: min(100%, var(--media-width), calc(560px * var(--media-ratio)));
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: var(--media-ratio) !important;
    align-self: start;
    background: transparent;
}
.legacy-content figure.ux-natural-media > img,
.legacy-content figure.ux-natural-media > a > img {
    display: block;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: var(--media-ratio) !important;
    object-fit: contain;
    flex-shrink: 0;
    background: transparent;
}
.legacy-content figure.ux-natural-media:has(figcaption) { aspect-ratio: auto !important; }
.legacy-content figure.ux-natural-media.is-portrait {
    /* Page-specific full-width galleries must not enlarge portrait photos. */
    max-width: min(100%, var(--media-width), calc(var(--portrait-height) * var(--media-ratio))) !important;
    margin-inline: auto;
}
.legacy-content .imported-gallery {
    align-items: start;
}
/* Equal-height gallery photos, each with its own natural width (including portraits). */
.legacy-content .ux-gallery-shell .imported-gallery.is-scroll-gallery .ux-natural-media {
    --gallery-height: clamp(240px, 26vw, 340px);
    flex: 0 0 auto !important;
    width: calc(var(--gallery-height) * var(--media-ratio));
    max-width: 100%;
    height: auto !important;
}
.legacy-content .ux-gallery-shell .imported-gallery.is-scroll-gallery .ux-natural-media.is-portrait {
    --gallery-height: var(--portrait-height);
    margin-inline: 0;
}
.legacy-content .ux-gallery-shell .imported-gallery.is-scroll-gallery .ux-natural-media > img {
    height: auto !important;
    width: 100% !important;
    max-width: 100%;
}

/* Independent, equal-height rails: a portrait never shares a row with a landscape.
   Container units keep the widest photo complete even in a narrow content column. */
.legacy-content .ux-photo-groups {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-column: 1 / -1;
    gap: 28px;
    width: 100%;
    min-width: 0;
    margin: 12px 0;
    container-type: inline-size;
}
.legacy-content .ux-photo-groups > .ux-gallery-shell { min-width: 0; max-width: 100%; }
.legacy-content .ux-photo-groups .imported-gallery.ux-photo-track {
    --photo-height: 280px;
    --row-height: min(var(--photo-height), calc((100cqw - 4px) / var(--group-max-ratio)));
    display: flex;
    align-items: start;
    justify-content: safe center;
    gap: 16px;
    min-width: 0;
    max-width: 100%;
    padding: 2px 2px 12px;
    margin: 0;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
}
.legacy-content .ux-photo-groups .ux-photo-track[data-photo-orientation="portrait"] { --photo-height: 320px; }
.legacy-content .ux-photo-groups .ux-photo-track[data-photo-orientation="square"] { --photo-height: 240px; }
.legacy-content .ux-photo-groups .imported-gallery.ux-photo-track > figure.ux-natural-media {
    flex: 0 0 auto !important;
    width: calc(var(--row-height) * var(--media-ratio)) !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    aspect-ratio: auto !important;
    border-radius: 10px;
    background: transparent;
    scroll-snap-align: start;
}
.legacy-content .ux-photo-groups .imported-gallery.ux-photo-track > figure.ux-natural-media > img,
.legacy-content .ux-photo-groups .imported-gallery.ux-photo-track > figure.ux-natural-media > a > img {
    width: 100% !important;
    height: var(--row-height) !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain;
    border-radius: 10px;
    background: transparent;
}
.legacy-content .ux-photo-groups .ux-gallery-controls[hidden] { display: none; }
.legacy-content .ux-photo-groups > .ux-gallery-shell { margin-bottom: 0; }

/* These existing originals have the correct upright orientation. */
.hero-slide-najazdy .hero-slide-main > img { object-position: center 70%; }
.hero-slide-najazdy .hero-slide-side { background: #181c20; }
.hero-slide-najazdy .hero-slide-side > img { object-fit: contain; }
.hero-slide-najazdy .hero-slide-side > .hero-shade { display: none; }

.home-guide details.home-guide-panel { padding: 0; box-shadow: none; }
.home-guide summary.home-guide-header {
    position: relative;
    max-width: none;
    margin: 0;
    padding: clamp(24px, 3vw, 42px) 80px clamp(24px, 3vw, 42px) clamp(24px, 3vw, 42px);
    cursor: pointer;
    list-style: none;
}
.home-guide summary::-webkit-details-marker { display: none; }
.home-guide summary::after {
    content: '+';
    position: absolute;
    right: 28px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--red);
    font-size: 32px;
    font-weight: 400;
}
.home-guide details[open] summary::after { content: '−'; }
.home-guide summary .eyebrow { display: block; }
.home-guide summary h2 { max-width: 38ch; font-size: clamp(24px, 2.6vw, 36px); }
.home-guide summary:focus-visible { outline: 3px solid var(--red); outline-offset: 4px; border-radius: 24px; }
.home-guide details .home-guide-copy { padding: 0 clamp(24px, 3vw, 42px) 36px; }

.page-prezentacje-modeli-demo .legacy-content .ux-demo-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 28px;
}
.page-prezentacje-modeli-demo .legacy-content .ux-sections .ux-section .ux-demo-list .wa-showcase-card {
    display: grid;
    grid-column: auto;
    grid-template-columns: minmax(130px, .7fr) minmax(0, 1fr);
    align-items: start;
    gap: 18px;
    padding: 20px;
    margin: 0;
    border: 1px solid var(--line);
    background: #fff;
    color: var(--ink);
}
.page-prezentacje-modeli-demo .legacy-content .ux-demo-list .wa-showcase-card > .imported-column { min-width: 0; grid-column: auto; }
.page-prezentacje-modeli-demo .legacy-content .ux-sections .ux-section .ux-demo-list .wa-card-info-box {
    height: auto;
    padding: 0;
    color: #51585c;
    background: transparent;
    font-size: 15px;
    line-height: 1.6;
}
.page-prezentacje-modeli-demo .legacy-content .ux-sections .ux-section .ux-demo-list :is(h2,h3,h4) {
    font-size: 20px !important;
    line-height: 1.3;
    color: var(--ink) !important;
    margin: 0 0 12px;
}
.page-prezentacje-modeli-demo .legacy-content .ux-demo-list p { font-size: 15px; line-height: 1.6; margin: 0 0 12px; }
.page-prezentacje-modeli-demo .legacy-content .ux-demo-list p:last-child { margin-bottom: 0; }
.page-prezentacje-modeli-demo .legacy-content .ux-demo-list a { color: #a82427; overflow-wrap: anywhere; }
.page-kontakt .legacy-content .is-first-section { row-gap: 20px; }
.page-kontakt .legacy-content .wpcf7 { padding: 28px; }
.page-kontakt .legacy-content .imported-contact-form { gap: 12px 16px; }
.page-kontakt .legacy-content .imported-contact-form textarea { height: 140px; }
.page-kontakt .legacy-content .imported-contact-form .waldi-captcha { grid-column: 1 / -1; }
.page-kontakt .legacy-content .ux-contact-map-row {
    grid-column: 1 / -1;
    grid-row: 3;
    width: 100%;
    min-width: 0;
    height: clamp(320px, 32vw, 440px);
}
.page-kontakt .legacy-content .ux-contact-map-row > .wst-embed {
    width: 100%;
    height: 100%;
}
.page-kontakt .legacy-content iframe.ux-contact-map {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    margin-top: 0;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #eceeed;
}
@media (max-width: 1100px) {
    .page-prezentacje-modeli-demo .legacy-content .ux-demo-list { grid-template-columns: minmax(0, 1fr); }
    .page-prezentacje-modeli-demo .legacy-content .ux-sections .ux-section .ux-demo-list .wa-showcase-card { grid-template-columns: minmax(180px, .6fr) minmax(0, 1fr); }
}
@media (max-width: 600px) {
    .legacy-content { --portrait-height: 240px; }
    .legacy-content .ux-photo-groups { gap: 20px; }
    .legacy-content .ux-photo-groups .imported-gallery.ux-photo-track { --photo-height: 220px; gap: 12px; }
    .legacy-content .ux-photo-groups .ux-photo-track[data-photo-orientation="portrait"] { --photo-height: 280px; }
    .page-prezentacje-modeli-demo .legacy-content .ux-sections .ux-section .ux-demo-list .wa-showcase-card { grid-template-columns: minmax(0, 1fr); padding: 18px; gap: 18px; }
    .legacy-content .ux-gallery-shell .imported-gallery.is-scroll-gallery .ux-natural-media { --gallery-height: 240px; }
    .home-guide summary.home-guide-header { padding-right: 56px; }
    .home-guide summary::after { right: 20px; }
}

/* Four main choices lead the catalogue; every existing description stays visible. */
@media (min-width: 1101px) {
    .home .service-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
    .home .service-card.is-featured {
        display: grid;
        grid-column: span 2;
        grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
        align-items: center;
        min-height: 300px;
    }
    .home .service-card.is-featured .service-image {
        height: 100%;
        min-height: 300px;
        aspect-ratio: auto;
        background: #eae9e5;
    }
    .home .service-card.is-featured .service-image img { position: absolute; inset: 0; object-fit: cover; }
    .home .service-card.is-featured .service-image[href$="/obnizona-podloga/"] img { object-position: 26% center; }
    .home .service-card.is-featured .service-image[href$="/rampy/"] img { object-position: 40% center; }
    .home .service-card.is-featured .service-body { padding: 28px; }
    .home .service-card.is-featured h3 { font-size: 23px; line-height: 1.25; }
    .home .service-card:not(.is-featured) .service-body { padding: 22px; }
    .home .service-card:not(.is-featured) h3 { font-size: 18px; line-height: 1.35; }
    .home .service-card:nth-child(5) { margin-top: 20px; }
    .home .service-card:nth-child(5) ~ .service-card:nth-child(-n+8) { margin-top: 20px; }
}
.home .service-card { box-shadow: none; border: 1px solid #e4e2dc; }
.home .service-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px #181c200a; }
.home .service-body p { font-size: 16px; line-height: 1.7; }

/* Standalone lead photographs need more presence than gallery thumbnails. */
.legacy-content .ux-product-media { --portrait-height: 440px; }
.legacy-content .ux-product-intro > .ux-product-media { align-self: center; }
@media (min-width: 901px) {
    .legacy-content .ux-photo-groups .ux-photo-track[data-photo-orientation="portrait"] { --photo-height: 360px; }
}

/* Flatten nested cards on phones, restoring the full reading width. */
@media (max-width: 600px) {
    .legacy-content .ux-product-media { --portrait-height: 320px; }
    .subpage-main .legacy-content .ux-sections .imported-row.ux-section :is(.wa-kafel, .wa-feature-item, .wa-bullets li) {
        padding: 20px 0 0;
        border: 0;
        border-top: 1px solid #dedbd5;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }
    .subpage-main .legacy-content .ux-sections .imported-row.ux-section .ux-card-grid { gap: 24px; }
    .subpage-main .legacy-content .ux-sections .imported-row.ux-section .ux-card-grid > :first-child { padding-top: 0; border-top: 0; }
    .subpage-main .legacy-content .ux-sections .imported-row.ux-section .ux-card-grid > .imported-column:first-child > .wa-kafel { padding-top: 0; border-top: 0; }
}

/* Page-by-page responsive review: readable sections without nested phone frames. */
@media (max-width: 600px) {
    .subpage-main .page-layout.one-column { padding: 28px 20px 48px; background: #fff; }
    .subpage-main .legacy-content .wpb-content-wrapper.ux-sections { gap: 32px; }
    .subpage-main .legacy-content .ux-sections > .imported-row.ux-section {
        padding: 32px 0 0;
        border: 0;
        border-top: 1px solid #e4e2dc;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        gap: 24px;
    }
    .subpage-main .legacy-content .ux-sections > .imported-row.ux-section:first-child {
        padding-top: 0;
        border-top: 0;
    }
    .subpage-main .legacy-content .ux-sections .ux-section :is(h1,h2):not(.wa-uppercase-tag) {
        font-size: 25px !important;
        line-height: 1.24;
        letter-spacing: -.025em;
        text-wrap: pretty;
    }
    .subpage-main .legacy-content .ux-sections .ux-section :is(h3,h4) {
        line-height: 1.3;
        text-wrap: pretty;
    }
    .subpage-main .subpage-title { font-size: 30px; line-height: 1.15; }
    .subpage-main .subpage-hero-inner { padding: 22px 20px; }
}

/* Vehicle diagrams and product illustrations keep a deliberate, consistent scale. */
.subpage-main .legacy-content .ux-sections.model-page .model-overview .model-hero-photo.is-portrait {
    --portrait-height: 440px;
    margin-inline: auto;
    justify-self: center;
}
.subpage-main .legacy-content .ux-sections.model-page .model-dealer figure.ux-natural-media { max-width: 100%; }
.subpage-main .legacy-content .ux-sections.model-page .model-configurations > .imported-column > figure.ux-natural-media {
    height: 280px !important;
    max-width: 100%;
    aspect-ratio: auto !important;
}
.subpage-main .legacy-content .ux-sections.model-page .model-configurations > .imported-column > figure.ux-natural-media > img {
    height: 100% !important;
    aspect-ratio: auto !important;
    object-fit: contain;
}
@media (max-width: 600px) {
    .subpage-main .legacy-content .ux-sections.model-page .model-overview .model-hero-photo.is-portrait { --portrait-height: 340px; }
    .model-page .model-facts > p { padding: 16px !important; }
    .subpage-main .legacy-content .ux-sections.model-page .model-configurations > .imported-column { padding: 20px 0; border: 0; border-radius: 0; background: transparent; }
    .subpage-main .legacy-content .ux-sections.model-page .model-configurations > .imported-column > figure.ux-natural-media { height: 250px !important; }
    .model-infographics-finance .model-info-card,
    .model-infographics-safety .model-info-card {
        display: grid;
        grid-template-columns: 60px minmax(0, 1fr);
        gap: 12px 16px;
        padding: 22px 0;
        border: 0;
        border-top: 1px solid #e4e2dc;
        border-radius: 0;
        background: transparent;
    }
    .model-infographics-finance .model-art,
    .model-infographics-safety .model-art { grid-row: 1; align-self: center; }
    .model-infographics-finance .model-art svg,
    .model-infographics-safety .model-art svg { height: 58px; }
    .subpage-main .legacy-content .ux-sections.model-page :is(.model-infographics-finance,.model-infographics-safety) h3 { align-self: center; margin: 0; font-size: 18px; }
    .model-infographics-finance .model-info-card > p,
    .model-infographics-safety .model-info-card > p { grid-column: 1 / -1; }
}
.subpage-main .legacy-content .ux-sections .ux-section .wa-feature-item + .wa-feature-item { margin-top: 24px; }
.subpage-main .legacy-content .ux-sections .imported-row.ux-section.ux-connected-intro > figure.ux-connected-visual.is-portrait {
    --portrait-height: 400px;
    margin-inline: auto;
    justify-self: center;
}
@media (min-width: 1101px) {
    :is(.page-rampy, .page-winda-fiorella) .legacy-content .ux-sections .imported-row.is-long-copy-section {
        grid-template-columns: minmax(0, .5fr) minmax(0, 1fr);
        gap: 40px;
    }
    :is(.page-rampy, .page-winda-fiorella) .legacy-content .ux-sections .imported-row.is-long-copy-section > .imported-column {
        grid-column: auto;
        width: auto;
        max-width: none;
    }
    :is(.page-rampy, .page-winda-fiorella) .legacy-content .ux-sections .is-long-copy-section figure.is-portrait { --portrait-height: 460px; }
}
.page-fotele-obrotowe .legacy-content .ux-sections .ux-section:not(.has-gallery) .imported-column > figure.ux-natural-media {
    width: 100%;
    max-width: 100% !important;
    height: 300px !important;
    aspect-ratio: auto !important;
    margin: 0 0 20px;
}
.page-fotele-obrotowe .legacy-content .ux-sections .ux-section:not(.has-gallery) .imported-column > figure.ux-natural-media > img {
    height: 100% !important;
    aspect-ratio: auto !important;
    object-fit: contain;
    object-position: center;
}
@media (max-width: 600px) {
    .subpage-main .legacy-content .ux-sections .imported-row.ux-section.ux-connected-intro > figure.ux-connected-visual.is-portrait { --portrait-height: 320px; }
    .page-smart-lifter .legacy-content .ux-sections > .imported-row.ux-section:is(.ux-smart-lifter-facts,.ux-smart-lifter-showcase) {
        padding: 28px 0 0;
        border: 0;
        border-top: 1px solid #e4e2dc;
        border-radius: 0;
        box-shadow: none;
    }
    .page-fotele-obrotowe .legacy-content .ux-sections .ux-section:not(.has-gallery) .imported-column > figure.ux-natural-media { height: 280px !important; }
    .page-fotele-obrotowe .legacy-content .ux-sections .ux-section:not(.has-gallery) .imported-column + .imported-column { margin-top: 16px; }
}
.page-podnosnik-milford .legacy-content .ux-milford-gallery .ux-photo-groups .ux-gallery-shell { position: relative; }
.page-podnosnik-milford .legacy-content .ux-milford-gallery .ux-photo-groups .ux-gallery-controls { position: static; margin: 0 0 12px; }
.subpage-main .legacy-content .ux-sections .ux-section.has-gallery:has(.ux-photo-groups) > .imported-column > h2 { padding-right: 0; }
.pasy-product-page .pasy-card-body { height: auto; flex: 1; }
.pasy-product-page .pasy-product-card { height: auto; }
.pasy-product-page h1 { font-size: clamp(32px, 3.4vw, 46px); line-height: 1.12; letter-spacing: -.035em; }
.pasy-product-page h2 { font-size: clamp(28px, 2.8vw, 38px); line-height: 1.18; letter-spacing: -.03em; }
.pasy-product-page h3 { font-size: 23px; line-height: 1.25; }
@media (min-width: 1021px) {
    .pasy-product-page .pasy-intro {
        grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
        align-items: start;
        gap: 36px;
        padding: 36px;
    }
    .pasy-product-page .pasy-intro-copy { padding: 0; }
    .pasy-product-page .pasy-intro-media { order: 0; height: auto; border-radius: 12px; position: sticky; top: 116px; }
    .pasy-product-page .pasy-intro-media img { height: auto; }
    .pasy-product-page .pasy-prose { grid-template-columns: minmax(0,1fr); gap: 16px; }
    .pasy-product-page .pasy-lead { font-size: 20px; margin: 22px 0; }
    .pasy-product-page .pasy-section:not(.pasy-intro) { padding: 40px; }
}
@media (max-width: 780px) {
    .pasy-product-page { gap: 36px; }
    .pasy-product-page .pasy-section {
        padding: 0;
        overflow: visible;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        background: transparent;
    }
    .pasy-product-page .pasy-intro { gap: 24px; }
    .pasy-product-page .pasy-intro-copy { padding: 0; }
    .pasy-product-page .pasy-intro-media { height: auto; border-radius: 12px; overflow: hidden; }
    .pasy-product-page .pasy-intro-media img { height: auto; }
    .pasy-product-page h1 { font-size: 30px; line-height: 1.17; text-wrap: pretty; }
    .pasy-product-page h2 { font-size: 25px; line-height: 1.25; text-wrap: pretty; }
    .pasy-product-page h3 { font-size: 21px; line-height: 1.3; }
    .pasy-product-page .pasy-lead { font-size: 17px; line-height: 1.65; }
    .pasy-product-page .pasy-prose p { font-size: 16px; }
    .pasy-product-page .pasy-section-heading { margin-bottom: 24px; }
    .pasy-product-page .pasy-system-grid,
    .pasy-product-page .pasy-ending-grid { gap: 28px; }
    .pasy-product-page .pasy-product-card { border-radius: 12px; box-shadow: none; }
    .pasy-product-page .pasy-card-body { padding: 20px; }
    .pasy-product-page .pasy-card-body p:last-child { font-size: 16px; }
    .pasy-product-page .pasy-series-section { padding: 24px 20px; border-radius: 14px; background: #181c20; }
    .pasy-product-page .pasy-series-media { height: auto; background: transparent; }
    .pasy-product-page .pasy-series-media img { height: auto; }
    .pasy-product-page .pasy-series-card { padding: 24px 0 0; border: 0; border-top: 1px solid #454a50; border-radius: 0; background: transparent; }
    .pasy-product-page .pasy-series-card.is-premium { border-top-width: 1px; background: transparent; }
    .pasy-product-page .pasy-feature-item { padding: 24px 0; border: 0; border-top: 1px solid #e4e2dc; border-radius: 0; background: transparent; }
    .pasy-product-page .pasy-feature-item h3 { font-size: 21px; }
    .pasy-product-page .pasy-safety-note { padding: 24px 20px; }
    .pasy-product-page .pasy-primary-button { min-height: 48px; padding: 14px 16px; line-height: 1.5; }
}

/* The model pages use centered diagrams; article copy uses a readable line length. */
.single-post .page-hero-content { max-width: 940px; margin-inline: auto; }
.single-post .page-hero h1 { font-size: clamp(30px, 3.6vw, 48px); line-height: 1.15; }
.single-post .page-layout.one-column { max-width: 940px; }
.page-kia-pv5 .legacy-content .ux-sections .is-feature-section figure.ux-natural-media { margin: 0 auto 24px; }
.page-vw-multivan .legacy-content .multivan-experience .mv-seat-panel > figure.ux-natural-media {
    --portrait-height: 360px;
    margin-inline: auto;
    justify-self: center;
}
.page-vw-multivan .legacy-content .multivan-experience .mv-gallery figure.ux-natural-media {
    max-width: 100%;
    aspect-ratio: auto !important;
}
.page-vw-multivan .legacy-content .multivan-experience .mv-gallery figure.ux-natural-media > img {
    width: 100% !important;
    aspect-ratio: 3 / 2 !important;
    object-fit: contain;
    background: #eaece9;
}
@media (max-width: 600px) {
    .single-post .page-hero.compact { min-height: 0; }
    .single-post .page-hero-content { padding: 28px 20px 32px; }
    .single-post .page-hero h1 { font-size: 30px; }
    .single-post .subpage-main .page-layout.one-column > article.legacy-content { padding: 0; border: 0; border-radius: 0; box-shadow: none; }
    .page-kia-pv5 .legacy-content .ux-sections .is-feature-section figure.ux-natural-media { max-width: 220px; }
    .page-vw-multivan .legacy-content .multivan-experience .mv-seat-panel > figure.ux-natural-media { --portrait-height: 280px; }
    .page-vw-multivan .mv-seating { padding: 28px 0 0; border: 0; border-top: 1px solid #dedbd5; border-radius: 0; }
}
@media (min-width: 1101px) {
    .page-prezentacje-modeli-demo .legacy-content .ux-demo-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .page-prezentacje-modeli-demo .legacy-content .ux-sections .ux-section .ux-demo-list .wa-showcase-card { grid-template-columns: minmax(0, 1fr); align-content: start; gap: 20px; }
    .page-prezentacje-modeli-demo .legacy-content .ux-demo-list .wa-showcase-card figure.ux-natural-media { height: 200px !important; max-width: 100%; aspect-ratio: auto !important; }
    .page-prezentacje-modeli-demo .legacy-content .ux-demo-list .wa-showcase-card figure.ux-natural-media > img { height: 100% !important; aspect-ratio: auto !important; object-fit: contain; background: #f2f2ee; }
    .page-instrukcje-obslugi .legacy-content .ux-sections .ux-section:first-child > .imported-column { max-width: 820px; margin-inline: auto; }
}
.page-rejestracja-pojazdow .page-layout.one-column { max-width: 960px; }
.page-rejestracja-pojazdow .legacy-content hr { border: 0; border-top: 1px solid #e4e2dc; margin-block: 28px 0; }
.subpage-main.blog-index .legacy-content.imported-blog .bdpp-post-list-main { box-shadow: none; border: 1px solid #e4e2dc; border-radius: 14px; }
.subpage-main.blog-index .legacy-content .ux-sections .ux-section h2.bdpp-post-title { font-size: 28px !important; line-height: 1.25; margin-block: 8px 20px; }
.subpage-main.blog-index .legacy-content.imported-blog .bdpp-post-list-right { padding: 26px; }
.subpage-main.blog-index .legacy-content.imported-blog .bdpp-post-desc { font-size: 16px; line-height: 1.7; }
.page-lista-aut-do-adaptacji .legacy-content .ux-model-card > figure.ux-natural-media { max-width: 100%; aspect-ratio: 3 / 2 !important; }
.page-lista-aut-do-adaptacji .legacy-content .ux-model-card > figure.ux-natural-media > img { height: 100% !important; aspect-ratio: auto !important; object-fit: contain; background: #f7f7f4; }
.page-lista-aut-do-adaptacji .legacy-content .ux-model-card { display: flex; flex-direction: column; }
.page-lista-aut-do-adaptacji .legacy-content .ux-model-card > .model-catalog-link { margin-top: auto; padding-top: 16px; }
@media (max-width: 600px) {
    .page-rejestracja-pojazdow .legacy-content hr { display: none; }
    .subpage-main.blog-index .legacy-content .ux-sections .ux-section h2.bdpp-post-title { font-size: 25px !important; }
    .subpage-main.blog-index .legacy-content.imported-blog .bdpp-post-list-right { padding: 22px; }
}
:is(.page-polityka-prywatnosci,.page-prosba-o-dostep-do-danych,.page-aktywny_samorzad) .page-layout.one-column { max-width: 960px; }
:is(.page-polityka-prywatnosci,.page-prosba-o-dostep-do-danych) .legacy-content { box-shadow: none; border: 1px solid #e4e2dc; border-radius: 14px; padding: 40px; }
.page-aktywny_samorzad .legacy-content .ux-sections .ux-section figure.ux-natural-media { max-width: min(100%, 309px) !important; margin: 24px auto; }
.page-aktywny_samorzad .legacy-content .imported-section + .imported-section { margin-top: 32px; }
@media (max-width: 600px) {
    :is(.page-polityka-prywatnosci,.page-prosba-o-dostep-do-danych) .legacy-content { padding: 0; border: 0; border-radius: 0; }
}
@media (min-width: 901px) {
    .page-kontakt .legacy-content .is-first-section > .ux-contact-details { display: contents; }
    .page-kontakt .legacy-content .ux-contact-details > .imported-text { grid-column: 1; grid-row: 2; }
    .page-kontakt .legacy-content .ux-contact-details > .imported-row-inner { display: none; }
}
@media (max-width: 900px) {
    .page-kontakt .legacy-content .ux-contact-map-row { grid-row: 4; height: 320px; }
}
@media (max-width: 600px) {
    .page-kontakt .legacy-content .is-first-section { padding: 0; border-radius: 0; }
    .page-kontakt .legacy-content .wpcf7 { padding: 0; border-radius: 14px; }
    .page-kontakt .legacy-content .imported-contact-form { padding: 24px 20px; border-radius: 14px; }
    .page-kontakt .legacy-content .imported-contact-form textarea { min-height: 140px; height: 140px; }
    .page-kontakt .legacy-content .imported-cta { padding: 28px 22px; border-radius: 14px; }
    .page-o-nas .ux-about-strength:not(.ux-about-trust) {
        grid-template-columns: 28px minmax(0, 1fr);
        padding: 24px 0 0;
        border: 0;
        border-top: 1px solid #e4e2dc;
        border-radius: 0;
    }
    .page-o-nas .legacy-content .ux-about-strength:not(.ux-about-trust) > p { grid-column: 1 / -1; }
    .page-o-nas .legacy-content .ux-about-strength h3 { font-size: 21px; }
    .page-o-nas .ux-about-closing { padding: 28px 0 0; border: 0; border-top: 1px solid #e4e2dc; border-radius: 0; }
}
/* Instructional artwork must remain large enough to read, unlike portrait photos. */
.single-post .legacy-content figure.ux-natural-media:has(> img[src*="/3412.webp"]) { max-width: min(100%, 640px) !important; margin-inline: auto; border-radius: 0; }
.page-najazdy .legacy-content figure.ux-natural-media:has(> img[src*="/4389.webp"]) { max-width: min(100%, 460px) !important; margin-inline: auto; }
.postid-38 .legacy-content .imported-text img { display: block; width: 100%; max-width: 460px; height: auto; margin: 24px auto; }
.postid-38 .legacy-content .ux-sections .ux-section .imported-column > figure.ux-natural-media { height: 270px !important; max-width: 100%; aspect-ratio: auto !important; margin-bottom: 20px; }
.postid-38 .legacy-content .ux-sections .ux-section .imported-column > figure.ux-natural-media > img { height: 100% !important; aspect-ratio: auto !important; object-fit: contain; }
.postid-38 .legacy-content .ux-sections .ux-section .imported-column > figure + h2 { font-size: 26px !important; }
@media (max-width: 600px) {
    .postid-38 .legacy-content .ux-sections .ux-section .imported-column > figure.ux-natural-media { height: auto !important; aspect-ratio: var(--media-ratio) !important; }
    .postid-38 .legacy-content .ux-sections .ux-section .imported-column > figure.ux-natural-media > img { height: auto !important; }
}

/* Standalone photographs can fill the text column beside them. Gallery rails,
   logos and technical illustrations retain their existing natural-size frames. */
@media (min-width: 1101px) {
    .page-winda-podpodlogowa-3 .legacy-content .ux-sections .is-checklist-section > .imported-column:has(> figure.is-portrait:only-child) {
        --feature-photo-position: absolute;
        --feature-photo-height: 100%;
        --feature-photo-fit: cover;
        align-self: stretch !important;
        position: relative;
        min-height: 360px;
    }
}
@media (min-width: 1301px) {
    .page-winda-fiorella .legacy-content .ux-sections .imported-row.is-long-copy-section { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    :is(.page-rampy, .page-winda-fiorella) .legacy-content .ux-sections .is-long-copy-section > .imported-column:has(> figure.is-portrait:only-child) {
        --feature-photo-position: absolute;
        --feature-photo-height: 100%;
        --feature-photo-fit: cover;
        align-self: stretch !important;
        position: relative;
        min-height: 360px;
    }
}
:is(.page-rampy, .page-winda-fiorella, .page-winda-podpodlogowa-3) .legacy-content .ux-sections .ux-section.is-split-section > .imported-column > figure.is-portrait:only-child {
    position: var(--feature-photo-position, static);
    inset: 0;
    width: 100%;
    max-width: 100% !important;
    height: var(--feature-photo-height, auto) !important;
    aspect-ratio: var(--media-ratio) !important;
    margin: 0;
}
:is(.page-rampy, .page-winda-fiorella, .page-winda-podpodlogowa-3) .legacy-content .ux-sections .ux-section.is-split-section > .imported-column > figure.is-portrait:only-child > img {
    height: var(--feature-photo-height, auto) !important;
    aspect-ratio: var(--media-ratio) !important;
    object-fit: var(--feature-photo-fit, contain);
    object-position: center;
    border-radius: inherit;
}
@media (max-width: 1100px) {
    .page-winda-podpodlogowa-3 .legacy-content .ux-sections .imported-row.ux-section.is-checklist-section { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1300px) {
    :is(.page-rampy, .page-winda-fiorella) .legacy-content .ux-sections .imported-row.is-long-copy-section { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 601px) and (max-width: 1300px) {
    :is(.page-rampy, .page-winda-fiorella) .legacy-content .ux-sections .ux-section.is-split-section > .imported-column > figure.is-portrait:only-child { max-width: min(100%, calc(560px * var(--media-ratio))) !important; margin-inline: auto; }
}
@media (min-width: 601px) and (max-width: 1100px) {
    .page-winda-podpodlogowa-3 .legacy-content .ux-sections .imported-row.ux-section.is-checklist-section > .imported-column > figure.is-portrait:only-child { max-width: min(100%, calc(560px * var(--media-ratio))) !important; margin-inline: auto; }
}
@media (max-width: 600px) {
    .subpage-main .legacy-content .ux-sections .ux-product-media > figure.is-portrait,
    .subpage-main .legacy-content .ux-sections .ux-connected-intro > figure.ux-connected-visual.is-portrait,
    .subpage-main .legacy-content .ux-sections.model-page .model-overview .model-hero > figure.model-hero-photo.is-portrait {
        width: 100%;
        max-width: 100% !important;
    }
}

/* Give the product photograph the same full-height area as its explanation,
   with the unchanged heading spanning both columns above it. */
@media (min-width: 1301px) {
    .pasy-product-page .pasy-intro { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 36px; }
    .pasy-product-page .pasy-intro-copy { display: contents; }
    .pasy-product-page .pasy-intro-copy > .pasy-eyebrow { grid-column: 1 / -1; grid-row: 1; margin: 0; }
    .pasy-product-page .pasy-intro-copy > h1 { grid-column: 1 / -1; grid-row: 2; margin: 0; }
    .pasy-product-page .pasy-intro-copy > .pasy-lead { grid-column: 1; grid-row: 3; margin: 0; }
    .pasy-product-page .pasy-intro-copy > .pasy-prose { grid-column: 1; grid-row: 4; margin: 0; }
    .pasy-product-page .pasy-intro-copy > p:last-child { grid-column: 1; grid-row: 5; margin: 0; }
    .pasy-product-page .pasy-intro > .pasy-intro-media { grid-column: 2; grid-row: 3 / 6; align-self: stretch; position: relative; top: auto; height: 100%; }
    .pasy-product-page .pasy-intro-media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
    .pasy-product-page .pasy-intro-media > br { display: none; }
}

@media (min-width: 1021px) and (max-width: 1300px) {
    .pasy-product-page .pasy-intro { grid-template-columns: minmax(0, 1fr); }
    .pasy-product-page .pasy-intro-media { position: static; width: 100%; max-width: 760px; margin-inline: auto; }
}
