body header,
        body .wp-site-blocks > header,
        body header.wp-block-template-part {
            position: static !important;
            top: auto !important;
            transform: none !important;
        }

        body.single-product header,
        body.single-product .wp-site-blocks > header,
        body.single-product header.wp-block-template-part {
            position: relative !important;
            z-index: 10030 !important;
        }

        body.single-product header .wc-blocks-pattern-header-essential {
            z-index: 10031 !important;
            overflow: visible !important;
        }

        body.single-product .gsr-obi-header-shell,
        body.single-product .gsr-obi-header-nav,
        body.single-product .gsr-obi-header-item {
            position: relative !important;
            z-index: 10032 !important;
        }

        body.single-product .gsr-obi-header-flyout {
            z-index: 10060 !important;
        }

        @media (min-width: 1121px) {
            header .wc-blocks-pattern-header-essential {
                position: relative !important;
                display: grid !important;
                grid-template-columns: 164px minmax(0, 1fr) !important;
                grid-template-rows: auto auto !important;
                column-gap: 24px !important;
                row-gap: 0 !important;
                align-items: start !important;
                overflow: visible !important;
                padding: 0 40px 20px !important;
                background: #fff4f7 !important;
            }

            header .wc-blocks-pattern-header-essential::before {
                content: "" !important;
                display: block !important;
                grid-column: 1 / -1 !important;
                grid-row: 1 !important;
                height: 235px !important;
                margin: 0 -40px !important;
                background-image: url("https://grundschul-rose.de/wp-content/mu-plugins/assets/gsr-header-banner/grundschul-rose-banner.jpg") !important;
                background-image: image-set(url("https://grundschul-rose.de/wp-content/mu-plugins/assets/gsr-header-banner/grundschul-rose-banner.webp") type("image/webp") 1x, url("https://grundschul-rose.de/wp-content/mu-plugins/assets/gsr-header-banner/grundschul-rose-banner.jpg") type("image/jpeg") 1x) !important;
                background-size: cover !important;
                background-position: center 44% !important;
                border-bottom: 1px solid rgba(255, 255, 255, 0.68) !important;
            }

            header .wc-blocks-pattern-header-essential > .wp-block-group:first-child {
                position: relative !important;
                z-index: 4 !important;
                display: flex !important;
                grid-column: 1 !important;
                grid-row: 2 !important;
                align-items: flex-start !important;
                justify-content: center !important;
                margin-top: -60px !important;
            }

            header .wp-block-site-logo,
            header .custom-logo-link {
                display: inline-flex !important;
            }

            header .wp-block-site-logo img,
            header .custom-logo {
                width: 148px !important;
                height: 148px !important;
                max-width: 148px !important;
                max-height: 148px !important;
                border: 4px solid rgba(255, 255, 255, 0.92) !important;
                border-radius: 999px !important;
                background: #fff !important;
                box-shadow: 0 16px 34px rgba(63, 49, 49, 0.18) !important;
            }

            .gsr-obi-header-shell {
                position: relative !important;
                z-index: 3 !important;
                display: grid !important;
                grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
                column-gap: 16px !important;
                align-items: center !important;
                justify-items: center !important;
                grid-column: 1 / -1 !important;
                grid-row: 2 !important;
                align-self: start !important;
                margin-top: 19px !important;
                width: 100% !important;
                min-height: 56px !important;
            }

            .gsr-obi-header-nav {
                grid-column: 2 !important;
                justify-self: center !important;
                align-self: center !important;
                justify-content: center !important;
                align-items: center !important;
            }

            .gsr-obi-header-search {
                grid-column: 3 !important;
                justify-self: end !important;
                align-self: center !important;
                width: min(430px, 100%) !important;
                min-width: 260px !important;
                max-width: 430px !important;
                margin-left: 0 !important;
                transition: width 180ms ease, max-width 180ms ease !important;
            }

            .gsr-obi-header-search:focus-within {
                width: min(560px, 100%) !important;
                max-width: 560px !important;
            }

            .gsr-obi-header-link {
                min-height: 50px !important;
                padding: 0 14px !important;
                font-size: 19px !important;
                font-weight: 800 !important;
                line-height: 1 !important;
            }

            .gsr-obi-header-searchbar {
                min-height: 56px !important;
                padding: 0 8px 0 20px !important;
            }

            .gsr-obi-header-search-input {
                font-size: 16px !important;
            }

            .gsr-obi-header-search-submit {
                width: 44px !important;
                height: 44px !important;
                min-width: 44px !important;
            }

            .gsr-obi-header-search-submit svg {
                width: 21px !important;
                height: 21px !important;
            }

            .gsr-obi-header-flyout {
                grid-template-columns: repeat(3, minmax(170px, 1fr)) !important;
                min-width: min(720px, calc(100vw - 80px)) !important;
            }

            header .wc-blocks-pattern-header-essential > .wp-block-columns,
            header .wc-blocks-pattern-header-essential > .wp-block-navigation {
                display: none !important;
            }
        }

        @media (min-width: 981px) and (max-width: 1120px) {
            header .wc-blocks-pattern-header-essential {
                display: block !important;
                padding: 10px 18px 12px !important;
                overflow: visible !important;
            }

            header .wc-blocks-pattern-header-essential .wp-block-site-logo,
            header .wc-blocks-pattern-header-essential > .wp-block-group:first-child,
            header .wc-blocks-pattern-header-essential > .wp-block-navigation {
                display: none !important;
            }

            .gsr-obi-header-shell {
                display: none !important;
            }

            .gsr-obi-mobile-shell {
                display: block !important;
            }
        }

        @media (max-width: 1120px) {
            header .wc-blocks-pattern-header-essential {
                position: relative !important;
                width: 100% !important;
                max-width: 100vw !important;
                box-sizing: border-box !important;
                overflow: visible !important;
                padding: 0 14px 12px !important;
                background: #fff4f7 !important;
            }

            header .wc-blocks-pattern-header-essential::before {
                content: "" !important;
                display: block !important;
                height: 118px !important;
                margin: 0 -14px 0 !important;
                background-image: url("https://grundschul-rose.de/wp-content/mu-plugins/assets/gsr-header-banner/grundschul-rose-banner.jpg") !important;
                background-image: image-set(url("https://grundschul-rose.de/wp-content/mu-plugins/assets/gsr-header-banner/grundschul-rose-banner.webp") type("image/webp") 1x, url("https://grundschul-rose.de/wp-content/mu-plugins/assets/gsr-header-banner/grundschul-rose-banner.jpg") type("image/jpeg") 1x) !important;
                background-size: cover !important;
                background-position: center 48% !important;
                border-bottom: 1px solid rgba(255, 255, 255, 0.7) !important;
            }

            .gsr-obi-mobile-shell {
                width: 100% !important;
                max-width: 100% !important;
                box-sizing: border-box !important;
                overflow: hidden !important;
            }

            .gsr-obi-mobile-topbar {
                display: flex !important;
                align-items: center !important;
                gap: 8px !important;
                width: 100% !important;
                max-width: 100% !important;
                box-sizing: border-box !important;
                margin: 8px 0 0 !important;
                overflow: hidden !important;
            }

            .gsr-obi-mobile-topbar > * {
                min-width: 0 !important;
            }

            .gsr-obi-mobile-topbar {
                margin-top: -24px !important;
            }

            .gsr-obi-mobile-logo {
                display: flex !important;
                align-items: center !important;
                justify-content: flex-start !important;
                flex: 0 0 56px !important;
                min-width: 0 !important;
            }

            .gsr-obi-mobile-logo-image,
            .gsr-obi-logo-image {
                width: 56px !important;
                height: 56px !important;
                max-width: 56px !important;
                max-height: 56px !important;
                border: 3px solid rgba(255, 255, 255, 0.94) !important;
                border-radius: 999px !important;
                background: #fff !important;
                box-shadow: 0 10px 22px rgba(63, 49, 49, 0.16) !important;
            }

            .gsr-obi-mobile-search {
                position: relative !important;
                display: block !important;
                width: 0 !important;
                flex: 1 1 0 !important;
                min-width: 0 !important;
                max-width: none !important;
                margin: 0 !important;
                overflow: hidden !important;
            }

            .gsr-obi-mobile-search .gsr-obi-header-searchbar {
                width: 100% !important;
                max-width: 100% !important;
                min-width: 0 !important;
                box-sizing: border-box !important;
                min-height: 42px !important;
                padding: 0 5px 0 12px !important;
                gap: 6px !important;
                background: #ffffff !important;
            }

            .gsr-obi-mobile-search .gsr-obi-header-search-input {
                font-size: 15px !important;
            }

            .gsr-obi-mobile-search .gsr-obi-header-search-submit {
                width: 34px !important;
                height: 34px !important;
                min-width: 34px !important;
            }

            .gsr-obi-mobile-menu-trigger {
                width: 44px !important;
                height: 44px !important;
                flex: 0 0 44px !important;
                display: inline-flex !important;
                align-items: center !important;
                justify-content: center !important;
                padding: 0 !important;
                line-height: 1 !important;
                border-radius: 13px !important;
                background: rgba(255, 255, 255, 0.92) !important;
            }

            .gsr-obi-mobile-menu-trigger svg {
                display: block !important;
                margin: auto !important;
            }

            .gsr-obi-mobile-socials {
                display: none !important;
            }
        }

        @media (min-width: 600px) and (max-width: 1120px) {
            header .wc-blocks-pattern-header-essential {
                display: grid !important;
                grid-template-columns: 136px minmax(0, 1fr) !important;
                grid-template-rows: auto auto !important;
                column-gap: 24px !important;
                row-gap: 0 !important;
                align-items: start !important;
                padding: 0 24px 18px !important;
                overflow: visible !important;
            }

            header .wc-blocks-pattern-header-essential::before {
                grid-column: 1 / -1 !important;
                grid-row: 1 !important;
                height: 190px !important;
                margin: 0 -24px !important;
                background-position: center 44% !important;
            }

            .gsr-obi-mobile-shell {
                display: block !important;
                grid-column: 1 / -1 !important;
                grid-row: 2 !important;
                width: 100% !important;
                max-width: 100% !important;
                margin: -50px 0 -18px !important;
                padding: 0 !important;
                border: 0 !important;
                background: transparent !important;
                box-shadow: none !important;
                overflow: visible !important;
            }

            .gsr-obi-mobile-topbar {
                display: grid !important;
                grid-template-columns: 136px minmax(220px, 1fr) 52px !important;
                align-items: center !important;
                gap: 24px !important;
                width: 100% !important;
                max-width: 100% !important;
                margin: 0 !important;
                overflow: visible !important;
            }

            .gsr-obi-mobile-logo {
                grid-column: 1 !important;
                justify-content: center !important;
                flex: 0 0 136px !important;
            }

            .gsr-obi-mobile-logo-image,
            .gsr-obi-logo-image {
                width: 124px !important;
                height: 124px !important;
                max-width: 124px !important;
                max-height: 124px !important;
                border: 4px solid rgba(255, 255, 255, 0.92) !important;
                border-radius: 999px !important;
                background: #fff !important;
                box-shadow: 0 16px 34px rgba(63, 49, 49, 0.18) !important;
            }

            .gsr-obi-mobile-search {
                grid-column: 2 !important;
                align-self: center !important;
                width: 100% !important;
                min-width: 0 !important;
                max-width: none !important;
                flex: 0 1 auto !important;
                overflow: visible !important;
            }

            .gsr-obi-mobile-search .gsr-obi-header-searchbar {
                min-height: 44px !important;
                padding: 0 6px 0 16px !important;
                gap: 8px !important;
                background: #ffffff !important;
            }

            .gsr-obi-mobile-menu-trigger {
                grid-column: 3 !important;
                justify-self: end !important;
                align-self: center !important;
                width: 48px !important;
                height: 48px !important;
                flex: 0 0 48px !important;
            }
        }

        @media (max-width: 390px) {
            .gsr-obi-mobile-topbar {
                gap: 6px !important;
            }

            .gsr-obi-mobile-logo {
                flex-basis: 50px !important;
            }

            .gsr-obi-mobile-logo-image,
            .gsr-obi-logo-image {
                width: 50px !important;
                height: 50px !important;
                max-width: 50px !important;
                max-height: 50px !important;
            }

            .gsr-obi-mobile-search .gsr-obi-header-search-input {
                font-size: 14px !important;
            }

            .gsr-obi-mobile-menu-trigger {
                width: 42px !important;
                height: 42px !important;
                flex-basis: 42px !important;
            }
        }

        @media (max-width: 599px) {
            header .wc-blocks-pattern-header-essential {
                display: grid !important;
                grid-template-columns: minmax(0, 1fr) !important;
                grid-template-rows: auto auto !important;
                padding: 0 10px 14px !important;
                overflow: visible !important;
            }

            header .wc-blocks-pattern-header-essential::before {
                grid-column: 1 !important;
                grid-row: 1 !important;
                height: 180px !important;
                margin: 0 -10px !important;
                background-position: center 44% !important;
            }

            .gsr-obi-mobile-shell {
                display: block !important;
                grid-column: 1 !important;
                grid-row: 2 !important;
                width: 100% !important;
                max-width: 100% !important;
                margin: -48px 0 -70px !important;
                padding: 0 !important;
                border: 0 !important;
                background: transparent !important;
                box-shadow: none !important;
                overflow: visible !important;
            }

            .gsr-obi-mobile-topbar {
                display: grid !important;
                grid-template-columns: 132px minmax(0, 1fr) 48px !important;
                align-items: center !important;
                gap: 8px !important;
                width: 100% !important;
                max-width: 100% !important;
                margin: 0 !important;
                overflow: visible !important;
            }

            .gsr-obi-mobile-logo {
                grid-column: 1 !important;
                justify-content: center !important;
                flex: 0 0 132px !important;
            }

            .gsr-obi-mobile-logo-image,
            .gsr-obi-logo-image {
                width: 124px !important;
                height: 124px !important;
                max-width: 124px !important;
                max-height: 124px !important;
                border: 4px solid rgba(255, 255, 255, 0.92) !important;
                border-radius: 999px !important;
                background: #fff !important;
                box-shadow: 0 16px 34px rgba(63, 49, 49, 0.18) !important;
            }

            .gsr-obi-mobile-search {
                grid-column: 2 !important;
                align-self: center !important;
                width: 100% !important;
                min-width: 0 !important;
                max-width: none !important;
                flex: 0 1 auto !important;
                overflow: visible !important;
            }

            .gsr-obi-mobile-search .gsr-obi-header-searchbar {
                min-height: 44px !important;
                padding: 0 4px 0 10px !important;
                gap: 6px !important;
                background: #ffffff !important;
            }

            .gsr-obi-mobile-search .gsr-obi-header-search-input {
                font-size: 14px !important;
            }

            .gsr-obi-mobile-search .gsr-obi-header-search-submit {
                width: 34px !important;
                height: 34px !important;
                min-width: 34px !important;
            }

            .gsr-obi-mobile-menu-trigger {
                grid-column: 3 !important;
                justify-self: end !important;
                align-self: center !important;
                width: 48px !important;
                height: 48px !important;
                flex: 0 0 48px !important;
            }
        }

        @media (max-width: 360px) {
            header .wc-blocks-pattern-header-essential {
                padding-right: 8px !important;
                padding-left: 8px !important;
            }

            header .wc-blocks-pattern-header-essential::before {
                margin-right: -8px !important;
                margin-left: -8px !important;
            }

            .gsr-obi-mobile-topbar {
                grid-template-columns: 128px minmax(0, 1fr) 44px !important;
                gap: 6px !important;
            }

            .gsr-obi-mobile-logo {
                flex-basis: 128px !important;
            }

            .gsr-obi-mobile-menu-trigger {
                width: 44px !important;
                height: 44px !important;
                flex-basis: 44px !important;
            }
        }

        @media (max-width: 1120px) {
            body.single-product .gsr-obi-mobile-shell .gsr-obi-mobile-logo-image,
            body.single-product .gsr-obi-mobile-shell .gsr-obi-logo-image {
                width: 124px !important;
                height: 124px !important;
                max-width: 124px !important;
                max-height: 124px !important;
            }
        }