.wp-block-sowmedia-card {
    border-radius: var(--wp--custom--global--border--radius--base);
    position: relative;
    box-shadow: var(--wp--preset--shadow--subtle);
    overflow: hidden;
    z-index: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    background: var(--wp--preset--color--base);
    color: var(--wp--preset--color--contrast);
    transition: box-shadow 0.3s ease-in-out;


    &,
    &[class*="is-style-section-"] {
        padding: var(--wp--preset--spacing--60);
    }
}

.wp-block-sowmedia-card__inner-container{
    height: 100%;
    display: flex;
    flex-direction: column;
    flex: 1;

    & > * {
        margin-top: var(--wp--preset--spacing--50);
    }

    & > :first-child {
        margin-top: 0;
    }
}

/* Inner blocks */

.wp-block-sowmedia-card__inner-containerp.is-style-badge {
    background-color: var(--wp--preset--color--base);
    color: var(--wp--preset--color--primary);
}

.wp-block-sowmedia-card__inner-container .wp-block-image img {
    width: 100%;
}

.wp-block-sowmedia-card__inner-container> :first-child.wp-block-cover,
.wp-block-sowmedia-card__inner-container> :first-child.wp-block-image {
    margin-top: calc(-1 * var(--wp--preset--spacing--60));
    margin-left: calc(-1 * var(--wp--preset--spacing--60));
    margin-right: calc(-1 * var(--wp--preset--spacing--60));
    margin-bottom: 0;
    
    &,
    & img {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }
}

.wp-block-sowmedia-card__inner-container> :first-child.wp-block-cover + *,
.wp-block-sowmedia-card__inner-container> :first-child.wp-block-image + * {
    margin-top: var(--wp--preset--spacing--60);
}

.wp-block-sowmedia-card__inner-container> :last-child.wp-block-cover,
.wp-block-sowmedia-card__inner-container> :last-child.wp-block-image {
    margin-bottom: calc(-1 * var(--wp--preset--spacing--60));
    margin-left: calc(-1 * var(--wp--preset--spacing--60));
    margin-right: calc(-1 * var(--wp--preset--spacing--60));
    margin-top: var(--wp--preset--spacing--60);
    flex: 1;

    &,
    & img {
        border-top-left-radius: 0;
        border-top-right-radius: 0;
    }
}

.wp-block-sowmedia-card__inner-container> :last-child.wp-block-buttons {
    flex: 1;
    align-items: flex-end;
    padding-top: var(--wp--preset--spacing--60);
    margin-top: 0;
}

.wp-block-sowmedia-card:not(.has-no-stretched-link) .wp-block-buttons .wp-block-button__link:before {
    content:'';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    z-index: 9;
}

.wp-block-sowmedia-card nav.wp-block-navigation {
    margin-top: var(--wp--preset--spacing--40);
}

/* Card types */

.wp-block-sowmedia-card.is-card-person p {
    margin-top: var(--wp--preset--spacing--30);
}

/* Gradient */

.wp-block-sowmedia-card:not(.has-no-gradient):not(:has(.has-no-gradient))::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: -1;
    background: linear-gradient(150deg, transparent 50%, color-mix(in srgb, var(--wp--preset--color--secondary) 50%, transparent));
    transform-origin: right bottom;
    transition: transform 0.3s ease-in-out;
}

.wp-block-sowmedia-card.is-style-section-base-variant-alt:before {
    background: linear-gradient(150deg, transparent 50%, color-mix(in srgb, var(--wp--preset--color--base) 50%, transparent)) !important;
}

.wp-block-sowmedia-card.is-style-section-base-variant:before {
    background: linear-gradient(150deg, transparent 50%, color-mix(in srgb, var(--wp--preset--color--quinary) 25%, transparent)) !important;
}

.wp-block-sowmedia-card.is-style-section-primary:before {
    background: linear-gradient(150deg, transparent 50%, color-mix(in srgb, var(--wp--preset--color--contrast) 25%, transparent)) !important;
}

.wp-block-sowmedia-card.is-style-section-secondary:before {
    background: linear-gradient(150deg, transparent 50%, color-mix(in srgb, var(--wp--preset--color--primary) 25%, transparent)) !important;
}

.wp-block-sowmedia-card.is-style-section-tertiary:before {
    background: linear-gradient(150deg, transparent 50%, color-mix(in srgb, var(--wp--preset--color--tertiary) 25%, #ffdc56)) !important;
}

.wp-block-sowmedia-card.is-style-section-quaternary:before {
    background: linear-gradient(150deg, transparent 50%, color-mix(in srgb, var(--wp--preset--color--quinary) 35%, transparent)) !important;
}

.wp-block-sowmedia-card.is-style-section-quinary:before {
    background: linear-gradient(150deg, transparent 50%, color-mix(in srgb, red 35%, transparent)) !important;
}

.wp-block-sowmedia-card.is-style-section-contrast:before {
    background: linear-gradient(150deg, transparent 50%, color-mix(in srgb, var(--wp--preset--color--base) 25%, transparent)) !important;
}

/* Labels */

.wp-block-sowmedia-card:not([class*="is-style-section-"]) p.is-style-badge,
.wp-block-sowmedia-card.is-style-section-base p.is-style-badge {
    background-color: var(--wp--preset--color--base-variant-alt);
    color: var(--wp--preset--color--primary);
}

/* Card containers */

.wp-block-column:has(> :first-child:last-child.wp-block-sowmedia-card) {
    display: flex;
}

.wp-block-column:has(> :first-child:last-child.wp-block-sowmedia-card) > .wp-block-sowmedia-card {
    width: 100%;
}

/* Hover */

.wp-block-sowmedia-card:has(.wp-block-button):not(.has-no-stretched-link):not(:has(.has-no-stretched-link)):hover,
.wp-block-sowmedia-card:has(.wp-block-button):not(.has-no-stretched-link):not(:has(.has-no-stretched-link)):active {
    box-shadow: 0 12px 20px color-mix(in srgb, #2A3669 10%, transparent);
    &::before {
        transform: scale(1.25);
    }
}