/* DGS Feature Grid Oscar Block Styles */

.dgs-feature-grid-oscar {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
    overflow-y: visible;
}

.dgs-feature-grid-oscar__container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-xl);
    padding: var(--section-space-m) 0;
}

/* Image Vertical Alignment */
.dgs-feature-grid-oscar.image-valign-center .dgs-feature-grid-oscar__container {
    align-items: center;
}

.dgs-feature-grid-oscar.image-valign-top .dgs-feature-grid-oscar__container {
    align-items: start;
}

.dgs-feature-grid-oscar.image-valign-bottom .dgs-feature-grid-oscar__container {
    align-items: end;
}

/* Image Column */
.dgs-feature-grid-oscar__image-column {
    position: relative;
}

.dgs-feature-grid-oscar__image-wrapper {
    width: 100%;
    overflow: hidden;
}

.dgs-feature-grid-oscar__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Aspect Ratios */
.dgs-feature-grid-oscar.aspect-ratio-1-1 .dgs-feature-grid-oscar__image-wrapper {
    aspect-ratio: 1 / 1;
}

.dgs-feature-grid-oscar.aspect-ratio-4-3 .dgs-feature-grid-oscar__image-wrapper {
    aspect-ratio: 4 / 3;
}

.dgs-feature-grid-oscar.aspect-ratio-3-4 .dgs-feature-grid-oscar__image-wrapper {
    aspect-ratio: 3 / 4;
}

.dgs-feature-grid-oscar.aspect-ratio-9-16 .dgs-feature-grid-oscar__image-wrapper {
    aspect-ratio: 9 / 16;
}

.dgs-feature-grid-oscar.aspect-ratio-16-9 .dgs-feature-grid-oscar__image-wrapper {
    aspect-ratio: 16 / 9;
}

/* Image Border Radius - All corners (mobile default) */
.dgs-feature-grid-oscar.image-radius-none .dgs-feature-grid-oscar__image-wrapper,
.dgs-feature-grid-oscar.image-radius-none .dgs-feature-grid-oscar__image {
    border-radius: 0;
}

.dgs-feature-grid-oscar.image-radius-small .dgs-feature-grid-oscar__image-wrapper,
.dgs-feature-grid-oscar.image-radius-small .dgs-feature-grid-oscar__image {
    border-radius: var(--radius-s);
}

.dgs-feature-grid-oscar.image-radius-medium .dgs-feature-grid-oscar__image-wrapper,
.dgs-feature-grid-oscar.image-radius-medium .dgs-feature-grid-oscar__image {
    border-radius: var(--radius);
}

.dgs-feature-grid-oscar.image-radius-large .dgs-feature-grid-oscar__image-wrapper,
.dgs-feature-grid-oscar.image-radius-large .dgs-feature-grid-oscar__image {
    border-radius: var(--radius-l);
}

.dgs-feature-grid-oscar.image-radius-xlarge .dgs-feature-grid-oscar__image-wrapper,
.dgs-feature-grid-oscar.image-radius-xlarge .dgs-feature-grid-oscar__image {
    border-radius: var(--radius-xl);
}

/* Content Column */
.dgs-feature-grid-oscar__content-column {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.dgs-feature-grid-oscar__content {
    display: flex;
    flex-direction: column;
    gap: var(--space-m);
}

/* Heading Group - Contains accent and main heading */
.dgs-feature-grid-oscar__heading-group {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Accent Heading - Pill Style */
.dgs-feature-grid-oscar__accent-heading {
    font-size: var(--text-s);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: 0.095em;
    text-transform: uppercase;
    margin: 0;
    display: inline-block;
    width: fit-content;
    padding: var(--space-xs) var(--space-s);
    border-radius: 999px;
}

/* Accent Heading - No background (ultra-light pill) */
.dgs-feature-grid-oscar.color-scheme-primary:not(.has-background) .dgs-feature-grid-oscar__accent-heading {
    background-color: var(--primary-ultra-light);
    color: var(--primary-dark);
}

.dgs-feature-grid-oscar.color-scheme-secondary:not(.has-background) .dgs-feature-grid-oscar__accent-heading {
    background-color: var(--secondary-ultra-light);
    color: var(--secondary-dark);
}

.dgs-feature-grid-oscar.color-scheme-action:not(.has-background) .dgs-feature-grid-oscar__accent-heading {
    background-color: var(--action-ultra-light);
    color: var(--action-dark);
}

.dgs-feature-grid-oscar.color-scheme-accent:not(.has-background) .dgs-feature-grid-oscar__accent-heading {
    background-color: var(--accent-ultra-light);
    color: var(--accent-dark);
}

.dgs-feature-grid-oscar.color-scheme-neutral:not(.has-background) .dgs-feature-grid-oscar__accent-heading {
    background-color: var(--neutral-ultra-light);
    color: var(--neutral-dark);
}

.dgs-feature-grid-oscar.color-scheme-warning:not(.has-background) .dgs-feature-grid-oscar__accent-heading {
    background-color: var(--warning-ultra-light);
    color: var(--warning-dark);
}

/* Accent Heading - With background (light pill) */
.dgs-feature-grid-oscar.has-background.color-scheme-primary .dgs-feature-grid-oscar__accent-heading {
    background-color: var(--primary-light);
    color: var(--primary-dark);
}

.dgs-feature-grid-oscar.has-background.color-scheme-secondary .dgs-feature-grid-oscar__accent-heading {
    background-color: var(--secondary-light);
    color: var(--secondary-dark);
}

.dgs-feature-grid-oscar.has-background.color-scheme-action .dgs-feature-grid-oscar__accent-heading {
    background-color: var(--action-light);
    color: var(--action-dark);
}

.dgs-feature-grid-oscar.has-background.color-scheme-accent .dgs-feature-grid-oscar__accent-heading {
    background-color: var(--accent-light);
    color: var(--accent-dark);
}

.dgs-feature-grid-oscar.has-background.color-scheme-neutral .dgs-feature-grid-oscar__accent-heading {
    background-color: var(--neutral-light);
    color: var(--neutral-dark);
}

.dgs-feature-grid-oscar.has-background.color-scheme-warning .dgs-feature-grid-oscar__accent-heading {
    background-color: var(--warning-light);
    color: var(--warning-dark);
}

/* Accent Heading - Custom color */
.dgs-feature-grid-oscar.color-scheme-custom .dgs-feature-grid-oscar__accent-heading {
    background-color: var(--custom-button-color);
    color: var(--white);
    opacity: 0.9;
}

/* Accent Heading - No background (must override color scheme backgrounds) */
.dgs-feature-grid-oscar.no-accent-background .dgs-feature-grid-oscar__accent-heading {
    background-color: transparent !important;
    padding-left: 0;
    padding-right: 0;
    color: var(--neutral-dark);
}

/* Flip Heading Order - Reverse order within heading group */
.dgs-feature-grid-oscar.flip-heading-order .dgs-feature-grid-oscar__heading-group {
    flex-direction: column-reverse;
}

/* Main Heading */
.dgs-feature-grid-oscar__heading {
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
}

/* Heading sizes based on selected tag */
.dgs-feature-grid-oscar.heading-h1 .dgs-feature-grid-oscar__heading {
    font-size: var(--h1);
}

.dgs-feature-grid-oscar.heading-h2 .dgs-feature-grid-oscar__heading {
    font-size: var(--h2);
}

.dgs-feature-grid-oscar.heading-h3 .dgs-feature-grid-oscar__heading {
    font-size: var(--h3);
}

.dgs-feature-grid-oscar.heading-h4 .dgs-feature-grid-oscar__heading {
    font-size: var(--h4);
}

.dgs-feature-grid-oscar.heading-h5 .dgs-feature-grid-oscar__heading {
    font-size: var(--h5);
}

.dgs-feature-grid-oscar.heading-h6 .dgs-feature-grid-oscar__heading {
    font-size: var(--h6);
}

/* Description */
.dgs-feature-grid-oscar__description {
    font-size: var(--text-m);
    line-height: var(--text-m-line-height);
    color: var(--neutral-dark);
}

.dgs-feature-grid-oscar__description p {
    margin: 0;
}

/* Button */
.dgs-feature-grid-oscar__button-wrapper {
    margin-top: var(--space-s);
}

.dgs-feature-grid-oscar__button {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-s) var(--space-m);
    background-color: var(--neutral-dark);
    color: var(--white);
    text-decoration: none;
    font-weight: 500;
    font-size: var(--text-m);
    border-radius: var(--radius);
    transition: all 0.3s ease;
}

.dgs-feature-grid-oscar__button:hover {
    transform: translateY(-2px);
    box-shadow: var(--box-shadow-m);
}

.dgs-feature-grid-oscar__button svg {
    width: 20px;
    height: 20px;
    transition: transform 0.3s ease;
}

.dgs-feature-grid-oscar__button:hover svg {
    transform: translateX(4px);
}

/* Image Alignment */
/* Default: Image Left, Content Right (grid order is already correct) */

/* Image Right: Swap order */
.dgs-feature-grid-oscar.image-align-right .dgs-feature-grid-oscar__container {
    grid-template-columns: 1fr 1fr;
}

.dgs-feature-grid-oscar.image-align-right .dgs-feature-grid-oscar__image-column {
    order: 2;
}

.dgs-feature-grid-oscar.image-align-right .dgs-feature-grid-oscar__content-column {
    order: 1;
}

/* Background Color Schemes - Ultra Light Variants */
.dgs-feature-grid-oscar.has-background {
    padding: var(--space-xl);
    padding-bottom: 0;
}

.dgs-feature-grid-oscar.has-background .dgs-feature-grid-oscar__container {
    padding-top: 0;
    padding-bottom: 0;
}

.dgs-feature-grid-oscar.has-background .dgs-feature-grid-oscar__content-column {
    padding: var(--space-xl) 0;
}

.dgs-feature-grid-oscar.has-background.image-valign-top .dgs-feature-grid-oscar__content-column {
    padding-top: 0;
}

.dgs-feature-grid-oscar.has-background.color-scheme-primary {
    background-color: var(--primary-ultra-light);
}

.dgs-feature-grid-oscar.has-background.color-scheme-secondary {
    background-color: var(--secondary-ultra-light);
}

.dgs-feature-grid-oscar.has-background.color-scheme-action {
    background-color: var(--action-ultra-light);
}

.dgs-feature-grid-oscar.has-background.color-scheme-accent {
    background-color: var(--accent-ultra-light);
}

.dgs-feature-grid-oscar.has-background.color-scheme-neutral {
    background-color: var(--neutral-ultra-light);
}

.dgs-feature-grid-oscar.has-background.color-scheme-warning {
    background-color: var(--warning-ultra-light);
}

.dgs-feature-grid-oscar.has-background.color-scheme-custom {
    background-color: var(--custom-bg-color);
}

/* Border Radius Variants */
.dgs-feature-grid-oscar.border-radius-none {
    border-radius: 0;
}

.dgs-feature-grid-oscar.border-radius-small {
    border-radius: var(--radius-s);
}

.dgs-feature-grid-oscar.border-radius-medium {
    border-radius: var(--radius);
}

.dgs-feature-grid-oscar.border-radius-large {
    border-radius: var(--radius-l);
}

.dgs-feature-grid-oscar.border-radius-xlarge {
    border-radius: var(--radius-xl);
}

/* Button Color Schemes - Dark Variants */
.dgs-feature-grid-oscar.color-scheme-primary .dgs-feature-grid-oscar__button {
    background-color: var(--primary-dark);
}

.dgs-feature-grid-oscar.color-scheme-primary .dgs-feature-grid-oscar__button:hover {
    background-color: var(--primary);
}

.dgs-feature-grid-oscar.color-scheme-secondary .dgs-feature-grid-oscar__button {
    background-color: var(--secondary-dark);
}

.dgs-feature-grid-oscar.color-scheme-secondary .dgs-feature-grid-oscar__button:hover {
    background-color: var(--secondary);
}

.dgs-feature-grid-oscar.color-scheme-action .dgs-feature-grid-oscar__button {
    background-color: var(--action-dark);
}

.dgs-feature-grid-oscar.color-scheme-action .dgs-feature-grid-oscar__button:hover {
    background-color: var(--action);
}

.dgs-feature-grid-oscar.color-scheme-accent .dgs-feature-grid-oscar__button {
    background-color: var(--accent-dark);
}

.dgs-feature-grid-oscar.color-scheme-accent .dgs-feature-grid-oscar__button:hover {
    background-color: var(--accent);
}

.dgs-feature-grid-oscar.color-scheme-neutral .dgs-feature-grid-oscar__button {
    background-color: var(--neutral-dark);
}

.dgs-feature-grid-oscar.color-scheme-neutral .dgs-feature-grid-oscar__button:hover {
    background-color: var(--neutral);
}

.dgs-feature-grid-oscar.color-scheme-warning .dgs-feature-grid-oscar__button {
    background-color: var(--warning-dark);
}

.dgs-feature-grid-oscar.color-scheme-warning .dgs-feature-grid-oscar__button:hover {
    background-color: var(--warning);
}

.dgs-feature-grid-oscar.color-scheme-custom .dgs-feature-grid-oscar__button {
    background-color: var(--custom-button-color);
}

.dgs-feature-grid-oscar.color-scheme-custom .dgs-feature-grid-oscar__button:hover {
    opacity: 0.9;
}

/* Responsive Styles */
@media (max-width: 768px) {
    .dgs-feature-grid-oscar__container,
    .dgs-feature-grid-oscar.image-align-right .dgs-feature-grid-oscar__container {
        grid-template-columns: 1fr;
        gap: var(--space-l);
        padding: var(--section-space-s) 0;
    }

    /* On mobile, image is always first regardless of desktop alignment */
    .dgs-feature-grid-oscar .dgs-feature-grid-oscar__image-column,
    .dgs-feature-grid-oscar.image-align-right .dgs-feature-grid-oscar__image-column {
        order: 1;
    }

    .dgs-feature-grid-oscar .dgs-feature-grid-oscar__content-column,
    .dgs-feature-grid-oscar.image-align-right .dgs-feature-grid-oscar__content-column {
        order: 2;
        align-items: center;
        text-align: center;
    }

    /* Center heading group on mobile */
    .dgs-feature-grid-oscar__heading-group {
        align-items: center;
    }

    .dgs-feature-grid-oscar__description {
        font-size: var(--text-s);
    }

    /* When background enabled on mobile, add back bottom padding since content is at bottom */
    .dgs-feature-grid-oscar.has-background {
        padding: var(--space-l);
    }
}

@media (min-width: 769px) {
    /* Desktop: Image border radius only on top corners when background enabled AND image aligned to bottom */
    .dgs-feature-grid-oscar.has-background.image-valign-bottom.image-radius-none .dgs-feature-grid-oscar__image-wrapper,
    .dgs-feature-grid-oscar.has-background.image-valign-bottom.image-radius-none .dgs-feature-grid-oscar__image {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }

    .dgs-feature-grid-oscar.has-background.image-valign-bottom.image-radius-small .dgs-feature-grid-oscar__image-wrapper,
    .dgs-feature-grid-oscar.has-background.image-valign-bottom.image-radius-small .dgs-feature-grid-oscar__image {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }

    .dgs-feature-grid-oscar.has-background.image-valign-bottom.image-radius-medium .dgs-feature-grid-oscar__image-wrapper,
    .dgs-feature-grid-oscar.has-background.image-valign-bottom.image-radius-medium .dgs-feature-grid-oscar__image {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }

    .dgs-feature-grid-oscar.has-background.image-valign-bottom.image-radius-large .dgs-feature-grid-oscar__image-wrapper,
    .dgs-feature-grid-oscar.has-background.image-valign-bottom.image-radius-large .dgs-feature-grid-oscar__image {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }

    .dgs-feature-grid-oscar.has-background.image-valign-bottom.image-radius-xlarge .dgs-feature-grid-oscar__image-wrapper,
    .dgs-feature-grid-oscar.has-background.image-valign-bottom.image-radius-xlarge .dgs-feature-grid-oscar__image {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }
}

@media (max-width: 1024px) and (min-width: 769px) {
    .dgs-feature-grid-oscar__container {
        gap: var(--space-l);
    }
}
