/* GOOGLE FONTS */
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&display=swap');



/* WEBSITE STRUCTURE */
html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}

h1, h2, h3, h4, h5, p { font-family: "Lato", sans-serif; }



/* NAVIGATION + LOGO */
nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1em 2em;
}

.logo {
    height: 40px;
}

/* Navigation Links */
.nav-links {
    list-style: none;
    display: flex;
    gap: 1em; 
    margin: 0; 
    padding: 0; 
    flex-wrap: wrap; /* Allow items to wrap onto the next line */
}

.nav-links li {
    margin-bottom: 10px;
    flex: 1 1 auto; /* Allow items to grow and shrink */
}

.nav-links a {
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-size: 13px;
    color: #392922;
    text-decoration: none;
    padding: 10px;
    display: block; /* Make links block-level for full width */
    text-align: center; /* Center align text */
}

/* Navigation: Order Button */
.order-button {
    background-color: #6E4D37;
    color: #fff;
    padding: 10px 15px;
    border-radius: 50px;
    text-decoration: none;
}

a.order-button {
    color: #fff;
}

.order-button:hover { 
    transition: background-color 0.3s ease; /* For Hovering */
    background-color: #E3A951; 

}
.order-button:active {
    background-color: #392922; /* Darker shade for pressed state */
    transform: scale(0.95);    /* Slightly reduce size for pressed effect */
}



/* HERO SECTIONS */
.hero-home {
    background-image: url(../images/home-hero-image.png);
    background-size: cover;
    background-position: center;
    height: 55vh; /* Full viewport height */
    display: flex;
    justify-content: center;
    align-items: center;
}

.hero-logo {
    background-image: url(../logo/loafcake-wordmark.svg);
    background-repeat: no-repeat;
    height: 100px;
    width: 300px;

}

.hero-about {
    background-image: url(../images/about-hero-image.png);
    background-size: cover;
    background-position: center;
    height: 55vh; /* Full viewport height */
    display: flex;
    justify-content: center;
    align-items: center;
}

.hero-products {
    background-image: url(../images/products-hero-image.png);
    background-size: cover;
    background-position: center;
    height: 55vh; /* Full viewport height */
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Hero H1 */
.hero-content h1 {
    font-family: "Lato", sans-serif;
    font-weight: 700;
    font-size: xx-large;
    color: #fff;
    text-align: center;
}

/* Home Page - Intro Section */
.bakery-intro {
    text-align: center;
    padding: 2em 1em;
}

.bakery-intro h2 {
    font-family: "Lato", sans-serif;
    font-weight: 900;
    font-size: 32px;
    color: #6E4D37;
    margin-bottom: 1em;
}

.bakery-intro-box {
    display: inline-block;
    padding: 2em;
    max-width: 450px; /* Adjust the width */
    text-align: center;
}

.bakery-intro-box p {
    font-family: "Lato", sans-serif;
    font-weight: 400;
    color: #392922;
    margin: 1em 0;
}

/* Learn More Button */
.learn-more {
    background-color: #6E4D37;
    color: #fff;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 15px 20px;
    border: none;
    border-radius: 50px;
    transition: background-color 0.3s ease; /* For Hovering */
}

.learn-more:hover { 
    background-color: #573d2c;
}

.learn-more a { 
    color: #fff;
    text-decoration: none;
}



/* ABOUT PAGE */
.about {
    text-align: center;
    padding: 2em 1em;
}

.about h2 {
    font-family: "Lato", sans-serif;
    font-weight: 900;
    font-size: 32px;
    color: #6E4D37;
    margin-bottom: 1em;
    text-align: center;
}

.about-box {
    display: inline-block;
    padding: 2em;
    max-width: 700px; /* Adjusted the width */
}

.about-box p {
    font-family: "Lato", sans-serif;
    font-weight: 400;
    color: #392922;
    margin: 1em 0;
    line-height: 25px;
    text-align: left;
}



/* FOR TWO COLUMNS CONTENT */
.bakery-intro-columns {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 100px;
    max-width: 120vh;
    margin: 0 auto;
    flex-wrap: wrap; /* Allow flex items to wrap */
}

.bakery-intro-columns h1, h2, h3, h4, h5 { 
    font-family: "Lato", sans-serif;
    font-weight: 700;
    color: #392922;
}

.bakery-intro-columns p { 
    font-family: "Lato", sans-serif;
    font-weight: 400;
    color: #392922;
    line-height: 25px;
}

.bakery-intro-column-left,
.bakery-intro-column-right {
    flex: 1;
    padding: 1em;
}

.bakery-intro-column-left {
    order: 2; /* Text second on mobile */
    padding-right: 50px;
}

.bakery-intro-column-right {
    order: 1; /* Image first on mobile */
    padding-left: 1em;
}

/* For images with rounded corners */
.rounded-img { 
    width: 100%;
    border-radius: 15px;
}



/* ORDER ONLINE - Product Gallery */
.gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin: 20px;
    padding: 50px;
    justify-content: space-between; /* To distribute items evenly */
}

.gallery-item {
    width: 23%; /* Approximately 4 items per row */
    position: relative;
    overflow: hidden;
}

.gallery-item img {
    display: block;
    width: 100%;
    height: auto;
}

.image-text {
    padding: 10px;
    text-align: center;
}

.image-text h3 { 
    margin: 0;
    line-height: 25px;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
} 

.image-text p {
    margin: 0;
    line-height: 25px;
    font-size: 16px;
    font-weight: 400;
}

/* Add To Cart Button */
.image-text .add-to-cart-btn {
    display: inline-block;
    font-family: "Lato", sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    background-color: #E3A951;
    padding: 8px 15px;
    border: none;
    border-radius: 3px;
    cursor: pointer; /* Changes Mouse to Finger Cursor */
    margin-top: 10px;
    transition: background-color 0.3s ease; /* For Hovering */
}

.image-text .add-to-cart-btn:hover {
    background-color: #EFE6B7; 
}



/* LOCATION MAP */
.map-hero {
    background: url('../images/loafcake-location-map.png') no-repeat center;
    background-size: cover;
    height: 50vh;
} 



/* FOOTER */
footer {
    display: flex;
    justify-content: space-between;
    padding: 2em 1em;
    background-color: rgba(227, 169, 81, 0.5); /* Semi-transparent background based on #E3A951 */ 
}

.footer-column {
    padding: 1em;
}

.footer-column-large {
    flex: 3; /* Adjust for First Column */
    padding-top: 35px;
}

.footer-column-small {
    flex: 1; /* Small Columns */
}

.footer-column h4 {
    font-family: "Lato", sans-serif;
    font-weight: 700;
    font-size: 15px;
    margin-bottom: 0.5em;
}

.footer-column p { 
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-size: 13px;
    color: #392922;
}

.footer-column ul {
    list-style: none;
    padding: 0;
}

.footer-column ul li {
    margin-bottom: 0.5em;
}

.footer-column ul li a {
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-size: 13px;
    color: #392922;
    text-decoration: none;
}



/* SOCIAL MEDIA ICONS */
.socialmedia { 
    padding-top: 20px;
}
.socialmedia img { 
    width: 32px;
}



/* CSS FOR MEDIA QUERIES */

/* Tablet */
@media (max-width: 768px) {
    .bakery-intro-columns {
        flex-direction: column; /* Stack columns vertically */
        padding: 20px;
    }

    .bakery-intro-column-left,
    .bakery-intro-column-right {
        padding: 1em 0;
    }

    .rounded-img { 
        border-radius: 0;
    }

    .gallery-item {
        width: 30%; /* Adjust width for tablets to maintain 4 items per row */
    }
}

/* Mobile */
@media (max-width: 576px) {
    .nav-links {
        flex-direction: column; /* Stack items vertically */
        gap: 0; /* Remove gap between items */
    }

    .nav-links li {
        margin-bottom: 0; /* Remove margin between list items */
    }

    .gallery-item {
        width: 100%; /* Full width for mobile, 1 item per row */
        padding: 10px; /* Adjusted padding for better spacing */
    }
}

