/* Minimal Reset */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: sans-serif;
    background-color: #000000;
    /* Black background as requested */
    color: #eeeeee;
    /* Light text */
    line-height: 1.6;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Layout */
.site-wrapper {
    max-width: 1200px;
    /* Center UI like requested - typical wide desktop constraint */
    margin: 0 auto;
    /* Padding for mobile edges */
    position: relative;
    overflow-x: hidden;
}

/* Header & Flowers */
.main-header {
    position: relative;
    min-height: 200px;

}

.header-graphics {
    position: absolute;
    top: 0;
    right: 0;
    /* Aligns right, but inside the centered wrapper */
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.flower-merged-top-right {
    width: auto;
    max-width: 100%;
}

.flower-top-left {
    position: absolute;
    top: 20px;
    left: 0;
}


/* Navigation */
.main-nav {
    max-width: 700px;
    z-index: 20;
    /* Ensure above flowers if overlapping */
    display: flex;
    flex-direction: row;
    /* Horizontal row as requested */
    align-items: center;
    float: right;
}

/* Nav Item Base Styles */
.nav-item {
    display: block;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    transition: opacity 0.2s;
    cursor: pointer;
}

/* Nav Item Dimensions - Scaled 300% (3x) */
/*
   Abstracts: 140x30 -> 420x90
   Figures: 120x30 -> 360x90
   Florals: 110x30 -> 330x90
   Landscapes: 150x30 -> 450x90
   Watercolors: 160x30 -> 480x90

   Wait, 300% is huge. 420px wide per item * 5 items = 2100px.
   That will overflow even a moderately wide screen.
   Maybe the user means "larger" but 300% might be hyperbolic or they want them stacked?
   "Appear as a row in the top right".

   If I do 3x, the row will be massive.
   Let's check the original image sizes (via ls output previously).
   abstracts.gif: 978 bytes. Probably small.
   Let's trust the user's "300% bigger" but add a media query to scale down on smaller screens.
*/

.nav-abstracts {
    width: 420px;
    height: 90px;
    background-image: url('https://storage.googleapis.com/alicekapka-studio-dev.firebasestorage.app/public-assets/assets/images/abstracts.gif');
}

.nav-abstracts:hover {
    background-image: url('https://storage.googleapis.com/alicekapka-studio-dev.firebasestorage.app/public-assets/assets/images/abstracts_over.gif');
}

.nav-figures {
    width: 360px;
    height: 90px;
    background-image: url('https://storage.googleapis.com/alicekapka-studio-dev.firebasestorage.app/public-assets/assets/images/figures.gif');
}

.nav-figures:hover {
    background-image: url('https://storage.googleapis.com/alicekapka-studio-dev.firebasestorage.app/public-assets/assets/images/figures_over.gif');
}

.nav-florals {
    width: 330px;
    height: 90px;
    background-image: url('https://storage.googleapis.com/alicekapka-studio-dev.firebasestorage.app/public-assets/assets/images/florals.gif');
}

.nav-florals:hover {
    background-image: url('https://storage.googleapis.com/alicekapka-studio-dev.firebasestorage.app/public-assets/assets/images/florals_over.gif');
}

.nav-landscapes {
    width: 450px;
    height: 90px;
    background-image: url('https://storage.googleapis.com/alicekapka-studio-dev.firebasestorage.app/public-assets/assets/images/landscapes.gif');
}

.nav-landscapes:hover {
    background-image: url('https://storage.googleapis.com/alicekapka-studio-dev.firebasestorage.app/public-assets/assets/images/landscapes_over.gif');
}

.nav-watercolors {
    width: 480px;
    height: 90px;
    background-image: url('https://storage.googleapis.com/alicekapka-studio-dev.firebasestorage.app/public-assets/assets/images/watercolors.gif');
}

.nav-watercolors:hover {
    background-image: url('https://storage.googleapis.com/alicekapka-studio-dev.firebasestorage.app/public-assets/assets/images/watercolors.gif');
}


/* Artwork Grid */
.artwork-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 40px;
    padding: 20px 0;
    width: 100%;
}

.artwork-card {
    background: #111;
    padding: 10px;
}

.artwork-info {
    color: #ccc;
    text-align: center;
    margin-top: 10px;
    font-family: serif;
}

/* Footer */
.main-footer {
    margin-top: 80px;
    padding: 40px 0;
    border-top: 1px solid #333;
    width: 100%;
}

.footer-content {
    display: flex;
    justify-content: space-between;
    /* Equidistant spacing */
    align-items: center;
    flex-wrap: wrap;
    /* Wrap on small screens */
    gap: 20px;
    max-width: 1000px;
    margin: 0 auto;
    width: 100%;
}

.footer-content img {
    height: 20px;
    /* Standardize footer text height */
    width: auto;
    opacity: 0.7;
}


/* Media Queries */
@media (max-width: 1400px) {

    /* Scale nav down on normal laptops */
    .nav-item {
        /* Use CSS transform scale instead for better support or just resize */
        transform: scale(0.7);
        transform-origin: center;
    }
}

@media (max-width: 1024px) {

    /* Stack nav on tablets/smaller screens */
    .main-nav {
        position: relative;
        top: 0;
        right: 0;
        flex-direction: column;
        align-items: center;
        margin-top: 20px;
        margin-right: 0;
    }

    .nav-item {
        transform: scale(1);
        /* Reset transform */
        /* But width/height are still huge. CSS doesn't support 'zoom' well cross-browser. */
        /* Let's rely on background-size: contain and set max-width */
        max-width: 90vw;
        height: 60px;
        /* Reduced height */
    }
}

@media (max-width: 768px) {
    .header-graphics {
        position: relative;
        /* Stack on mobile? or keep absolute? */
        align-items: center;
        margin-bottom: 20px;
    }

    .flower-top-left {
        display: none;
        /* Hide on mobile to save space? or keep */
    }

    .main-nav {
        margin-bottom: 40px;
        gap: 15px;
    }

    .footer-content {
        flex-direction: column;
        gap: 15px;
    }
}



/* Main Header - Right Flowers */
.main-header {
    position: relative;
    background-image: url('https://storage.googleapis.com/alicekapka-studio-dev.firebasestorage.app/public-assets/assets/images/right-flowers.png');
    background-position-x: right;
    background-position-y: 150px;

    /* Align to top right */
    background-repeat: no-repeat;
    /* Remove border: 1px solid blue; */
    min-height: 240px;
}

/* Base Nav */
.main-nav {
    position: absolute;
    top: 50px;
    right: 50px;
    /* Keep it top right */
    z-index: 20;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 30px;
    /* Remove max-width/float from user hack */
}

/* Main Logo - Center */
.main-logo {
    position: absolute;
    top: 150px;
    /* Position below Nav or alongside flowers? Based on mockups usually centered or top left */
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    padding: 0;
    border: none;
    width: 500px;
    /* Width of the image */
    height: 120px;
}

.main-logo a {
    display: block;
    width: 100%;
    height: 100%;
    background-image: url('https://storage.googleapis.com/alicekapka-studio-dev.firebasestorage.app/public-assets/assets/images/alice-kapka-center..png');
    /* User provided double dot filename */
    background-repeat: no-repeat;
    background-size: contain;
    text-indent: -9999px;
    /* Hide text */
}

/* Site Wrapper - Left Flowers */
.site-wrapper {
    /* Large container for left decorations */
    position: relative;
    max-width: 1400px;
    margin: 0 auto;
    background-image: url('https://storage.googleapis.com/alicekapka-studio-dev.firebasestorage.app/public-assets/assets/images/left-flowers.png');
    background-position: top left;
    background-repeat: no-repeat;
    min-height: 100vh;
}

/* Content Area - Left Side Internal Flowers? */
.content-area {
    position: relative;
    /* The user had padding-left: 200px. This implies the content sits to the right of the 'left-side-flowers'. */
    padding: 40px 40px 40px 240px;
    /* 200px + extra spacing */
    background-image: url('https://storage.googleapis.com/alicekapka-studio-dev.firebasestorage.app/public-assets/assets/images/left-side-flowers.png');
    background-position: top left;
    background-repeat: no-repeat;
}

/* Welcome Section (from inline styles) */
.welcome-section {
    display: flex;
    gap: 20px;
    margin-bottom: 40px;
}

.welcome-image {
    width: 120px;
    height: 190px;
    background-color: #333;
    /* Placeholder color */
}

.welcome-text {
    color: #ccc;
    font-size: 1.1rem;
}

/* Section Header (Text Image) */
.artwork-header {
    width: 650px;
    height: 100px;
    margin-bottom: 20px;
    background-repeat: no-repeat;
    background-position: left center;
}

.header-abstracts {
    background-image: url('https://storage.googleapis.com/alicekapka-studio-dev.firebasestorage.app/public-assets/assets/images/text/abstracts.gif');
}

/* Footer overrides */
.main-footer {
    border-top: 1px solid #333;
    padding-left: 240px;
    /* Match content indent? */
}