/* Local UI stage 3: product details and business entry pages. Data and inquiry events are unchanged. */
/* Keep the optional SMT map stable while its resources load on approach. */
.business-entry-ui #KBtestmap {
    width: 100%;
    max-width: 1327px;
    aspect-ratio: 1327 / 611;
    margin-inline: auto;
}
.business-entry-ui #KBtestmap .KBmap__mapHolder { width: 100%; }
.business-entry-ui #KBtestmap > img,
.business-entry-ui #KBtestmap > noscript > img,
.business-entry-ui #KBtestmap .KBmap__mapHolder > img {
    display: block;
    width: 100%;
    height: auto;
}
/* Keep business-entry video, text and motion control in the same banner. */
body:has(main.business-entry-ui) :is(#global-product-menu, #ltt_right_service, #ltt_right_service_1169) { display: none; }
.business-entry-ui > #paralasic02 {
    position: relative;
    isolation: isolate;
    display: grid;
    align-content: center;
    gap: 12px;
    box-sizing: border-box;
    min-height: clamp(320px, 42vw, 640px);
    height: auto;
    overflow: hidden;
    padding: 40px var(--ltt-content-gutter, 24px) 80px;
    background: #18344f;
}
.business-entry-ui > #paralasic02::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgb(0 20 40 / 25%);
    pointer-events: none;
}
.business-entry-ui > #paralasic02 > video {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    border: 0;
    object-fit: cover;
}
.business-entry-ui > #paralasic02 > :is(h2, h5) {
    position: relative;
    inset: auto;
    z-index: 2;
    width: 100%;
    max-width: 1000px;
    height: auto;
    margin: 0 auto;
    color: #fff;
    text-align: center;
    text-shadow: 0 2px 8px #172b3d;
    overflow-wrap: break-word;
}
.business-entry-ui > #paralasic02 > h2 { font-size: clamp(24px, 3vw, 40px); line-height: 1.45; }
.business-entry-ui > #paralasic02 > h5 { font-size: clamp(16px, 1.8vw, 20px); line-height: 1.6; }
.business-entry-ui > .ltt_container { margin-top: 0; }
.business-entry-ui > .ltt_container > #gray_block { display: none; }
.business-entry-ui .business-entry-primary { margin-top: 0; }
@media (min-width: 1170px) {
    body.nav-is-fixed .business-entry-ui > #paralasic02 { margin-top: 95px; }
    .business-entry-ui > #paralasic02 > .ltt-motion-toggle { right: 88px; }
}
@media (max-width: 1169px) {
    body.nav-is-fixed .business-entry-ui > #paralasic02 {
        margin-top: calc(var(--ltt-mobile-header-offset, 56px) + env(safe-area-inset-top, 0px));
        min-height: clamp(260px, 55vw, 420px);
        padding: 24px var(--ltt-content-gutter, 16px) 72px;
    }
}
.product-detail-ui :is(#product-summary, #product-introduction, #product-specs, #product-downloads, #product-contact) {
    scroll-margin-top: 111px;
}
.product-detail-ui .product-summary-section > h3,
.business-entry-ui .business-entry-primary > h3 {
    color: #223a52;
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 600;
    line-height: 1.45;
    overflow-wrap: anywhere;
}
.product-detail-ui .product-summary-section > h4 {
    color: #526374;
    font-size: 16px;
    line-height: 1.65;
}
.product-detail-ui .product-detail-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    clear: both;
    width: 100%;
    margin: 18px 0 24px;
}
.product-detail-nav > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 14px;
    border: 1px solid #b8c8d8;
    border-radius: 6px;
    background: #fff;
    color: #174c7d;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.45;
    text-align: center;
    text-decoration: none;
}
.product-detail-nav > a:hover {
    border-color: #174c7d;
    background: #edf4ff;
}
.product-detail-ui .product-summary-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 28px;
    float: none;
    clear: both;
    width: 100%;
    max-width: 1155px;
    margin: 0 auto;
    padding: 20px;
    border: 1px solid #dce3ea;
    border-radius: 12px;
    background: #fff;
}
.product-summary-grid > .ltt_box_product_50 {
    min-width: 0;
    width: auto;
    float: none;
    margin: 0;
    text-align: left;
}
.product-detail-ui .product-image-container {
    display: block;
    width: 100%;
    margin: 0;
    padding: 16px;
    border-radius: 8px;
    background: #fff;
}
.product-detail-ui .product-image-container > img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 420px;
    margin: 0;
    padding: 0;
    object-fit: contain;
}
.product-detail-ui .ltt_box_product_directions {
    padding: 0;
    font-size: 16px;
    line-height: 1.65;
}
.product-detail-ui .ltt_page_color {
    width: 100%;
    margin: 0 0 16px;
    padding: 14px;
    border-left: 3px solid #005bc6;
    border-radius: 0 6px 6px 0;
    background: #f1f6fc;
    text-align: left;
}
.product-detail-ui .ltt_page_color h5 {
    margin: 0 0 8px;
    padding: 0;
    border: 0;
    color: #223a52;
    font-size: 21px;
    font-weight: 600;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.product-detail-ui .ltt_page_color p {
    color: #526374;
    font-size: 15px;
    line-height: 1.6;
    overflow-wrap: anywhere;
}
.product-detail-ui .ltt_page_text {
    width: 100%;
    padding: 0;
}
.product-detail-ui .ltt_page_text li {
    margin-bottom: 10px;
    font-size: 16px;
    line-height: 1.7;
    overflow-wrap: anywhere;
}
.product-detail-ui #ltt_page_down {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    width: 100%;
    max-width: none;
    height: auto;
    min-height: 44px;
    margin: 0 0 16px;
    padding: 0;
    opacity: 1;
}
.product-detail-ui #ltt_page_down > a {
    display: block;
    flex: 0 0 44px;
    float: none;
    width: 44px;
    min-width: 44px;
    min-height: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    /* Keep the original four icons, scaled to a 44px interaction target. */
    background: transparent url('../img/list.svg') no-repeat;
    background-size: 88px 176px;
    text-indent: -9999px;
    text-decoration: none;
}
.product-detail-ui #ltt_page_down > .ltt_page_down_last {
    background-position: 0 0;
}
.product-detail-ui #ltt_page_down > .ltt_page_down_last:hover {
    background-position: -44px -44px;
}
.product-detail-ui #ltt_page_down > .ltt_page_down_next {
    background-position: 0 -44px;
}
.product-detail-ui #ltt_page_down > .ltt_page_down_next:hover {
    background-position: -44px 0;
}
.product-detail-ui #ltt_page_down > .ltt_page_down_contents {
    background-position: 0 -88px;
}
.product-detail-ui #ltt_page_down > .ltt_page_down_contents:hover {
    background-position: -44px -88px;
}
.product-detail-ui #ltt_page_down > .ltt_page_down_download {
    background-position: 0 -132px;
}
.product-detail-ui #ltt_page_down > .ltt_page_down_download:hover {
    background-position: -44px -132px;
}
.product-detail-ui .product-detail-section > h3,
.business-entry-ui section:not(.business-entry-primary) > h3 {
    color: #223a52;
    font-size: clamp(22px, 2.5vw, 28px);
    font-weight: 600;
    line-height: 1.45;
}
.product-detail-ui .product-detail-section > h4,
.business-entry-ui section:not(.business-entry-primary) > h4 {
    color: #526374;
    font-size: 16px;
    line-height: 1.7;
}
.product-detail-ui #product-introduction > .ltt_box_content_all {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
    gap: 20px;
    width: 100%;
    margin: 0 auto;
}
.product-detail-ui #product-introduction .product_features_tetx {
    min-width: 0;
    width: auto;
    margin: 0;
    padding: 12px;
    border: 1px solid #dce3ea;
    border-radius: 8px;
    background: #fff;
}
.product-detail-ui #product-introduction .product_features_tetx_img {
    width: 100%;
    height: auto;
}
.product-detail-ui #product-introduction .product_features_type {
    display: block;
    float: none;
    height: auto;
    margin: 0;
    padding: 12px 0 0;
    color: #223a52;
    font-size: 16px;
    line-height: 1.65;
    overflow: visible;
    -webkit-line-clamp: unset;
}
.product-detail-ui :is(#product-specs, #product-contact) > .ltt_box_content_all {
    width: 100%;
    margin: 0 auto;
}
.product-detail-ui #product-specs table {
    font-size: 15px;
    line-height: 1.6;
}
.product-detail-ui .product-detail-section img {
    max-width: 100%;
}
.product-detail-ui .product-detail-downloads {
    padding-top: 24px;
}
.business-entry-ui .business-entry-contact {
    box-sizing: border-box;
    width: 100%;
    max-width: 1155px;
    margin: 16px auto 24px;
    padding: 14px 16px;
    border: 1px solid #dce3ea;
    border-radius: 8px;
    background: #f7f9fc;
    color: #526374;
    font-size: 15px;
    line-height: 1.8;
    text-align: center;
    overflow-wrap: anywhere;
}
.business-entry-contact > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin: 4px;
    padding: 8px 10px;
    border: 1px solid #b8c8d8;
    border-radius: 6px;
    background: #fff;
    color: #174c7d;
    font-size: 14px;
    line-height: 1.5;
    text-decoration: none;
}
.business-entry-ui .business-category-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    float: none;
    width: 100%;
    margin: 0;
}
.business-category-grid > .ltt_box_product_50 {
    /* Legacy WOW slide-in transforms can move a grid card outside the viewport. */
    animation: none !important;
    transform: none !important;
    visibility: visible !important;
    min-width: 0;
    box-sizing: border-box;
    width: 100%;
    float: none;
    margin: 0;
    border: 1px solid #dce3ea;
    border-radius: 10px;
    background: #fff;
    color: #223a52;
}
/* Keep only the horizontal service-card entrance from extending the document width. */
.business-entry-ui .ltt_box_content_all > .ltt_box_product_25.wow:is(.slideInLeft, .slideInRight) {
    animation: none !important;
    transform: none !important;
    visibility: visible !important;
}
/* Service/partner cards must shrink with the section, not retain the old 23% floats. */
.business-entry-ui section:is(.ltt_smt_map_all, .ltt_smt_map_all_gray) > .ltt_box_content_all:has(> .ltt_box_product_25) {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    float: none;
    clear: both;
    min-width: 0;
    width: 100%;
    max-width: 1155px;
    margin: 0 auto;
}
.business-entry-ui section:is(.ltt_smt_map_all, .ltt_smt_map_all_gray) > .ltt_box_content_all > .ltt_box_product_25 {
    display: flex;
    min-width: 0;
    width: auto;
    height: auto;
    float: none;
    margin: 0;
    color: #223a52;
    white-space: normal;
    overflow-wrap: anywhere;
}
.business-entry-ui section:is(.ltt_smt_map_all, .ltt_smt_map_all_gray) > .ltt_box_content_all > .ltt_box_product_25 > div {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    width: 100%;
    min-height: 120px;
    height: auto;
    margin: 0;
    padding: 16px;
    border: 1px solid #dce3ea;
    border-radius: 8px;
    background: #f7f9fc;
    color: #223a52;
    font-size: 16px;
    line-height: 1.6;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
}
.business-entry-ui section:is(.ltt_smt_map_all, .ltt_smt_map_all_gray) > .ltt_box_content_all > .ltt_box_product_25 > div > :is(div, p) {
    min-width: 0;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    font-size: inherit;
    line-height: inherit;
    white-space: normal;
    overflow-wrap: anywhere;
}
.business-entry-ui section:is(.ltt_smt_map_all, .ltt_smt_map_all_gray) > .ltt_box_content_all > .ltt_box_product_25 img {
    display: inline-block;
    max-width: 100%;
    height: auto;
    margin: 0;
    object-fit: contain;
    vertical-align: middle;
}
.business-category-grid .ltt_box_bgcolor {
    display: flex;
    flex-direction: column;
    position: static;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background: #fff;
}
.business-category-grid .ltt_box_bgcolor_img {
    display: flex;
    align-items: center;
    justify-content: center;
    position: static;
    width: 100%;
    height: 220px;
    margin: 0;
    padding: 18px;
}
.business-category-grid .ltt_box_bgcolor_img > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}
.business-category-grid .ltt_box_bgcolor_img img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    margin: 0;
    object-fit: contain;
}
.business-category-grid .ltt_box_bgcolor_title {
    position: static;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 16px 16px 0;
    background: #fff;
    color: #223a52;
    font-size: 21px;
    font-weight: 600;
    line-height: 1.5;
    text-align: left;
    overflow-wrap: anywhere;
}
/* Decorative background images stay in the source; category product images remain visible. */
.business-category-grid .ltt_box_bgcolor_bg {
    display: none;
}
.business-category-grid .ltt_box_bgcolor_white_bg {
    display: flex;
    flex: 1;
    flex-direction: column;
    position: static;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 14px 16px 16px;
    background: #fff;
    color: #526374;
}
.business-category-grid .ltt_box_bgcolor_white_bg_left,
.business-category-grid .ltt_box_bgcolor_white_bg_right {
    display: block;
    float: none;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}
.business-category-grid .ltt_box_bgcolor_white_bg_left h5 {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    height: auto;
    margin: 0;
    padding: 0;
    color: #526374;
    font-size: 15px;
    line-height: 1.7;
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
}
.business-category-grid .ltt_box_bgcolor_white_bg_right {
    margin-top: auto;
    padding-top: 16px;
    text-align: right;
}
.business-category-grid .ltt_box_bgcolor_white_bg_right > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    gap: 10px;
    width: auto;
    max-width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 10px 16px;
    border: 1px solid #b8c8d8;
    border-radius: 6px;
    background: #fff;
    color: #174c7d;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    word-break: normal;
    overflow-wrap: break-word;
}
.business-category-grid .ltt_box_bgcolor_white_bg_right > a:hover {
    border-color: #174c7d;
    background: #f1f6fc;
    color: #174c7d;
}
.business-category-grid .business-card-arrow {
    flex: 0 0 auto;
    font-size: 1.1em;
    line-height: 1;
}
.product-detail-ui .product-detail-nav > a:focus-visible,
.product-detail-ui #ltt_page_down > a:focus-visible,
.business-entry-contact > a:focus-visible,
.business-category-grid a:focus-visible {
    outline: 2px solid #005bc6;
    outline-offset: 3px;
}
@media (max-width: 1169px) {
    .product-detail-ui :is(#product-summary, #product-introduction, #product-specs, #product-downloads, #product-contact) {
        scroll-margin-top: calc(var(--ltt-mobile-header-offset, 56px) + 16px);
    }
}
@media (max-width: 999px) {
    .business-entry-ui section:is(.ltt_smt_map_all, .ltt_smt_map_all_gray) > .ltt_box_content_all:has(> .ltt_box_product_25) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 767px) {
    .product-detail-ui .product-summary-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
        padding: 16px;
    }
    .product-detail-ui .product-image-container {
        padding: 0;
    }
    .product-detail-ui .product-image-container > img {
        max-height: 320px;
    }
    .product-detail-ui .ltt_page_color h5 {
        font-size: 19px;
    }
    .business-category-grid .ltt_box_bgcolor_img {
        height: 200px;
    }
    .business-entry-ui section:is(.ltt_smt_map_all, .ltt_smt_map_all_gray) > .ltt_box_content_all > .ltt_box_product_25 > div {
        min-height: 110px;
        padding: 12px;
        font-size: 15px;
    }
}
@media (max-width: 599px) {
    .business-entry-ui .business-category-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }
    .business-category-grid .ltt_box_bgcolor_white_bg_right > a {
        width: 100%;
        min-height: 48px;
    }
}
