/* Unique Body Style for SpryLife Content */

.spry-breadcrumb { padding: 10px 5%; font-size: 0.9rem; }

/* Clinical blue accents for the SpryLife body */
.spry-about { background: #f8fbff; border-bottom: 1px solid #e1e8ed; }
.spry-about h3 { color: #0056b3; margin-bottom: 15px; }

/* Grid styling for 100% of your service data */
.spry-services .product-card {
    background: #fff;
    border: 1px solid #d0dae2;
    text-align: left;
    padding: 25px;
}
.spry-services i { color: #0056b3; font-size: 2rem; margin-bottom: 15px; }
.spry-services ul { padding-left: 20px; color: #555; }

/* Dark Detail Grid for the Location/Hours */
.spry-details-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    padding: 50px 5%;
    background: #112233; /* Deep navy professional look */
    color: white;
}
.details-box h3 { color: #5dade2; margin-bottom: 15px; border-bottom: 1px solid #2c3e50; padding-bottom: 5px; }
.details-box ul { list-style: none; padding: 0; }
.details-box li { margin-bottom: 10px; border-bottom: 1px solid #1a3044; padding-bottom: 5px; }
.map-btn { 
    display: inline-block; margin-top: 10px; background: #28a745; color: white; 
    padding: 8px 15px; border-radius: 4px; text-decoration: none; 
}

/* Media Queries for SpryLife Body */

@media (max-width: 768px) {
    /* Adjust padding for mobile to save space */
    .section-padding {
        padding: 40px 20px;
    }

    /* Stack the Dark Detail Grid vertically on mobile */
    .spry-details-grid {
        grid-template-columns: 1fr; /* Single column */
        padding: 40px 20px;
        gap: 30px;
    }

    /* Make the Details Boxes full width */
    .details-box {
        text-align: left;
        border-bottom: 1px solid #1a3044;
        padding-bottom: 20px;
    }

    .details-box:last-child {
        border-bottom: none;
    }

    /* Adjust the Services Grid for smaller screens */
    .spry-services .product-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .spry-services .product-card {
        padding: 20px;
    }

    /* Make the Map Button easier to tap with a thumb */
    .map-btn {
        display: block;
        text-align: center;
        padding: 12px;
        font-size: 1rem;
    }
}

@media (max-width: 480px) {
    /* Font size adjustments for very small phones */
    .spry-about h3 {
        font-size: 1.4rem;
    }

    .spry-services .product-card h3 {
        font-size: 1.2rem;
    }

    /* Tighten up the breadcrumb on mobile */
    .nav-breadcrumb {
        font-size: 0.8rem;
        padding: 8px 15px;
        overflow-x: auto;
        white-space: nowrap; /* Allows scrolling on tiny screens */
    }
}