/* Bauhaus Components */
:root {
    --bauhaus-bg: #F0F0F0;
    --bauhaus-fg: #121212;
    --bauhaus-red: #D02020;
    --bauhaus-blue: #1040C0;
    --bauhaus-yellow: #F0C020;
}

body {
    background-color: var(--bauhaus-bg);
    color: var(--bauhaus-fg);
    font-family: 'Outfit', sans-serif;
}

h1, h2, h3, h4, h5, h6, .elementor-heading-title {
    text-transform: uppercase;
    letter-spacing: -0.05em;
}

/* Buttons */
.elementor-button, .btn-bauhaus {
    border: 2px solid var(--bauhaus-fg) !important;
    box-shadow: 4px 4px 0px 0px var(--bauhaus-fg) !important;
    text-transform: uppercase;
    font-weight: bold;
    letter-spacing: 0.1em;
    transition: all 0.2s ease-out;
    border-radius: 0 !important;
}

.elementor-button:active, .btn-bauhaus:active {
    transform: translate(2px, 2px) !important;
    box-shadow: none !important;
}

/* Base button primary maps to red */
.elementor-button--primary { background-color: var(--bauhaus-red) !important; color: white !important; }
.elementor-button--secondary { background-color: var(--bauhaus-blue) !important; color: white !important; }
.btn-yellow { background-color: var(--bauhaus-yellow) !important; color: var(--bauhaus-fg) !important; }

/* Cards & Boxes */
.bauhaus-card, .elementor-widget-image-box .elementor-image-box-wrapper, .elementor-widget-icon-box .elementor-icon-box-wrapper {
    background: white;
    border: 4px solid var(--bauhaus-fg);
    box-shadow: 8px 8px 0px 0px var(--bauhaus-fg);
    transition: transform 0.2s ease-out;
    border-radius: 0;
    padding: 24px;
}
.bauhaus-card:hover, .elementor-widget-image-box:hover .elementor-image-box-wrapper, .elementor-widget-icon-box:hover .elementor-icon-box-wrapper {
    transform: translateY(-4px);
}

/* Images */
.bauhaus-image img, .elementor-widget-image img {
    filter: grayscale(100%);
    transition: filter 0.3s ease-out;
    border: 4px solid var(--bauhaus-fg);
}
.bauhaus-image img:hover, .elementor-widget-image img:hover {
    filter: grayscale(0%);
}