/* =============================================================================
   SCOPED STYLES FOR CmpModal_MessageBox - ETS.Shared
   Integrates with app-modals.css design system
   ============================================================================= */

/* CSS Variables for MessageBox theming */
.ETS-dialog {
    /* Base colors - can be overridden by theme variables later */
    --messagebox-header-bg: #f8f9fa;
    --messagebox-header-border: #dee2e6;
    --messagebox-header-text: #212529;
    --messagebox-footer-bg: #f8f9fa;
    --messagebox-footer-border: #dee2e6;
    --messagebox-body-bg: white;
    --messagebox-border: #dee2e6;
    --messagebox-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    /* Button colors */
    --messagebox-btn-primary-bg: #007bff;
    --messagebox-btn-primary-hover: #0056b3;
    --messagebox-btn-danger-bg: #dc3545;
    --messagebox-btn-danger-hover: #c82333;
    --messagebox-btn-text: white;
    /* Icon colors */
    --messagebox-icon-info: #17a2b8;
    --messagebox-icon-success: #28a745;
    --messagebox-icon-warning: #ffc107;
    --messagebox-icon-error: #dc3545;
}

/* =============================================================================
   MAIN DIALOG CONTAINER
   ============================================================================= */

.ETS-dialog {
    display: flex;
    flex-direction: column;
    min-width: min(500px, 90vw);
    max-width: 90vw;
    background: var(--messagebox-body-bg);
    color: var(--messagebox-header-text);
    border-radius: 0.5rem;
    border: 1px solid var(--messagebox-border);
    box-shadow: var(--messagebox-shadow);
    overflow: hidden; /* Ensures rounded corners are respected */
}

/* =============================================================================
   HEADER SECTION
   ============================================================================= */

.ETS-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.5rem;
    background-color: var(--messagebox-header-bg);
    border-bottom: 1px solid var(--messagebox-header-border);
    min-height: 60px; /* Ensures consistent header height */
}

.ETS-title {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--messagebox-header-text);
    line-height: 1.2;
}

.ETS-x {
    appearance: none;
    border: none;
    background: transparent;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    color: #6c757d;
    padding: 0.25rem;
    margin: -0.25rem;
    border-radius: 0.25rem;
    transition: all 0.2s ease-in-out;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .ETS-x:hover {
        background: rgba(0, 0, 0, 0.05);
        color: #000;
    }

/* =============================================================================
   BODY SECTION
   ============================================================================= */

.ETS-body {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: 1.5rem;
    background: var(--messagebox-body-bg);
    flex: 1;
    min-height: 80px; /* Minimum body height for consistency */
}

.ETS-icon {
    font-size: 2rem;
    line-height: 1;
    color: var(--messagebox-icon-info);
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
}

    /* Icon color variants */
    .ETS-icon.icon-success {
        color: var(--messagebox-icon-success);
    }

    .ETS-icon.icon-warning {
        color: var(--messagebox-icon-warning);
    }

    .ETS-icon.icon-error {
        color: var(--messagebox-icon-error);
    }

.ETS-text {
    margin: 0;
    line-height: 1.5;
    font-size: 0.95rem;
    flex: 1;
    padding-top: 0.1rem; /* Slight adjustment to align with icon */
}

    .ETS-text:last-child {
        margin-bottom: 0;
    }

/* =============================================================================
   FOOTER SECTION
   ============================================================================= */

.ETS-footer {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    background-color: var(--messagebox-footer-bg);
    border-top: 1px solid var(--messagebox-footer-border);
    min-height: 70px;
    align-items: center;
}

/* =============================================================================
   BUTTON STYLING
   ============================================================================= */

.ETS-btn {
    padding: 0.5rem 1rem;
    border-radius: 0.375rem;
    border: 1px solid transparent;
    background: #6c757d;
    color: var(--messagebox-btn-text);
    cursor: pointer;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    transition: all 0.2s ease-in-out;
    min-width: 80px;
}

    .ETS-btn:hover {
        transform: translateY(-1px);
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }

    .ETS-btn:focus {
        outline: none;
        box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
    }

    .ETS-btn:active {
        transform: translateY(0);
    }

/* Primary button (OK button) */
.ETS-ok {
    background: var(--messagebox-btn-primary-bg);
    border-color: var(--messagebox-btn-primary-bg);
}

    .ETS-ok:hover {
        background: var(--messagebox-btn-primary-hover);
        border-color: var(--messagebox-btn-primary-hover);
    }

/* Danger variant */
.is-danger.ETS-ok {
    background: var(--messagebox-btn-danger-bg);
    border-color: var(--messagebox-btn-danger-bg);
}

    .is-danger.ETS-ok:hover {
        background: var(--messagebox-btn-danger-hover);
        border-color: var(--messagebox-btn-danger-hover);
    }

/* =============================================================================
   RESPONSIVE ADJUSTMENTS
   ============================================================================= */

@media (max-width: 768px) {
    .ETS-dialog {
        min-width: 95vw;
        max-width: 95vw;
        margin: 1rem;
    }

    .ETS-header,
    .ETS-footer {
        padding: 1rem;
    }

    .ETS-body {
        padding: 1rem;
        gap: 0.75rem;
    }

    .ETS-title {
        font-size: 1.125rem;
    }

    .ETS-icon {
        font-size: 1.5rem;
        width: 28px;
        height: 28px;
    }

    /* Stack footer content on very small screens */
    .ETS-footer {
        flex-direction: column;
        gap: 0.5rem;
    }

        .ETS-footer .ETS-btn {
            width: 100%;
        }
}

/* =============================================================================
   DARK MODE SUPPORT (for future theme integration)
   ============================================================================= */

@media (prefers-color-scheme: dark) {
    .ETS-dialog {
        --messagebox-header-bg: #2d3748;
        --messagebox-header-border: #4a5568;
        --messagebox-header-text: #f7fafc;
        --messagebox-footer-bg: #2d3748;
        --messagebox-footer-border: #4a5568;
        --messagebox-body-bg: #1a202c;
        --messagebox-border: #4a5568;
        --messagebox-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.3);
    }

    .ETS-x {
        color: #a0aec0;
    }

        .ETS-x:hover {
            background: rgba(255, 255, 255, 0.1);
            color: #f7fafc;
        }
}

/* =============================================================================
   UTILITY CLASSES FOR DIFFERENT MESSAGE TYPES
   ============================================================================= */

/* Success MessageBox */
.ETS-dialog.messagebox-success {
    --messagebox-header-bg: #d1edff;
    --messagebox-header-border: #b6d7ff;
    --messagebox-header-text: #004085;
}

/* Warning MessageBox */
.ETS-dialog.messagebox-warning {
    --messagebox-header-bg: #fff3cd;
    --messagebox-header-border: #ffeaa7;
    --messagebox-header-text: #856404;
}

/* Error MessageBox */
.ETS-dialog.messagebox-error {
    --messagebox-header-bg: #f8d7da;
    --messagebox-header-border: #f1aeb5;
    --messagebox-header-text: #721c24;
}

/* Info MessageBox */
.ETS-dialog.messagebox-info {
    --messagebox-header-bg: #cce7ff;
    --messagebox-header-border: #b3d9ff;
    --messagebox-header-text: #055160;
}
