/*-- scss:defaults --*/

/*-- scss:rules --*/

/* Centralized styles for Asset Pricing Theory course slides */

/* Import Merriweather font */
@import url('https://fonts.googleapis.com/css2?family=Merriweather:wght@300;400;700;900&display=swap');

/* Main theme adjustments - White background with Merriweather font */
.reveal {
    font-family: "Merriweather", serif;
    background-color: #ffffff;
    color: #000000;
    font-size: 1.20em; /* Increased by 10% from 0.95em */
}

.reveal .slides {
    background-color: #ffffff;
}

.reveal .slides section {
    background-color: #ffffff;
    color: #000000;
}

/* Titles styling with your blue color #2596be */
.reveal h1, .reveal h2, .reveal h3 {
    color: #2596be;
    font-weight: 700;
    font-family: "Merriweather", serif;
}

.reveal h1 {
    font-size: 2.2em; /* Increased by 10% from 2.0em */
    font-weight: 900;
    text-shadow: 1px 1px 2px rgba(37, 150, 190, 0.1);
}

.reveal h2 {
    font-size: 1.76em; /* Increased by 10% from 1.6em */
    font-weight: 700;
}

.reveal h3 {
    font-size: 1.43em; /* Increased by 10% from 1.3em */
    font-weight: 700;
}

/* Logo in bottom left corner - Using centralized logo path */
.reveal .slide-logo {
    position: fixed;
    bottom: 20px;
    left: 20px;
    width: 240px; 
    height: 180px;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 1000;
    opacity: 0.9; /* Slightly increased opacity for better visibility */
}

/* Code blocks - Updated for white background theme */
.reveal pre {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 0.9em; 
    font-size: 0.8em; /* Increased by ~10% from 0.72em */
    line-height: 1.4; /* Slightly increased from 1.35 */
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    /* Do not set a fixed color here; let the highlighter colorize tokens */
}

.reveal code {
    background: #f1f3f4;
    padding: 0.2em 0.4em;
    border-radius: 3px;
    font-family: "Consolas", "Monaco", "Courier New", monospace;
}

/* Quarto/Highlight.js token colors (light scheme) */
pre code, code pre {
    color: #24292e; /* base text */
}
.sourceCode.vb .kw, .sourceCode.vb .cf { color: #d73a49; font-weight: 600; }
.sourceCode.vb .dt, .sourceCode.vb .bu { color: #6f42c1; }
.sourceCode.vb .st, .sourceCode.vb .ch { color: #032f62; }
.sourceCode.vb .co { color: #6a737d; font-style: italic; }
.sourceCode.vb .dv, .sourceCode.vb .bn, .sourceCode.vb .fl { color: #005cc5; }
.hljs-comment, .hljs-quote { color: #6a737d; font-style: italic; }
.hljs-keyword, .hljs-selector-tag, .hljs-subst { color: #d73a49; }
.hljs-literal, .hljs-number { color: #005cc5; }
.hljs-string, .hljs-doctag, .hljs-section, .hljs-selector-id { color: #032f62; }
.hljs-variable, .hljs-template-variable, .hljs-attr, .hljs-params, .hljs-title { color: #6f42c1; }
.hljs-built_in, .hljs-symbol, .hljs-bullet { color: #e36209; }
.hljs-type, .hljs-class .hljs-title { color: #22863a; }
.hljs-name, .hljs-selector-class, .hljs-tag { color: #22863a; }
.hljs-emphasis { font-style: italic; }
.hljs-strong { font-weight: bold; }

/* Tables - Updated for white background */
.reveal table {
    margin: auto;
    border-collapse: collapse;
    border-spacing: 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    background: #ffffff;
    font-size: 0.99em; /* Increased by 10% from 0.9em */
}

.reveal table th {
    background: #2596be;
    color: white;
    padding: 0.75em;
    border: 1px solid #1f7a9a;
    font-weight: 700;
}

.reveal table td {
    padding: 0.55em;
    border: 1px solid #dee2e6;
    color: #000000;
}

.reveal table tr:nth-child(even) {
    background: #f8f9fa;
}

.reveal table tr:hover {
    background: #e3f2fd;
}

/* Lists - Updated colors */
.reveal ul, .reveal ol {
    margin-left: 1em;
    color: #000000;
}

.reveal li {
    margin-bottom: 0.45em;
    line-height: 1.45; /* Increased by ~10% from 1.35 */
}

/* Enhanced bullet points with blue color */
.reveal ul li::marker {
    color: #2596be;
    font-weight: bold;
}

/* Blockquotes - Updated for white theme */
.reveal blockquote {
    background: #f8f9fa;
    border-left: 5px solid #2596be;
    margin: 1em 0;
    padding: 1em;
    font-style: italic;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    color: #000000;
}

/* Alerts/Callouts - Updated for white theme */
.alert {
    padding: 1em;
    margin: 1em 0;
    border-radius: 6px;
    border-left: 4px solid;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    background: #ffffff;
}

.alert-info {
    background: #e3f2fd;
    border-color: #2596be;
    color: #1f7a9a;
}

.alert-warning {
    background: #fff3cd;
    border-color: #ffc107;
    color: #856404;
}

.alert-success {
    background: #d4edda;
    border-color: #28a745;
    color: #155724;
}

.alert-danger {
    background: #f8d7da;
    border-color: #dc3545;
    color: #721c24;
}

/* Custom classes for finance content - Updated with new theme */
.financial-concept {
    background: linear-gradient(135deg, #2596be 0%, #1f7a9a 100%);
    color: white;
    padding: 1.5em;
    border-radius: 10px;
    margin: 1em 0;
    box-shadow: 0 4px 8px rgba(37, 150, 190, 0.3);
}

.code-exercise {
    background: #ffffff;
    border: 2px dashed #2596be;
    padding: 1.5em;
    border-radius: 8px;
    margin: 1em 0;
    position: relative;
    color: #000000;
}

.code-exercise::before {
    content: "💻 Exercise";
    position: absolute;
    top: -10px;
    left: 15px;
    background: #fff;
    padding: 0 10px;
    font-weight: bold;
    color: #2596be;
    font-size: 0.9em;
}

.instructor-note {
    background: #fff3cd;
    border: 1px solid #ffc107;
    padding: 0.8em;
    border-radius: 6px;
    font-size: 0.9em;
    margin: 1em 0;
    position: relative;
    color: #856404;
}

.instructor-note::before {
    content: "👨‍🏫 Note";
    font-weight: bold;
    color: #856404;
    display: block;
    margin-bottom: 0.5em;
}

/* Key concepts highlighting - Updated with new blue */
.key-concept {
    background: #e3f2fd;
    border: 1px solid #2596be;
    padding: 1em;
    border-radius: 8px;
    margin: 1em 0;
    box-shadow: 0 2px 4px rgba(37, 150, 190, 0.1);
    color: #000000;
}

/* Two-column layout utility */
.two-columns {
    display: flex;
    gap: 2em;
    align-items: flex-start;
}

.two-columns > div {
    flex: 1;
}

/* Slide transitions and animations */
.reveal .slides section {
    transition: all 0.3s ease;
}

/* Title slide special styling - Updated with new blue */
.reveal .title-slide h1, 
.reveal #title-slide h1,
.reveal section.quarto-title-block h1 {
    color: #2596be;
    font-size: 3.0em; /* 1.5 times the current size of 2em */
    font-weight: 900;
    margin-bottom: 0.5em;
}

/* Title slide subtitle styling */
.reveal #title-slide .subtitle,
.reveal section.quarto-title-block .subtitle {
    color: #2596be;
    font-size: 1.8em;
    margin-bottom: 1em;
}

/* Same with h2*/
.reveal .title-slide h2,
.reveal #title-slide h2,
.reveal section.quarto-title-block h2 {
    color: #2596be;
    font-size: 2.0em; /* 1.5 times the current size of 1.3em */
    font-weight: 700;
    margin-bottom: 0.5em;
}

/* Author and date styling for title slide */
.reveal #title-slide .author,
.reveal section.quarto-title-block .author,
.reveal #title-slide .date,
.reveal section.quarto-title-block .date,
.reveal #title-slide .quarto-title-author-name,
.reveal section.quarto-title-block .quarto-title-author-name {
    color: #000000;
    font-size: 1.5em;
    font-weight: 600;
    margin-bottom: 0.5em;
}

/* Progress bar customization - Updated with new blue */
.reveal .progress {
    color: #2596be;
    height: 3px;
}

.reveal .progress span {
    background: #2596be;
}

/* Slide numbers styling - Updated for white theme */
.reveal .slide-number {
    color: #2596be;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid #2596be;
    padding: 5px 10px;
    border-radius: 3px;
    font-size: 0.8em;
    font-weight: 700;
}

/* Text styling - Ensure black text on white background */
.reveal p, .reveal li {
    color: #000000;
    font-size: 1.05em; /* Added 10% font size increase */
}

/* Links styling */
.reveal a {
    color: #2596be;
    text-decoration: none;
}

.reveal a:hover {
    color: #1f7a9a;
    text-decoration: underline;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .reveal h1 {
        font-size: 1.7em; /* Adjusted between 1.8em and 1.6em */
    }
    
    .reveal pre {
        font-size: 0.62em; /* Adjusted between 0.65em and 0.6em */
    }
    
    .reveal table {
        font-size: 0.78em; /* Adjusted between 0.8em and 0.75em */
    }
    
    .reveal .slides section::after {
        width: 60px;
        height: 45px;
        bottom: 10px;
        left: 10px;
    }
    
    .two-columns {
        flex-direction: column;
        gap: 1em;
    }
}

/* Print styles */
@media print {
    .reveal .slides section::before {
        display: none;
    }
}

/* Force white background and override any theme defaults */
.reveal,
.reveal .slides,
.reveal .slides section,
.reveal .backgrounds,
.reveal .slide-background {
    background-color: #ffffff !important;
    background: #ffffff !important;
}

/* Ensure normal text is black without overriding syntax tokens */
.reveal .slides section {
    color: #000000;
}

/* Allow the highlighter theme to control token colors (no overrides here) */
