@layer addon {
    .templateBlocks {
        .container {
            @media (max-width: 56em) {
                grid-column: full-start / full-end;
            }
            @media (--max-fablet) {
                grid-column: full-start / full-end;
            }
        }
        .inner {
            @media (min-width: 56em) {
                grid-column: 3 / span 8;
            }
            @media (--min-fablet) {
                grid-column: 3 / span 8;
            }
            .intro {
                display: flex;
                flex-direction: column;
                @media (max-width: 56em) {
                    padding: 0 var(--spacer);
                }
                @media (--max-fablet) {
                    padding: 0 var(--spacer);
                }
            }
        }
        .grid {
            .splide {
                @media (max-width: 56em) {
                    max-width: 100vw;
                }
                @media (--max-fablet) {
                    max-width: 100vw;
                }
            }
            .block {
                flex-direction: column-reverse;
                .inner {
                    padding: var(--padding);
                    padding-top: calc(var(--padding) * 2);
                    .intro {
                        gap: initial;
                        padding: unset;
                        .subTitle {
                            font-style: normal;
                            font-family: var(--font-basic);
                            margin-top: 0;
                        }
                        .content {
                            padding-top: var(--padding);
                            font-size: var(--xs-fontsize);
                            line-height: var(--xs-lineheight);
                            @media (max-width: 56em) {
                                font-size: var(--fontsize);
                                line-height: var(--lineheight);
                            }
                            @media (--max-fablet) {
                                font-size: var(--fontsize);
                                line-height: var(--lineheight);
                            }
                        }
                    }
                }
                .media {
                    padding: calc(var(--padding) / 2);

                    img {
                        aspect-ratio: 1;
                        border-radius: calc(var(--border-radius) / 4 * 3);
                    }
                }
            }
            .item {
                margin-bottom: calc(var(--padding) * 2);
                &:nth-child(2) {
                    top: var(--padding);
                }
                &:nth-child(3) {
                    top: calc(var(--padding) * 2);
                    
                }
                .popup {
                    position: relative;
                    display: block;
                    border-radius: calc(var(--border-radius) / 4 * 3);
                    overflow: hidden;
                    &:before {
                        content: "";
                        position: absolute;
                        z-index: 1;
                        left: 0;
                        top: 0;
                        display: block;
                        background: var(--color2);
                        transition: var(--transition);
                        opacity: 0;
                        width: 100%;
                        height: 100%;
                    }
                    &:hover {
                        @media (hover: hover) {
                            &:before {
                                opacity: 0.25;
                            }
                        }
                    }
                }
            }
        }
    }
}