/* Gemeinsame Mobilansicht aller Invicta-Pagebuilder-Seiten. */
@media (max-width: 620px) {
    :is(
        .pb-hosting,
        .pb-hosting2,
        .pb-marketing,
        .pb-seoki,
        .pb-shops,
        .pb-customer,
        .pb-brands,
        .pb-content-creation,
        .pb-about,
        .pb-career,
        .pb-reference-showcase,
        .pb-reference-detail
    ) {
        width: calc(100vw - 32px) !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        overflow: visible !important;
    }
    :is(
            .pb-marketing,
            .pb-seoki,
            .pb-shops,
            .pb-customer,
            .pb-brands,
            .pb-content-creation,
            .pb-about,
            .pb-career
        )
        h2 {
        font-size: 30px !important;
        line-height: 1.06 !important;
    }
    :is(
            .pb-marketing,
            .pb-seoki,
            .pb-shops,
            .pb-customer,
            .pb-brands,
            .pb-content-creation,
            .pb-about,
            .pb-career
        )
        p {
        font-size: 13px !important;
        line-height: 1.6 !important;
    }

    /* Große Bild-Heros: Visual oben, Inhalt darunter. */
    :is(
        .pb-marketing-hero,
        .pb-seoki-hero,
        .pb-shops-hero,
        .pb-customer-hero,
        .pb-brands-hero,
        .pb-content-hero,
        .pb-about-hero,
        .pb-career-hero
    ) {
        display: flex !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        flex-direction: column !important;
        background: #fafaf9 !important;
    }
    :is(
            .pb-marketing-hero,
            .pb-seoki-hero,
            .pb-shops-hero,
            .pb-customer-hero,
            .pb-brands-hero,
            .pb-content-hero,
            .pb-about-hero,
            .pb-career-hero
        )
        > img {
        position: relative !important;
        order: 1 !important;
        inset: auto !important;
        width: 100% !important;
        height: 245px !important;
        object-fit: cover !important;
        object-position: 72% center !important;
    }
    :is(
        .pb-marketing-hero-copy,
        .pb-seoki-hero-copy,
        .pb-shops-hero > div,
        .pb-customer-hero > div,
        .pb-brands-copy,
        .pb-content-hero > div,
        .pb-about-hero > div,
        .pb-career-copy
    ) {
        position: relative !important;
        order: 2 !important;
        inset: auto !important;
        width: 100% !important;
        max-width: none !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 30px 6px 40px !important;
        border: 0 !important;
        transform: none !important;
    }
    :is(
        .pb-marketing-buttons,
        .pb-seoki-buttons,
        .pb-shops-buttons,
        .pb-customer-buttons,
        .pb-brands-buttons,
        .pb-content-buttons,
        .pb-about-buttons
    ) {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        margin-top: 22px !important;
    }
    :is(
            .pb-marketing-buttons,
            .pb-seoki-buttons,
            .pb-shops-buttons,
            .pb-customer-buttons,
            .pb-brands-buttons,
            .pb-content-buttons,
            .pb-about-buttons
        )
        > a {
        width: 100% !important;
        min-width: 0 !important;
        height: 45px !important;
        padding: 0 16px !important;
    }

    /* Vorteil- und Leistungsraster. */
    :is(
        .pb-marketing-cards,
        .pb-seoki-benefits,
        .pb-shops-benefits,
        .pb-customer-benefits,
        .pb-brands-benefits,
        .pb-content-benefits,
        .pb-about-benefits,
        .pb-career-benefits
    ) {
        display: grid !important;
        grid-template-columns: 1fr !important;
        height: auto !important;
        gap: 10px !important;
        padding: 22px 0 35px !important;
    }
    :is(
            .pb-marketing-cards,
            .pb-seoki-benefits,
            .pb-shops-benefits,
            .pb-customer-benefits,
            .pb-brands-benefits,
            .pb-content-benefits,
            .pb-about-benefits,
            .pb-career-benefits
        )
        > article {
        min-height: 96px !important;
        height: auto !important;
        padding: 18px !important;
        border: 1px solid #e2e2e0 !important;
        background: #fff !important;
        transform: none !important;
    }
    :is(
        .pb-marketing-service-grid,
        .pb-seoki-service-grid,
        .pb-shops-service-grid,
        .pb-customer-service-grid,
        .pb-content-service-grid
    ) {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
    :is(
            .pb-marketing-service-grid,
            .pb-seoki-service-grid,
            .pb-shops-service-grid,
            .pb-customer-service-grid,
            .pb-content-service-grid
        )
        > article {
        height: auto !important;
        min-height: 112px !important;
        padding: 19px !important;
        transform: none !important;
    }

    /* Mittlere Inhaltsbereiche. */
    :is(
        .pb-marketing-funnel,
        .pb-seoki-middle,
        .pb-shops-platform,
        .pb-customer-services,
        .pb-brands-process,
        .pb-content-services,
        .pb-about-story
    ) {
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 38px 6px !important;
        background-size: cover !important;
        overflow: visible !important;
    }
    :is(
        .pb-marketing-funnel-copy,
        .pb-shops-platform-copy,
        .pb-customer-services-copy,
        .pb-brands-process > div:first-child,
        .pb-content-copy,
        .pb-about-story > div:first-child
    ) {
        width: 100% !important;
        max-width: none !important;
        margin: 0 0 28px !important;
        padding: 0 !important;
        transform: none !important;
    }
    :is(
        .pb-marketing-funnel-metrics,
        .pb-shops-platform-grid,
        .pb-brands-process-grid,
        .pb-about-stats
    ) {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    :is(
            .pb-marketing-funnel-metrics,
            .pb-shops-platform-grid,
            .pb-brands-process-grid,
            .pb-about-stats
        )
        > article {
        height: auto !important;
        min-height: 105px !important;
        padding: 18px !important;
        transform: none !important;
    }

    /* Banner, Kennzahlen und Prozessraster. */
    .pb-marketing-banner {
        height: auto !important;
        min-height: 0 !important;
        padding: 235px 5px 30px !important;
        background-size: auto 235px !important;
        background-position: center top !important;
        background-repeat: no-repeat !important;
    }
    .pb-marketing-banner-cards {
        position: relative !important;
        inset: auto !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 9px !important;
        margin-top: 25px !important;
    }
    .pb-marketing-banner-cards > article {
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        transform: none !important;
    }
    :is(.pb-marketing-process, .pb-seoki-process, .pb-shops-process, .pb-customer-process) {
        height: auto !important;
        min-height: 0 !important;
        padding: 35px 0 !important;
    }
    .pb-marketing-process {
        display: none !important;
    }
    :is(.pb-seoki-process-grid, .pb-shops-process-grid, .pb-customer-process-grid) {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
    .pb-seoki-process-grid {
        display: none !important;
    }
    :is(
        .pb-marketing-stats,
        .pb-seoki-stats,
        .pb-shops-stats,
        .pb-customer-stats,
        .pb-content-stats,
        .pb-career-stats
    ) {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        height: auto !important;
        gap: 1px !important;
        padding: 0 !important;
    }
    :is(
            .pb-marketing-stats,
            .pb-seoki-stats,
            .pb-shops-stats,
            .pb-customer-stats,
            .pb-content-stats,
            .pb-career-stats
        )
        > article {
        min-height: 120px !important;
        height: auto !important;
        padding: 20px 12px !important;
        border: 1px solid rgba(150, 150, 150, 0.2) !important;
        transform: none !important;
    }

    /* Abschlussbilder und CTA. */
    :is(
        .pb-marketing-final,
        .pb-seoki-final,
        .pb-shops-final,
        .pb-customer-final,
        .pb-brands-final,
        .pb-content-final,
        .pb-about-final
    ) {
        display: flex !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 0 35px !important;
        padding: 0 !important;
        overflow: visible !important;
        flex-direction: column !important;
    }
    :is(
            .pb-marketing-final,
            .pb-seoki-final,
            .pb-shops-final,
            .pb-customer-final,
            .pb-brands-final,
            .pb-content-final,
            .pb-about-final
        )
        > img {
        position: relative !important;
        order: 1 !important;
        inset: auto !important;
        width: 100% !important;
        height: 210px !important;
        object-fit: cover !important;
        object-position: 70% center !important;
    }
    :is(
            .pb-marketing-final,
            .pb-seoki-final,
            .pb-shops-final,
            .pb-customer-final,
            .pb-brands-final,
            .pb-content-final,
            .pb-about-final
        )
        > div {
        position: relative !important;
        order: 2 !important;
        inset: auto !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 28px 6px 34px !important;
        transform: none !important;
    }

    /* Brands, Content, Über uns. */
    .pb-brands-showcase {
        display: block !important;
        padding: 38px 6px !important;
    }
    .pb-brands-showcase-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }
    .pb-brands-showcase-grid article {
        height: auto !important;
    }
    .pb-brands-showcase-grid img {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1/1 !important;
        object-fit: cover !important;
    }
    .pb-about-journey {
        padding: 38px 6px !important;
    }
    .pb-about-milestones {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
    .pb-about-milestones article {
        min-height: 110px !important;
        padding: 18px !important;
        border: 1px solid #ddd !important;
    }
    .pb-about-final {
        background: #0d0f12 !important;
        color: #fff !important;
    }

    /* Karriere einschließlich Bewerbungsformular. */
    .pb-career-apply {
        padding: 0 6px 30px !important;
    }
    .pb-career-button {
        width: 100% !important;
        justify-content: space-between !important;
    }
    .pb-career-culture {
        padding: 35px 6px !important;
    }
    .pb-career-quote {
        display: block !important;
    }
    .pb-career-culture-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
    .pb-career-form-section {
        display: block !important;
        padding: 40px 6px !important;
    }
    .pb-career-form-intro,
    .pb-career-form-card {
        width: 100% !important;
        max-width: none !important;
    }
    .pb-career-form-card {
        margin-top: 28px !important;
        padding: 22px !important;
    }
    .pb-career-form-grid {
        grid-template-columns: 1fr !important;
    }
    .pb-career-form-grid .wide {
        grid-column: auto !important;
    }

    /* Hosting. */
    .pb-hosting {
        display: flex !important;
        flex-direction: column !important;
    }
    .pb-hosting-visual {
        position: relative !important;
        order: 1 !important;
        width: 100% !important;
        height: 240px !important;
    }
    .pb-hosting-copy {
        order: 2 !important;
        width: 100% !important;
        min-height: 0 !important;
        padding: 30px 6px 35px !important;
        border-left: 0 !important;
    }
    .pb-hosting h2 {
        font-size: 34px !important;
    }
    .pb-hosting-features {
        grid-template-columns: 1fr 1fr !important;
    }
    .pb-hosting-features li {
        padding: 14px !important;
        border: 0 !important;
    }
    .pb-hosting-cta {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
        padding: 25px 22px !important;
    }
    .pb-hosting-cta > p {
        padding: 0 !important;
        border: 0 !important;
    }
    .pb-hosting-cta a {
        width: 100% !important;
        justify-content: space-between !important;
    }
    .pb-hosting-benefits {
        grid-template-columns: 1fr !important;
    }
    .pb-hosting-benefits li {
        border-left: 0 !important;
        border-top: 1px solid #ddd !important;
    }
    .pb-hosting2 {
        display: flex !important;
        flex-direction: column !important;
    }
    .pb-hosting2-visual {
        position: relative !important;
        order: 1 !important;
        width: 100% !important;
        height: 250px !important;
    }
    .pb-hosting2-copy {
        order: 2 !important;
        width: 100% !important;
        min-height: 0 !important;
        padding: 30px 6px !important;
    }
    .pb-hosting2-copy h2 {
        font-size: 34px !important;
    }
    .pb-hosting2-features {
        grid-template-columns: 1fr 1fr !important;
    }
    .pb-hosting2-status {
        position: relative !important;
        order: 3 !important;
        right: auto !important;
        top: auto !important;
        width: 100% !important;
        padding: 0 0 25px !important;
    }
    .pb-hosting2-cta {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }
    .pb-hosting2-benefits {
        grid-template-columns: 1fr !important;
    }
    .pb-hosting2-benefits li {
        border-left: 0 !important;
        border-top: 1px solid #ddd !important;
    }

    /* Referenzübersicht und Detailseite. */
    .pb-reference-head {
        display: flex !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 0 !important;
        flex-direction: column !important;
    }
    .pb-reference-head > img {
        position: relative !important;
        order: 1 !important;
        width: 100% !important;
        height: 230px !important;
        object-fit: cover !important;
        object-position: 72% center !important;
    }
    .pb-reference-head-copy {
        order: 2 !important;
        width: 100% !important;
        padding: 28px 5px 35px !important;
    }
    .pb-reference-head h1 {
        font-size: 32px !important;
    }
    .pb-reference-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    .pb-reference-card {
        grid-column: auto !important;
    }
    .pb-reference-image,
    .pb-reference-card:nth-child(3n + 1) .pb-reference-image {
        height: 230px !important;
    }
    .pb-reference-copy {
        padding: 20px !important;
    }
    .pb-reference-cta {
        display: block !important;
        padding: 25px 20px !important;
    }
    .pb-reference-cta > a {
        width: 100% !important;
        margin-top: 20px !important;
    }
    .pb-rd-top {
        padding: 30px 22px 40px 35px !important;
    }
    .pb-rd-hero {
        height: 280px !important;
    }
    .pb-rd-meta {
        grid-template-columns: 1fr !important;
    }
    .pb-rd-story {
        grid-template-columns: 1fr !important;
    }
    .pb-rd-content-image {
        height: 280px !important;
    }
    .pb-rd-result {
        padding: 45px 22px !important;
    }
    .pb-rd-cta {
        display: block !important;
    }
    .pb-rd-cta > a {
        width: 100% !important;
        margin-top: 20px !important;
    }
}
