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

/* ===========================================
   FONTS
   Hertha BSC Hausschrift (self-hosted, woff2).
   "Hertha"       -> copy / UI (400, 600 + italics)
   "Hertha-Black" -> headlines, buttons (900, usually italic + uppercase)
   Fallback: system sans stack.
   =========================================== */

@font-face {
    font-family: "Hertha";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("/assets/fonts/Hertha-Regular.woff2") format("woff2");
}

@font-face {
    font-family: "Hertha";
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url("/assets/fonts/Hertha-Italic.woff2") format("woff2");
}

@font-face {
    font-family: "Hertha";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("/assets/fonts/Hertha-Bold.woff2") format("woff2");
}

@font-face {
    font-family: "Hertha";
    font-style: italic;
    font-weight: 600;
    font-display: swap;
    src: url("/assets/fonts/Hertha-BoldItalic.woff2") format("woff2");
}

@font-face {
    font-family: "Hertha-Black";
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url("/assets/fonts/Hertha-Black.woff2") format("woff2");
}

@font-face {
    font-family: "Hertha-HaHoHe-Black";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("/assets/fonts/HerthaHaHoHe-Black.woff2") format("woff2");
}

/* ===========================================
   CSS Custom Properties / Variables
   =========================================== */
:root {
    /* Brand Colors - Hertha BSC (taken from herthabsc.com) */
    /* Primary: Hertha Blue */
    --color-primary: #0d59a1;           /* Hertha Blue */
    --color-primary-dark: #003974;      /* Hertha Dark Blue */
    --color-primary-light: #0d59a0;
    --color-primary-overlay: color-mix(in srgb, var(--color-primary) 75%, transparent);
    --color-primary-overlay-dark: color-mix(in srgb, var(--color-primary) 90%, transparent);
    --color-focus-ring: var(--color-focus-ring);

    /* Accent: Hertha Cyan (CTA fills, social icons, #HAHOHE) */
    --color-accent: #73e8ff;            /* Hertha Cyan */
    --color-accent-hover: #4bdcfb;

    /* Hertha greys & ink, straight from the club stylesheet */
    --color-hbsc-grey: #dbe1e6;         /* watermark headlines, hairlines */
    --color-hbsc-grey-dark: #b7c2cc;    /* image placeholder, disabled */
    --color-hbsc-slate: #6c8399;
    --color-hbsc-slate-light: #8fa1b3;
    --color-hbsc-ink: #02080d;
    --color-hbsc-mist: #f4f6f7;
    /* The gradient the club uses on the header rule and on teaser hover */
    --hbsc-gradient: linear-gradient(270deg, #0d59a1, #0d59a1 60%, #003974);

    /* 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: #121417;
    --color-dark-lighter: #25292d;
    --color-text: #3b4045;
    --color-text-light: #4b5158;
    --color-text-muted: #7d848c;
    --color-border: #e3e5e8;
    --color-border-dark: #c7ccd1;
    --color-background: #ffffff;
    --color-background-light: #f7f7f8;
    --color-background-muted: #eef0f1;

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

    /* 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 (green-tinted UI surfaces) */
    --color-accent-surface-soft: rgba(0,150,64,0.05);
    --color-accent-surface: rgba(0,150,64,0.08);
    --color-accent-surface-hover: rgba(0,150,64,0.15);
    --color-accent-border: rgba(0,150,64,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 - Hertha Hausschrift */
    --font-family: 'Hertha', system-ui, -apple-system, sans-serif;
    --font-family-heading: 'Hertha-Black', 'Hertha', system-ui, sans-serif;
    /* Headlines on herthabsc.com are Hertha-Black, italic, uppercase */
    --heading-style: italic;
    --heading-transform: uppercase;

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

    /* 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: #060f18;
    --hero-demo-min-h: 640px;
    --hero-demo-py: 64px;
    --hero-demo-py-md: 80px;
    --hero-demo-floodlight-1: rgba(0, 113, 235, 0.4);
    --hero-demo-floodlight-2: color-mix(in srgb, var(--color-primary) 35%, transparent);
    --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: var(--color-primary-light);

    --stats-bar-bg: var(--color-dark);
    --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-dark);
    --feature-card-num-color: var(--color-primary);
    --feature-card-pt: 28px;

    --newsletter-cta-bg: var(--color-dark);
    --newsletter-cta-py: 96px;
    --newsletter-cta-glow: color-mix(in srgb, var(--color-primary) 40%, transparent);
    --newsletter-cta-panel-bg: rgba(255, 255, 255, 0.04);
    --newsletter-cta-panel-border: rgba(255, 255, 255, 0.12);

    /* ───── herthabsc.com replica: stage, news grid, reduced footer ─────
       Values read off the club's own stylesheet so the rebuilt blocks line up
       with the real page. */
    --hbsc-stage-min-h: 34rem;
    --hbsc-stage-h: 88vh;
    --hbsc-stage-max-h: 51rem;
    /* Darkens the left third of the stage photo so the white headline reads. */
    --hbsc-stage-scrim: linear-gradient(
        90deg,
        rgba(2, 8, 13, 0.82) 0%,
        rgba(2, 8, 13, 0.45) 45%,
        rgba(2, 8, 13, 0.02) 78%
    );
    --hbsc-stage-scrim-bottom: linear-gradient(0deg, rgba(2, 8, 13, 0.55), transparent 38%);
    --hbsc-stage-scrim-mobile: linear-gradient(
        0deg,
        rgba(2, 8, 13, 0.8) 0%,
        rgba(2, 8, 13, 0.55) 40%,
        rgba(2, 8, 13, 0.15) 70%,
        rgba(2, 8, 13, 0.45) 100%
    );
    --hbsc-stage-headline: 6rem;
    --hbsc-stage-headline-sm: 2.75rem;

    /* Skewed parallelogram buttons and category labels (skewX(15deg)) */
    --hbsc-skew: 15deg;
    --hbsc-skew-back: -15deg;

    --hbsc-watermark-size: 9.25rem;
    --hbsc-watermark-size-sm: 3.625rem;
    --hbsc-teaser-title: 1.5rem;
    --hbsc-teaser-hover: linear-gradient(270deg, #0d59a1, #0d59a1 60%, #003974);
    --hbsc-lock-scrim: rgba(2, 8, 13, 0.55);
    --hbsc-teaser-shadow: 0 0 4px 0 rgba(2, 8, 13, 0.4);
    --hbsc-lock-blur: 7px;

    /* ───── 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: 1024px) {
    :root {
        --container-padding: 2rem;
        --header-height: 80px;
    }
}
