/* CSS for Apparatus Page */

.banner {
    background-color: black;
    color: white;
    text-align: center;
    padding: 50px 0;
    text-transform: uppercase;
}

.banner h1 {
    font-family: Oswald;
    font-size: 60px;
}

.section-container {
    padding: 20px;
    margin: 20px auto;
    max-width: 1200px;
    align-items: center;
    justify-content: center;
}

.filter-container {
    justify-content: center;
    gap: 15px;
    padding: 15px;
    border-radius: 10px;
    margin-bottom: 10px;

}

#filter-form input[type="date"] {
    font-family: Oswald;
    font-size: 18px;
    padding: 5px 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    background: #fff;
    color: #333;
    transition: border-color 0.3s ease-in-out;
    width: 140px;
}

#filter-form {
    display: flex;
    align-items:center;
    gap:10px;
}

.apply-btn {
    background: red;
    font-family: Oswald;
    text-transform: uppercase;
    color: white;
    border: none;
    padding: 8px 15px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 20px;
    font-weight: 600;
    transition: background 0.3s, transform 0.2s;
    margin-left: 20px;
}

.clear-btn {
    background: black;
    font-family: Oswald;
    text-transform: uppercase;
    color: white;
    border: none;
    padding: 8px 15px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 20px;
    font-weight: 600;
    transition: background 0.3s, transform 0.2s;
    margin-left: 20px;
    display: none;
}

.clear-btn.active {
    display: inline-block; /* or block, as needed */
}

.apply-btn:hover {
    background: #d1001f;
}

.clear-btn:hover {
    background: #4B4B4B;
}

label {
    font-family: Oswald;
    font-size: 20px;
    align-items: center;

}

#filter-form select {
    font-family: Oswald;
    font-size: 18px;
}


.section-header-container {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin-bottom: 20px;
}

.section-header {
    font-family: 'Oswald', sans-serif;
    font-size: 28px;
    font-weight: bold;
    color: #333333;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.section-header-container a {
    font-size: 18px;
    font-weight: bold;
    color: var(--primary-color);
    text-decoration: none;
}

.section-header-container a:hover {
    text-decoration: underline;
}

.section-header-container::after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background-color: black;
    position: absolute;
    bottom: -10px;
    left: 0;
    margin-bottom: 10px;
}

.card-container {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.inventory-card {
    background: var(--main-bg-color);
    padding: 15px;
    /*box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);*/
    border-radius: 10px;
    text-align: left;
    transition: transform 0.3s ease-in-out;
}

.inventory-card:hover {
    transform: scale(1.03);
}

.inventory-card img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    /*border-radius: 10px;*/

    /*height: auto;
    border-radius: 10px;*/
}

.inventory-card h3 {
    /*margin: 10px 0;*/
    font-size: 20px;
    color: var(--primary-color);
}

.inventory-card p {
    margin: 5px 0;
    color: var(--second-secondary-color);
}

/*.truck-title {
    font-size: 18px;
    font-weight: bold;
     padding-bottom: 15px;
    color: #000;
}*/

.truck-details {
    font-family: 'Oswald', sans-serif;
    font-size: 20px;
    color: black;
    line-height: 1.4;
    margin: 12px 0 10px;
}

/*.details-link {
    display: inline-block;
    margin-top: 10px;
    color: var(--primary-color);
    font-weight: bold;
    text-decoration: none;
}

.details-link:hover {
    text-decoration: underline;
}

.reviews {
    padding: 20px;
    margin: 20px auto;
    max-width: 1200px;
    text-align: left;
}

.reviews h2 {
    margin-bottom: 10px;
    text-align: left;
}

.reviews-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
}

.review-card {
    background: white;
    padding: 20px;
    border: 1px solid #ccc;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s ease-in-out;
    text-align: left;
}

.review-card:hover {
    transform: scale(1.03);
}

.review-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.review-header img {
    width: 30px;
    height: auto;
}

.stars {
    margin-top: 10px;
    color: #f4b400;
    font-size: 20px;
}*/

.details-link {
    display: inline-block;
    font-family: 'Oswald', sans-serif;
    /*margin-top: -40px;*/
    color: var(--primary-color);
    font-weight: normal;
    text-decoration: none;
    font-size: 20px;
}

.details-link:hover {
    text-decoration: underline;
}

.truck-img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
}

/* Gallery Slider Styles*/
.gallery-slider {
    width: 100%;
    max-width: 340px; /* or your preferred max size */
    height: auto;
    display: block;
    margin-bottom: 15px;
}

.gallery-slider .swiper-slide {
    display: flex;
    align-items: bottom;
    justify-content: bottom;
    height: 100%;
}

.gallery-img {
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
}

.swiper-button-next,
.swiper-button-prev {
    top: auto !important;      /* remove vertical centering */
    bottom: 10px !important;   /* push to bottom */
    transform: none !important;
    color: #FF0000 !important; /* your gray color */
}

/*.swiper-pagination-bullet {
    background: #555555 !important; /* cool gray
    opacity: 1 !important;
}

.swiper-pagination-bullet-active {
    background: #000000 !important; /* black active
}*/

/* End Gallery Slider Styles*/


#location {
    min-width: 140px; /* Adjust as needed */
}


@media (max-width: 400px) {
    .banner h1 {
        font-size: 40px;
    }

    .card-container {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .inventory-card {
        margin-bottom: 20px;
    }

    .inventory-card h3 {
        font-size: 18px;
    }

    .gallery-slider {
        max-width: 80vw;
    }

    /*.inventory-card p {
        font-size: 14px;
    }*/

    .truck-details {
        font-size: 16px;
        color: #555;
        line-height: 1.4;
        margin: 12px 0 10px;
    }

    .apply-btn, .clear-btn {
        /*font-size: 14px;
        padding: 6px 10px;
        width: 100%;
        margin-left: 0;
        margin-top: 10px;*/

        width: 100%;
        margin-left: 0;
        margin-top: 10px;
    }

    #filter-form {
        flex-direction: column;
        align-items: center;
    }
}


@media (min-width: 401px) and (max-width: 600px) {
    .banner h1 {
        font-size: 40px;
    }

    .card-container {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .inventory-card {
        margin-bottom: 20px;
        display: flex;
        flex-direction: column;
        align-items: left;
    }

    .inventory-card h3 {
        font-size: 18px;
    }

    .gallery-slider {
        max-width: 85vw;
    }

    /*.inventory-card p {
        font-size: 16px;
    }*/

    .truck-details {
        font-size: 16px;
        color: #555;
        line-height: 1.4;
        margin: 12px 0 10px;
    }

    .apply-btn, .clear-btn {
        /*font-size: 14px;
        padding: 6px 10px;
        width: 100%;
        margin-left: 0;
        margin-top: 10px;*/

        width: 100%;
        margin-left: 0;
        margin-top: 10px;
    }

    #filter-form {
        flex-direction: column;
        align-items: center;
    }
}











@media (min-width: 601px) and (max-width: 900px) {

    .banner h1 {
        font-size: 50px;
    }

    .card-container {
        grid-template-columns: repeat(2, 1fr);
    }

    #filter-form {
        flex-direction: column;
        align-items: center;
    }

    .apply-btn, .clear-btn {
        width: auto;
        margin-left: 0;
        margin-top: 10px;
    }

    .gallery-slider {
        max-width: 40vw;
    }
}


@media (min-width: 901px) and (max-width: 1099px) {
    .banner h1 {
        font-size: 60px;
    }

    .card-container {
        grid-template-columns: repeat(2, 1fr);
    }

    .apply-btn, .clear-btn {
        width: auto;
        margin-left: 20px;
        margin-top: 0;
    }

    .gallery-slider {
        max-width: 43vw;
    }
}

@media (min-width: 1100px) and (max-width: 1170px) {
    .banner h1 {
        font-size: 60px;
    }

    .card-container {
        grid-template-columns: repeat(3, 1fr);
    }

    .apply-btn, .clear-btn {
        width: auto;
        margin-left: 20px;
        margin-top: 0;
    }

    .gallery-slider {
        max-width: 28vw; /* or your preferred max size */
    }
}

