/* Common Laravel integration rules; keep the delivered revision styles unchanged. */
body { font-size: 15px; }
body :is(.lxn-foot, .lxn-foot-instagram, .lxn-foot-about, .lxn-foot-addr,
    .lxn-foot-legal, .lxn-foot-select, .lxn-foot-small) { font-size: 15px; }
body .lx-mobile-depth3 a { font-size: 15px !important; }
/* The delivery's minimum-text script also runs on expanded mega menus. */
html body #site-header :is(.lx-projects-mega__banner-title, .lx-product-mega-v2__card-title,
    .lx-product-overview__link, .lx-dd-code) { font-size: 15px !important; }
.float-scroll-top:focus-visible { outline: 2px solid #c51f2a; outline-offset: 4px; }
body.lx-mobile-nav-lock .float-scroll-top { display: none; }
@media (max-width: 767px) {
    body .breadcrumb:not(.case-detail .breadcrumb) { font-size: 15px !important; }
}

/* Laravel wraps list photos in a link; the delivery targets a direct child img. */
body .projects.list .card-image-link { pointer-events: auto; }
@media (max-width: 1199px) {
    body .case-detail .applied-grid {
        grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr));
    }
    body .case-detail .applied-thumb { width: 100%; height: auto; aspect-ratio: 1; }
    body .pattern-detail-page .pattern-detail-hero {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 32px !important;
    }
    body .pattern-detail-page .pattern-detail-photo { height: auto; }
}
@media (max-width: 991px) {
    /* Anchor narrow-screen tooltips to the grid so edge items cannot overflow. */
    body .pattern-technology .tech-grid { position: relative; }
    body .pattern-technology .tech-item { position: static; }
    body .pattern-technology .tech-item p {
        left: 0; right: 0; width: auto; transform: none;
    }
}

/* Keep the supplied 15px text floor in CSS, without rewriting text sizes at runtime. */
body :is(#secondary-tabs button, .result-count, .card-caption p, .card-hover p,
    .card-hover dl > div, .pattern-hero-copy small, .filter-chip, .selected-filters,
    #pattern-reset, .article-meta, .article-neighbors time,
    .sample-number, .sample-muted, .sample-book-description, .sample-book-tags li,
    .sample-summary-note, .sample-quantity, .sample-consent,
    .consultation-type-number, .consultation-type-provider, .consultation-hint,
    .consultation-error, .lxc-actions a) { font-size: 15px; }
body .luxteel-tv-detail .video-player { width: 100%; min-height: 0; }
@media (max-width: 767px) {
    body .consultation-section-heading p { font-size: 15px !important; }
    body .global-search-lead, body .global-search-empty p { font-size: 15px; }
    body .locations-list { grid-template-columns: 1fr !important; }
    body.catalogues-page :is(.lxc-books, .lxc-grid) { grid-template-columns: 1fr !important; }
}
@media (min-width: 768px) and (max-width: 1199px) {
    body.catalogues-page :is(.lxc-books, .lxc-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

body :is(.pattern-card p, .sample-choices span, .sample-consent details div,
    .sample-summary li, .sample-selected li, .resource-title p, .media-tabs a) { font-size: 15px; }
body .consultation-page :is(.consultation-field label,
    .consultation-required-note, .consultation-field-hint, .consultation-consent-text,
    .consultation-button, .consultation-time-options label, .consultation-time-placeholder,
    .consultation-schedule-summary, #complete-description, #visit-address-message) { font-size: 15px; }
/* Keep the time guidance at the approved 13px across viewport changes. */
body .consultation-page #preferred-time-hint { font-size: 13px; }
body .consultation-page .consultation-selected > span,
body .consultation-page .consultation-selected button { font-size: 15px; }
body .sample-page .sample-book .sample-quantity input[type=number] { font-size: 15px; }

body .case-detail :is(.photo-toolbar, .photo-toolbar button, .related-tabs button, .list-return a),
body :is(.case-detail, .pattern-detail-page) .related-card p,
body .pattern-detail-page .pattern-detail-actions .button { font-size: 15px; }

/* Product delivery uses desktop-only grid overrides; scope responsive fixes here. */
html body .product-static-page main.lx-product-page :is(.lx-line-small-types__badge, .bold-text-5, .bold-text-6,
    .bold-text-7, .lx-metal-spec-head-cell, .lx-metal-spec-cell, .lx-corrosion-card__meta-copy) { font-size: 15px !important; }
@media (max-width: 1199px) {
    html body .product-static-page main.lx-product-page .lx-product-features { grid-template-columns: minmax(0, 1fr); row-gap: 40px; }
    html body .product-static-page main.lx-product-page .lx-product-features__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    html body .product-static-page main.lx-product-page .lx-product-feature__title { white-space: normal !important; flex-wrap: wrap; }
    html body .product-static-page main.lx-product-page .lx-guide-list { grid-template-columns: minmax(0, 1fr); }
    html body .product-static-page main.lx-product-page .lx-guide-item { min-width: 0; grid-template-columns: minmax(80px, 180px) minmax(0, 1fr); }
    html body .product-static-page main.lx-product-page .lx-guide-item__img { width: 100%; }
    html body .product-static-page main.lx-product-page .lx-guide-item__arrow { grid-column: 2; justify-self: start; }
}
@media (max-width: 991px) {
    html body .product-static-page main.lx-product-page :is(.lx-product-showcase__media, .lx-product-showcase__copy) { transform: none !important; }
    html body .product-static-page main.lx-product-page .wf-ml-steps > .lx-corrosion-card-left { grid-template-columns: minmax(0, 1fr) !important; }
    html body .product-static-page main.lx-product-page .wf-ml-steps img { max-width: 100%; }
}
@media (max-width: 767px) {
    html body .product-static-page main.lx-product-page .lx-product-features__grid { grid-template-columns: minmax(0, 1fr) !important; }
    html body .product-static-page main.lx-product-page .lx-guide-item { grid-template-columns: minmax(0, 1fr); padding: 16px; gap: 16px; }
    html body .product-static-page main.lx-product-page .lx-guide-item__arrow { grid-column: 1; }
}

body .product-static-page :is(.lx-line-type-pdf-download, .lx-line-type-cad-download):disabled {
    cursor: not-allowed; opacity: .5; font-family: inherit;
}

body .product-static-page .lx-corrosion-card__meta { overflow-wrap: anywhere; }

/* Keep the warranty content clear of the footer after removing the bottom breadcrumb. */
body .brand-static-page .lx-warranty { padding-bottom: 140px; }
@media (max-width: 767px) {
    body .brand-static-page .lx-warranty { padding-bottom: 88px; }
}

/* 인사이트: CMS 공개 콘텐츠를 서버 페이지네이션으로 배치한다. */
body .insight-page .lx-insights-list-cms-grid { display: flex !important; flex-wrap: wrap; gap: 0 !important; }
body .insight-page .lx-insights-list-cms-item { position: static !important; }
body .insight-page .lx-insights-card-category,
body .insight-page .lx-insights-card-date,
body .insight-page .lx-concept-kicker,
body .insight-page .lx-related-insights-description { font-size: 15px; }
body .insight-page .lx-concept-post-wide { overflow-wrap: anywhere; }
body .insight-page .lx-concept-post-wide img { max-width: 100%; height: auto; }
body .insight-page .lx-concept-post-wide table { display: block; max-width: 100%; overflow-x: auto; }
body .insight-page .insight-empty { padding: 60px 15px; font-size: 15px; }
body .insight-page .lx-insights-card-thumb { background: #f5f5f5; }

body .insight-page .lx-insights-list-page-button { font-size: 15px; }

/* 원본의 헤더 높이 보정 스크립트와 하단 경로를 제외한 뒤 필요한 본문 간격. */
body .insight-page .insight-detail-page { padding-top: 65px; }
html body .insight-page .lx-related-insights { padding-bottom: 80px !important; }
@media (max-width: 767px) {
    body .insight-page .insight-detail-page { padding-top: 70px; }
    html body .insight-page .lx-related-insights { padding-bottom: 56px !important; }
}

/* 마지막 카드의 하단 패딩 64px를 포함해 페이징 위아래 여백을 160px로 맞춘다. */
body .insight-page .lx-insights-list-pagination { flex-wrap: wrap; margin-top: 96px !important; }
html body .insight-page .lx-insights-list-page > .wf-bottom-bc { padding-top: 160px !important; }
body .insight-page .lx-insights-list-page-button { flex-shrink: 0; }
html body .insight-page .lx-insights-list-page .lx-insights-list-content { padding-bottom: 80px !important; }
@media (max-width: 767px) {
    html body .insight-page .lx-insights-list-page .lx-insights-list-content { padding-bottom: 56px !important; }
}

/* Final text-size audit: preserve source styles and the existing layout/behavior. */
html body #site-header .lx-lang-label { font-size: 15px !important; }
/* Webflow originals inherit this font from .lx-page, including regular language items. */
:lang(ko) #site-header.publishing-webflow-header .lx-header-v2,
:lang(ko) #site-header.publishing-webflow-header .lx-header-v2 * {
    font-family: Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
#site-header.publishing-webflow-header .lx-header-actions .lx-head-search-svg :is(circle, path) { stroke-width: 2.6; }
@media (max-width: 1199px) {
    html body .lxr-cap-body { font-size: 15px !important; }
}
html body :is(.lx-hero-stat-date, .lxn-panel-name span, .lxn-panel-desc, .lxn-panel-more,
    .lx-case-base-location, .lx-case-location, .lx-case-detail-label, .lx-case-detail-value,
    .lxr-tag, .lx-art-card__meta span, .resource-columns span, .resource-row .button,
    .request-box p, .consultation-type-link, .consultation-type-title small,
    .technology-more, .pattern-section-heading > a, .breadcrumb:not(.case-detail .breadcrumb)) { font-size: 15px !important; }
@media (max-width: 767px) {
    html body :is(.lxn-hero-sub, .lxn-hero-mtext, .lxn-hero-mcount, .lxn-textlink,
        .lxn-color-desc, .lxr-cap-body, .lxr-thumb-label, .consultation-type-description) { font-size: 15px !important; }
}
html body :is(.lxn-head p:not(.lxn-lead), .lxn-intro-features p) { font-size: 15px !important; }
/* Keep standard desktop height; wide screens retain the source content-driven layout. */
@media (min-width: 1025px) and (max-width: 1920px) {
    .home-page .lxr-box { height: 564px; }
    .home-page .lxr-right { gap: 0; }
}
html body .brand-story-body :is(h5, h6) { font-size: 15px; }
/* CMS inline 14px styles remain stored; normalize their public rendering only. */
html body .brand-story-body [style*="font-size:14px"],
html body .brand-story-body [style*="font-size: 14px"] { font-size: 15px !important; }

/* Only small-screen source text needs a 15px floor; retain larger desktop sizes. */
@media (max-width: 767px) {
    body .result-toolbar p { font-size: 15px !important; }
    body :is(.resource-row time, .request-box .button, .result-toolbar p strong,
        #resource-count strong) { font-size: 15px; }
}
body .media-tabs a { font-size: 15px !important; }
/* CTA anchors retain the weight of the delivered buttons. */
body .request-box .button { font-weight: 500; }

/* Keep the delivered technology summaries readable on narrow screens. */
@media (max-width: 767px) {
    html body .pattern-technology .tech-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; row-gap: 28px !important; }
    html body .pattern-technology .tech-item h3 { white-space: normal; }
}

/* 하단 경로메뉴(전체 페이지): 마지막 내용 → 경로메뉴 107, 페이지번호 → 경로메뉴 120, 경로메뉴 → 푸터 24 */
html body main.article-width .article-bottom-bc { justify-content: flex-start; margin: 83px 0 0; padding: 24px 0; border: 0; background: none; color: #7b7f86; display: flex; align-items: center; gap: 12px; font-size: 15px; line-height: 19px; }
html body main.article-width .article-bottom-bc a { color: inherit; text-decoration: none; border: 0; padding: 0; }
html body main.article-width .article-bottom-bc [aria-current] { color: #24272c; }
html body main.article-width + .lx-site-footer { margin-top: 0; }
html body:has(#pagination .pagination-links) .page-bottom-bc { padding-top: 80px; }
html body .steel-art-index .page-bottom-bc { padding-top: 7px; }
html body .social-index .page-bottom-bc { padding-top: 107px; }
html body .sample-page .page-bottom-bc, html body .global-search-page .page-bottom-bc { padding-top: 51px; }
html body .global-search-page:has(.page-bottom-bc) { padding-bottom: 0; }
html body .consultation-page:has(.page-bottom-bc) { padding-bottom: 0; }
html body .consultation-page .page-bottom-bc { padding-top: 107px; }
@media (max-width: 767px) {
    html body :is(.social-index, .consultation-page) .page-bottom-bc { padding-top: 64px; }
    html body main.article-width .article-bottom-bc { margin-top: 48px; }
}

/* 공통 상세·상담 버튼의 색상 전환 */
html body :is(.project-action, .consultation .solid-button, .consultation .outline-button) { transition: background-color .2s ease, border-color .2s ease, color .2s ease; }
html body :is(.project-action, .consultation .solid-button, .consultation .outline-button):is(:hover, :focus-visible) { background: #172849 !important; border-color: #172849 !important; color: #fff !important; }
html body :is(.project-action.is-primary, .consultation .solid-button) { background: #172849 !important; border-color: #172849 !important; color: #fff !important; }

/* 제품 갤러리 사례 번호·현장명도 사진과 같은 적용사례 링크 */
html body a.lx-line-gallery__meta { color: #111; text-decoration: none; }

/* 1029: public action buttons share the supplied navy and group hover behavior. */
html body :is(#main-content, #consultation, #sample-picker) :is(.solid-button, .project-action.is-primary, .consultation-button-primary, .lxc-button-primary, .sample-button, .sample-submit, .button.primary, .lx-related-insights-button) { background: #172849 !important; border-color: #172849 !important; color: #fff !important; }
html body :is(#main-content, #consultation, #sample-picker) :is(.outline-button, .button:not(.primary), .project-action:not(.is-primary), .consultation-button:not(.consultation-button-primary), .lxc-button:not(.lxc-button-primary)) { background: #fff; border-color: #172849; color: #172849; }
html body :is(#main-content, #consultation, #sample-picker) :is(.solid-button, .outline-button, .project-action, .button, .consultation-button, .lxc-button, .lxc-sample-request, [data-support-intent="download"], .sample-button, .sample-submit, .lx-related-insights-button, .wf-pfa__btn, .wf-sga__more, .lx-line-type-cad-download, .lx-line-type-pdf-download):not(:disabled):not([aria-disabled="true"]):is(:hover, :focus-visible) { background: #172849 !important; border-color: #172849 !important; color: #fff !important; }
html body :is(#main-content, #consultation, #sample-picker) :is(.project-actions, .pattern-detail-actions, .consultation-actions, .lxc-actions, .lxc-card-actions, .request-box, .product-gallery-more):has(> :is(a, button):hover) > :is(.solid-button, .is-primary, .primary, .consultation-button-primary, .lxc-button-primary, [data-support-intent="download"]):not(:hover),
html body :is(#main-content, #consultation, #sample-picker) :is(.project-actions, .pattern-detail-actions, .consultation-actions, .lxc-actions, .lxc-card-actions, .request-box, .product-gallery-more):not(:has(> :is(a, button):hover)):has(> :is(a, button):focus-visible) > :is(.solid-button, .is-primary, .primary, .consultation-button-primary, .lxc-button-primary, [data-support-intent="download"]):not(:focus-visible) { background: #fff !important; border-color: #172849 !important; color: #172849 !important; }
html body .lxn-foot-homepage { text-decoration: none !important; }
html body #site-header .lx-header-v2 { padding-left: max(32px, calc((100% - 1600px) / 2)); padding-right: max(32px, calc((100% - 1600px) / 2)); }
html body #main-content .projects.list .card-image-link { display: block; position: relative; overflow: hidden; contain: size; min-height: 200px; height: auto !important; align-self: stretch; }
html body #main-content .projects.list .card-image-link > img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; min-height: 0; object-fit: cover; }
html body #main-content .consultation-type { padding-bottom: 0; }
html body #main-content .consultation-type-link { align-items: center; padding: 22px 0; min-height: 68px; }
html body #main-content .consultation-meet-logo { width: 159px; height: auto; max-width: 100%; }
html body .product-gallery-more { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; margin-top: 40px; }
html body .product-gallery-more a { display: inline-flex; align-items: center; gap: 8px; padding: 16px 28px; border: 1px solid #172849; text-decoration: none; transition: background-color .2s ease, border-color .2s ease, color .2s ease; }
@media (max-width: 767px) {
 html body #site-header .lx-header-v2 { padding-left: 20px; padding-right: 20px; }
 html body #main-content .consultation-type-link { padding: 18px 0; }
}

/* Mobile controls follow the same header padding as the logo. */
@media (max-width: 991px) {
 html body #site-header .lx-header-v2 .lx-mobile-nav-wrap { position: static; transform: none; width: auto; margin: 0 0 0 auto; flex-shrink: 0; }
 html body #site-header .lx-header-v2 .lx-mobile-menu-btn { position: relative; transform: none; width: 44px; height: 44px; margin: 0; padding: 0; align-items: flex-end; }
}

/* Match the product introduction's breadcrumb origin, including on narrow screens. */
/* The catalogue's overlay header otherwise stays 65px at every breakpoint. */
@media (max-width: 991px) {
    html body.catalogues-page #site-header .lx-header-v2 { height: 76px !important; min-height: 76px !important; }
}
@media (max-width: 767px) {
    html body.catalogues-page #site-header .lx-header-v2 { height: 70px !important; min-height: 70px !important; }
}
body { --public-breadcrumb-origin: 65px; --public-breadcrumb-gap: 24px; }
html body .case-detail > .breadcrumb:not(.breadcrumb-bottom) { font-size: 15px; }
html body > .page-breadcrumb:has(+ .case-list-page) a,
html body .case-detail > .breadcrumb:not(.breadcrumb-bottom) a {
    color: #7b7f86;
    font-weight: 400;
}
html body > .page-breadcrumb {
    padding-top: calc(var(--public-breadcrumb-origin) + var(--public-breadcrumb-gap)) !important;
}
html body #main-content:is(.article-width, .pattern-detail-page),
html body .insight-page .insight-detail-page {
    padding-top: var(--public-breadcrumb-origin) !important;
}
html body #main-content.case-detail { margin-top: var(--public-breadcrumb-origin); }
html body #main-content .breadcrumb:not(.breadcrumb-bottom),
html body .insight-page .wf-bc.wf-bc--static {
    padding-top: var(--public-breadcrumb-gap) !important;
}
html body .wf-bc:not(.wf-bc--static) { top: var(--public-breadcrumb-gap); }
html body :is(.page-breadcrumb, .breadcrumb:not(.breadcrumb-bottom)) {
    align-items: flex-start;
    line-height: 19px;
}
html body :is(.page-breadcrumb, .breadcrumb:not(.breadcrumb-bottom)) > :is(a, span) {
    line-height: 19px;
}
html body :is(.page-breadcrumb, .breadcrumb:not(.breadcrumb-bottom)) > .breadcrumb-home {
    display: flex;
    align-items: center;
    flex: 0 0 18px;
    height: 19px;
}
