/**
 * S615 Blocks — Core Design System
 * CSS variables, responsive utilities, animation base
 * Loaded on every page that uses s615-blocks
 */

:root {
    --s615-primary: #008AC9;
    --s615-primary-dark: #006da3;
    --s615-secondary: #1d1d1f;
    --s615-accent: #ff6b35;
    --s615-text: #1d1d1f;
    --s615-text2: #6e6e73;
    --s615-text3: #aeaeb2;
    --s615-bg: #ffffff;
    --s615-bg2: #f5f5f7;
    --s615-border: #e5e5ea;
    --s615-success: #34c759;
    --s615-danger: #ff3b30;
    --s615-warning: #ff9f0a;
    --s615-shadow-sm: 0 1px 3px rgba(0,0,0,.06);
    --s615-shadow-md: 0 4px 12px rgba(0,0,0,.08);
    --s615-shadow-lg: 0 8px 32px rgba(0,0,0,.12);
    --s615-shadow-xl: 0 16px 48px rgba(0,0,0,.16);
    --s615-radius-sm: 6px;
    --s615-radius-md: 12px;
    --s615-radius-lg: 20px;
    --s615-radius-full: 9999px;
    --s615-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --s615-font-mono: 'SF Mono', Consolas, Monaco, monospace;
    --s615-transition: .3s cubic-bezier(.4,0,.2,1);
    --s615-transition-fast: .15s ease;
}

/* Accessibility: reduced motion */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Focus visible for all interactive elements */
.s615-block a:focus-visible,
.s615-block button:focus-visible,
.s615-block [tabindex]:focus-visible {
    outline: 2px solid var(--s615-primary);
    outline-offset: 2px;
}

/* Shape dividers */
.s615-shape-divider { position: absolute; left: 0; width: 100%; overflow: hidden; line-height: 0; z-index: 1 }
.s615-shape-divider svg { position: relative; display: block; width: calc(100% + 1.3px); height: auto }
.s615-shape-top { top: -1px }
.s615-shape-bottom { bottom: -1px }
.s615-shape-bottom svg { transform: rotate(180deg) }

/* Overlay */
.s615-overlay { position: absolute; inset: 0; pointer-events: none; z-index: 1 }

/* Content wrapper */
.s615-inner { position: relative; z-index: 2 }
