/* Dialog Design System - Official Branding */

/* Import Open Sans Font */
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700;800&display=swap');

:root {
    /* Dialog Brand Colors */
    --dialog-primary: #f12672;          /* Dialog Pink */
    --dialog-primary-dark: #d91e5b;     /* Darker Pink for hover */
    --dialog-primary-light: #f8c8dd;    /* Light Pink for backgrounds */
    --dialog-secondary: #ffffff;        /* White */
    --dialog-blue: #135acb;             /* Dialog Blue */
    --dialog-orange: #e14a32;           /* Dialog Orange */
    --dialog-purple: #7e0a5b;           /* Dialog Purple */
    
    /* Background Colors */
    --dialog-bg-primary: #f5f5f5;       /* Light Gray Background */
    --dialog-bg-secondary: #ffffff;     /* White Background */
    --dialog-bg-card: #ffffff;          /* Card Background */
    --dialog-bg-blue: #e0ecff;        /* Light Blue Background */
    
    /* Text Colors */
    --dialog-text-primary: #333333;     /* Dark Text */
    --dialog-text-secondary: #666666;   /* Medium Gray Text */
    --dialog-text-muted: #999999;       /* Light Gray Text */
    --dialog-text-white: #ffffff;       /* White Text */
    
    /* Border Colors */
    --dialog-border-light: #e0e0e0;     /* Light Border */
    --dialog-border-medium: #cccccc;    /* Medium Border */
    --dialog-border-dark: #999999;      /* Dark Border */
    
    /* Shadow Colors */
    --dialog-shadow-light: rgba(0, 0, 0, 0.1);
    --dialog-shadow-medium: rgba(0, 0, 0, 0.15);
    --dialog-shadow-dark: rgba(0, 0, 0, 0.25);
    
    /* Success, Warning, Error Colors */
    --dialog-success: #28a745;
    --dialog-warning: #ffc107;
    --dialog-error: #dc3545;
    
    /* Typography - Using rem for proper scaling */
    --dialog-font-family: 'Open Sans', sans-serif;
    --dialog-font-size-xs: 0.6875rem;    /* 11px */
    --dialog-font-size-sm: 0.8125rem;    /* 13px */
    --dialog-font-size-base: 0.875rem;   /* 14px */
    --dialog-font-size-lg: 1rem;         /* 16px */
    --dialog-font-size-xl: 1.25rem;      /* 20px */
    --dialog-font-size-2xl: 1.625rem;    /* 26px */
    
    /* Spacing - Using rem for proper scaling */
    --dialog-space-xs: 0.25rem;   /* 4px */
    --dialog-space-sm: 0.5rem;    /* 8px */
    --dialog-space-md: 0.75rem;   /* 12px */
    --dialog-space-lg: 1.125rem;  /* 18px */
    --dialog-space-xl: 1.5rem;    /* 24px */
    --dialog-space-2xl: 2.25rem;  /* 36px */
    
    /* Border Radius - Using rem for proper scaling */
    --dialog-radius-sm: 0.25rem;   /* 4px */
    --dialog-radius-md: 0.5rem;    /* 8px */
    --dialog-radius-lg: 0.75rem;   /* 12px */
    --dialog-radius-xl: 1rem;      /* 16px */
    --dialog-radius-2xl: 1.5rem;   /* 24px */
    --dialog-radius-full: 50%;
    
    /* Transitions */
    --dialog-transition-fast: 0.15s ease;
    --dialog-transition-normal: 0.3s ease;
    --dialog-transition-slow: 0.5s ease;
}

/* Base Styles Reset */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* Set html font-size to 100% so rem units scale with browser/system settings */
html {
    font-size: 100%; /* Allows rem to scale with browser zoom and system display scaling */
}

body {
    font-family: var(--dialog-font-family);
    font-size: var(--dialog-font-size-base);
    line-height: 1.5;
    color: var(--dialog-text-primary);
    background-color: var(--dialog-bg-primary);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Typography Classes */
.dialog-heading-xl {
    font-size: var(--dialog-font-size-2xl);
    font-weight: 700;
    line-height: 1.2;
    color: var(--dialog-text-primary);
}

.dialog-heading-lg {
    font-size: var(--dialog-font-size-xl);
    font-weight: 600;
    line-height: 1.3;
    color: var(--dialog-text-primary);
}

.dialog-heading-md {
    font-size: var(--dialog-font-size-lg);
    font-weight: 600;
    line-height: 1.4;
    color: var(--dialog-text-primary);
}

.dialog-text-lg {
    font-size: var(--dialog-font-size-lg);
    font-weight: 400;
    color: var(--dialog-text-primary);
}

.dialog-text-base {
    font-size: var(--dialog-font-size-base);
    font-weight: 400;
    color: var(--dialog-text-primary);
}

.dialog-text-sm {
    font-size: var(--dialog-font-size-sm);
    font-weight: 400;
    color: var(--dialog-text-secondary);
}

.dialog-text-xs {
    font-size: var(--dialog-font-size-xs);
    font-weight: 400;
    color: var(--dialog-text-muted);
}

/* Text Color Utilities */
.dialog-text-primary { color: var(--dialog-text-primary); }
.dialog-text-secondary { color: var(--dialog-text-secondary); }
.dialog-text-muted { color: var(--dialog-text-muted); }
.dialog-text-white { color: var(--dialog-text-white); }
.dialog-text-pink { color: var(--dialog-primary); }
.dialog-text-blue { color: var(--dialog-blue); }
.dialog-text-orange { color: var(--dialog-orange); }
.dialog-text-purple { color: var(--dialog-purple); }

/* Background Color Utilities */
.dialog-bg-primary { background-color: var(--dialog-bg-primary); }
.dialog-bg-secondary { background-color: var(--dialog-bg-secondary); }
.dialog-bg-pink { background-color: var(--dialog-primary); }
.dialog-bg-pink-light { background-color: var(--dialog-primary-light); }
.dialog-bg-blue { background-color: var(--dialog-blue); }
.dialog-bg-orange { background-color: var(--dialog-orange); }
.dialog-bg-purple { background-color: var(--dialog-purple); }
