/* ===========================================
   Unidy - Brand Styles
   Customizable Brand Colors
   =========================================== */

/* ===========================================
   FONTS
   Primary: Fago (commercial font)
   Fallback: Trebuchet MS (system font per styleguide)
   =========================================== */

/* ===========================================
   CSS Custom Properties / Variables
   =========================================== */
:root {
    /* Brand Colors - Sportdeutschland */
    /* Primary: Red */
    --color-primary: #cc2b2b;           /* Sportdeutschland Red */
    --color-primary-dark: #a82323;
    --color-primary-light: #d65151;
    --color-primary-overlay: rgba(204, 43, 43, 0.75);
    --color-primary-overlay-dark: rgba(204, 43, 43, 0.9);
    --color-focus-ring: rgba(204, 43, 43, 0.15);

    /* Accent: Coral (for CTAs and important actions) */
    --color-accent: #f37067;            /* Sportdeutschland Coral */
    --color-accent-hover: #e0594f;

    /* Neutral Colors */
    --color-white: #ffffff;
    --color-white-70: rgba(255, 255, 255, 0.7);
    --color-white-50: rgba(255, 255, 255, 0.5);
    --color-white-20: rgba(255, 255, 255, 0.2);
    --color-white-muted: rgba(255,255,255,0.85);
    --color-black: #000000;
    --color-dark: #0c1019;
    --color-dark-lighter: #1c2230;
    --color-text: #4a5160;
    --color-text-light: #4a5160;
    --color-text-muted: #7a8294;
    --color-border: #e6eaf2;
    --color-border-dark: #cfd5e3;
    --color-background: #ffffff;
    --color-background-light: #f7f8fb;
    --color-background-muted: #eef1f6;

    /* Content / paywall tokens */
    --color-gold: #c79b3c;
    --color-gold-hover: #b18828;
    --color-primary-tint: #fbeaea;

    /* Shared / semantic */
    --color-danger: #dc2626;
    --color-danger-hover: #b91c1c;
    --color-danger-bg: rgba(220,53,69,0.1);
    --color-danger-border: rgba(220,53,69,0.3);
    --color-danger-border-light: #fca5a5;

    --color-success-bg-soft: rgba(22,163,74,0.1);
    --color-success-bg: #dcfce7;
    --color-success-border-soft: rgba(22,163,74,0.3);
    --color-success-border: #86efac;
    --color-success-text: #166534;
    --color-success-text-bright: #16a34a;

    --color-error-bg-soft: #fef2f2;
    --color-error-border: #fecaca;
    --color-error-text: #991b1b;

    /* Accent surface (coral-tinted UI surfaces) */
    --color-accent-surface-soft: rgba(243,112,103,0.05);
    --color-accent-surface: rgba(243,112,103,0.08);
    --color-accent-surface-hover: rgba(243,112,103,0.15);
    --color-accent-border: rgba(243,112,103,0.3);

    /* Neutral utility */
    --color-neutral-hover: #e5e7eb;
    --color-neutral-800: #1f2937;

    /* Newsletter & Preference Center */
    --color-newsletter-dio-banner-btn: #92400e;
    --color-newsletter-dio-banner-btn-border: #d97706;
    --color-newsletter-dio-banner-btn-hover: #d97706;
    --color-newsletter-icon-background: #1a365d;
    --color-newsletter-icon: #63b3ed;

    --color-checkbox-bg: #d1d5db;

    --color-resend-dio-div-bg: #fef3c7;
    --color-resend-dio-div-border: #fcd34d;
    --color-resend-dio-text: #92400e;

    /* Tickets */
    --color-ticket-card-background: #22c55e;

    /* Typography - Open Sans (Sportdeutschland) */
    --font-family: 'Open Sans', system-ui, -apple-system, sans-serif;
    --font-family-heading: 'Open Sans', system-ui, -apple-system, sans-serif;

    /* Layout */
    --container-max-width: 1200px;
    --container-padding: 1.25rem;
    --header-height: 64px;
    --header-height-mobile: 64px;

    /* Hero */
    --hero-py: 2rem;
    --hero-py-md: 4rem;
    --hero-eyebrow-bg: var(--color-primary-dark);
    --hero-overlay-pattern: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/G%3E%3C/g%3E%3C/svg%3E");

    /* Optional Hero Background Image (uncomment & set to enable) */
    /* --hero-background-image: url("/assets/images/hero_background.jpeg"); */

    /* ───── Sales-Demo Homepage ───── */
    --hero-demo-bg: #03081e;
    --hero-demo-min-h: 640px;
    --hero-demo-py: 64px;
    --hero-demo-py-md: 80px;
    --hero-demo-floodlight-1: rgba(80, 140, 255, 0.4);
    --hero-demo-floodlight-2: rgba(0, 84, 255, 0.35);
    --hero-demo-glass-bg: rgba(255, 255, 255, 0.06);
    --hero-demo-glass-border: rgba(255, 255, 255, 0.12);
    --hero-demo-glass-radius: 14px;
    --hero-demo-pulse: #5b8cff;

    --stats-bar-bg: var(--color-ink, #0c1019);
    --stats-bar-py: 32px;
    --stats-bar-num-size: 32px;
    --stats-bar-label-color: rgba(255, 255, 255, 0.6);

    --feature-card-border: 2px solid var(--color-ink, #0c1019);
    --feature-card-num-color: var(--color-primary);
    --feature-card-pt: 28px;

    --newsletter-cta-bg: var(--color-ink, #0c1019);
    --newsletter-cta-py: 96px;
    --newsletter-cta-glow: rgba(0, 84, 255, 0.4);
    --newsletter-cta-panel-bg: rgba(255, 255, 255, 0.04);
    --newsletter-cta-panel-border: rgba(255, 255, 255, 0.12);

    /* ───── Login Modal ───── */
    --login-modal-max-width: 26.25rem;
    --login-modal-radius: var(--radius-lg);
    --login-input-height: 3rem;
    --login-input-radius: var(--radius-md);
    --login-input-border: 1.5px;
    --login-input-border-color: var(--color-border-dark);
    --login-input-focus-ring: rgba(12, 16, 25, 0.08);
    --login-divider-gap: 1.25rem 0 1rem;
    --login-provider-height: 2.75rem;
    --login-provider-gap: 0.5rem;

    /* Border Radius */
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 14px;
    --radius-xl: 20px;
    --radius-full: 9999px;

    /* Shadows */
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.15);

    /* Transitions */
    --transition-fast: 150ms ease;
    --transition-normal: 200ms ease;
    --transition-slow: 300ms ease;
}

@media (min-width: 768px) {
    :root {
        --container-padding: 2rem;
        --header-height: 80px;
    }
}
