/* MEDIUM SCREEN AND BELOW */
@media (max-width: 826px) {
    div#hamburger-icon {
        display: flex;
        align-items: center;
    }

    #menu-button-container {
        display: none;
    }

    #social-media-icons {
        display: none;
    }

    #cart-icon-mobile {
        display: block;
    }

    #hero-greeting p {
        width: 80%;
    }

    .card-content {
        flex-direction: column;
        gap: 2rem;
    }

    .text-container {
        order: 2;
    }

    .image-wrapper img {
        filter: saturate(1);
    }

    .product-card-text h3 {
        transform: translateY(0);
    }

    #products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #services-grid {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    .badge {
        color: var(--custom-red);
        width: calc(40px + 1vw);
        height: calc(40px + 1vw);
        background-color: rgb(255, 220, 220);
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 50%;
        transition: all 0.3s ease;
    }

    .badge span {
        font-size: calc(20px + 1vw);
        transition: all 0.3s ease;
    }

    .service img,
    .service {
        height: 15rem;
    }

    .service-description {
        width: 100%;
        height: 100%;
        flex: 1;
        background-color: white;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
        border-top-right-radius: 16px;
        border-bottom-right-radius: 16px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 0.5rem;
    }

    .service-description h3,
    .service-description p {
        position: relative;
        transform: none;
        top: auto;
        left: auto;
    }

    .service-description h3 {
        color: var(--custom-red-transparent);
        text-shadow: none;
        letter-spacing: 1px;
    }

    .service-description p {
        position: relative;
        z-index: 2;
        opacity: 1;
        color: var(--custom-black);
        text-shadow: none;
    }

    .service {
        display: flex;
        border-radius: 16px;
        overflow: visible;
        aspect-ratio: auto;
    }

    .service::after {
        display: none;
    }

    .service-image-wrapper {
        flex: 1;
        min-width: 40%;
    }

    .service-image-wrapper img {
        filter: brightness(0.8);
        border-top-left-radius: 16px;
        border-bottom-left-radius: 16px;
    }

    .service:hover .badge {
        background-color: var(--custom-red);
    }

    .service:hover .badge span {
        color: var(--custom-white);
    }

    .product-card-text p {
        opacity: 1;
    }

    .gallery-grid {
        column-count: 2;
        gap: 0.2rem;
    }

    .gallery-item {
        margin-bottom: 0.4rem;
    }

    #contact-container {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 2rem;
    }

    #contact-container .contact-box {
        flex-direction: row;
        justify-content: center;
        width: 95%;
        padding-left: 1rem;
        gap: 3rem;
    }

    #contact-container img {
        position: static;
        width: 4rem;
        display: block;
    }

    #contact-bg {
        background-image: url('/assets/contact_bg_mobile.png')
    }
}

@media (max-width: 542px) {
    #hero-greeting-buttons {
        flex-direction: column;
    }

    #hero-greeting-buttons a {
        width: 95%;
    }

    #hero-greeting-buttons a:nth-child(2) {
        width: 90%;
    }

    .image-wrapper img {
        filter: saturate(1);
    }

    .service img,
    .service {
        height: auto;
    }

    .service {
        flex-direction: column;
    }

    .service-description {
        padding: 1rem;
        border-top-left-radius: 0;
        border-top-right-radius: 0;
        border-bottom-right-radius: 16px;
        border-bottom-left-radius: 16px;
    }

    .service-image-wrapper,
    .service-image-wrapper img {
        border-top-left-radius: 16px;
        border-top-right-radius: 16px;
        border-bottom-left-radius: 0;
        height: 250px;
        width: 100%;
        object-fit: cover;
    }

    #faq-grid {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }

}

/* ULTRA WIDE SCREENS AND ABOVE */
@media (min-width: 2000px) {

    #products,
    #services,
    #gallery,
    #faq,
    #contact {
        width: 50%;
    }
}