/*
 * M/S Babu Enterprise — public text alignment and mobile typography hotfix
 * Loaded after all public stylesheets so headings, cards and section copy
 * keep a consistent reading edge on phones, tablets and desktops.
 */

html {
    text-rendering: optimizeLegibility;
}

body {
    text-align: left;
}

/* Do not split normal words in the middle. The emergency responsive layer
   used overflow-wrap:anywhere, which made headings and labels look uneven. */
h1,
h2,
h3,
h4,
h5,
h6,
.btn,
.badge,
.eyebrow,
.section-kicker,
.industrial-kicker,
.nav-link,
label,
strong {
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-wrap: pretty;
}

p,
li,
td,
th,
small,
span,
a {
    word-break: normal;
    overflow-wrap: break-word;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

/* Header */
.navbar-brand,
.navbar-brand > span {
    text-align: left;
}

.brand-name,
.brand-subtitle {
    display: block;
    text-align: left;
}

.navbar-nav .nav-link {
    text-align: left;
}

/* Generic public-page headings and cards */
.page-hero .container,
.page-hero-small .container,
.spare-parts-hero .container,
.solution-card,
.spare-part-card,
.value-card,
.form-card,
.filter-panel,
.compare-picker,
.cta-box,
.contact-methods,
.business-person-card,
.home-spare-card,
.feature-box,
.partner-card {
    text-align: left;
}

.solution-card h3,
.solution-card p,
.spare-part-card h3,
.spare-part-card p,
.value-card h3,
.value-card p {
    margin-left: 0;
    margin-right: 0;
    text-align: left;
}

.solution-category,
.product-card-specs,
.mini-feature-list,
.product-compare-control,
.spare-part-meta {
    text-align: left;
}

.product-card-specs span,
.mini-feature-list li,
.spare-part-meta span {
    align-items: flex-start;
    text-align: left;
}

/* Industrial homepage */
.home-industrial .hero-copy-panel,
.home-industrial .industrial-hero__title,
.home-industrial .industrial-hero__lead,
.home-industrial .hero-trust-list,
.home-industrial .hero-stat-grid,
.home-industrial .hero-machine-card,
.home-industrial .industrial-product-card,
.home-industrial .process-card,
.home-industrial .machine-showcase-tile__content,
.home-industrial .spare-glass-card,
.home-industrial .company-feature-list,
.home-industrial .partner-industrial-card,
.home-industrial .final-industrial-cta__box {
    text-align: left;
}

.home-industrial .industrial-hero__title {
    max-width: 12.5em;
}

.home-industrial .industrial-hero__lead {
    max-width: 65ch;
}

.home-industrial .hero-trust-list span {
    align-items: flex-start;
    line-height: 1.45;
}

.home-industrial .hero-machine-card__top,
.home-industrial .hero-machine-card__model,
.home-industrial .industrial-product-card__model,
.home-industrial .industrial-product-card__footer {
    text-align: left;
}

.home-industrial .hero-machine-card__top > span,
.home-industrial .industrial-product-card__model > span,
.home-industrial .industrial-product-card__footer > span {
    min-width: 0;
}

.home-industrial .section-heading-centered {
    text-align: center;
}

.home-industrial .section-heading-centered .industrial-section-title,
.home-industrial .section-heading-centered .industrial-section-copy {
    text-align: center;
}

.home-industrial .company-feature-list > div,
.home-industrial .partner-industrial-card > div,
.home-industrial .spare-glass-card > strong,
.home-industrial .spare-glass-card > small {
    text-align: left;
}

/* Product detail page */
.product-industrial-page .pfx-hero-copy,
.product-industrial-page .pfx-summary-panel,
.product-industrial-page .pfx-category-panel,
.product-industrial-page .pfx-specialist-card,
.product-industrial-page .pfx-section-heading,
.product-industrial-page .pfx-story-copy,
.product-industrial-page .pfx-feature-card,
.product-industrial-page .pfx-document-card,
.product-industrial-page .pfx-inquiry-copy,
.product-industrial-page .pfx-inquiry-form,
.product-industrial-page .pfx-related-card {
    text-align: left;
}

.product-industrial-page .pfx-hero-copy h1,
.product-industrial-page .pfx-summary-panel h2,
.product-industrial-page .pfx-section-heading h2,
.product-industrial-page .pfx-related-heading h2 {
    max-width: 100%;
    text-align: left;
}

.product-industrial-page .pfx-hero-tags {
    justify-content: flex-start;
}

.product-industrial-page .pfx-hero-tags span {
    justify-content: flex-start;
    text-align: left;
}

.product-industrial-page .pfx-quick-specs > div,
.product-industrial-page .pfx-trust-grid span,
.product-industrial-page .pfx-document-meta,
.product-industrial-page .pfx-related-body {
    text-align: left;
}

.product-industrial-page .pfx-spec-table th,
.product-industrial-page .pfx-spec-table td {
    text-align: left;
}

.product-industrial-page .pfx-document-actions .btn,
.product-industrial-page .pfx-primary-actions .btn,
.product-industrial-page .pfx-mobile-actions .btn {
    text-align: center;
}

/* Footer */
.site-footer,
.site-footer h5,
.site-footer h6,
.site-footer p,
.site-footer li,
.site-footer a,
.site-footer span,
.footer-bottom {
    text-align: left;
}

.footer-contact a,
.footer-contact span {
    overflow-wrap: break-word !important;
    word-break: normal !important;
}

@media (max-width: 991.98px) {
    .navbar-collapse,
    .navbar-nav,
    .navbar-nav .nav-item,
    .navbar-nav .nav-link {
        text-align: left;
    }

    .page-hero .text-lg-end,
    .spare-parts-hero .text-lg-end,
    .cta-section .text-lg-end,
    .featured-machines-section .text-lg-end,
    .spare-parts-industrial-section .text-lg-end {
        text-align: left !important;
    }
}

@media (max-width: 767.98px) {
    /* Give every mobile section the same visual reading edge. */
    .page-hero .container.text-center,
    .page-hero-small .container.text-center {
        text-align: left !important;
    }

    .page-hero .container.text-center > p.mx-auto,
    .page-hero-small .container.text-center > p.mx-auto {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .page-hero .container.text-center > .btn,
    .page-hero-small .container.text-center > .btn,
    .spare-parts-hero .btn,
    .cta-section .btn {
        width: 100%;
    }

    .home-industrial .hero-copy-panel,
    .home-industrial .industrial-hero__title,
    .home-industrial .industrial-hero__lead,
    .home-industrial .industrial-section-title,
    .home-industrial .industrial-section-copy,
    .home-industrial .section-heading-centered,
    .home-industrial .section-heading-centered .industrial-section-title,
    .home-industrial .section-heading-centered .industrial-section-copy {
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        text-align: left;
    }

    .home-industrial .section-heading-centered .section-kicker {
        margin-left: 0;
        margin-right: 0;
    }

    .home-industrial .industrial-hero__title {
        font-size: clamp(2.15rem, 9.4vw, 3.2rem) !important;
        line-height: 1.07 !important;
        letter-spacing: -.035em !important;
    }

    .home-industrial .industrial-section-title {
        font-size: clamp(1.85rem, 8.5vw, 2.6rem) !important;
        line-height: 1.12 !important;
        letter-spacing: -.03em;
    }

    .home-industrial .industrial-section-copy,
    .home-industrial .industrial-hero__lead {
        font-size: 1rem !important;
        line-height: 1.72 !important;
    }

    .home-industrial .hero-trust-list span {
        width: 100%;
        justify-content: flex-start;
    }

    .home-industrial .hero-stat {
        display: grid !important;
        grid-template-columns: minmax(54px, auto) minmax(0, 1fr);
        align-items: center;
        justify-content: initial !important;
        column-gap: 1rem;
        text-align: left;
    }

    .home-industrial .hero-stat strong,
    .home-industrial .hero-stat small {
        margin: 0;
        text-align: left !important;
    }

    .home-industrial .hero-stat small {
        justify-self: start;
    }

    .home-industrial .hero-machine-card__top {
        gap: .75rem;
        align-items: flex-start;
    }

    .home-industrial .hero-machine-card__top > span {
        flex: 1;
        line-height: 1.45;
    }

    .home-industrial .industrial-product-card__model,
    .home-industrial .industrial-product-card__footer {
        align-items: flex-start;
    }

    .home-industrial .industrial-product-card__model > span:last-child,
    .home-industrial .industrial-product-card__footer > a {
        text-align: right;
    }

    .home-industrial .featured-machines-section .industrial-outline-link,
    .home-industrial .machine-showcase-section .industrial-outline-link--solid,
    .home-industrial .spare-parts-industrial-section .industrial-btn,
    .home-industrial .company-story-section .industrial-btn,
    .home-industrial .partner-industrial-section .industrial-btn {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .home-industrial .partner-industrial-card,
    .home-industrial .company-feature-list > div {
        align-items: flex-start;
    }

    .product-industrial-page .pfx-breadcrumb {
        justify-content: flex-start;
        text-align: left;
    }

    .product-industrial-page .pfx-hero-copy h1 {
        font-size: clamp(2rem, 9.2vw, 3rem) !important;
        line-height: 1.08 !important;
    }

    .product-industrial-page .pfx-hero-copy > p,
    .product-industrial-page .pfx-section-heading p,
    .product-industrial-page .pfx-summary-panel > p {
        font-size: .96rem;
        line-height: 1.7;
        text-align: left;
    }

    .product-industrial-page .pfx-hero-tags {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: .5rem;
    }

    .product-industrial-page .pfx-hero-tags span {
        width: 100%;
        min-height: 44px;
        justify-content: flex-start !important;
        padding: .72rem .9rem;
    }

    .product-industrial-page .pfx-hero-stats div {
        text-align: left !important;
    }

    .product-industrial-page .pfx-summary-panel,
    .product-industrial-page .pfx-gallery-panel,
    .product-industrial-page .pfx-category-sidebar,
    .product-industrial-page .pfx-inquiry-shell {
        text-align: left;
    }

    .product-industrial-page .pfx-section-nav-inner {
        justify-content: flex-start;
    }

    .product-industrial-page .pfx-section-nav a {
        flex: 0 0 auto;
        text-align: center;
        white-space: nowrap;
    }

    .product-industrial-page .pfx-related-heading > a {
        align-self: flex-start;
    }

    .solution-card .d-flex.justify-content-between.align-items-start,
    .spare-part-card .d-flex.justify-content-between.align-items-start {
        align-items: flex-start !important;
    }

    .solution-card .text-end,
    .spare-part-card .text-end {
        text-align: left !important;
    }

    .contact-methods a,
    .contact-methods > div,
    .business-person-card,
    .feature-box {
        align-items: flex-start;
        text-align: left;
    }

    .footer-bottom {
        align-items: flex-start !important;
        text-align: left;
    }
}

@media (max-width: 479.98px) {
    .container,
    .container-fluid {
        --bs-gutter-x: 1.25rem;
    }

    .site-footer .col-6 {
        width: 100%;
    }

    .product-industrial-page .pfx-hero-stats {
        grid-template-columns: 1fr !important;
    }

    .product-industrial-page .pfx-hero-stats div {
        display: grid !important;
        grid-template-columns: 58px minmax(0, 1fr);
        justify-content: initial !important;
        column-gap: .8rem;
    }

    .product-industrial-page .pfx-hero-stats strong,
    .product-industrial-page .pfx-hero-stats span {
        margin: 0;
        text-align: left;
    }

    .compare-floating-bar {
        align-items: stretch;
        flex-direction: column;
        text-align: left;
    }

    .compare-floating-bar > div:last-child {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }
}

@media (min-width: 1200px) {
    .home-industrial .industrial-hero__title {
        max-width: 12.5em;
        font-size: clamp(3.5rem, 4.35vw, 4.65rem) !important;
        line-height: 1.02 !important;
    }
}
