/* ==========================================================================
   uFerris Workshop Theme
   The Embedded Rustacean

   Brand colors:
     Accent:    #D1462B  (rust-red)
     Primary:   #000000  (black)
     Secondary: #F9F6EC  (warm cream)
     Core:      #FAF8F4  (off-white)
     Tertiary:  #EEC8C0  (soft pink)
   ========================================================================== */

/* Import fonts — matching theembeddedrustacean.com */
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=Inconsolata:wght@400;500;600;700&display=swap');

/* ---------- Light theme (uferris) ---------- */
.uferris {
    --bg:                 #FAF8F4;
    --fg:                 #000000;

    --sidebar-bg:         #F9F6EC;
    --sidebar-fg:         #000000;
    --sidebar-non-existant: #00000060;
    --sidebar-active:     #D1462B;
    --sidebar-spacer:     #EEC8C040;

    --scrollbar:          #00000020;

    --icons:              #333333;
    --icons-hover:        #D1462B;

    --links:              #D1462B;

    --inline-code-color:  #D1462B;

    --theme-popup-bg:     #FAF8F4;
    --theme-popup-border: #EEC8C0;
    --theme-hover:        #F9F6EC;

    --quote-bg:           #F9F6EC;
    --quote-border:       #EEC8C0;

    --warning-border:     #D1462B;

    --table-border-color: #EEC8C0;
    --table-header-bg:    #F9F6EC;
    --table-alternate-bg: #FAF8F4;

    --searchbar-border-color: #EEC8C0;
    --searchbar-bg:       #FFFFFF;
    --searchbar-fg:       #000000;
    --searchbar-shadow-color: #00000010;
    --searchresults-header-fg: #000000;
    --searchresults-border-color: #EEC8C0;
    --searchresults-li-bg: #F9F6EC;
    --search-mark-bg:     #EEC8C060;
}

/* ---------- Dark theme (uferris-dark) ---------- */
.uferris-dark {
    --bg:                 #1a1a1a;
    --fg:                 #F9F6EC;

    --sidebar-bg:         #111111;
    --sidebar-fg:         #F9F6EC;
    --sidebar-non-existant: #F9F6EC60;
    --sidebar-active:     #FFFFFF;
    --sidebar-spacer:     #F9F6EC20;

    --scrollbar:          #44444460;

    --icons:              #cccccc;
    --icons-hover:        #D1462B;

    --links:              #E8705E;

    --inline-code-color:  #E8705E;

    --theme-popup-bg:     #222222;
    --theme-popup-border: #444444;
    --theme-hover:        #333333;

    --quote-bg:           #2a2a2a;
    --quote-border:       #555555;

    --warning-border:     #D1462B;

    --table-border-color: #444444;
    --table-header-bg:    #2a2a2a;
    --table-alternate-bg: #222222;

    --searchbar-border-color: #444444;
    --searchbar-bg:       #2a2a2a;
    --searchbar-fg:       #F9F6EC;
    --searchbar-shadow-color: #00000040;
    --searchresults-header-fg: #F9F6EC;
    --searchresults-border-color: #444444;
    --searchresults-li-bg: #2a2a2a;
    --search-mark-bg:     #EEC8C040;
}

/* ---------- Typography ---------- */
:root {
    --font-heading: 'Poppins', sans-serif;
    --font-body: 'Open Sans', sans-serif;
    --font-mono: 'Inconsolata', monospace;
}

.content {
    font-family: var(--font-body);
    line-height: 1.7;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: 600;
    letter-spacing: -0.01em;
}

h1 {
    font-size: 2.2em;
    border-bottom: 2px solid #EEC8C0;
    padding-bottom: 0.3em;
}

h2 {
    font-size: 1.6em;
}

h3 {
    font-size: 1.3em;
}

code, pre {
    font-family: var(--font-mono) !important;
}

/* ---------- Sidebar branding ---------- */
.sidebar .sidebar-scrollbox {
    padding-top: 1.5em;
}

/* ---------- Admonitions ---------- */
.admonition.exercise {
    border-left-color: #D1462B;
    background-color: #D1462B08;
}

.admonition.exercise > .admonition-title {
    background-color: #D1462B12;
}

.admonition.exercise > .admonition-title::before {
    content: "🔧 ";
}

.admonition.hint {
    border-left-color: #8e8e8e;
    background-color: #8e8e8e08;
}

.admonition.hint > .admonition-title {
    background-color: #8e8e8e12;
}

.admonition.hint > .admonition-title::before {
    content: "💡 ";
}

.admonition.docs {
    border-left-color: #000000;
    background-color: #00000006;
}

.admonition.docs > .admonition-title {
    background-color: #00000010;
}

.admonition.docs > .admonition-title::before {
    content: "📖 ";
}

.admonition.key-concept {
    border-left-color: #D1462B;
    background-color: #D1462B06;
}

.admonition.key-concept > .admonition-title {
    background-color: #D1462B10;
}

.admonition.key-concept > .admonition-title::before {
    content: "⚡ ";
}

/* ---------- Code blocks ---------- */
pre {
    border-radius: 6px;
    border-left: 3px solid #EEC8C0;
}

.uferris-dark pre {
    border-left-color: #444444;
}

/* ---------- Workshop-specific layout ---------- */
.workshop-timing {
    float: right;
    font-size: 0.85em;
    color: #888888;
    font-family: var(--font-mono);
    padding: 0.2em 0.6em;
    background: #F9F6EC;
    border-radius: 4px;
}

.uferris-dark .workshop-timing {
    background: #2a2a2a;
    color: #aaaaaa;
}

/* ---------- Print styles ---------- */
@media print {
    .sidebar, .menu-bar {
        display: none;
    }
    .content {
        max-width: 100%;
    }
}
