/**
 * DGS Intro Block - Frontend Styles
 */

/* Block container */
.dgs-intro-block {
    padding: var(--space-xxl, 4rem) var(--space-xl, 2rem);
}

/* Border radius variants */
.dgs-intro-block.border-radius-small {
    border-radius: var(--radius, 1rem);
}

.dgs-intro-block.border-radius-medium {
    border-radius: var(--radius-l, 1.5rem);
}

.dgs-intro-block.border-radius-large {
    border-radius: var(--radius-xl, 2.25rem);
}

.dgs-intro-block.border-radius-xlarge {
    border-radius: var(--radius-xxl, 3.375rem);
}

/* Background color variants - using ultra-light variants */
.dgs-intro-block.has-background.color-scheme-primary {
    background-color: var(--primary-ultra-light);
}

.dgs-intro-block.has-background.color-scheme-secondary {
    background-color: var(--secondary-ultra-light);
}

.dgs-intro-block.has-background.color-scheme-accent {
    background-color: var(--accent-ultra-light);
}

.dgs-intro-block.has-background.color-scheme-neutral {
    background-color: var(--neutral-ultra-light);
}

.dgs-intro-block.has-background.color-scheme-warning {
    background-color: var(--warning-ultra-light);
}

.dgs-intro-block.has-background.color-scheme-action {
    background-color: var(--action-ultra-light);
}

/* Main container - centered content */
.dgs-intro-block__container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-l, 2rem);
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}

/* Heading group wrapper */
.dgs-intro-block__heading-group {
    display: flex;
    flex-direction: column;
    align-items: inherit;
    gap: var(--space-s, 1rem);
    width: 100%;
}

/* Accent text - pill styled */
.dgs-intro-block__accent {
    display: inline-block;
    padding: .25rem var(--space-xs);
    border: 2px solid var(--primary-dark, #4338ca);
    border-radius: 999px;
    font-size: var(--text-s);
    font-weight: 500;
    color: var(--primary-dark, #4338ca);
    background: var(--primary-ultra-light);
    line-height: 1.4;
}

/* Heading */
.dgs-intro-block__heading {
    font-size: var(--h1, 3rem);
    font-weight: 700;
    line-height: 1.1;
    margin: 0;
    max-width: 900px;
}

/* Description */
.dgs-intro-block__description {
    font-size: var(--text-l, 1.25rem);
    color: var(--text, #000000);
    line-height: 1.6;
    max-width: 800px;
    margin: 0;
}

/* Date */
.dgs-intro-block__date {
    font-size: var(--text-l, 1.25rem);
    color: var(--text, #000000);
    line-height: 1.6;
}

/* CTA wrapper */
.dgs-intro-block__cta-wrapper {
    display: flex;
    gap: var(--space-m, 1rem);
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

/* Base button styles */
.dgs-intro-block__button {
    display: inline-block;
    padding: var(--space-s) var(--space-l);
    border-radius: var(--radius-l, 1.5rem);
    font-size: var(--text-m, 1rem);
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.2s ease;
    cursor: pointer;
    border: 2px solid transparent;
}

/* Primary button - solid background */
.dgs-intro-block__button--primary {
    background: var(--primary-dark, #4338ca);
    color: var(--white, #ffffff);
}

.dgs-intro-block__button--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    text-decoration: none !important;
}

/* Secondary button - ghost/outline */
.dgs-intro-block__button--secondary {
    background: transparent;
    color: var(--primary-dark, #4338ca);
    border-color: var(--primary-dark, #4338ca);
}

.dgs-intro-block__button--secondary:hover {
    background: transparent;
    color: var(--primary-ultra-dark);
    text-decoration: none !important;
}

/* Color scheme variants - Primary */
.dgs-intro-block.color-scheme-primary .dgs-intro-block__accent {
    border-color: var(--primary-dark);
    color: var(--primary-dark);
    background: var(--primary-ultra-light);
}

.dgs-intro-block.color-scheme-primary .dgs-intro-block__button--primary {
    background: var(--primary-dark);
}

.dgs-intro-block.color-scheme-primary .dgs-intro-block__button--secondary {
    border-color: var(--primary-dark);
    color: var(--primary-dark);
}

.dgs-intro-block.color-scheme-primary .dgs-intro-block__button--secondary:hover {
    background: transparent;
    color: var(--primary-ultra-dark);
}

/* Color scheme variants - Secondary */
.dgs-intro-block.color-scheme-secondary .dgs-intro-block__accent {
    border-color: var(--secondary-dark);
    color: var(--secondary-dark);
    background: var(--secondary-ultra-light);
}

.dgs-intro-block.color-scheme-secondary .dgs-intro-block__button--primary {
    background: var(--secondary-dark);
}

.dgs-intro-block.color-scheme-secondary .dgs-intro-block__button--secondary {
    border-color: var(--secondary-dark);
    color: var(--secondary-dark);
}

.dgs-intro-block.color-scheme-secondary .dgs-intro-block__button--secondary:hover {
    background: transparent;
    color: var(--secondary-ultra-dark);
}

/* Color scheme variants - Accent */
.dgs-intro-block.color-scheme-accent .dgs-intro-block__accent {
    border-color: var(--accent-dark);
    color: var(--accent-dark);
    background: var(--accent-ultra-light);
}

.dgs-intro-block.color-scheme-accent .dgs-intro-block__button--primary {
    background: var(--accent-dark);
}

.dgs-intro-block.color-scheme-accent .dgs-intro-block__button--secondary {
    border-color: var(--accent-dark);
    color: var(--accent-dark);
}

.dgs-intro-block.color-scheme-accent .dgs-intro-block__button--secondary:hover {
    background: transparent;
    color: var(--accent-ultra-dark);
}

/* Color scheme variants - Neutral */
.dgs-intro-block.color-scheme-neutral .dgs-intro-block__accent {
    border-color: var(--neutral-dark);
    color: var(--neutral-dark);
    background: var(--neutral-ultra-light);
}

.dgs-intro-block.color-scheme-neutral .dgs-intro-block__button--primary {
    background: var(--neutral-dark);
}

.dgs-intro-block.color-scheme-neutral .dgs-intro-block__button--secondary {
    border-color: var(--neutral-dark);
    color: var(--neutral-dark);
}

.dgs-intro-block.color-scheme-neutral .dgs-intro-block__button--secondary:hover {
    background: transparent;
    color: var(--neutral-ultra-dark);
}

/* Color scheme variants - Warning */
.dgs-intro-block.color-scheme-warning .dgs-intro-block__accent {
    border-color: var(--warning-dark);
    color: var(--warning-dark);
    background: var(--warning-ultra-light);
}

.dgs-intro-block.color-scheme-warning .dgs-intro-block__button--primary {
    background: var(--warning-dark);
}

.dgs-intro-block.color-scheme-warning .dgs-intro-block__button--secondary {
    border-color: var(--warning-dark);
    color: var(--warning-dark);
}

.dgs-intro-block.color-scheme-warning .dgs-intro-block__button--secondary:hover {
    background: transparent;
    color: var(--warning-ultra-dark);
}

/* Color scheme variants - Action */
.dgs-intro-block.color-scheme-action .dgs-intro-block__accent {
    border-color: var(--action-dark);
    color: var(--action-dark);
    background: var(--action-ultra-light);
}

.dgs-intro-block.color-scheme-action .dgs-intro-block__button--primary {
    background: var(--action-dark);
}

.dgs-intro-block.color-scheme-action .dgs-intro-block__button--secondary {
    border-color: var(--action-dark);
    color: var(--action-dark);
}

.dgs-intro-block.color-scheme-action .dgs-intro-block__button--secondary:hover {
    background: transparent;
    color: var(--action-ultra-dark);
}

/* Editor-only button (non-clickable) */
.dgs-intro-block__button--editor {
    cursor: default;
    pointer-events: none;
}

/* Alignment variants */
.dgs-intro-block.align-left .dgs-intro-block__container {
    align-items: flex-start;
    text-align: left;
}

.dgs-intro-block.align-center .dgs-intro-block__container {
    align-items: center;
    text-align: center;
}

.dgs-intro-block.align-right .dgs-intro-block__container {
    align-items: flex-end;
    text-align: right;
}

.dgs-intro-block.align-left .dgs-intro-block__cta-wrapper {
    justify-content: flex-start;
}

.dgs-intro-block.align-center .dgs-intro-block__cta-wrapper {
    justify-content: center;
}

.dgs-intro-block.align-right .dgs-intro-block__cta-wrapper {
    justify-content: flex-end;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
    .dgs-intro-block__heading {
        font-size: var(--h2, 2.25rem);
    }
}

@media (max-width: 768px) {
    .dgs-intro-block {
        padding: var(--space-xl, 2rem) var(--space-l, 1.5rem);
    }

    .dgs-intro-block__container {
        gap: var(--space-m, 1.5rem);
    }

    .dgs-intro-block__heading {
        font-size: var(--h3, 1.875rem);
    }

    .dgs-intro-block__description {
        font-size: var(--text-m, 1rem);
    }

    .dgs-intro-block__accent {
        font-size: var(--text-s, 0.875rem);
    }

    .dgs-intro-block__date {
        font-size: var(--text-m, 1rem);
    }

    .dgs-intro-block__cta-wrapper {
        flex-direction: column;
        width: 100%;
    }

    .dgs-intro-block__button {
        width: 100%;
        text-align: center;
    }
}
