/* 2026-11-06 (Enam): site polish - loaded after main.css on every website page */

/* 1. No stretched gaps between words: justified text becomes left aligned */
[style*="justify"], .text-justify, .category-page p, .service-text p { text-align: left !important; }
.single-product .product-content, .single-product .product-content p, .single-product .category-products h2 { text-align: left !important; }

/* 2. Cards in one row have the same height and their buttons sit on the same line */
.row > [class*="col-"]:has(> .single-product),
.row > [class*="col-"]:has(> .get-estimates-home-product),
.row > [class*="col-"]:has(> .service-item),
.row > [class*="col-"]:has(> .member) { display: flex; }
.single-product, .get-estimates-home-product, .service-item, .member { display: flex; flex-direction: column; width: 100%; height: 100%; }
.single-product .product-content, .get-estimates-home-product .service-text, .service-item .service-text { display: flex; flex-direction: column; flex: 1 1 auto; }
.single-product .product-content > .mt-3:last-child,
.get-estimates-home-product .service-text > div:last-child,
.service-item .service-text > :last-child { margin-top: auto !important; }
.single-product .product-content > .mt-3:last-child { padding-top: 12px; }

/* 3. Standard image sizes (same shape on desktop and phone, cropped neatly - never stretched) */
.single-product .product-img { overflow: hidden; border-radius: 12px; }
.single-product .product-img img,
.get-estimates-home-product .image_box img,
.service-item .icon img, .icon > a > img,
.portfolio-content img {
    width: 100% !important; height: auto !important; aspect-ratio: 4 / 3; object-fit: cover; object-position: center; display: block;
}
.get-estimates-home-product .image_box { height: auto !important; overflow: hidden; border-radius: 10px; }
.different-service img, .col-lg-6 > img.img-fluid, .col-lg-6 > div > img.img-fluid, .about img.img-fluid {
    width: 100% !important; height: auto !important; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 12px;
}
.member img { width: 100% !important; max-width: 220px; height: auto !important; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 50%; margin: 0 auto; }
.img-selection img, .img-thumbnail img, .product-selection img { aspect-ratio: 1 / 1; object-fit: cover; }
.different-cutrain-material-image img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
img.client-logo, .clients .swiper-slide img { height: 80px !important; width: 100% !important; object-fit: contain; }

/* 4. Tidy titles that were demoted from <h1> to keep one main title per page */
p.h1 { margin-bottom: .5rem; text-align: inherit; }

@media (max-width: 575.98px) {
    .single-product .product-img img, .get-estimates-home-product .image_box img, .portfolio-content img { aspect-ratio: 4 / 3; }
    .different-service img, .col-lg-6 > img.img-fluid { aspect-ratio: 4 / 3; }
    img.client-logo, .clients .swiper-slide img { height: 64px !important; }
}
