/* ==========================================================================
   OpZone - base layer
   Role: web fonts (10 @font-face), :root custom properties, html/body reset,
         ::selection, scroll behaviour, bare-heading treatment, and the
         surviving early MudBlazor overrides.
   Load position: 1 of 8 in the website opz-*.css chain - loaded after
         MudBlazor.min.css + _content/OpZone.UI/opzone-ui.css.
   ========================================================================== */

/* ==========================================================================
   01 FONTS
   Self-hosted (SIL OFL 1.1): Barlow, Barlow Condensed, JetBrains Mono.
   No third-party font requests.
   ========================================================================== */
@font-face {
    font-family: 'Barlow';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('fonts/Barlow-400.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'Barlow';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('fonts/Barlow-500.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'Barlow';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('fonts/Barlow-600.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'Barlow Condensed';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('fonts/BarlowCondensed-400.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'Barlow Condensed';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('fonts/BarlowCondensed-600.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'Barlow Condensed';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('fonts/BarlowCondensed-700.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'Barlow Condensed';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url('fonts/BarlowCondensed-800.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'JetBrains Mono';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('fonts/JetBrainsMono-400.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'JetBrains Mono';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('fonts/JetBrainsMono-500.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'JetBrains Mono';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('fonts/JetBrainsMono-600.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ==========================================================================
   02 BASE RESET
   ========================================================================== */
html {
    color-scheme: light;
    scroll-behavior: smooth;
    scroll-padding-top: 80px;
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}

::selection {
    background: var(--opz-signal);
    color: var(--opz-paper);
}

html,
body {
    font-family: 'Barlow', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    background-color: var(--mud-palette-background);
    color: var(--mud-palette-text-primary);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body { overflow-x: hidden; }

/* ==========================================================================
   03 BARE HEADINGS
   MudBlazor styles .mud-typography-h*, not bare <h1>–<h6>, so this block
   gives raw HTML headings the same brand treatment as the theme typography
   slots without crushing the landing-page .h1/.h2/.h3 classes or MudText.
   ========================================================================== */
h1:not(.h1):not(.mud-typography-h1),
h2:not(.h2):not(.mud-typography-h2),
h3:not(.h3):not(.mud-typography-h3),
h4:not(.h4):not(.mud-typography-h4),
h5:not(.h5):not(.mud-typography-h5),
h6:not(.h6):not(.mud-typography-h6) {
    font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 0.95;
}

h1:not(.h1):not(.mud-typography-h1) { font-size: 2.5rem; }
h2:not(.h2):not(.mud-typography-h2) { font-size: 2rem; }
h3:not(.h3):not(.mud-typography-h3) { font-size: 1.75rem; }
h4:not(.h4):not(.mud-typography-h4) { font-size: 1.5rem; }
h5:not(.h5):not(.mud-typography-h5) { font-size: 1.25rem; }
h6:not(.h6):not(.mud-typography-h6) { font-size: 1rem; }

.opz-price-heading {
    color: var(--opz-signal);
}

@media (max-width: 768px) {
    h1:not(.h1):not(.mud-typography-h1) {
        font-size: 2rem;
    }

    h2:not(.h2):not(.mud-typography-h2) {
        font-size: 1.625rem;
    }

    h4:not(.h4):not(.mud-typography-h4) {
        font-size: 1.25rem;
    }
}

/* ==========================================================================
   04 ANCHORS / BUTTONS / UTILITY CLASSES
   ========================================================================== */
a {
    color: var(--opz-ink-2);
    text-decoration: none;
}

a:hover { color: var(--opz-signal-deep); }

button {
    font: inherit;
    color: inherit;
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
}

li { margin-left: 35px; }

.text-center { text-align: center; }

.single-element { display: block; }

/* ==========================================================================
   05 HERO BACKDROP (live on login / download / invite / pricing / about)
   ========================================================================== */
.opz-hero-carousel-static {
    background: linear-gradient(rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.99)), url('img/Promo1.png');
    background-size: 150%;
    background-position: left top;
    background-repeat: repeat;
    overflow: hidden;
}

@media (max-width: 768px) {
    .opz-hero-carousel-static {
        background-size: cover;
        background-position: center center;
        padding-top: 50px;
        min-height: calc(100vh + 68px);
    }
}

/* ==========================================================================
   06 MUDBLAZOR OVERRIDES
   ========================================================================== */
.mud-paper { color: inherit !important; }

.mud-typography-subtitle1 {
    margin-bottom: 1.5rem !important;
    font-size: 1.2rem !important;
}

.mud-appbar .mud-icon-button {
    color: var(--mud-palette-text-primary) !important;
}

.mud-input.mud-typography-subtitle1 { margin-bottom: 3px !important; }

.mud-drawer {
    background-color: var(--mud-palette-drawer-background) !important;
    border-left: 1px solid rgba(170, 170, 170, 0.18);
}

.mud-nav-item a.mud-nav-link {
    border-radius: 8px;
    margin: 2px 8px;
    color: var(--mud-palette-text-primary) !important;
}

.mud-nav-item a.mud-nav-link:hover,
.mud-nav-item a.mud-nav-link.active {
    background-color: color-mix(in srgb, var(--mud-palette-info) 12%, transparent) !important;
    color: var(--mud-palette-info) !important;
}

.mud-nav-item a.mud-nav-link .mud-nav-link-icon {
    color: var(--mud-palette-action-default) !important;
}

.mud-nav-item a.mud-nav-link:hover .mud-nav-link-icon,
.mud-nav-item a.mud-nav-link.active .mud-nav-link-icon {
    color: var(--mud-palette-info) !important;
}

.mud-nav-link,
.mud-nav-group > .mud-nav-link,
.mud-nav-group > .mud-nav-link .mud-nav-link-text,
.mud-nav-group .mud-nav-link-text,
.mud-nav-group-title {
    font-weight: 300;
}

.mud-nav-link.active,
.mud-nav-link.active .mud-nav-link-text {
    font-weight: 500;
}

.mud-main-panel {
    background-color: var(--mud-palette-background);
}

.mud-input-outlined .mud-input-outlined-border {
    border-color: var(--mud-palette-lines-inputs);
    border-radius: 8px;
}

.mud-input-outlined.mud-input-focused .mud-input-outlined-border {
    border-color: var(--mud-palette-primary);
    border-width: 2px;
}

.mud-menu-item-text {
    font-weight: 400 !important;
}



/* ==========================================================================
   06 BLAZOR / .NET OVERRIDES
   ========================================================================== */
.components-reconnect-first-attempt-visible {
    color: var(--ink-3) !important;
}