/* General body styling */
body {
    font-family: 'Playfair Display', serif;
    background-color: #f8f9fa; /* Light, neutral background */
    margin: 0;
    padding: 0;
    
}


/* Header Styling */
h1 {
    font-family: 'Lora', serif;
    color: #e2b97f; /* Soft gold color for text */
    text-align: center;
    margin-top: 20px;
    font-size: 36px;
    font-weight: 700;
}

/* Carousel styling */
.carousel-inner img {
    height: 450px;
    object-fit: cover;
}

/* Search Bar Styling */
.search-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    z-index: 1;
    width: 80%;
    max-width: 500px;
}

.input-group {
    width: 100%;
    margin-top: 30px;
}

.form-control {
    border-radius: 50px;
    padding: 20px;
    font-size: 18px;
    border: 2px solid #e2b97f;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
}

.btn-outline-secondary {
    border-radius: 50px;
    padding: 10px 30px;
    background-color: #e2b97f;
    color: white;
    border: 2px solid #e2b97f;
    transition: background-color 0.3s ease;
}

    .btn-outline-secondary:hover {
        background-color: #c29e63;
        border-color: #c29e63;
    }

/* Recipe Card Styling */
.card {
    border: none;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    width: 25rem;
}

.card:hover {
    transform: translateY(-10px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.card-img-top {
    height: 200px;
    object-fit: cover;
    border-radius: 10px;
}



/* Footer Styling */
footer {
    background-color: #e2b97f;
    color: white;
    padding: 20px 0;
    text-align: center;
    font-size: 14px;
}

/* Mobile Responsive Styles */
@media (max-width: 768px) {
    h1 {
        font-size: 28px; /* Smaller heading on mobile */
    }

    .search-container {
        width: 90%; /* Increased width for mobile devices */
        max-width: 400px; /* Smaller max width */
        top: 40%; /* Adjust position */
    }

    .input-group {
        margin-top: 20px; /* Reduced margin on smaller screens */
    }

    .form-control {
        font-size: 16px; /* Smaller font for smaller screens */
        padding: 15px; /* Adjust padding */
    }

    .btn-outline-secondary {
        padding: 8px 20px; /* Smaller button padding on mobile */
        font-size: 14px; /* Smaller button text */
    }

    /* Making the card container a grid to show 2 per row */
    .card-deck {
        display: grid;
        grid-template-columns: 1fr 1fr; /* 2 cards per row */
        gap: 10px; /* Space between the cards */
    }

    .card {
        width: 80vw !important; /* Ensures each card takes up 100% of its grid column */
        border-radius: 8px; /* Slightly smaller border radius */
    }

    .card-img-top {
        height: 150px; /* Smaller image height */
    }
}


@media (max-width: 1024px) {
    
    .card{
        width: 12rem;
        font-size: 15px;
    }
    
}

    /* Tablet Responsive Styles */
    @media (max-width: 1024px) {
        h1 {
            font-size: 32px; /* Slightly smaller heading for tablets */
        }

        .search-container {
            width: 85%; /* Slightly reduced width on tablets */
            max-width: 450px; /* Larger max-width than mobile */
        }

        .form-control {
            font-size: 17px; /* Slightly smaller font for tablets */
            padding: 18px; /* Reduced padding */
        }

        .btn-outline-secondary {
            padding: 10px 25px; /* Adjust padding */
        }

        .card-img-top {
            height: 180px; /* Slightly smaller images for tablets */
        }
    }
