@keyframes throb {
  0% {
    opacity: 0.3;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.3;
  }
}

.block-features-accordion {
    margin: 0;
    padding: var(--spacing-top) 0 var(--spacing-bottom) 0;
    position: relative;
    background: var(--bgcolor);

    --gap-grid: 40px;


    h2 {
        font-size: clamp(28px,3.6vw,36px);
        font-weight: 700;
        line-height: 1.33;
    }

    .accordion {
        display: grid;
        grid-template-columns: repeat(1,1fr);
        gap: var(--gap-grid);
        position: relative;
        grid-template-rows: auto 1fr;
    }

    .figureplaceholder {
        display: none;
        min-width: 0;
    }

    header {
        grid-row: 1;
        grid-column: 1;
    }

    .drawers {
        grid-row: 2;
        grid-column: 1;
    }

    .drawer {
        border-top: 1px solid #CCCFD3;
        padding: 20px 0;

        button {
            --color: #171C21;
            background: none;
            color: var(--color);
            font-family: var(--font-avenir);
            font-size: clamp(18px,2vw,20px);
            font-weight: 800;
            line-height: 1.4;
            border: 0;
            padding: 0;
            text-align: left;
            width: 100%;
            display: flex;
            justify-content: space-between;
            white-space: normal;

            &::after {
                content:'';
                mask-image: var(--icon-chevron-light);
                mask-size: cover;
                background-color: var(--color);
                display: block;
                width: 24px;
                height: 24px;
                transform: rotate(90deg);
                transition: transform .3s ease-in-out;

            }

            &::before {
                content:'';
                display: block;
                width: 24px;
                height: 24px;
                outline: 2px solid #CA4A2B;
                outline-offset: 2px;
                position: absolute;
                right: 0;
                border-radius: 4px;
                opacity: 0;
            }

            &:focus, &:hover, &:focus-visible {
                background: none;
                color: var(--color);
            }

            &:focus-visible::before {
                opacity: 1;
            }
        }

        .content {
            display: grid;            ;
            grid-template-rows: 0fr;
            transition: grid-template-rows .3s ease-in-out;

            p, ul, ol {
                margin: 10px 0;
                padding: 0;
                font-size: clamp(16px,1.6vw,18px);
            }


            & > div {
                overflow: hidden;
            }
        }

        figure {
            display: none;
            position: absolute;
            z-index: 1;
            top: 0;
            left: 0;
            width: calc(50% - (var(--gap-grid) / 2));
            margin: 0;
            max-height: 100%;
            opacity: 0;
            border-radius: 12px;
            overflow: hidden;
            transition: opacity .3s ease-in-out;

            img {
                object-fit: cover;
                width: 100%;
                height: auto;
                margin: 0;
                pointer-events: none;
                border-radius: 12px;

                &.poster {
                    position: absolute;
                    inset: 0;
                    z-index: -1;
                }
            }

            iframe  {
                width: 100%;
                height: 100%;
                object-fit: cover;
                display: none;
                
            }

            canvas {
                aspect-ratio: 1;
                width: 100%;
            }

            &:has(iframe) {
                aspect-ratio: 16/9;
                z-index: 2;
            }

            &[data-aspectratio="rectangle_43"] {
                aspect-ratio: 4/3;
            }

            &[data-aspectratio="square"] {
                aspect-ratio: 1;

                iframe  {
                    aspect-ratio: 1;
                }
            }

        }

        nav {
            display: flex;
            flex-direction: column;
            gap: 8px;
            margin-top: 18px;
        }
        

        a {
            --color: #000;
            --color-focus: #000;
    
            font-size: clamp(16px,1.6vw,18px);
            text-decoration: 1px underline;
            text-underline-offset: 2px;
            font-family: var(--font-avenir);
            font-weight: 800;
            color: var(--color);
            display: inline flex;
            align-items: center;
            position: relative;
            transition: all .3s ease-in-out;
            display: none;
    
            &::after {
                content: '';
                mask-image: var(--icon-chevron-light);
                mask-size: cover;
                background-color: var(--color);
                width: 24px;
                aspect-ratio: 1;
                display: block;
                transition: all .3s ease-in-out;
            }
    
            &:hover, &:focus-visible {
                --color: #CA4A2B;
                text-decoration: 1px underline;
                text-underline-offset: 2px;
            }
  
       }

        button[aria-expanded="true"] {
            &::after {
                transform: rotate(-90deg);
            }

            & + .content {
                grid-template-rows: 1fr;
                padding-top: 18px;

                figure {
                    opacity: 1;
                }

                a {
                    display: flex;
                }

                iframe {
                    display: block;
                    opacity: 0;


                    &[src] {
                        opacity: 1;
                    }


                }
            }
        }
    }





    @media screen and (min-width: 748px) {
        --gap-grid: 48px;

        .accordion {
            grid-template-columns: repeat(2,1fr);
        }

        .figureplaceholder {
            grid-area: 1 / 1 / span 2 / span 1;
            display: block;
        }

        header {
            grid-row: 1;
            grid-column: 2;
        }
    
        .drawers {
            grid-row: 2;
            grid-column: 2;
        }

        .drawer {
            figure {
                display: block;
            }
        }

    }

}