/* M54 adapts existing entities to M52 shared visual tokens; M50 Home is excluded. */
body.m54-sitewide:not(.m54-home){background:#fffdf9;--footer-background:#edf1f5;--accent:var(--hc-primary);--enterprise-accent:var(--hc-primary);--ink:var(--hc-ink)}
body.m54-sitewide:not(.m54-home) main{overflow-wrap:break-word}
body.m54-sitewide:not(.m54-home) :is(.breadcrumbs__inner,.pdv11-breadcrumb__inner){flex-wrap:wrap;gap:6px 8px}
body.m54-sitewide:not(.m54-home) :is(.header-search,.mobile-search) input{background:#edf2f6;color:var(--hc-ink)}
body.m54-sitewide:not(.m54-home) :is(.primary-button,.search-form button){display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;background:var(--hc-primary);color:#fff;border:1px solid var(--hc-primary);border-radius:2px;font:600 14px/1.3 var(--hc-font-body)}
body.m54-sitewide:not(.m54-home) :is(.pagination .page-numbers,.product-sort select){font-family:var(--hc-font-body);border-color:#d9e1e7;border-radius:2px;min-height:44px}
body.m54-sitewide:not(.m54-home) .pagination .nav-links{flex-wrap:wrap}
body.m54-sitewide:not(.m54-home) .pagination .page-numbers.current{background:var(--hc-primary);color:white}
/* Preserve all catalog covers and both legacy taxonomy branches. */
body:is(.m54-catalog,.m54-legacy-category) .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;padding-bottom:64px}
body:is(.m54-catalog,.m54-legacy-category) .product-card__link{height:100%;border:1px solid #e0e6eb;border-radius:3px;overflow:hidden;background:#fff;padding-bottom:21px}
body:is(.m54-catalog,.m54-legacy-category) .product-card__media{aspect-ratio:1.2;background:#f5f7fa;padding:10px}
body:is(.m54-catalog,.m54-legacy-category) .product-card__image{object-fit:contain}
body:is(.m54-catalog,.m54-legacy-category) .product-card__title{font:600 20px/1.35 var(--hc-font-body);margin:20px 20px 9px;min-height:2.7em;text-align:left}
body:is(.m54-catalog,.m54-legacy-category) :is(.product-card__excerpt,.product-card__detail){font:400 14px/1.6 var(--hc-font-body);margin-inline:20px;color:#526573;text-align:left}
body.m54-legacy-category .collection-hero{background:#f5f7fa}
body.m54-legacy-category .collection-hero__image{height:auto;max-height:440px;object-fit:cover}
body.m54-legacy-category .collection-hero__title{position:static;margin:0;padding:38px 32px;color:var(--hc-ink);background:#f5f7fa;font:600 var(--hc-type-h1)/1.1 var(--hc-font-body);text-align:center}
body.m54-legacy-category .collection-toolbar{padding-block:28px;border:0}
body.m54-legacy-category :is(.collection-intro,.collection-bottom-content){max-width:940px;margin:40px auto;font:400 17px/1.7 var(--hc-font-body)}
body.m54-catalog .blog-page{padding-block:54px 64px}
body.m54-catalog .blog-page__title{font:600 var(--hc-type-h1)/1.1 var(--hc-font-body);margin-bottom:40px}
/* Article archive cards keep their existing titles/excerpts/image sources. */
body:is(.m54-blog-archive,.m54-blog-pagination,.m54-blog) .article-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
body:is(.m54-blog-archive,.m54-blog-pagination,.m54-blog) .article-card{border:1px solid #e0e6eb;background:white;border-radius:3px;overflow:hidden;min-width:0}
body:is(.m54-blog-archive,.m54-blog-pagination,.m54-blog) .article-card>a{display:block;height:100%;padding-bottom:26px}
body:is(.m54-blog-archive,.m54-blog-pagination,.m54-blog) .article-card__media{aspect-ratio:1.35;overflow:hidden;background:#f5f7fa}
body:is(.m54-blog-archive,.m54-blog-pagination,.m54-blog) .article-card__media img{width:100%;height:100%;object-fit:cover}
body:is(.m54-blog-archive,.m54-blog-pagination,.m54-blog) .article-card__title{font:600 24px/1.3 var(--hc-font-body);margin:24px 24px 16px}
body:is(.m54-blog-archive,.m54-blog-pagination,.m54-blog) .article-card :is(p,.link-underline){margin-inline:24px;font:400 16px/1.65 var(--hc-font-body);color:#526573}
body.m54-blog-archive .blog-page{padding-block:54px 64px}
body.m54-blog-archive .blog-page__title{font:600 var(--hc-type-h1)/1.1 var(--hc-font-body);margin-bottom:40px}
body:is(.m54-blog,.m54-blog-pagination) .m54-blog-directory{padding-block:48px 64px;border-top:1px solid #d9e1e7}
body.m54-blog-pagination .blog-hub{padding-block:54px 0}
body.m54-blog-pagination :is(.blog-hub__heading,.blog-hub__slide-copy h3){font-family:var(--hc-font-body);font-weight:600;color:var(--hc-ink);letter-spacing:-.025em}
body.m54-blog-pagination .blog-hub__heading{font-size:var(--hc-type-h1);line-height:1.1}
body.m54-blog-pagination :is(.blog-hub__intro,.blog-hub__excerpt){font-family:var(--hc-font-body);color:#526573}
body.m54-blog-pagination .blog-hub__exhibition-card h2{font:600 24px/1.3 var(--hc-font-body)}
body.m54-blog-pagination .blog-hub__more{color:var(--hc-primary)}
body.m54-blog-pagination .blog-hub__thumbs{overflow-x:auto}
/* Long-form article reading; exact post content, heading hierarchy and pictures remain. */
body.m54-article .article{padding-block:54px 64px}
body.m54-article .article>.page-width{max-width:1080px}
body.m54-article .article__title{font:600 clamp(34px,4.2vw,58px)/1.15 var(--hc-font-body);margin:0 0 24px;max-width:980px}
body.m54-article .article__meta{font:400 14px/1.5 var(--hc-font-body);color:#526573;margin-bottom:32px}
body.m54-article .article__image{width:100%;height:auto;max-height:none;object-fit:contain;background:#f5f7fa;margin-bottom:42px}
body.m54-article .article__content{max-width:820px;margin-inline:auto;font:400 18px/1.8 var(--hc-font-body);color:var(--hc-ink)}
body.m54-article .article__content :is(h2,h3,h4){font-family:var(--hc-font-body);font-weight:600;letter-spacing:-.025em;line-height:1.3;margin-top:36px;color:var(--hc-ink)}
body.m54-article .article__content h2{font-size:clamp(28px,2.5vw,38px)}
body.m54-article .article__content h3{font-size:26px}
body.m54-article .article__content a{color:var(--hc-primary);text-decoration:underline;text-underline-offset:4px}
body.m54-article .article__content :is(img,video,iframe){max-width:100%;height:auto}
body.m54-article .article__content table{display:block;overflow-x:auto;max-width:100%;border-collapse:collapse}
/* Generic enterprise renderer stays byte-for-byte unchanged. */
body.m54-enterprise .hc-enterprise{--enterprise-accent:var(--hc-primary);color:var(--hc-ink)}
body.m54-enterprise .hc-enterprise__inner{max-width:1320px}
body.m54-enterprise .hc-enterprise :is(h1,h2,h3){font-family:var(--hc-font-body);font-weight:600;color:var(--hc-ink)}
body.m54-enterprise .hc-enterprise h1{font-size:var(--hc-type-h1);line-height:1.1}
body.m54-enterprise .hc-enterprise h2{font-size:var(--hc-type-h2);line-height:1.16}
body.m54-enterprise .hc-enterprise h3{font-size:24px;line-height:1.3}
body.m54-enterprise .hc-enterprise__hero{background:#f5f7fa;padding-block:64px}
body.m54-enterprise .hc-enterprise__eyebrow{font:600 11px/1.5 var(--hc-font-body);letter-spacing:.12em;color:var(--hc-primary)}
body.m54-enterprise .hc-enterprise :is(p,li,dd){font-family:var(--hc-font-body);line-height:1.7}
body.m54-enterprise .hc-enterprise__section{border-color:#d9e1e7;padding-block:52px}
body.m54-enterprise .hc-enterprise :is(.hc-enterprise__card,.hc-enterprise__certificate){background:#f5f7fa;border-color:var(--hc-primary);border-radius:3px}
body.m54-enterprise .hc-enterprise :is(figcaption,dt){color:#526573}
body.m54-enterprise .hc-enterprise__links a{color:var(--hc-primary)}
body.m54-enterprise .hc-enterprise__faq details{border-color:#d9e1e7}
body.m54-enterprise .hc-enterprise__cta{background:#edf2f6;border:1px solid #d9e1e7;border-radius:3px}
body.m54-enterprise .hc-enterprise :is(a,summary):focus-visible{outline-color:var(--hc-primary)}
/* Existing result and error states. No routes or business behavior are added. */
body.m54-search .search-page{padding-block:54px 64px}
body.m54-search .search-page h1{font:600 var(--hc-type-h1)/1.1 var(--hc-font-body)}
body.m54-search .search-form{max-width:760px;display:flex;gap:12px;margin-block:30px 42px}
body.m54-search .search-form input{min-width:0;flex:1;font-size:16px;border:1px solid #ccd8e0;border-radius:2px;background:white}
body.m54-search .search-results{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
body.m54-search .search-results article{border:1px solid #e0e6eb;background:white;border-radius:3px;overflow:hidden;min-width:0}
body.m54-search .search-results article>a{display:block;padding-bottom:24px}
body.m54-search .search-results article img{width:100%;aspect-ratio:1.35;object-fit:contain;background:#f5f7fa}
body.m54-search .search-results article :is(h2,p){margin-inline:24px}
body.m54-search .search-results article h2{font:600 24px/1.3 var(--hc-font-body)}
body.m54-error .not-found{padding-block:64px 84px;max-width:940px}
body.m54-error .not-found__code{color:var(--hc-primary)}
@media(max-width:1023px){
 body:is(.m54-catalog,.m54-legacy-category) .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body:is(.m54-blog-archive,.m54-blog-pagination,.m54-blog) .article-grid,body.m54-search .search-results{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.m54-enterprise :is(.hc-enterprise__hero-grid,.hc-enterprise__split){gap:32px}
}
@media(max-width:767px){
 body.m54-sitewide:not(.m54-home) .breadcrumbs__inner{align-items:start}
 body:is(.m54-catalog,.m54-legacy-category) .product-grid{gap:20px 12px;padding-bottom:40px}
 body:is(.m54-catalog,.m54-legacy-category) .product-card__media{aspect-ratio:1.07;padding:4px}
 body:is(.m54-catalog,.m54-legacy-category) .product-card__title{font-size:16px;line-height:1.35;margin:14px 12px 8px;min-height:4.05em}
 body:is(.m54-catalog,.m54-legacy-category) :is(.product-card__excerpt,.product-card__detail){font-size:12px;margin-inline:12px}
 body.m54-legacy-category .collection-hero__title{padding:28px 20px;font-size:clamp(33px,8.8vw,43px)}
 body.m54-legacy-category :is(.collection-intro,.collection-bottom-content){font-size:16px;margin-block:28px}
 body.m54-catalog .blog-page,body.m54-blog-archive .blog-page,body.m54-search .search-page{padding-block:32px 44px}
 body.m54-catalog .blog-page__title,body.m54-blog-archive .blog-page__title{font-size:clamp(33px,8.8vw,43px);margin-bottom:28px}
 body:is(.m54-blog-archive,.m54-blog-pagination,.m54-blog) .article-grid,body.m54-search .search-results{grid-template-columns:1fr;gap:24px}
 body:is(.m54-blog-archive,.m54-blog-pagination,.m54-blog) .article-card__title{font-size:23px}
 body:is(.m54-blog-archive,.m54-blog-pagination,.m54-blog) .m54-blog-directory{padding-block:36px 44px}
 body.m54-blog-pagination .blog-hub{padding-block:32px 0}
 body.m54-blog-pagination .blog-hub__heading{font-size:clamp(33px,8.8vw,43px)}
 body.m54-blog-pagination .blog-hub__exhibition-card h2{font-size:18px}
 body.m54-article .article{padding-block:32px 44px}
 body.m54-article .article__title{font-size:clamp(33px,8.8vw,43px)}
 body.m54-article .article__meta{margin-bottom:24px}
 body.m54-article .article__image{margin-bottom:30px}
 body.m54-article .article__content{font-size:17px;line-height:1.75}
 body.m54-article .article__content h3{font-size:23px}
 body.m54-enterprise .hc-enterprise__hero{padding-block:36px}
 body.m54-enterprise .hc-enterprise h1{font-size:clamp(33px,8.8vw,43px)}
 body.m54-enterprise .hc-enterprise h2{font-size:30px}
 body.m54-enterprise .hc-enterprise h3{font-size:21px}
 body.m54-enterprise .hc-enterprise__section{padding-block:36px}
 body.m54-enterprise .hc-enterprise__cta{padding:28px 22px}
 body.m54-search .search-form{gap:8px;flex-wrap:wrap}
 body.m54-search .search-form input{width:100%;flex-basis:200px}
 body.m54-error .not-found{padding-block:44px 60px}
}

/* The reused shared icon is inline everywhere; no floating/new chat behavior. */
body.m54-sitewide a[href^="https://wa.me/"]{display:inline-flex;align-items:center;gap:8px}
body.m54-sitewide a[href^="https://wa.me/"] .m56-wa-icon{display:inline-block;flex:0 0 20px;width:20px;height:20px}

/* WordPress adds search-results to body too; only the inner result grid may be a grid. */
body.m54-search{display:block;margin:0}
/* Owner M54 visual exception: All keeps its H1 without a large title panel. */
body.m54-legacy-category.term-all.term-26 .collection-hero{background:transparent}
body.m54-legacy-category.term-all.term-26 .collection-hero__title{max-width:1320px;margin-inline:auto;padding:24px 32px 0;background:transparent;text-align:left;font-size:32px;line-height:1.2}
body.m54-legacy-category.term-all.term-26 .collection-toolbar{padding-block:18px 24px}
@media(max-width:767px){
 body.m54-legacy-category.term-all.term-26 .collection-hero__title{padding:20px 20px 0;font-size:26px}
 body.m54-legacy-category.term-all.term-26 .collection-toolbar{padding-block:14px 24px}
}
/* Owner final All exception: no standalone visual title row; keep accessible H1. */
body.m54-legacy-category.term-all.term-26 .collection-hero__title{position:absolute;width:1px;height:1px;max-width:1px;padding:0;margin:0;border:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}
