/* ============================================
   SARATOGA WATCH CO. — Global Plugin Styles
   CSS Isolation: All styles scoped to .swc-*
   ============================================ */

:root {
    --swc-primary: #0f0f0f;
    --swc-primary-hover: #2a2a2a;
    --swc-secondary: #fafafa;
    --swc-accent: #c9a96e;
    --swc-text: #0f0f0f;
    --swc-text-light: #4a4a4a;
    --swc-text-muted: #8a8a8a;
    --swc-bg: #fff;
    --swc-bg-alt: #fafafa;
    --swc-border: #e8e8e8;
    --swc-border-light: #f2f2f2;
    --swc-white: #fff;
    --swc-black: #0f0f0f;
    --swc-success: #10b981;
    --swc-error: #ef4444;
    --swc-radius-sm: 6px;
    --swc-radius-md: 10px;
    --swc-radius-lg: 16px;
    --swc-shadow-sm: 0 1px 2px rgba(0,0,0,0.04), 0 1px 4px rgba(0,0,0,0.04);
    --swc-shadow-md: 0 2px 8px rgba(0,0,0,0.06), 0 4px 16px rgba(0,0,0,0.06);
    --swc-shadow-lg: 0 4px 16px rgba(0,0,0,0.08), 0 12px 40px rgba(0,0,0,0.08);
    --swc-shadow-hover: 0 8px 24px rgba(0,0,0,0.10), 0 16px 48px rgba(0,0,0,0.06);
    --swc-font-heading: 'Playfair Display', Georgia, 'Times New Roman', serif;
    --swc-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --swc-transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    --swc-transition-slow: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ── Global Reset Inside Plugin ── */
[class^="swc-"] *,
[class^="swc-"] *::before,
[class^="swc-"] *::after {
    box-sizing: border-box;
}

/* Elementor Override Protection */
.elementor-page [class^="swc-"],
.e-con [class^="swc-"],
.elementor-widget-container [class^="swc-"] {
    font-family: var(--swc-font-body);
    line-height: 1.6;
}

/* ── Typography Defaults ── */
[class^="swc-"] h1,
[class^="swc-"] h2,
[class^="swc-"] h3,
[class^="swc-"] h4,
[class^="swc-"] h5,
[class^="swc-"] h6 {
    font-family: var(--swc-font-heading) !important;
    font-weight: 600;
    line-height: 1.2;
    margin: 0 0 16px;
    color: var(--swc-text);
}

[class^="swc-"] p {
    margin: 0 0 16px;
    color: var(--swc-text-light);
}

[class^="swc-"] a {
    text-decoration: none;
    transition: var(--swc-transition);
}

[class^="swc-"] img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* ── Utility: Screen Reader Only ── */
.swc-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* ── Form Message (global for all forms) ── */
.swc-form-message {
    margin-top: 16px;
    padding: 12px 16px;
    border-radius: var(--swc-radius-sm);
    font-size: 14px;
    font-family: var(--swc-font-body);
    text-align: center;
}

.swc-form-message--success {
    background-color: #e8f5e9 !important;
    color: var(--swc-success) !important;
    border: 1px solid var(--swc-success);
}

.swc-form-message--error {
    background-color: #fce4ec !important;
    color: var(--swc-error) !important;
    border: 1px solid var(--swc-error);
}

/* ── Loading Spinner ── */
.swc-spinner {
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255,255,255,0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: swc-spin 0.6s linear infinite;
    vertical-align: middle;
    margin-right: 8px;
}

@keyframes swc-spin {
    to { transform: rotate(360deg); }
}
