body {
    margin: 0;
    background-color: #f5f2ea;
    color: #2f2a22;
    font-family: Georgia, "Times New Roman", serif;
}

.container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 30px 20px;
}

header {
    text-align: center;
    padding: 40px 0 20px;
}

.site-title {
    font-size: 3rem;
    font-weight: normal;
    letter-spacing: 0.12em;
    color: #2f3b2f;
    margin: 0;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.08);
}

nav {
    text-align: center;
    padding: 18px 0;
    border-top: 1px solid #c8bea8;
    border-bottom: 1px solid #c8bea8;
}

nav a {
    color: #3f4a36;
    text-decoration: none;
    margin: 0 14px;
    font-size: 1rem;
}

nav a:hover {
    color: #7a6a3a;
}

.social-links {
    text-align: center;
    margin-top: 12px;
    font-size: 0.9rem;
}

.social-links a {
    color: #666;
    text-decoration: none;
    margin: 0 8px;
}

.social-links a:hover {
    color: #3f4a36;
}

.cart-button {
    display: flex;
    justify-content: center;
    margin-top: 15px;
    margin-bottom: 20px;
}

main {
    padding: 40px 0;
}

section {
    margin-bottom: 35px;
    text-align: center;
}

.intro h2 {
    font-size: 1.5rem;
    font-weight: normal;
    max-width: 700px;
    margin: 0 auto 25px;
    line-height: 1.5;
}

.button-row {
    margin-top: 20px;
}

.button {
    display: inline-block;
    padding: 10px 18px;
    margin: 8px;
    border: 1px solid #3f4a36;
    color: #3f4a36;
    text-decoration: none;
    background-color: transparent;
}

.button:hover {
    background-color: #3f4a36;
    color: #f5f2ea;
}

.art-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    margin: 30px 0;
}

.art-card {
    text-align: center;
}

.art-card img {
    width: 300px;
    height: 400px;
    object-fit: cover;
    display: block;
    margin: 0 auto;
}

.art-card h3 {
    font-weight: normal;
    margin-top: 12px;
}

.welcome,
.latest-entry {
    text-align: center;
    max-width: 700px;
    margin: 35px auto;
    line-height: 1.7;
}

/* GALLERY */

.gallery-intro {
text-align: center;
max-width: 700px;
margin: 0 auto 40px auto;
}

.gallery-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 40px 28px;
}

.art-links { 
    margin-top: 15px; 
} 

.art-links .button { 
    display: inline-block; 
    margin: 5px; 
    padding: 8px 14px; 
    font-size: 0.9rem; 
}

/* STORIES PAGE */

.stories-intro {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 40px auto;
}

.story-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 35px 28px;
}

.story-card {
    text-align: center;
    padding: 20px;
    border: 1px solid #c8bea8;
}

.story-card h3 {
    font-weight: normal;
    font-size: 1.2rem;
    margin-bottom: 12px;
}

.story-card p {
    line-height: 1.6;
    margin-bottom: 18px;
}

.story-links .button {
    padding: 8px 14px;
    font-size: 0.9rem;
}

/* SHOP PAGE */

.shop-intro {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 40px auto;
}

.shop-note {
    max-width: 800px;
    margin: 20px auto 0;
    line-height: 1.7;
    font-size: 0.95rem;
    color: #3a7a65;
}

.shop-categories {
    text-align: center;
    margin-bottom: 50px;
}

.shop-categories a {
    margin: 0 15px;
    text-decoration: none;
    color: #3f4a36;
}

.shop-categories a:hover {
    color: #7a6a3a;
}

.shop-section {
    margin-bottom: 60px;
}

.shop-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.shop-thumbnail {
    text-align: center;
}

.shop-thumbnail a {
    text-decoration: none;
    color: inherit;
}

.shop-thumbnail img {
    width: 100%;
    height: 300px;
    object-fit: cover;
}

.shop-thumbnail h3 {
    margin-top: 12px;
    margin-bottom: 5px;
    font-size: 1rem;
    font-weight: normal;
}

.shop-thumbnail p {
    margin: 0;
}

/* SOLD ARTWORK PAGE */

.sold-artwork {
    display: flex;
    gap: 50px;
    align-items: center;
    justify-content: center;
    max-width: 1000px;
    margin: 50px auto;
}

.sold-art-image img {
    width: 350px;
    height: auto;
    display: block;
}

.sold-art-text {
    max-width: 500px;
}

.sold-art-text h2 {
    margin-bottom: 20px;
}

.sold-art-text p {
    margin-bottom: 20px;
    line-height: 1.8;
}

@media (max-width: 768px) {
    .sold-artwork {
        flex-direction: column;
        text-align: center;
    }

    .sold-art-image img {
        width: 280px;
    }
}

/* INDIVIDUAL STORY PAGES */

.story-entry {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    line-height: 1.8;
}

.story-image {
    width: 300px;
    height: 400px;
    object-fit: cover;
    display: block;
    margin: 25px auto;
}

/* Regular story paragraphs */ 

.story-entry p { 
text-align: left; 
margin-bottom: 22px; 
} 

/* Poems */ .poem { 
text-align: center; 
line-height: 2; }

.poem p { 
text-align: center; 
margin-bottom: 18px; 
}

/* ABOUT PAGE */

.about-intro,
.about-section {
    text-align: center;
    max-width: 750px;
    margin: 0 auto 40px auto;
    line-height: 1.7;
}

.about-section h2 {
    font-weight: normal;
    margin-bottom: 12px;
}

/* FOOTER */

footer {
    text-align: center;
    padding: 25px 0;
    border-top: 1px solid #c8bea8;
    margin-top: 25px;
}

.footer-nav {
    margin-bottom: 20px;
}

.footer-nav a {
    color: #3f4a36;
    text-decoration: none;
    margin: 0 12px;
}

.footer-nav a:hover {
    color: #7a6a3a;
}

.copyright {
    font-size: 0.9rem;
    color: #666;
}

/* RESPONSIVE */

@media (max-width: 900px) {
    .art-grid,
    .gallery-grid,
    .story-list,
    .shop-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .site-title {
        font-size: 2.3rem;
        letter-spacing: 0.08em;
    }
}

@media (max-width: 600px) {
    .art-grid,
    .gallery-grid,
    .story-list,
    .shop-grid {
        grid-template-columns: 1fr;
    }

    .site-title {
        font-size: 1.8rem;
        letter-spacing: 0.05em;
    }

    nav a,
    .social-links a {
        display: inline-block;
        margin: 6px 8px;
    }

    .art-card img,
    .story-image {
        width: 260px;
        height: 350px;
    }

    .container {
        padding: 20px 15px;
    }
}