/* Shared storefront composition; imported media remains unmodified. */
:root { --brand-mint:#86cab3; --drawer-surface:#f2f3f4; --drawer-backdrop:rgb(0 0 0 / 40%); --surface-muted:#f5f6f7; --surface-hover:#eef0f2; --border:#dde2e6; --table-heading:#eef0f2; --table-stripe:#fafbfc; --breadcrumb-surface:#f4f5f6; --feedback-inline:3px; --feedback-x-scale:1; --quick-action-size:57.2px; --quick-action-inset:7.8px; --highlight-gold:#fef2d7; --accent-orange:#f58300; --accent-orange-hover:#df7700; --content-width:1420px; --header-inline-gutter:clamp(16px,3.125vw,80px); --page-gutter:10px; --workspace-gap:40px; --page-heading-gap:40px; --interaction-hover:#eaf8f1; --interaction-radius:3px; --text-feedback-y:13.2px; --header-height:116px; --row-hover:var(--interaction-hover); --row-pressed:var(--interaction-hover); scroll-padding-top:calc(var(--header-height) + 16px); scrollbar-gutter:stable; }
.container { width:calc(100% - 2 * var(--page-gutter)); max-width:var(--content-width); margin-inline:auto; padding-inline:0; }
body:has(> .local-header),#site-page { min-height:100dvh; display:flex; flex-direction:column; }
body>main#main,body>section.local-section,#site-page>main#main,#site-page>section.local-section { flex:1 0 auto; margin-block:0; }
.local-header,#footer_area,.local-footer,.local-preview-note { flex-shrink:0; }
.site-main .row { margin-inline:0; }
button,input,select,textarea { min-height:44px; }
button { font-weight:500; }
.quote-workspace button:disabled { opacity:.5; cursor:not-allowed; }
.catalog-library-search[aria-busy="true"] button:disabled,
.contact-form[aria-busy="true"] button:disabled,
.quote-request form[aria-busy="true"] button:disabled { opacity:.65; cursor:wait; }
input,select,textarea { border:1px solid #bbb; border-radius:2px; font:inherit; }
#site-page :focus:not(:focus-visible) { outline:none!important; }
.sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.local-header { border-bottom:1px solid var(--border); }
.local-header .local-top { display:grid; grid-template-columns:minmax(144px,192px) minmax(240px,1fr) auto; gap:32px; align-items:center; padding-block:12.4px; min-height:71px; }
.local-logo { grid-column:1; grid-row:1; display:flex; align-items:center; font-size:clamp(18px,1.5vw,25px); font-weight:400; text-decoration:none; overflow-wrap:anywhere; }
.local-logo img { display:block; width:100%; max-width:184px; }
.header-search { grid-column:2; grid-row:1; position:relative; display:flex; width:100%; max-width:760px; min-width:0; gap:0; }
.search-scope { position:relative; min-width:0; }
.header-search .search-scope { flex:0 1 160px; max-width:38%; min-width:92px; }
.header-search .search-scope select { width:100%; max-width:none; }
.search-scope button.search-scope-trigger { position:relative; display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; min-height:44px; padding:0 12px; border:1px solid var(--border); border-radius:4px; background:#f7f8fa; color:var(--ink); font:inherit; text-align:left; cursor:pointer; }
.search-scope-trigger span { min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.search-scope button img { display:block; flex:none; width:12px; height:12px; margin:0; object-fit:contain; opacity:.7; }
.search-scope-trigger[aria-expanded="true"] img { transform:rotate(180deg); }
.header-search .search-scope button.search-scope-trigger { height:30px; min-height:30px; font-size:12px; border-color:#e0e4ea; border-right:0; border-radius:6px 0 0 6px; }
.search-scope-choices { position:absolute; z-index:120; top:calc(100% + 7px); left:0; width:300px; max-width:calc(100vw - 32px); padding:6px; overflow-y:auto; overscroll-behavior:contain; background:#fff; border:1px solid #e5e7eb; border-radius:4px; box-shadow:0 2px 9px #00000020; }
.search-scope.align-right .search-scope-choices { left:auto; right:0; }
.search-scope .search-scope-choices[hidden] { display:none; }
.search-scope button.search-scope-choice { position:static; display:flex; align-items:center; gap:10px; width:100%; min-height:44px; height:auto; padding:9px 10px; border:0; border-radius:var(--interaction-radius); background:#fff; color:var(--ink); font-size:14px; font-weight:400; line-height:1.5; text-align:left; cursor:pointer; }
.search-scope-choice span { white-space:normal; overflow-wrap:anywhere; }
.search-scope button.search-scope-choice img { width:14px; height:14px; transform:none; }
.search-scope-choice-content { display:inline-flex; align-items:center; gap:10px; max-width:100%; padding:1px 4px; border-radius:var(--interaction-radius); }
.search-scope button.search-scope-choice { transition:background-color .3s ease; }
@media(hover:hover) { .search-scope button.search-scope-choice:hover { background:#f3f6f8; } }
.search-scope button.search-scope-choice:focus-visible { background:#f3f6f8; }
@media(prefers-reduced-motion:reduce) { .search-scope button.search-scope-choice { transition:none; } }


.search-scope button.search-scope-choice[aria-pressed="true"] { background:transparent; font-weight:600; }
@media (min-width:768px) and (max-width:1100px) { .header-search .search-scope button.search-scope-trigger { height:24px; min-height:24px; } }
/* Complement the desktop breakpoint so fractional widths retain mobile styles. */
@media not all and (min-width:768px) { .header-search .search-scope button.search-scope-trigger { height:44px; min-height:44px; font-size:14px; } }
.header-search .search-category { flex:0 1 160px; max-width:38%; min-width:92px; height:30px; min-height:30px; padding:0 22px 0 10px; font-size:12px; color:var(--ink); background:#f7f8fa; border:1px solid #e0e4ea; border-right:0; border-radius:6px 0 0 6px; }
.header-search input:focus { outline:2px solid var(--navy); outline-offset:-2px; }
.header-search .search-scope button.search-scope-trigger:focus-visible { outline:2px solid var(--navy)!important; outline-offset:-3px; }
.header-search button[type="submit"]:focus-visible { outline:2px solid var(--navy)!important; outline-offset:-6px; }
.header-search input { box-sizing:border-box; flex:1; width:0; min-width:0; height:30px; min-height:30px; padding:0 52px 0 12px; background:#f7f8fa; border:1px solid #e0e4ea; border-radius:0 6px 6px 0; }
.header-search button[type="submit"],.search-entry button { position:absolute; inset-inline-end:5px; top:50%; transform:translateY(-50%); display:flex; align-items:center; justify-content:center; width:44px; height:44px; min-height:44px; padding:0; border:0; border-radius:4px; color:#89929f; background:transparent; transition:color .16s ease; }
.header-search button[type="submit"]:hover,.header-search button[type="submit"]:focus-visible,.search-entry button:hover,.search-entry button:focus-visible { color:#526176; background:transparent; }
.header-search button[type="submit"] svg,.search-entry button svg,.header-search button[type="submit"] .ui-icon,.search-entry button .ui-icon { width:18px; height:18px; flex-shrink:0; }
.ui-icon { object-fit:contain; }
.header-search button[type="submit"] .ui-icon,.search-entry button .ui-icon { opacity:.5; }
.search-entry { position:relative; min-width:0; }
.search-entry input { width:100%; padding-right:52px; border-radius:4px; }
.local-tools { grid-column:3; grid-row:1; display:flex; margin:0; gap:20px; font-size:14px; }
.local-tools>a { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; }
.header-quote { gap:8px; }
.header-action-icon { display:inline-block; flex:none; width:18px; height:18px; background:currentColor; mask:var(--header-icon) center/contain no-repeat; }
.header-quote-icon { --header-icon:url('/takai-demo/static/vendor/lucide/square-pen.svg'); }
.header-contact-icon { --header-icon:url('/takai-demo/static/vendor/lucide/mail.svg'); }
.local-tools .header-contact { gap:8px; padding:0 12px; background:#86cab3; color:#fff; font-weight:700; }
.local-tools .header-contact:hover,.local-tools .header-contact:focus-visible { background:#273773; color:#fff; }
@media(min-width:768px) {
 .local-tools .header-contact { min-height:36px; height:36px; align-self:center; }
 .header-search { align-self:end; }
 .local-tools .header-quote { gap:4px; }
 .header-quote .cart-count { min-width:0; height:auto; padding:0; background:none; border-radius:0; font:inherit; }
 .header-quote .cart-count::before { content:'('; }
 .header-quote .cart-count::after { content:')'; }
}
.cart-count { display:inline-flex; align-items:center; justify-content:center; min-width:26px; height:26px; padding-inline:6px; background:var(--surface-hover); border-radius:50%; font-size:12px; font-variant-numeric:tabular-nums; }
#mobile-menu-toggle { display:none; }
#mobile-search-toggle,.mobile-header-icon,.nav-inner>.mobile-header-contact { display:none; }
.local-nav { display:block; min-height:44px; }
.nav-inner { display:flex; align-items:stretch; gap:4px; }
.nav-inner>a,.nav-inner>.catalog-menu>summary { display:flex; align-items:center; min-height:44px; padding:8px 18px; font-size:14px; font-weight:500; color:#fff; }
.nav-inner>.catalog-menu>summary { display:flex; list-style:none; cursor:pointer; }
.nav-inner>.catalog-menu>summary::marker { content:""; }
.nav-inner>.catalog-menu>summary::-webkit-details-marker { display:none; }
.nav-inner>.catalog-menu { flex-shrink:0; position:relative; }
.nav-inner>a[aria-current=page],.nav-inner>.catalog-menu>summary[aria-current=location] { background:#263d60; box-shadow:inset 0 -2px 0 #fff; }
.catalog-mega { left:0; transform:none; width:min(260px,35vw); max-width:35vw; padding:0; overflow:visible; border-radius:4px; box-shadow:0 3px 12px rgb(0 0 0 / 16%); }
.catalog-menu-heading { margin:0; padding:0; background:#fff; border-radius:4px 4px 0 0; }
:is(.catalog-menu,.mobile-navigation) .catalog-menu-heading>a { font-weight:700; }
:is(.catalog-menu,.mobile-navigation) .catalog-menu-level { list-style:none; margin:0; padding:4px 0; width:100%; box-sizing:border-box; }
.catalog-menu-level>li { position:relative; margin:0; padding:0; }
.catalog-menu-row { display:flex; align-items:stretch; }
:is(.catalog-menu,.mobile-navigation) .catalog-menu-row>a { display:flex; align-items:center; flex:1; min-width:0; min-height:44px; padding:8px 16px; font-size:14px; line-height:1.5; color:var(--ink); text-decoration:none; overflow-wrap:anywhere; }
.catalog-menu-row>button { position:static; flex:0 0 36px; min-width:36px; min-height:44px; padding:8px; border:0; border-radius:0; color:var(--muted); background:transparent; }
.catalog-menu-row .ui-icon { display:block; width:16px; height:16px; margin:auto; transform:rotate(-90deg); }
@media(hover:hover) { .catalog-menu-row:hover { background:var(--interaction-hover); } }
:is(.catalog-menu,.mobile-navigation) .catalog-menu-row>a:focus-visible,:is(.catalog-menu,.mobile-navigation) .catalog-menu-row>button:focus-visible { outline:2px solid var(--navy)!important; outline-offset:-2px; }
.catalog-flyout { position:absolute; left:100%; top:0; width:min(260px,35vw); max-height:65dvh; overflow:auto; background:#fff; border:1px solid var(--border); border-radius:4px; box-shadow:0 3px 12px rgb(0 0 0 / 16%); }
.catalog-menu-descendants { margin-left:12px; border-left:1px solid var(--border); }
.catalog-menu-descendants .catalog-menu-row>a { font-size:13px; }
.catalog-menu-descendants .catalog-menu-row>button[aria-expanded=true] .ui-icon { transform:rotate(0); }
.catalog-flyout[hidden],.catalog-menu-descendants[hidden] { display:none; }
@media(min-width:768px) {
  .catalog-mega { width:min(260px,calc((100vw - 160px)/4)); max-width:none; max-height:calc(100dvh - var(--header-height) - 16px); overflow:auto; overscroll-behavior:contain; }
  .catalog-flyout { width:min(260px,calc((100vw - 160px)/4)); position:fixed; left:var(--catalog-flyout-left,0px); top:var(--catalog-flyout-top,0px); overscroll-behavior:contain; }
}
.local-section { padding-block:16px 80px; }
.local-section h1 { font-size:24px; font-weight:400; line-height:1.45; margin:0; }
.error-workspace nav { display:flex; gap:24px; flex-wrap:wrap; }
.error-workspace nav a { display:inline-flex; align-items:center; min-width:44px; min-height:44px; font-size:13px; text-decoration:none; }
/* A skip-link destination is a landmark, not an interactive control. */
main#main[tabindex="-1"]:focus-visible { outline:none!important; }
/* Page headings share the established Latest News treatment. */
main:not(.product-workspace):not(.storefront-home):not(.about-editorial) h1,main>#content>h3:first-child { font-family:inherit; font-size:24px; font-weight:400; line-height:1.6; letter-spacing:.02em; text-align:left; color:var(--ink); background:none; border:0; padding:9px 0 6px; margin:0 0 10px; }
main:not(.product-workspace):not(.storefront-home):not(.about-editorial) h1::before,main:not(.product-workspace):not(.storefront-home):not(.about-editorial) h1::after,main>#content>h3:first-child::before,main>#content>h3:first-child::after { content:none; display:none; }
main:not(.product-workspace):not(.storefront-home):not(.about-editorial) h1>span { font-size:16px; font-weight:400; color:var(--muted); padding-left:10px; }
main>#content>h3:first-child>strong { font:inherit; }
@media not all and (min-width:768px) { main:not(.product-workspace):not(.storefront-home):not(.about-editorial) h1,main>#content>h3:first-child { font-size:21px; } }
.catalog-heading,.selection-heading,.section-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:24px 0 28px; }
.section-heading h2 { margin:0; font-size:26px; font-weight:300; }
.section-heading>a,.catalog-heading>a,.selection-heading>a { display:inline-flex; align-items:center; min-height:44px; flex-shrink:0; margin:0; font-size:14px; text-decoration:none; }
.site-breadcrumb { box-sizing:border-box; min-height:54px; padding-block:16px; display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:13px; line-height:1.6; color:var(--muted); overflow-wrap:anywhere; }
.site-breadcrumb>a { color:var(--muted); font-weight:400; text-decoration:none; }
.site-breadcrumb>[aria-current=page] { color:var(--navy); font-weight:600; }
.site-breadcrumb .breadcrumb-chevron { flex:none; width:12px; height:12px; margin:0; transform:rotate(-90deg); opacity:.6; }
main .path { background:var(--breadcrumb-surface); border-bottom:0; }
main>.site-breadcrumb { position:relative; isolation:isolate; }
main>.site-breadcrumb::before { content:""; position:absolute; inset:0; z-index:-1; background:var(--breadcrumb-surface); box-shadow:0 0 0 100vmax var(--breadcrumb-surface); clip-path:inset(0 -100vmax); pointer-events:none; }

#main>.path>.container { width:calc(100% - 2 * var(--page-gutter)); max-width:var(--content-width); padding-inline:0; }
#main.local-section:has(>.site-breadcrumb) { padding-top:0; }
#main>.site-breadcrumb+:is(.catalog-heading,.section-heading,.selection-heading,h1,.product-browse-toolbar) { margin-top:var(--page-heading-gap); }
#main>.site-breadcrumb+.local-product { margin-top:calc(var(--page-heading-gap) - 20px); }
@media(max-width:767px) { :root { --page-heading-gap:28px; } }


.index_title { padding-inline:0; }
main:has(.news_list) .page_content>.box,.news_list { padding-inline:0; }
.news_list>ul:not(.pagination) { margin:0; padding:0; }

.news_list>ul:not(.pagination)>li { padding:0; height:auto; border-inline:0; border-bottom:1px solid var(--border); background:var(--surface); transition:none; }
.news_list>ul:not(.pagination)>li>a { border-radius:var(--interaction-radius); display:grid; grid-template-columns:104px 128px minmax(0,1fr); align-items:center; gap:16px; width:100%; min-height:52px; padding:12px 0; white-space:normal; overflow:visible; text-overflow:clip; font-size:15px; line-height:1.65; color:var(--navy); text-decoration:none; }
.news_list>ul:not(.pagination)>li>a>.date { width:auto; font-size:13px; color:var(--ink); }
.news-list-category { justify-self:start; padding:2px 12px; border-radius:999px; background:var(--surface-muted); color:var(--muted); font-size:12px; line-height:1.5; }
.news-list-category[data-category="公告"] { background:#eef3fb; color:#355580; }
.news-list-category[data-category="產品"] { background:#e9f4ef; color:#326351; }
.news-list-category[data-category="展會"] { background:#f2eef8; color:#665084; }
.news-list-category[data-category="技術"] { background:#eaf3fa; color:#315e80; }
.news-list-category[data-category="應用案例"] { background:#fbf2e6; color:#805c27; }
.news-list-category[data-category="品牌"] { background:#e8f4f3; color:#2b6a64; }
.news-article-meta { display:flex; align-items:center; flex-wrap:wrap; gap:16px; font-size:13px; }
.news-back-link { display:flex; justify-content:flex-end; margin-block:24px; }
.news-back-link>a { display:inline-flex; align-items:center; min-height:44px; font-size:13px; color:var(--navy); text-decoration:underline; text-underline-offset:3px; }
.news_list>ul:not(.pagination)>li>a>.news-list-title { color:inherit; }
.news-list-title { min-width:0; overflow-wrap:anywhere; }
.news_list>ul:not(.pagination)>li>a:focus-visible { outline:none; background-color:var(--row-hover); }
.news_list>ul:not(.pagination)>li>a:focus-visible>.news-list-title { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:3px; }
@media (hover:hover) {
  .news_list>ul:not(.pagination)>li>a:hover { background-color:var(--row-hover); }
}
@media(hover:hover) { .news_list>ul:not(.pagination)>li>a:hover:active { background-color:var(--row-pressed); } }
main:has(.page_content.content_img) .container.page_padding>.row>.col-xs-12 { padding-inline:0; }
.page_content.content_img>.box { padding-inline:0; }
main:has(.page_content.content_img) .page_title h1>span { display:block; float:none; margin-top:8px; font-size:13px; font-weight:400; color:var(--muted); }
/* Reading pages use a compact column; product workspaces keep their own scale. */
main.site-main>#content { width:calc(100% - 2 * var(--page-gutter))!important; max-width:860px; margin:var(--page-heading-gap) auto 32px!important; text-align:left!important; }
main:has(.page_content.content_img) .container.page_padding { max-width:860px; padding-block:16px 32px; }
main:has(.page_content.content_img) .page_title { margin-bottom:12px; }
main:has(.page_content.content_img) .page_title h1>span { margin-top:4px; font-size:12px; }
.page_content.content_img { float:none; width:100%; font-size:15px; line-height:1.7; overflow-wrap:anywhere; }
.page_content.content_img :is(p,li) { font-size:15px; line-height:1.7; margin-block:0 10px; }
.page_content.content_img :is(p,li)>span { font-size:inherit!important; line-height:inherit!important; }
.page_content.content_img h2 { font-size:18px; line-height:1.5; margin-block:20px 10px; }
.page_content.content_img h3 { font-size:16px; line-height:1.5; margin-block:16px 8px; }
.page_content.content_img img { display:block; width:auto; max-width:min(100%,680px); height:auto; margin:16px auto 20px; }
.page_content.content_img>.box { padding-block:8px 16px; }
@media not all and (min-width:768px) {
 .page_content.content_img,.page_content.content_img :is(p,li) { font-size:16px; }
 .news_list>ul:not(.pagination)>li>a { grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"title title" "date category"; gap:6px 12px; padding-block:14px; font-size:14px; }
 .news_list>ul:not(.pagination)>li>a>.news-list-title { grid-area:title; font-weight:500; }
 .news_list>ul:not(.pagination)>li>a>.date { grid-area:date; }
 .news_list>ul:not(.pagination)>li>a>.news-list-category { grid-area:category; justify-self:end; }
}
.catalog-layout,.selection-layout { grid-template-columns:260px minmax(0,1fr); gap:var(--workspace-gap); margin-top:24px; }
.catalog-layout>aside,.selection-layout>aside { min-width:0; }
.selection-filters { position:sticky; top:calc(var(--header-height) + 20px); max-height:calc(100dvh - var(--header-height) - 44px); overflow:auto; scrollbar-gutter:stable; }
.catalog-tree { position:static; max-height:none; overflow:visible; }
.catalog-workspace:has(>.catalog-search) .catalog-heading { margin-bottom:16px; }
.catalog-search { max-width:none; width:100%; padding:12px 16px; margin:0 0 20px; background:var(--surface-muted); border:1px solid var(--border); }
.catalog-search>label { font-size:13px; line-height:1.5; }
.catalog-search>div { gap:0; margin-top:4px; }
.catalog-search input { height:44px; padding:6px 52px 6px 12px; border-right:1px solid #bbb; background:#fff; }
.catalog-cards,.home-category-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); grid-auto-rows:1fr; gap:12px; }
.catalog-cards { grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr)); }
.home-category-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
.catalog-card { display:grid; grid-template-columns:65px minmax(0,1fr); column-gap:8px; align-items:center; padding:8px; background:#fff; border:0; text-align:center; }
.home-category-grid>.catalog-card { border:1px solid var(--border); }
.catalog-card img,.catalog-card .catalog-image-pending { width:65px; height:65px; margin:0; grid-column:1; grid-row:1; }
.catalog-card picture { display:flex; align-items:center; justify-content:center; width:65px; height:65px; grid-column:1; grid-row:1; }
.catalog-card picture img { object-fit:contain; }
.catalog-card strong { grid-column:2; grid-row:1; font-size:14px; line-height:1.5; font-weight:500; min-width:0; text-wrap:balance; }
.catalog-card small { grid-column:1 / -1; grid-row:2; min-height:0; margin-top:4px; }
.catalog-direct { margin-bottom:24px; }
@media(min-width:1101px) and (max-width:1279px) {
  .home-category-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media(min-width:768px) and (max-width:1100px) {
  .home-category-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media not all and (min-width:768px) {
  .catalog-cards,.home-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .catalog-card { grid-template-columns:52px minmax(0,1fr); padding:6px; }
  .catalog-card img,.catalog-card .catalog-image-pending { width:52px; height:52px; }
  .catalog-card picture { width:52px; height:52px; }
  .catalog-card { grid-template-columns:minmax(0,1fr); justify-items:center; align-content:start; align-self:stretch; row-gap:4px; }
  .catalog-card strong { grid-column:1; grid-row:2; width:100%; min-height:39px; font-size:13px; line-height:1.5; }
  .home-category-grid { grid-auto-rows:auto; }
  .home-category-grid>.catalog-card { padding-block:4px; row-gap:2px; }
  .home-category-grid>.catalog-card strong { min-height:0; }
  .catalog-card small { grid-row:3; }
  .catalog-direct { margin-bottom:16px; }
  .catalog-direct + .catalog-products .catalog-product-toolbar { margin-top:16px; }
}
.catalog-content h2 { font-size:23px; font-weight:400; }
.catalog-terminal { grid-template-columns:220px minmax(0,1fr); padding:32px; }
.selection-toolbar button,.selection-compare-bar button,.selection-apply { color:var(--ink); background:transparent; border:1px solid var(--border); border-radius:4px; font-size:13px; font-weight:400; }
.selection-toolbar button:hover,.selection-compare-bar button:hover:not(:disabled),.selection-apply:hover { background:var(--interaction-hover); }
.selection-clear { margin-top:8px; }
.selection-filters fieldset { margin:20px 0; padding:12px 0 16px; }
.selection-filters form { padding:18px; }
.home-selection-grid { margin:0; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.home-selection-grid>a { padding:22px; display:flex; flex-direction:column; gap:16px; }
.home-selection-grid h3 { margin:0; font-size:18px; font-weight:400; }
.home-selection-grid span { font-size:13px; }
.local-preview-note { width:100%; max-width:none; margin:0; padding:2px max(var(--page-gutter),calc((100% - var(--content-width))/2)) 8px; text-align:right; background:var(--action); color:#c4cfdf; font-size:11px; line-height:1.5; }
.comparison-label-column { width:140px; }
.comparison-model-column { width:220px; }
.comparison-product-name { display:block; color:var(--muted); font-size:12px; line-height:1.4; font-weight:400; margin-bottom:6px; }
.comparison-model-code { display:block; font-size:13px; font-weight:500; }
.local-grid { grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:20px; margin:20px 0 32px; }
.local-card { display:flex; flex-direction:column; padding:0; min-width:0; background:#fff; border:1px solid var(--border); }
.local-card:hover { border-color:#777; }
.product-card-link { display:flex; flex-direction:column; flex:1; min-width:0; color:inherit; text-decoration:none; }
.product-card-link:hover { text-decoration:none; }
.product-card-link:focus-visible { outline:2px solid var(--action); outline-offset:-2px; }
.local-card:not(:has(.product-card-content)) { padding:20px; }
.product-card-image { display:flex; align-items:center; justify-content:center; padding:24px; background:var(--surface-muted); }
.local-card .product-card-image img { height:190px; width:100%; object-fit:contain; }
.product-card-content { padding:20px; display:flex; flex-direction:column; flex:1; min-width:0; overflow-wrap:anywhere; }
.product-card-content .local-brand { font-size:12px; margin:0; }
.product-card-content>.local-brand { margin-bottom:6px; }
.product-card-meta { display:flex; align-items:baseline; gap:8px; min-width:0; margin-bottom:6px; }
.product-card-meta .local-brand { flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.product-card-content h2 { font-size:18px; margin:0; font-weight:400; }
.local-card .product-card-title { display:block; min-width:0; max-width:100%; white-space:nowrap; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; }
.product-card-title::-webkit-scrollbar { display:none; }
.product-card-title-text { display:block; width:max-content; padding-right:12px; }
.product-card-title.has-overflow { mask-image:linear-gradient(to right,#000 calc(100% - 12px),transparent); }
@keyframes product-title-read { 0%,12% { transform:translateX(0); } 88%,100% { transform:translateX(var(--title-travel)); } }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 .product-card-link:hover .product-card-title.has-overflow:not(.is-manual) .product-card-title-text,
 .product-card-link:focus-visible .product-card-title.has-overflow:not(.is-manual) .product-card-title-text { animation:product-title-read var(--title-duration) linear 1 both; }
}
@media (prefers-reduced-motion:reduce) { .product-card-title-text { animation:none!important; transform:none!important; } }
.product-card-intro { margin:10px 0 0; color:var(--ink); font-size:13px; line-height:1.7; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.catalog-product-results.is-list .product-card-intro { -webkit-line-clamp:4; max-width:none; margin-top:4px; line-height:1.55; }
.product-search-model { flex:0 1 auto; min-width:0; max-width:65%; font-size:12px; margin:0; white-space:nowrap; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; }
.product-search-model:focus-visible { outline:2px solid var(--action); outline-offset:2px; }
.product-card-unavailable { font-size:13px; margin:8px 0 0; }
.search-options { display:flex; gap:16px; padding:24px; background:var(--surface-muted); border:1px solid var(--border); }
.search-options input { padding:10px 52px 10px 14px; }
.search-options .search-field { display:flex; flex-direction:column; gap:4px; align-self:start; }
.search-options .search-field:first-of-type { flex:1; min-width:0; }
.search-options .search-field:not(:first-of-type) { flex:0 1 170px; min-width:0; }
.search-options select { width:100%; max-width:100%; }
.search-options label { display:block; margin:0; padding:0; font-size:13px; font-weight:400; line-height:1.4; }
.search-options .search-field select,.search-options .search-scope button.search-scope-trigger { box-sizing:border-box; width:100%; height:36px; min-height:36px; padding:4px 32px 4px 10px; border:1px solid var(--border); border-radius:4px; background-color:#fff; color:var(--ink); font:inherit; font-size:16px; font-weight:400; line-height:1.4; -webkit-appearance:none; appearance:none; }
.search-options .search-field select { background-image:url('/takai-demo/static/vendor/lucide/chevron-down.svg'); background-repeat:no-repeat; background-position:right 10px center; background-size:14px 14px; }
.search-options .search-scope button.search-scope-trigger { padding-right:10px; gap:8px; }
.search-options .search-scope button.search-scope-trigger img { width:14px; height:14px; opacity:1; }
.search-options .search-entry input { box-sizing:border-box; height:36px; min-height:36px; padding-block:4px; border-color:var(--border); font-size:16px; line-height:1.4; }
.search-options .search-entry button { min-height:36px; height:36px; }
.search-count { margin:28px 0 12px; font-size:15px; }
.local-pagination,.selection-pagination { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:8px; margin-block:20px; font-size:12px; }
.local-pagination a,.selection-pagination a,.local-category-pagination a,.local-category-pagination span,.local-category-pagination button { display:inline-flex; justify-content:center; align-items:center; min-width:36px; min-height:44px; padding:4px 8px; border:0; border-radius:4px; font-size:12px; text-decoration:none; }
.local-pagination a:hover,.selection-pagination a:hover,.local-category-pagination a:hover { background:var(--interaction-hover); }
.local-category-pagination { margin-block:20px; text-align:center; font-size:12px; }
.local-category-pagination[hidden] { display:none; }
.local-category-pagination>div { display:flex; justify-content:center; gap:4px; flex-wrap:wrap; }
.local-category-pagination [aria-current=page] { font-weight:600; color:var(--navy); background:var(--surface-muted); }
.local-category-pagination [aria-disabled=true],.local-category-pagination button:disabled { color:#aab2bd; background:transparent; cursor:default; }
.local-category-pagination button { color:var(--navy); background:transparent; font-family:inherit; font-weight:400; }
.local-category-pagination button:hover:not(:disabled) { background:var(--interaction-hover); }
.local-category-pagination button:focus-visible { outline:3px solid var(--navy); outline-offset:3px; }
.local-category-pagination .pagination-page-links { display:contents; }
.product-workspace { max-width:var(--content-width); padding-inline:0; }
.local-product { grid-template-columns:minmax(0,390px) minmax(0,1fr); gap:32px; margin-top:16px; }
.local-product>section { min-width:0; padding-top:20px; }
.local-gallery { align-self:start; padding:20px; background:#fff; border:0; }
.local-gallery>a { display:flex; align-items:center; justify-content:center; width:100%; max-width:350px; aspect-ratio:1; margin-inline:auto; border:1px solid var(--border); }
.local-gallery #gallery-main { width:100%; height:100%; max-height:none; object-fit:contain; margin:0; }
.local-gallery #gallery-main[data-series-image] { width:auto; height:auto; max-width:100%; max-height:100%; margin-inline:auto; }
.local-product h1 { margin:0 0 12px; font-size:clamp(22px,1.7vw,26px); }
.local-product .local-brand { margin:0 0 16px; }
.local-product .local-description { font-size:15px; margin:24px 0; }
.product-description { margin-block:16px; border:0; }
.product-description::before { content:''; display:block; font-size:15px; line-height:1.55; block-size:calc(1lh + 6px); }
.product-description .local-description { margin:0 0 16px; line-height:1.75; overflow-wrap:anywhere; min-width:0; }
.product-description .local-description :is(div,p,table) { max-width:100%!important; min-width:0!important; }
.product-description .local-description p { margin:0 0 8px!important; }
.product-description .local-description :is(.description-heading,h1,h2,h3,h4,h5,h6) { font-size:inherit; line-height:1.55; font-weight:700; margin:0 0 8px; }
.product-description .local-description :is(ul,ol) { margin-block:8px!important; padding-inline-start:20px!important; }
.product-description .local-description>:first-child { margin-top:0!important; }
.product-description .local-description>:last-child { margin-bottom:0!important; }
.product-description .local-description a[href] { text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.product-description .product-cautions { margin:12px 0 16px; font-size:14px; font-weight:600; line-height:1.65; overflow-wrap:anywhere; }
.product-cautions :is(h1,h2,h3,h4,h5,h6) { margin:0 0 6px; font-size:14px; font-weight:700; line-height:1.65; }
.product-cautions p { margin:0 0 6px; }
.product-cautions :last-child { margin-bottom:0; }
.product-title-row { display:flex; align-items:center; gap:8px; margin-bottom:12px; }
.product-title-row h1 { min-width:0; margin:0; }
.product-inquiry { display:grid; width:min(100%,320px); margin-inline:auto 0; gap:15px; padding:0; border:0; background:#fff; margin-top:20px; }
.product-inquiry-row { display:grid; grid-template-columns:36px minmax(0,1fr); gap:12px; align-items:center; }
.product-inquiry label { text-align:right; font-size:14px; font-weight:400; margin:0; }
.product-inquiry select,.product-inquiry input { width:100%; min-width:0; padding:6px 10px; min-height:36px; height:36px; }
.product-inquiry select { appearance:none; -webkit-appearance:none; padding-right:32px; background:#fff url("vendor/lucide/chevron-down.svg") right 10px center/14px 14px no-repeat; }
.inquiry-quantity { display:grid; grid-template-columns:36px minmax(0,1fr) 36px; }
.inquiry-quantity input { text-align:center; appearance:textfield; border-radius:0; border-inline:0; }
.inquiry-quantity input::-webkit-inner-spin-button { appearance:none; }
.inquiry-quantity button { min-height:36px; height:36px; padding:0; border:1px solid var(--border); background:#fff; color:var(--action); border-radius:2px; font-size:18px; }
.product-inquiry-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; width:min(100%,320px); justify-self:end; }
.product-inquiry-actions button { width:100%; }
.product-inquiry-actions .inquiry-add { background:var(--action); color:#fff; }
.product-inquiry-actions button[value=checkout] { display:inline-flex; align-items:center; justify-content:center; gap:6px; background:#333; color:#fff; }
.inquiry-next-icon { display:inline-block; flex:0 0 14px; width:14px; height:14px; background:currentColor; -webkit-mask:url("vendor/lucide/arrow-right.svg") center/contain no-repeat; mask:url("vendor/lucide/arrow-right.svg") center/contain no-repeat; }
.inquiry-feedback { margin:0; font-size:13px; }
.local-spec { margin-top:28px; padding-top:20px; border-top:1px solid var(--border); }
.local-spec h2 { font-size:20px; font-weight:400; margin:0 0 16px; }
.model-controls { padding:16px; background:var(--surface-muted); border:1px solid var(--border); }
.model-controls input { flex:1 1 220px; }
.table-scroll { width:100%; min-width:0; overflow:auto; overscroll-behavior-x:contain; }
.table-scroll table { margin:0; }
.table-scroll th { background:var(--table-heading); }
.table-scroll tr:nth-child(even) { background:var(--table-stripe); }
.table-scroll th,.table-scroll td { padding:14px 18px; overflow-wrap:anywhere; }
.product-workspace .table-scroll th,.product-workspace .table-scroll td { padding:8px 12px; font-size:13px; line-height:1.6; }
.common-specs table { min-width:0; width:auto!important; }
.common-specs table.common-spec-table { border-collapse:collapse!important; font-size:13px!important; line-height:1.6; }
.common-specs table.common-spec-table :is(th,td) { border:1px solid var(--border)!important; padding:6px 8px!important; text-align:left!important; vertical-align:top; font-size:13px!important; }
.common-specs table.common-spec-table th { background:var(--table-heading)!important; color:var(--ink)!important; font-weight:600; }
.common-specs table.common-spec-table td { background:#fff!important; color:var(--ink)!important; }
.common-specs table.common-spec-table tr:nth-child(even) td { background:var(--table-stripe)!important; }
.common-specs table.detail_spec { width:min(100%,760px)!important; }
.common-specs table.detail_spec th { width:210px; white-space:normal; }
.common-specs table.detail_spec td { white-space:normal; }
/* Source pair tables may carry a desktop-only inline 700px minimum. */
.common-specs table.detail_spec:not(:has(tr>:nth-child(3))) { min-width:0!important; width:min(100%,760px)!important; table-layout:fixed!important; }
.common-specs table.detail_spec:not(:has(tr>:nth-child(3))) th { width:210px!important; white-space:normal!important; overflow-wrap:anywhere; }
.common-specs table.detail_spec:not(:has(tr>:nth-child(3))) td { width:auto!important; overflow-wrap:anywhere; }
.common-specs table.detail_spec:not(:has(tr>:nth-child(3))) td,
.common-specs table.detail_spec:not(:has(tr>:nth-child(3))) td :is(div,p,span) { text-align:left!important; }
.product-model-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:12px 20px; align-items:start; }
.product-model-layout>* { min-width:0; }
.product-model-conditions { position:relative; border:1px solid var(--border); background:#fafafa; padding:4px 12px 8px; }
.product-model-conditions:has(>details:not([open])) { padding-bottom:4px; }
.product-model-conditions[hidden]+.product-model-results { grid-column:1/-1; }
.product-model-layout>.product-model-results:only-child,.product-model-layout>.model-controls+.product-model-results { grid-column:1/-1; }
#product-model-conditions>summary { display:flex; align-items:center; gap:10px; cursor:pointer; font-size:14px; font-weight:400; min-height:44px; padding:10px 52px 10px 0; list-style:none; }
#product-model-conditions>summary::-webkit-details-marker { display:none; }
#product-model-conditions>summary::after { content:''; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); flex-shrink:0; margin-top:-4px; }
#product-model-conditions[open]>summary::after { transform:rotate(225deg); margin-top:4px; }
#model-reset { position:absolute; top:4px; inset-inline-end:0; min-width:44px; min-height:44px; background:transparent; color:var(--muted); padding-block:4px; padding-inline:20px 0; font-size:18px; font-weight:300; margin:0; }
#model-reset[hidden] { display:none; }
#model-facets label { display:grid; gap:4px; padding:0; margin:0 0 12px; font-weight:400; font-size:12px; line-height:1.4; overflow-wrap:anywhere; }
#model-facets select { width:100%; }
#model-facets summary { padding-block:10px; cursor:pointer; font-size:13px; }
.product-model-layout>.model-controls { display:grid; grid-column:1/-1; grid-template-columns:max-content minmax(0,1fr) max-content max-content; align-items:center; padding:8px 10px; gap:8px; font-size:13px; }
.product-model-layout>.model-controls label { margin:0; padding:0; font-size:12px; font-weight:500; line-height:1.4; }
.product-model-layout>.model-controls input { min-width:0; }
#main #model-filter::placeholder { color:var(--muted); font-size:inherit; opacity:1; }
#model-previous::before { content:'‹'; margin-right:5px; font-size:18px; vertical-align:-1px; }
#model-next::after { content:'›'; margin-left:5px; font-size:18px; vertical-align:-1px; }
#product-models .model-controls :is(input,select),#model-facets select { box-sizing:border-box; min-width:0; height:32px; min-height:32px; padding:4px 10px; border:1px solid var(--border); border-radius:4px; background-color:#fff; color:var(--ink); font:inherit; font-size:13px; font-weight:400; line-height:1.4; -webkit-appearance:none; appearance:none; }
#product-models .model-controls select,#model-facets select { min-width:88px; padding-right:32px; background-image:url('/takai-demo/static/vendor/lucide/chevron-down.svg'); background-repeat:no-repeat; background-position:right 10px center; background-size:14px 14px; }
#product-models .model-controls :is(input,select):focus-visible,#model-facets select:focus-visible { outline:2px solid var(--navy); outline-offset:2px; }
.model-result-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; font-size:13px; }
.model-result-heading p { margin:12px 0 0; }
.product-model-results>#model-table { margin-top:0; }
#model-selection { color:var(--muted); overflow-wrap:anywhere; }
.product-workspace .model-candidates { width:100%!important; min-width:100%; table-layout:auto!important; }
.product-workspace .model-candidates th { white-space:normal; min-width:85px; max-width:180px; }
.product-workspace .model-candidates td { white-space:normal; overflow-wrap:anywhere; min-width:85px; }
#product-models table.model-candidates:not(:has(tr>:nth-child(3))) { width:100%!important; min-width:0; max-width:100%; }
#product-models table.model-candidates:not(:has(tr>:nth-child(3))) :is(th,td):first-child { position:static; }
.product-workspace .model-candidates :is(th,td) { padding:4px 8px; font-size:13px; line-height:1.45; }
.model-identity { display:grid; grid-template-columns:minmax(0,1fr) 24px; gap:4px; align-items:center; }
.product-workspace .model-detail { grid-column:1; grid-row:1; justify-self:stretch; margin-left:-8px; min-height:28px; font-size:13px; padding:2px 4px 2px 8px; line-height:1.45; white-space:normal; text-align:left; overflow-wrap:anywhere; }
.product-workspace .model-detail:hover,.product-workspace .model-detail:focus-visible { background:var(--interaction-hover); color:var(--ink); }
.model-pick { grid-column:2; grid-row:1; width:24px; min-width:24px; height:28px; min-height:28px; padding:0; font-size:14px; background:transparent; color:var(--action); border:0; border-radius:2px; }
.model-pick:hover,.model-pick:focus-visible { background:var(--interaction-hover); color:var(--action); }
.product-workspace .model-candidates :is(th,td):first-child { position:sticky; left:0; z-index:3; width:160px; min-width:160px; max-width:160px; padding:4px 3px 4px 8px; background:#fff; }
.product-workspace .model-candidates th:first-child { background:var(--surface-hover); }
.product-workspace .model-candidates tr:nth-child(even) td:first-child { background:var(--surface-muted); }
.product-workspace .model-candidates:has(> thead > tr:only-child > th:only-child) { min-width:0; }
.product-workspace .model-candidates:has(> thead > tr:only-child > th:only-child) .model-identity { max-width:none; }
.model-inquiry-feedback { margin:6px 0 0; font-size:12px; }
#cart-drawer-toggle { position:fixed; right:max(4px,env(safe-area-inset-right,0px)); bottom:max(12%,calc(env(safe-area-inset-bottom,0px) + 12px)); z-index:110; display:grid; place-items:center; padding:0; width:var(--quick-action-size); height:var(--quick-action-size); min-width:var(--quick-action-size); min-height:var(--quick-action-size); color:var(--ink); background:transparent; border:0; box-shadow:none; text-decoration:none; }
#cart-drawer-toggle::before { content:""; position:absolute; inset:var(--quick-action-inset); background:#fff; border:1px solid var(--border); border-radius:4px; }
#cart-drawer-toggle .ui-icon { position:relative; width:27.3px; height:27.3px; margin:0; }
#cart-drawer-toggle .cart-count { position:absolute; top:0; right:0; min-width:17px; height:17px; padding-inline:3px; background:#82cbb6; color:var(--ink); font-size:10px; line-height:1; }
#cart-drawer-toggle:focus-visible { outline-offset:-2px; }
#cart-drawer-toggle.is-over-inquiry[aria-expanded="false"] { visibility:hidden; transition:none; }
#cart-drawer { position:fixed; inset:0 0 0 auto; height:100dvh; max-height:100dvh; z-index:120; display:flex; flex-direction:column; width:min(450px,calc(100vw - 16px)); padding:18px 32px 0; overflow:hidden; background:var(--drawer-surface); border:0; border-radius:0; box-shadow:-4px 0 24px rgb(0 0 0 / 8%); }
#cart-drawer[hidden],#cart-drawer-backdrop[hidden] { display:none; }
#cart-drawer-backdrop { position:fixed; inset:0; z-index:119; background:var(--drawer-backdrop); }
html:has(body.inquiry-drawer-open) { overflow:hidden; scrollbar-gutter:stable; }
body.inquiry-drawer-open { overflow:hidden; }
#cart-drawer .cart-drawer-heading { flex:none; min-height:44px; margin-bottom:18px; }
#cart-drawer .cart-drawer-heading h2 { font-size:20px; font-weight:400; }
#cart-drawer-items { min-height:0; flex:1; overflow:auto; overscroll-behavior:contain; }
#cart-drawer-items:has(.drawer-empty) { display:grid; align-content:center; text-align:center; }
#cart-drawer .cart-drawer-full { flex:none; display:block; margin-top:auto; padding-block:20px; border-top:1px solid var(--border); }
@media(max-width:767px) { #cart-drawer { padding-inline:16px; } }
.cart-drawer-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.cart-drawer-heading h2 { margin:0; font-size:16px; font-weight:500; }
#cart-drawer-close { min-width:32px; min-height:32px; padding:0; background:transparent; color:var(--ink); font-size:22px; font-weight:300; }
.drawer-total,.drawer-empty { margin:8px 0; font-size:12px; color:var(--muted); }
.drawer-item { padding:12px 0; border-bottom:1px solid var(--border); }
.drawer-item>a { font-size:12px; font-weight:700; line-height:1.5; text-decoration:none; overflow-wrap:anywhere; }
.drawer-item>p { font-size:12px; margin:4px 0 8px; }
.drawer-item-form { display:grid; grid-template-columns:max-content 64px max-content; justify-content:end; gap:6px; align-items:center; }
.drawer-item-form label { font-size:12px; }
.drawer-item-form input { width:64px; min-width:0; max-width:64px; height:28px; min-height:28px; padding:2px 6px; font-size:16px; text-align:center; font-variant-numeric:tabular-nums; appearance:textfield; background:transparent; border:1px solid rgb(0 0 0 / 18%); border-radius:4px; color:#111; }
#cart-drawer,#cart-drawer :is(h2,a,p,label,input,button) { color:#111; }
.drawer-item-form input::-webkit-inner-spin-button { appearance:none; }
.drawer-item-form button { min-height:30px; padding:4px 6px; background:transparent; color:var(--ink); font-size:12px; font-weight:400; }
.drawer-item-form button:hover { background:var(--interaction-hover); }
@media not all and (min-width:768px) { .drawer-item-form input { height:44px; min-height:44px; } .drawer-item-form button,#cart-drawer-close { min-width:44px; min-height:44px; } }
#cart-drawer-status { font-size:12px; margin-block:8px; }
#cart-drawer-status button { min-width:44px; min-height:44px; margin-left:4px; padding:4px; border:0; background:transparent; color:var(--ink); font-size:12px; text-decoration:underline; text-underline-offset:3px; }
.cart-drawer-full { display:block; padding:10px 0; font-size:13px; text-align:right; }
#model-dialog { width:min(680px,calc(100vw - 32px)); border-radius:2px; }
.model-dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.model-dialog-heading form { margin:0; }
.model-dialog-heading button { width:44px; height:44px; padding:0; border:0; background:transparent; color:var(--ink); font-size:22px; font-weight:300; }
#model-dialog h2 { margin:0; font-size:22px; line-height:1.5; }
#model-detail-table table { width:100%!important; min-width:0; }
#model-detail-table th,#model-detail-table td { white-space:normal; font-size:13px; padding:8px 12px; overflow-wrap:anywhere; }
#model-detail-table th { width:48%; }
.quote-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,380px); gap:var(--workspace-gap); align-items:start; }
.quote-layout>* { min-width:0; }
.quote-items { border:1px solid var(--border); }
.quote-section-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:16px 19px; background:var(--surface-muted); border-bottom:1px solid var(--border); }
.quote-section-heading h2 { margin:0; font-size:16px; font-weight:400; }
.quote-section-heading span { font-size:13px; color:var(--muted); white-space:nowrap; }
.local-quote { display:grid; grid-template-columns:112px minmax(0,1fr); column-gap:19px; row-gap:8px; padding:16px; border-bottom:1px solid var(--border); }
.local-quote:last-child { border-bottom:0; }
.quote-image { grid-row:1 / span 2; display:flex; align-items:center; justify-content:center; background:var(--surface-muted); }
.quote-image img { width:100%; height:104px; object-fit:contain; padding:8px; }
.quote-item-content { min-width:0; }
.quote-item-content h3 { margin:0; font-size:15.2px; font-weight:400; overflow-wrap:anywhere; }
.quote-item-content h3 a { text-decoration:none; }
.quote-model { margin:5px 0 0; color:var(--muted); font-size:13px; overflow-wrap:anywhere; }
.quote-item-actions { grid-column:2; display:flex; flex-wrap:nowrap; align-items:center; justify-content:flex-start; gap:8px; }
.local-quote form { display:flex; align-items:center; gap:10px; }
.quote-quantity label { font-size:13px; font-weight:400; margin:0; }
.quote-quantity input { height:28px; min-height:28px; padding:2px 6px; width:64px; font-size:16px; font-variant-numeric:tabular-nums; appearance:textfield; }
.quote-quantity input::-webkit-inner-spin-button { appearance:none; }
.quote-quantity button,.quote-remove button { background:#fff; color:var(--ink); border:1px solid transparent; height:28px; min-height:28px; padding:2px 6px; line-height:1.4; }
.quote-quantity button { display:grid; place-items:center; width:28px; min-width:28px; padding:5px; }
.quote-quantity button img { display:block; width:16px; height:16px; }
.quote-remove button { border-color:transparent; text-decoration:underline; text-underline-offset:3px; }
.quote-quantity-feedback:not(.sr-only) { grid-column:2; margin:0; font-size:13px; color:var(--ink); }
.quote-quantity-feedback button { margin-left:8px; padding:2px 8px; min-height:44px; background:transparent; color:inherit; text-decoration:underline; }
.quote-quantity noscript button { width:auto; min-width:44px; padding:2px 6px; }
.quote-quantity button:hover,.quote-remove button:hover,.catalog-secondary:hover { background:var(--interaction-hover); color:var(--ink); }
.quote-request { position:sticky; top:calc(var(--header-height) + 20px); border:1px solid var(--border); background:var(--surface-muted); padding:16px; }
.quote-request h2 { margin:0; font-size:20px; font-weight:400; }
.quote-request .local-form { margin:12px 0 0; gap:4px; }
.quote-request .local-form input:not([type="hidden"]) { height:36px; min-height:36px; padding:5px 8px; font-size:16px; }
.quote-request label { margin:6px 0 0; font-size:14px; font-weight:400; }
.quote-request textarea { min-height:100px; padding:6px 8px; font-size:16px; line-height:1.5; resize:vertical; }
.quote-request [aria-invalid="true"] { border-color:#a33; }
.quote-field-error,.quote-form-error { margin:0; color:#922; font-size:13px; line-height:1.5; }
.quote-request button { justify-self:stretch; margin-top:8px; }
.optional-field,.quote-notice { color:var(--muted); font-size:13px; }
.quote-empty { padding:64px 24px; border:1px solid var(--border); background:var(--surface-muted); text-align:center; }
.quote-empty h2 { font-weight:400; font-size:20px; }
.quote-empty .quote-browse-action { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 22px; margin-top:8px; border:1px solid var(--navy); border-radius:3px; background:var(--navy); color:#fff; font-weight:500; text-decoration:none; }
.quote-empty .quote-browse-action:hover { background:#243b62; color:#fff; }
.quote-history { margin-top:48px; }
.quote-history-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px 20px; margin-bottom:16px; }
.quote-history-heading h2 { margin:0; font-size:20px; font-weight:500; }
.quote-history-heading>span { color:var(--muted); font-size:13px; }
.quote-history-list,.quote-history-entry>ul { margin:0; padding:0; list-style:none; }
.quote-history-entry { padding:20px 0; border-top:1px solid var(--border); }
.quote-history-entry h3 { margin:0 0 12px; font-size:14px; font-weight:500; }
.quote-history-item { display:grid; grid-template-columns:minmax(0,1fr) minmax(120px,.45fr) auto; gap:8px 20px; padding:8px 0; font-size:14px; overflow-wrap:anywhere; }
.quote-history-item strong { font-weight:500; }
.quote-history-item>span { color:var(--muted); }
.quote-history-pages { display:flex; justify-content:flex-end; gap:24px; }
.quote-history-pages a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; }
.quote-history-empty { margin:0; padding:24px 0; border-top:1px solid var(--border); color:var(--muted); }
@media(max-width:767px) { .quote-history-item { grid-template-columns:minmax(0,1fr) auto; } .quote-history-item strong { grid-column:1/-1; } }
.home-hero { background:var(--surface-muted); border-bottom:1px solid var(--border); }
.hero-inner { display:block; padding-block:32px; }
.hero-inner::before,.hero-inner::after { display:none; }
.home-eyebrow { color:var(--muted); font-size:13px; letter-spacing:.1em; margin:0 0 10px; }
.home-hero h1 { font-size:clamp(28px,2.8vw,40px); font-weight:300; letter-spacing:.04em; margin:0; line-height:1.45; text-wrap:balance; }
.home-hero p { color:var(--muted); }
.home-section { padding-block:28px 24px; }
.home-section:last-child { padding-bottom:64px; }
.home-section .section-heading { margin-block:16px 24px; }
.products_type .container,.products_news .container { max-width:var(--content-width); }
.local-category-cards>.products_news_list,.local-category-cards>.products_type_list { width:auto; max-width:none; min-width:0; margin:0; padding:0; float:none; }
.local-message { width:calc(100% - 2 * var(--page-gutter)); }
.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.footer-inner h2 { margin:0; font-size:22px; font-weight:300; }
.footer-inner nav { display:flex; flex-wrap:wrap; gap:24px; }
.footer-inner a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; text-decoration:none; }
/* A single service footer, including its contact action and brand signature. */
#footer_area.storefront-footer { --footer-bg:#222; --footer-accent:#d24600; background:var(--footer-bg); color:#fff; margin:0; padding:0; font-family:"Storefront Roboto",var(--font-sans); font-size:14px; line-height:1.5; }
.storefront-footer .container { width:calc(100% - 64px); max-width:var(--content-width); padding-inline:0; }
.storefront-footer .container::before,.storefront-footer .container::after { content:none; }
.storefront-footer .footer-main { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(240px,1fr) minmax(0,1.3fr); gap:40px; padding-block:32px; }
.storefront-footer#footer_area h2 { margin:0 0 12px; color:#fff; font:700 16px/1.2 "Storefront Roboto",var(--font-sans); letter-spacing:normal; }
.storefront-footer#footer_area .footer-intro h2 { max-width:400px; margin-bottom:12px; font-size:18px; font-style:italic; line-height:1.4; }
.storefront-footer#footer_area p { margin:0 0 12px; color:#fff; font-size:14px; line-height:1.5; letter-spacing:normal; }
.storefront-footer#footer_area a { color:#fff; text-decoration:none; letter-spacing:normal; }
.storefront-footer#footer_area a:hover { text-decoration:underline; text-underline-offset:4px; }
.storefront-footer .footer-contact-action { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:32px; padding:4px 10px; border:0; border-radius:3px; background:var(--footer-accent); font-size:14px; font-weight:500; line-height:20px; }
.storefront-footer#footer_area .footer-contact-action:hover { background:#b93e00; text-decoration:none; }
.storefront-footer .footer-mail-icon { width:16px; height:16px; background:currentColor; mask:url("/takai-demo/static/vendor/lucide/mail.svg") center/contain no-repeat; }
.storefront-footer .footer-social { grid-column:2; grid-row:1 / 3; align-self:start; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; padding-inline-end:calc(44px + env(safe-area-inset-right,0px)); margin-top:0; }
.storefront-footer .footer-social a { width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; border-radius:3px; }
#footer_area.storefront-footer .footer-social img { display:block; width:24px; height:24px; margin:0; filter:brightness(0) invert(1); }
.storefront-footer .footer-social a:hover { background:var(--interaction-hover); }
.storefront-footer .footer-links ul { margin:0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 16px; }
.storefront-footer .footer-links a { display:inline-flex; align-items:center; min-height:28px; padding-block:2px; font-size:14px; }
.storefront-footer .footer-details { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:16px; align-content:start; }
.storefront-footer .footer-details p:nth-of-type(-n+2) { grid-column:1; }
.storefront-footer .footer-details p:nth-of-type(n+3) { grid-column:1 / -1; }
.storefront-footer#footer_area .footer-details p { display:flex; align-items:center; gap:0; margin:0 0 6px; overflow-wrap:anywhere; }
.storefront-footer#footer_area .footer-details a { min-width:0; overflow-wrap:anywhere; }
.storefront-footer#footer_area i { display:inline-flex; align-items:center; justify-content:center; flex:0 0 16px; color:inherit; font-size:14px; padding:0; margin:0 8px 0 0; float:none; line-height:1; }
.storefront-footer .footer-bottom { border-top:1px solid #555; }
.storefront-footer .footer-bottom-inner { display:flex; flex-direction:column; align-items:center; gap:12px; padding-block:16px; }
.storefront-footer small { display:block; text-align:center; color:#fff; font-size:12px; line-height:1.5; }
.storefront-footer .footer-brand { display:block; flex:none; width:120px; margin:0; }
.storefront-footer .footer-brand img { display:block; width:100%; height:auto; margin:0!important; filter:brightness(0) invert(1); }
.storefront-footer .footer-brand span { font-size:18.4px; font-weight:700; letter-spacing:.02em; }
#footer_area.storefront-footer a:focus-visible { outline-color:#fff!important; outline-offset:4px; }
@media (min-width:768px) and (max-width:1100px) {
 .storefront-footer .footer-main { grid-template-columns:1fr 1fr; gap:24px 32px; }
 .storefront-footer .footer-intro { grid-row:1 / 3; }
}
@media (max-width:767px) {
 .storefront-footer .container { width:calc(100% - 32px); }
 .storefront-footer .footer-main { grid-template-columns:1fr; gap:16px; padding:24px 0 16px; }
 .storefront-footer .footer-intro { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px 16px; }
 .storefront-footer#footer_area .footer-intro h2 { grid-column:1 / -1; max-width:none; margin:0; font-size:18px; }
 .storefront-footer#footer_area .footer-intro p { margin:0; font-size:13px; }
 .storefront-footer .footer-contact-action { padding-inline:10px; font-size:13px; }
 .storefront-footer .footer-links { border-block:1px solid #444; padding-block:8px; }
 .storefront-footer .footer-links ul { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 12px; }
 .storefront-footer .footer-links a { display:flex; min-height:44px; }

 .storefront-footer#footer_area .footer-details p { margin:0; min-height:40px; font-size:13px; }

 .storefront-footer .footer-bottom-inner { flex-wrap:wrap; gap:12px; padding:14px 0; }
 .storefront-footer small { font-size:11px; }
 .storefront-footer .footer-brand { width:105.6px; }
}
body:has(main) .local-help { position:static; width:calc(100% - 2 * var(--page-gutter)); max-width:none; margin:16px auto; box-shadow:none; }
@media (min-width:768px) and (max-width:1100px) {
  .local-header .local-top { grid-template-columns:minmax(120px,152px) minmax(200px,1fr) auto; gap:16px; }
  .header-search input { height:24px; min-height:24px; font-size:13px; }
  .header-search .search-category { height:24px; min-height:24px; }
  .local-tools { gap:12px; font-size:13px; }
  .nav-inner>a,.nav-inner>.catalog-menu>summary { padding-inline:16px; }
  .catalog-layout,.selection-layout { grid-template-columns:220px minmax(0,1fr); }
  .quote-layout { grid-template-columns:minmax(0,1fr) 300px; }
  .local-quote { grid-template-columns:80px minmax(0,1fr); gap:13px; padding:16px; }
}
@media (max-width:991px) {
  :root { --page-gutter:5vw; --workspace-gap:20px; }
}
@media (min-width:992px) {
  #main { --page-gutter:calc(var(--header-inline-gutter) + 6px); }
  #main.storefront-home>.home-promotions { --page-gutter:10px; }
  .catalog-layout,.selection-layout { grid-template-columns:260px minmax(0,1fr); }
}
@media not all and (min-width:768px) {
  :root { --page-gutter:16px; --header-height:57px; }
  .local-header .local-top { display:grid; grid-template-columns:minmax(0,1fr) 44px 44px 44px; gap:4px; padding-block:6px; min-height:56px; }
  .local-header .local-logo { grid-column:1; grid-row:1; justify-self:start; justify-content:flex-start; width:100%; min-width:0; text-align:left; }
  .local-logo { font-size:18px; }
  .local-logo img { max-width:160px; }
  .local-tools { grid-column:2; grid-row:1; gap:0; }
  .local-tools .header-contact,.header-quote-label { display:none; }
  .header-quote-icon { display:none; }
  .header-quote { position:relative; width:44px; height:44px; gap:0; }
  .mobile-header-icon { display:block; width:21px; height:21px; }
  .header-quote .cart-count { position:absolute; top:4px; right:0; min-width:17px; height:17px; padding-inline:3px; font-size:10px; background:#82cbb6; color:var(--ink); }
  #mobile-menu-toggle,#mobile-search-toggle { display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:10px; background:transparent; border:0; color:var(--ink); }
  #mobile-menu-toggle { grid-column:4; grid-row:1; }
  #mobile-search-toggle { grid-column:3; grid-row:1; }
  #mobile-menu-toggle svg,#mobile-search-toggle svg,#mobile-menu-toggle .ui-icon,#mobile-search-toggle .ui-icon { width:21px; height:21px; }
  .header-search { display:none; grid-column:1/-1; grid-row:2; padding-block:4px 6px; }
  .local-header.is-search-open .header-search { display:flex; }
  .header-search input { height:44px; min-height:44px; padding:10px 52px 10px 16px; font-size:16px; }
  .header-search .search-category { height:44px; min-height:44px; font-size:14px; }
  .local-header .local-nav { display:none; }
  .local-header.is-menu-open .local-nav { display:block; position:absolute; top:100%; right:16px; width:max-content; min-width:132px; max-width:calc(100% - 32px); max-height:calc(100dvh - var(--header-height) - 16px); overflow:auto; overscroll-behavior:contain; background:#fff; border:1px solid var(--border); border-radius:4px; box-shadow:0 4px 14px rgb(0 0 0 / 12%); }
  .nav-inner { display:flex; flex-direction:column; width:100%; gap:0; }
  .nav-inner>.mobile-header-contact { display:flex; }
  .nav-inner>a,.nav-inner>.catalog-menu>summary { justify-content:center; text-align:center; min-height:44px; padding:10px 16px; color:var(--ink); font-size:14px; }
  .nav-inner>a[aria-current=page],.nav-inner>.catalog-menu>summary[aria-current=location] { background:var(--surface-muted); box-shadow:inset 2px 0 0 var(--action); }
  .nav-inner>a:hover,.nav-inner>.catalog-menu>summary:hover { background:var(--interaction-hover); color:var(--ink); }
  .nav-inner>.catalog-menu[open]>summary { background:var(--surface-muted); color:var(--ink); }
  .local-nav :focus-visible { outline-color:var(--action)!important; outline-offset:-3px; }
  .catalog-mega { position:static; transform:none; width:100%; max-width:100%; padding:16px var(--page-gutter); max-height:none; }
  .catalog-mega { padding:0; border:0; box-shadow:none; }
  .catalog-flyout { position:static; width:100%; max-height:none!important; overflow:visible; border:0; border-radius:0; box-shadow:none; padding-left:12px; }
  .catalog-menu-root>.catalog-menu-row { border-bottom:1px solid var(--border); }
  .catalog-menu-row>button { flex-basis:44px; }
  .catalog-menu-row>button .ui-icon { transform:rotate(0); }
  .catalog-menu-row>button[aria-expanded=true] .ui-icon { transform:rotate(180deg); }
  body:has(.local-header.is-menu-open) #cart-drawer-toggle { display:none; }
  .local-section { padding-block:20px 40px; }
  .catalog-heading,.selection-heading,.section-heading { display:flex; flex-wrap:wrap; margin-block:20px; gap:10px; }
  .section-heading h2 { font-size:22px; }
  .section-heading>a,.catalog-heading>a,.selection-heading>a { font-size:12px; }
  .catalog-layout,.selection-layout { grid-template-columns:1fr; gap:20px; }
  .catalog-tree,.selection-filters { position:static; max-height:none; }
  .catalog-search { padding:12px; }
  .catalog-search>div { flex-wrap:wrap; gap:8px; }
  .catalog-search input { border-right:1px solid #bbb; flex:1 1 170px; }
  .local-section h1 { font-size:21px; }
  .product-workspace .local-product h1 { font-size:22px; }
  .catalog-terminal { grid-template-columns:1fr; padding:20px; }
  .comparison-label-column { width:116px; }
  .comparison-model-column { width:180px; }
  .local-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .product-card-image { padding:12px; }
  .local-card .product-card-image img { height:130px; }
  .product-card-content { padding:12px; }
  .product-card-content h2 { font-size:16px; }
  .search-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; padding:12px; margin-bottom:16px; }
  .search-options .search-field { grid-column:span 2; }
  .search-options .search-field:first-of-type { grid-column:1 / -1; grid-row:1; }
  .search-options input { padding:4px 52px 4px 10px; height:36px; min-height:36px; font-size:16px; }
  .search-options select { height:36px; min-height:36px; padding-block:4px; font-size:16px; }
  .search-field:first-child { flex-basis:100%; }
  .search-field { flex:1; min-width:0; }
  .search-field select { width:100%; padding-inline:8px; }
  .local-product { grid-template-columns:1fr; gap:12px; }
  .local-product>section { padding-top:0; }
  .local-gallery { padding:20px 20px 0; }
  .local-gallery>a { width:100%; max-width:320px; }
  .local-gallery #gallery-main { max-height:none; }
  .product-inquiry { width:clamp(220px,70%,320px); max-width:100%; padding:0; gap:12px; }
  .product-inquiry-row { grid-template-columns:36px minmax(0,1fr); gap:8px; }
  .product-inquiry select,.product-inquiry input,.inquiry-quantity button { height:44px; min-height:44px; padding-block:4px; }
  .product-inquiry select,.product-inquiry input { font-size:16px; }
  .product-inquiry-actions { grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:8px; justify-self:stretch; }
  .product-inquiry-actions button { height:44px; min-height:44px; padding-inline:8px; white-space:nowrap; }
  .inquiry-quantity { grid-template-columns:44px minmax(0,1fr) 44px; }
  .product-model-layout>.model-controls { grid-template-columns:minmax(0,1fr) 96px; gap:4px 8px; padding:6px 8px; }
  .model-controls label[for=model-filter] { grid-column:1; grid-row:1; }
  .model-controls label[for=model-limit] { grid-column:2; grid-row:1; }
  .model-controls #model-filter { grid-column:1; grid-row:2; width:100%; }
  .model-controls #model-limit { grid-column:2; grid-row:2; width:100%; }
  #product-models .model-controls :is(input,select),#model-facets select { height:32px; min-height:32px; padding-block:3px; font-size:16px; line-height:1.4; }
  .product-model-layout { grid-template-columns:1fr; gap:12px; }
  .product-workspace .model-candidates { min-width:640px; }
  .product-workspace .model-candidates :is(th,td):first-child { width:136px; min-width:136px; max-width:136px; }
  #model-facets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 12px; }
  #model-facets label { margin:0; }
  #model-facets>details { grid-column:1/-1; }
  #model-facets>details>label { margin-bottom:8px; }
  .common-specs table.detail_spec th { width:42%; }
  .common-specs table.detail_spec:not(:has(tr>:nth-child(3))) th { width:38%!important; }
  .product-workspace .common-specs table.detail_spec:not(:has(tr>:nth-child(3))) :is(th,td) { padding:6px 8px; }
  .quote-layout { grid-template-columns:1fr; }
  .quote-request { position:static; padding:14px; }
  .quote-section-heading { padding:13px; flex-wrap:wrap; }
  .local-quote { grid-template-columns:52px minmax(0,1fr); column-gap:10px; row-gap:6px; padding:10px; }
  .quote-image { grid-row:1; align-self:start; }
  .quote-image img { height:54px; padding:3px; }
  .quote-item-content h3 { font-size:15px; }
  .quote-model { font-size:12px; }
  .quote-item-actions { grid-column:1 / -1; gap:8px; justify-content:flex-end; }
  .local-quote .quote-quantity { flex-wrap:nowrap; gap:8px; }
  .quote-quantity input { width:64px; height:44px; min-height:44px; }
  .quote-quantity button,.quote-remove button { height:44px; min-height:44px; min-width:44px; }
  .quote-quantity button { width:44px; padding:13px; }
  .quote-empty { padding:40px 16px; }
  .hero-inner { padding-block:24px; }
  .home-selection-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .home-selection-grid>a { padding:16px 12px; gap:12px; }
  .home-selection-grid h3 { font-size:16px; }
  .home-section { padding-block:16px; }
  .home-section:last-child { padding-bottom:40px; }
  .local-category-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .footer-inner { flex-direction:column; align-items:flex-start; gap:12px; }
}

.catalog-product-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:12px; margin-top:24px; }
.catalog-product-toolbar h2 { margin:0; }
.catalog-product-toolbar h2 span { font-size:14px; }
.catalog-product-toolbar nav { display:flex; gap:8px; }
.catalog-product-toolbar nav a { display:flex; align-items:center; min-height:44px; padding:8px 16px; border:1px solid var(--border); text-decoration:none; }
.catalog-product-toolbar nav a[aria-current] { background:var(--action); color:#fff; }
@media(min-width:768px) {
  .catalog-product-toolbar { justify-content:space-between; gap:16px; }
}
.catalog-product-results.is-list { grid-template-columns:1fr; gap:10px; }
.local-category-cards { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); grid-auto-rows:1fr; gap:16px; margin:0; }
.local-category-cards::before,.local-category-cards::after { content:none; }
.local-category-cards>.products_news_list { display:flex; flex-direction:column; width:auto; float:none; margin:0; padding:0; min-width:0; }
.local-category-cards>.products_news_list>a:first-child { flex:none; }
.local-category-cards>.products_news_list>a:last-child { flex:1; min-width:0; }
.local-category-cards .products_news_list img { width:100%; height:140px; object-fit:contain; }
.local-category-cards .products_news_list h3 { white-space:nowrap; overflow-x:auto; overflow-y:hidden; text-overflow:clip; scrollbar-width:none; font-size:14px; line-height:1.5; }
.local-category-cards .products_news_list h3::-webkit-scrollbar { display:none; }
.local-category-cards .products_news_list h3>div { width:max-content; min-width:100%; }
.local-category-cards .products_news_list h3 .right_block { display:none; }

@media not all and (min-width:768px) { .local-category-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } }
.catalog-product-results { --product-card-height:320px; --product-list-height:188px; --product-list-body-height:136px; }
.catalog-product-results .local-card { height:var(--product-card-height); box-sizing:border-box; }
.catalog-product-results .product-card-link { min-height:0; }
.catalog-product-results .product-card-image { flex-shrink:0; }
.catalog-product-results .product-card-content { min-height:0; overflow:hidden; }
.catalog-product-results .product-card-content>:not(.product-card-intro) { flex-shrink:0; }
.catalog-product-results .product-card-intro { min-height:0; }
.catalog-product-results.is-list .local-card { flex-direction:column; height:var(--product-list-height); }
.catalog-product-results.is-list .product-card-link { flex:0 0 var(--product-list-body-height); }
.catalog-product-results.is-list .product-card-content { height:100%; box-sizing:border-box; }
/* An expanded specification table keeps its natural reading space. */
.catalog-product-results.is-list .local-card:has(.product-model-preview[open]) { height:auto; min-height:var(--product-list-height); }
.catalog-product-results.is-list .product-model-preview { flex-shrink:0; }
@media(min-width:768px) {
  .catalog-product-results.is-list .product-card-image,
  .catalog-product-results.is-list .product-card-content { transform:translateY(12px); }
}
.product-model-preview[hidden],.product-whole-inquiry[hidden] { display:none; }
.product-whole-inquiry { display:inline-flex; align-items:center; min-height:44px; margin:0 12px 4px; font-size:13px; color:var(--navy); }
.product-whole-inquiry:focus-visible { outline:2px solid var(--action); outline-offset:2px; }
.catalog-live-status { margin:8px 0; color:var(--muted); font-size:13px; }
.catalog-workspace[aria-busy="true"] .catalog-live-status { position:absolute; width:1px; height:1px; margin:0; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.catalog-live-status button,.catalog-live-status a { display:inline-flex; align-items:center; min-height:44px; padding:0 10px; border:0; background:transparent; color:var(--ink); font:inherit; }
.product-model-preview { border-top:1px solid var(--border); margin:22px 12px 4px; min-width:0; }
.product-model-preview summary { width:max-content; min-height:44px; margin:-22px 16px 0 auto; padding:0 8px; display:flex; align-items:center; cursor:pointer; font-size:12px; color:var(--ink); background:#fff; list-style:none; }
.product-model-preview summary::-webkit-details-marker { display:none; }
.product-model-preview .preview-label { display:inline-flex; align-items:center; justify-content:center; gap:6px; width:110px; min-width:110px; height:24px; padding:2px 8px; border:1px solid #cecece; border-radius:4px; background:#f7f7f7; line-height:1; white-space:nowrap; }
.product-model-preview .preview-label img { width:12px; height:12px; max-width:none; flex:none; opacity:.7; }
.product-model-preview[open] .preview-label img { transform:rotate(180deg); }
.product-model-preview summary:focus-visible { outline:0!important; }
.product-model-preview summary:focus-visible .preview-label { outline:2px solid var(--action); outline-offset:2px; }
.product-model-preview-content { min-width:0; font-size:13px; }
.product-model-preview .table-scroll { max-width:100%; margin:4px 0; }
.product-model-preview table { width:100%; border-collapse:collapse; white-space:nowrap; }
.product-model-preview th,.product-model-preview td { padding:3px 8px; text-align:left; font-size:13px; line-height:1.5; font-weight:400; border-bottom:1px solid var(--border); }
.product-model-preview th,.product-model-preview tr:nth-child(even) { background:var(--surface-muted); }
.product-model-preview input[type=checkbox] { width:20px; height:20px; }
.product-model-preview tbody td:first-child a { display:inline-flex; align-items:center; min-height:28px; text-decoration:none; }
@media not all and (min-width:768px) {
 .product-model-preview th,.product-model-preview td { padding-block:2px; }
 .product-model-preview tbody td:first-child a,.product-model-preview .preview-pick { min-height:28px; }
}
.preview-full-models { display:block; text-align:center; padding:12px; min-height:44px; }
.catalog-product-results.is-list .product-card-link { flex-direction:row; }
.catalog-product-results.is-list .product-card-image { flex:0 0 124px; padding:6px; }
.catalog-product-results.is-list .product-card-image img { height:100px; }
.catalog-product-results.is-list .product-card-content { padding:10px 12px; }
.catalog-product-results.is-list .product-card-content>.local-brand,
.catalog-product-results.is-list .product-card-meta { margin-bottom:4px; }
.catalog-product-results.is-list .product-card-content h2 { margin-bottom:4px; }
.catalog-product-results:not(.is-list) { grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; }
.catalog-layout .catalog-product-results:not(.is-list),
.selection-layout .catalog-product-results:not(.is-list) { grid-template-columns:repeat(5,minmax(0,1fr)); }
.catalog-product-results:not(.is-list) .product-card-image { padding:16px; }
.catalog-product-results:not(.is-list) .product-card-content { padding:12px; }
@media(min-width:768px) and (max-width:1100px) {
  .catalog-layout .catalog-product-results:not(.is-list),
  .selection-layout .catalog-product-results:not(.is-list) { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media not all and (min-width:768px) {
  .catalog-product-results { --product-card-height:280px; --product-list-height:208px; --product-list-body-height:156px; }
  .catalog-product-results:not(.is-list),
  .catalog-layout .catalog-product-results:not(.is-list),
  .selection-layout .catalog-product-results:not(.is-list) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .catalog-product-results.is-list .product-card-image { flex-basis:84px; padding:6px; }
  .catalog-product-results.is-list .product-card-image img { height:72px; }
  .catalog-product-results.is-list .product-card-content { padding:8px 10px; }
}

/* Compact browsing surfaces share the brand's restrained blue palette. */
.home-selection-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
@media(max-width:1100px) { .home-selection-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media not all and (min-width:768px) { .home-selection-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.home-promotions { position:relative; padding-block:28px 12px; }
.promotion-track { display:flex; gap:16px; overflow-x:auto; padding-inline:var(--promotion-inset,0px); scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; }
.promotion-track::-webkit-scrollbar { display:none; }
.promotion-banner { flex:0 0 var(--promotion-width,calc((100% - 32px)/2)); min-width:0; scroll-snap-align:center; border:1px solid var(--border); border-radius:4px; overflow:hidden; background:#fff; aspect-ratio:3.1; }
.promotion-banner img { display:block; width:100%; height:100%; object-fit:contain; }
.promotion-banner picture { display:block; width:100%; height:100%; }
.promotion-controls { position:absolute; inset:28px 0 12px; display:flex; justify-content:space-between; align-items:stretch; padding-inline:0; pointer-events:none; }
.promotion-controls button { position:relative; display:flex; align-items:center; justify-content:center; width:64px; height:auto; min-height:44px; flex:0 0 64px; padding:0; border:0; background:transparent; color:var(--action); border-radius:0; line-height:1; pointer-events:auto; opacity:.8; transition:opacity .18s ease; }
.promotion-controls button::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgb(255 255 255 / 92%),rgb(255 255 255 / 0%)); opacity:0; transition:opacity .18s ease; pointer-events:none; }
.promotion-controls button[data-promotion-step="1"]::before { background:linear-gradient(270deg,rgb(255 255 255 / 92%),rgb(255 255 255 / 0%)); }
.promotion-controls button svg { position:relative; width:20px; height:26px; stroke-width:1.5; filter:none; }
.promotion-controls button:focus-visible::before { opacity:1; }
@media(hover:hover) and (pointer:fine) { .promotion-controls button:hover::before { opacity:1; } }
.promotion-controls button:hover,.promotion-controls button:focus-visible { opacity:1; }
.promotion-controls button[hidden] { display:none; }
.home-section { padding-block:22px; }
.home-section .section-heading { margin:0 0 18px; }
.home-section .section-heading h2,.catalog-content h2 { font-size:22px; font-weight:500; }
.local-card,.catalog-card,.selection-category-grid>a,.catalog-siblings a,.catalog-product-toolbar nav a { border-radius:4px; }
.local-card .product-card-image { background:#fff; }
.local-card .product-card-image img { height:150px; }
.local-card .product-card-content { padding:16px; }
.local-card .product-card-content h2 { font-size:16px; line-height:1.65; }
.product-card-link h2 { color:var(--action); }
.catalog-product-results.is-list .local-card { border-width:1px; border-radius:4px; }
.catalog-product-toolbar nav[aria-label="商品顯示方式"] a { width:44px; justify-content:center; padding:8px; }
@media not all and (min-width:768px) {
 .home-promotions { width:100%; max-width:none; margin-inline:0; padding:0; }
 .promotion-banner { aspect-ratio:5 / 3; border:0; border-radius:0; }
 .promotion-controls { inset-block:0; padding-inline:0; }
 .promotion-controls button { width:44px; min-height:44px; flex-basis:44px; }
 .promotion-controls button svg { width:18px; height:24px; }
 .home-section { padding-block:18px; }
 .home-promotions + .home-section { padding-top:32px; }
 .local-card .product-card-image img { height:120px; }
 .search-workspace .section-heading { margin-block:12px; }
 .search-workspace .search-count { margin-block:12px; }
 .search-workspace .local-card .product-card-content,
 .catalog-product-results:not(.is-list) .local-card .product-card-content { padding:10px; }
 .search-workspace .local-card .product-card-content h2,
 .catalog-product-results .local-card .product-card-content h2 { font-size:14px; line-height:1.5; }
}

.home-product-section { background:#fff; }
.home-product-actions { display:flex; align-items:center; gap:12px; margin-left:auto; }
.home-product-actions>a { white-space:nowrap; font-size:14px; text-decoration:none; }
.recommendation-refresh { margin:0; }
.recommendation-refresh button { display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; border-radius:4px; background:transparent; }
.recommendation-refresh button:focus-visible { outline:2px solid var(--action); outline-offset:2px; }
.recommendation-refresh button:disabled { opacity:.5; cursor:wait; }
.recommendation-refresh button[aria-busy=true] img { animation:product-loading .7s linear infinite; }
.home-product-strip[aria-busy=true] { opacity:.65; }
.home-product-status { font-size:14px; margin:0; }
.home-product-status button { margin-left:8px; padding:6px 12px; }
@keyframes product-loading { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .recommendation-refresh button[aria-busy=true] img { animation:none; } }
.home-product-carousel { position:relative; padding:0 36px; }
.home-product-strip { display:flex; gap:16px; overflow-x:auto; padding:4px 4px 12px; scroll-snap-type:x proximity; }
.home-product-carousel.is-enhanced .home-product-strip { scrollbar-width:none; }
.home-product-carousel.is-enhanced .home-product-strip::-webkit-scrollbar { display:none; }
.home-product-controls button { position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; padding:0; display:grid; place-items:center; border:0; background:transparent; color:var(--muted); }
.home-product-controls button:first-child { left:0; }
.home-product-controls button:last-child { right:0; }
.home-product-controls button:disabled { opacity:.25; cursor:default; }
.home-product-controls img { width:14px; height:14px; opacity:.65; pointer-events:none; }
.home-product-controls button:first-child img { transform:rotate(90deg); }
.home-product-controls button:last-child img { transform:rotate(-90deg); }
.home-product-controls button:focus-visible,.home-product-strip:focus-visible { outline:2px solid var(--action); outline-offset:2px; }
.home-product-strip .local-card { flex:0 0 160px; scroll-snap-align:start; border:0; }
.home-product-strip .product-card-image { padding:8px; }
.home-product-strip .local-card .product-card-image img { height:120px; }
.home-product-strip .product-card-content { padding:8px; display:grid; grid-template-rows:var(--home-brand-height,24px) auto; align-content:start; }
.home-product-strip .local-brand { grid-row:1; align-self:start; min-width:0; margin:0; line-height:1.5; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.home-product-strip .product-card-content h2 { grid-row:2; }
.home-product-strip .product-card-content h2 { font-size:14px; }
@media not all and (min-width:768px) {
  .home-product-carousel { padding-inline:0; }
  .home-product-controls { display:none; }
  .home-product-strip { gap:10px; }
}

/* Keep the source brand links in one compact, scrollable index. */
#main .manufacturer_area { font-size:13.5px; }
#main .manufacturer_area>h3 { padding-inline:14px; font-size:21.6px; line-height:1.55; }
#main .manufacturer_area>.checkbox_list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); float:none; padding-inline:14px; margin-bottom:27px; }
/* The captured source marks this padding important; keep its override here. */
#main .manufacturer_area>.checkbox_list>li { float:none; width:auto; min-width:0; overflow-wrap:anywhere; font-size:15.525px; line-height:1.6; padding:2.7px 4.5px 2.7px 25.2px!important; }
#main .manufacturer_area>.checkbox_list>li>a { font-size:inherit; }
#main .manufacturer-top-title { font-weight:700; }
#main .manufacturer_area { container-type:inline-size; padding-inline:0; }
#main .manufacturer-top-group { position:relative; isolation:isolate; display:flow-root; inline-size:100%; max-inline-size:100%; padding:6px 14px 20px; margin:2px 0 23px; background:none; border-radius:3px; }
#main .manufacturer-top-group::before { content:""; position:absolute; z-index:-1; inset-block:0; left:0; width:min(calc(var(--brand-top-highlight-width,100%) + 80px),100%); border-radius:8px; background:#fff9ed; pointer-events:none; }
@media(max-width:767px) { #main .manufacturer-top-group::before { display:none; } }
#main .manufacturer-top-group>h3 { margin:0 0 2px; font-size:21.6px; line-height:1.55; color:var(--brand-mint); }
#main .manufacturer-top-group>.checkbox_list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); inline-size:100%; max-inline-size:100%; margin:0; padding:0; list-style:none; background:transparent; }
#main .manufacturer_area>.checkbox_list>.clearfix,#main .manufacturer-top-group>.checkbox_list>.clearfix { display:none!important; }
#main .manufacturer-top-group>.checkbox_list>li { position:relative; list-style:none; float:none; width:auto; min-width:0; font-size:15.525px; line-height:1.6; padding:2.7px 4.5px 2.7px 25.2px!important; }
#main .manufacturer-top-group>.checkbox_list>li>a { display:block; overflow-wrap:anywhere; font-size:inherit; color:var(--ink); text-decoration:none; }
#main .manufacturer-top-group>.checkbox_list>li>a>i { position:absolute; left:4.5px; top:50%; transform:translateY(-50%); }
@media(max-width:767px) {
 #main .manufacturer-top-group { inline-size:100%; margin-inline:0; margin-bottom:22px; }
 #main .manufacturer-top-group>.checkbox_list { inline-size:100%; grid-template-columns:minmax(0,1fr); }
 #main .manufacturer-top-group>.checkbox_list>li { padding-block:0!important; }
 #main .manufacturer-top-group>.checkbox_list>li>a { display:flex; align-items:center; min-height:44px; font-size:16px; }
 #main .manufacturer-top-group>.checkbox_list>li>a>i { top:50%; transform:translateY(-50%); }
}
#main .product_table_select:has(>.manufacturer_letter) { padding-inline:0!important; }
#main .manufacturer_letter { margin:0; padding:0; background:transparent; min-width:0; max-width:100%; }
#main .manufacturer_letter>ul { display:flex; flex-wrap:nowrap; gap:0; width:100%; margin:0 0 16px; padding:0; overflow-x:auto; list-style:none; border-bottom:1px solid var(--border); background:#fff; scrollbar-width:none; }
#main .manufacturer_letter>ul::-webkit-scrollbar { display:none; }
#main .manufacturer_letter>ul>li { display:block; flex:0 0 auto; width:auto; margin:0; padding:0; border:0; background:transparent; }
#main .manufacturer_letter>ul>li>a { display:flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:9px 12.6px; border:0; border-bottom:3px solid transparent; background:transparent; color:var(--muted); font-size:14.4px; line-height:1.5; text-decoration:none; white-space:nowrap; }
#main .manufacturer_letter>ul>li.active>a { color:var(--ink); font-weight:600; border-bottom-color:var(--navy); }
#main :is(.manufacturer_area,.manufacturer-top-group)>.checkbox_list>li>a:is(:hover,:active,:focus-visible),
#main .manufacturer_letter>ul>li>a:is(:hover,:active,:focus-visible) {
  color:#28765f;
  background-color:transparent;
}
#main :is(.manufacturer_area,.manufacturer-top-group)>.checkbox_list>li>a:focus-visible {
  outline:none;
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:3px;
}
#main .manufacturer_letter>ul:focus-visible,#main .manufacturer_letter>ul>li>a:focus-visible { outline:2px solid var(--action); outline-offset:-3px; }
@media(max-width:767px) {
 #main .manufacturer_area>.checkbox_list { grid-template-columns:minmax(0,1fr); margin-bottom:18px; }
 #main .manufacturer_area>.checkbox_list>li { padding-block:0!important; }
 #main .manufacturer_area>.checkbox_list>li>a { display:flex; align-items:center; min-height:44px; font-size:16px; }
 #main .manufacturer_area>.checkbox_list>li>a>i { top:50%; transform:translateY(-50%); }
}

.local-section h1 { font-weight:400; }
.product-inquiry,.model-facets,.selection-filters,.catalog-tree,.quote-request { border-radius:5px; }
.catalog-branch { position:relative; }
.catalog-branch>a { display:flex; align-items:center; width:fit-content; max-width:calc(100% - 44px); min-height:44px; padding:10px 6px; }
.catalog-branch>details>summary { position:absolute;right:0;top:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;list-style:none;cursor:pointer; }
.catalog-branch>details>summary::-webkit-details-marker { display:none; }
.catalog-tree nav li>a { display:flex; align-items:center; width:fit-content; max-width:100%; min-height:44px; padding:10px 6px; }
.catalog-tree nav a,.catalog-branch>details>summary,.catalog-sibling-nav .catalog-siblings a { isolation:isolate; border-radius:var(--interaction-radius); }
.catalog-tree nav a,.catalog-sibling-nav .catalog-siblings a { position:relative; }
.catalog-tree nav a::before,.catalog-sibling-nav .catalog-siblings a::before,.catalog-branch>details>summary::before { content:""; position:absolute; inset:var(--text-feedback-y) var(--feedback-inline); z-index:-1; border-radius:var(--interaction-radius); pointer-events:none; background:transparent; transition:background-color .16s ease; }
.catalog-branch>details>summary::before { inset:25%; }
.catalog-sibling-nav .catalog-siblings a::before { inset-inline:1px; }
@media(hover:hover) {
 #main .catalog-branch>details>summary:hover { color:var(--ink); }
 #main .catalog-tree nav a:not([aria-current]):hover::before,#main .catalog-branch>details>summary:hover::before,#main .catalog-sibling-nav .catalog-siblings a:not([aria-current]):hover::before { background:var(--interaction-hover); }
}
#main .catalog-tree nav a:not([aria-current]):focus-visible::before,#main .catalog-branch>details>summary:focus-visible::before,#main .catalog-sibling-nav .catalog-siblings a:not([aria-current]):focus-visible::before { background:var(--interaction-hover); }
#main .catalog-branch>details>summary:focus-visible { color:var(--ink); }
@media(max-width:767px) {
 .catalog-tree nav li>a { width:100%; max-width:none; }
 .catalog-branch>a { width:100%; max-width:none; padding:10px 44px 10px 6px; }
 .catalog-tree nav .catalog-branch:has(>a[aria-current=page])>details>summary { color:var(--ink); }
}

.catalog-branch-chevron { width:16px; height:16px; flex:none; background:currentColor; -webkit-mask:url('vendor/lucide/chevron-down.svg') center/contain no-repeat; mask:url('vendor/lucide/chevron-down.svg') center/contain no-repeat; }
.catalog-branch>details[open]>summary .catalog-branch-chevron { transform:rotate(180deg); }
.catalog-filters { position:static;margin-top:16px;max-height:none; }
.catalog-filter-panel { position:relative; margin-top:16px; }
.catalog-filter-panel>.catalog-filters { margin-top:0; }
.catalog-filter-panel>.catalog-filters>summary { padding-right:66px; }
.catalog-filter-clear { position:absolute; top:6px; right:12px; display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; font-size:20px; font-weight:300; color:var(--muted); text-decoration:none; }
.catalog-layout>aside { align-self:start; position:sticky; top:calc(var(--header-height) + 20px); max-height:calc(100dvh - var(--header-height) - 40px); overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-gutter:stable; scroll-padding-block:8px; }
.catalog-layout>aside .selection-filters { position:static; max-height:none; overflow:visible; }
.catalog-facet-group { border-top:1px solid var(--border); margin-top:8px; padding-top:4px; }
.catalog-facet-group>summary { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:44px; padding:10px 0; font-size:14px; font-weight:500; cursor:pointer; list-style:none; }
.catalog-facet-group>summary::-webkit-details-marker { display:none; }
.catalog-facet-group>summary::after { content:'+'; font-size:16px; font-weight:400; }
.catalog-facet-group[open]>summary::after { content:'−'; }
.catalog-facet-group>summary:focus-visible { outline:2px solid var(--navy); outline-offset:2px; }
@media not all and (min-width:768px) { .catalog-layout>aside { position:static; max-height:none; overflow:visible; } }
.catalog-tree nav>ul>li>.catalog-branch:has(>a[href="/catalog/20934"]) { isolation:isolate; }
.catalog-tree nav>ul>li>.catalog-branch:has(>a[href="/catalog/20934"])::before { content:""; position:absolute; inset:0 0 auto; height:44px; z-index:-1; background:color-mix(in srgb,var(--highlight-gold) 45%,#fff); border-radius:var(--interaction-radius); pointer-events:none; }
.catalog-tree nav a[aria-current=page] { width:100%; max-width:none; background:var(--action); color:#fff; border-radius:var(--interaction-radius); }
.catalog-tree nav .catalog-branch>a[aria-current=page] { padding-right:44px; }
.catalog-tree nav a[aria-current=page]::before { content:none; }
#main .catalog-tree nav .catalog-branch:has(>a[aria-current=page])>details>summary { color:#fff; }
#main .catalog-tree nav .catalog-branch:has(>a[aria-current=page])>details>summary::before { content:none; }
#main .catalog-tree nav .catalog-branch:has(>a[aria-current=page])>details>summary:focus-visible { outline-color:#fff!important; }
.catalog-tree>summary { display:flex; align-items:center; justify-content:space-between; gap:0; min-height:44px; padding:0 0 0 12px; font-size:14px; font-weight:500; background:#fff; list-style:none; }
.catalog-tree>summary>a { display:flex; align-items:center; flex:1; min-height:44px; padding-block:8px; color:inherit; text-decoration:none; }
.catalog-tree>summary>a:hover { text-decoration:underline; }
.catalog-tree>summary>.catalog-tree-chevron { margin:14px; }
.catalog-tree>summary::-webkit-details-marker { display:none; }
.catalog-tree-chevron { width:16px; height:16px; flex:none; opacity:.65; }
.catalog-tree[open]>summary .catalog-tree-chevron { transform:rotate(180deg); }
.catalog-sibling-nav { position:relative; min-width:0; margin-bottom:20px; border-bottom:1px solid var(--border); }
.catalog-sibling-nav.has-overflow { padding-inline:32px; }
.catalog-sibling-nav .catalog-siblings { display:flex; flex-wrap:nowrap; overflow-x:auto; gap:12px; padding:0; margin:0; border:0; scrollbar-width:none; }
.catalog-sibling-nav .catalog-siblings::-webkit-scrollbar { display:none; }
.catalog-sibling-nav .catalog-siblings a { flex:0 0 auto; min-height:44px; padding:8px 4px; border:0; border-bottom:2px solid transparent; border-radius:var(--interaction-radius); background:transparent; color:var(--muted); white-space:nowrap; text-decoration:none; font-size:13px; }
.catalog-sibling-nav .catalog-siblings a[aria-current] { color:var(--ink); font-weight:600; border-bottom-color:var(--action); }
.catalog-sibling-nav .catalog-siblings a:focus:not(:focus-visible) { outline:none; }
.catalog-sibling-nav .catalog-siblings a:focus-visible { outline-offset:-2px!important; }
.catalog-sibling-controls button { position:absolute; top:0; width:44px; height:44px; padding:0; border:0; background:transparent; display:grid; place-items:center; }
.catalog-sibling-controls button:first-child { left:-8px; }
.catalog-sibling-controls button:last-child { right:-8px; }
.catalog-sibling-controls button:disabled { opacity:.2; cursor:default; }
.catalog-sibling-controls img { width:14px; height:14px; opacity:.65; pointer-events:none; }
.catalog-sibling-controls button:first-child img { transform:rotate(90deg); }
.catalog-sibling-controls button:last-child img { transform:rotate(-90deg); }
.catalog-sibling-nav::before,.catalog-sibling-nav::after { content:''; position:absolute; top:0; bottom:2px; width:16px; z-index:1; pointer-events:none; opacity:0; }
.catalog-sibling-nav::before { left:32px; background:linear-gradient(to right,#fff,transparent); }
.catalog-sibling-nav::after { right:32px; background:linear-gradient(to left,#fff,transparent); }
.catalog-sibling-nav.can-scroll-left::before,.catalog-sibling-nav.can-scroll-right::after { opacity:1; }
.catalog-product-toolbar h2,.catalog-product-toolbar h2 span { font-size:14px;font-weight:400; }
.product-section h2,.quote-section-heading h2 { font-weight:500; }
.local-card { background:#fff; box-shadow:0 3px 6px rgb(0 0 0 / 16%); }
.local-card,.home-product-categories a { transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease,transform .15s ease; }
.catalog-card { box-shadow:none; transition:background-color .15s ease; }
@media(hover:hover) and (pointer:fine) {
 .local-card:hover { transform:translateY(-2px); box-shadow:0 6px 14px rgb(0 0 0 / 16%); }
}
.local-card:focus-within { box-shadow:0 4px 10px rgb(0 0 0 / 18%); }
@media(prefers-reduced-motion:reduce) { .local-card,.catalog-card,.home-product-categories a { transition:none; transform:none!important; } }

.catalog-product-results:not(.is-list),.local-category-cards { grid-auto-rows:1fr; }

.promotion-banner:focus-visible { outline-offset:-3px; }

/* About page: measured against the live MODESTY reference (2026-10-22). */
.about-workspace .about-us-section { padding:0!important; font:400 14px/1.42857 "Storefront Rubik","Storefront Sans TC","Microsoft JhengHei",sans-serif; color:#555; }
.about-workspace .about-us-section :is(h1,h2,h3,p) { font-family:inherit; letter-spacing:normal; }
.about-workspace .container { width:100%; max-width:none; padding-inline:15px; margin-inline:auto; }
.about-workspace .container.page_padding { padding-block:30px 50px!important; }
.about-workspace .row { display:flow-root; margin-inline:-15px; }
.about-workspace .row::before,.about-workspace .row::after { content:none; }
.about-workspace .row>div { padding-inline:15px; }
.about-workspace .about-us-hero .container>.row>div { float:none; width:100%; }
#main .index_title { border-bottom:0; }
#main .index_title:has(.bilingual-page-heading) { margin-bottom:24px; }
#main .index_title h1.bilingual-page-heading { padding:0; margin:0 0 10px; font-family:inherit; font-size:24px; font-weight:400; line-height:1.6; letter-spacing:.02em; color:var(--ink); background:none; }
#main .index_title h1.bilingual-page-heading>span { padding-left:10px; font-size:16px; font-weight:400; color:var(--muted); }
@media(max-width:767px) { #main .index_title h1.bilingual-page-heading { font-size:21px; } }
#main>.content-page-heading>.container { width:calc(100% - 2 * var(--page-gutter)); max-width:var(--content-width); padding:var(--page-heading-gap) 0 0; margin-inline:auto; display:flow-root; }
#main>.content-page-heading .index_title { float:none; width:100%; padding:0; margin:0; }
#main.about-workspace>.content-page-heading .index_title { margin-bottom:24px; }
#main:has(.manufacturer_letter)>.content-page-heading .index_title { margin-bottom:12px; }
#main .container.page_padding.content-page-body { padding-top:0!important; }
#main>.path+section:not(.content-page-heading)>.container.page_padding.content-page-body { padding-top:var(--page-heading-gap)!important; }
.about-workspace .about-us-hero { width:calc(100% - 2 * var(--page-gutter)); max-width:var(--content-width); margin-inline:auto; isolation:isolate; overflow:clip; background:#fff; }
.about-workspace .about-us-hero .container.page_padding { width:100%; max-width:none; padding:0!important; }
.about-workspace .about-us-hero .row { margin-inline:0; }
.about-workspace .about-us-hero .row>.col-xs-12 { padding-inline:0; }
.about-workspace .about-us-hero .box { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(16px,2vw,24px); align-items:center; padding:0; }
.about-workspace .about-us-hero .box>div { float:none; width:auto; min-width:0; }
.about-workspace .about-us-hero .box>.about-hero-visual { position:relative; align-self:stretch; width:100%; min-width:0; min-height:360px; padding:0; clip-path:polygon(0 0,100% 0,84% 100%,0 100%); }
.about-workspace .about-us-hero img.about-hero-photo { position:absolute; inset:0; display:block; width:100%; height:100%; max-width:none; margin:0; object-fit:cover; object-position:58% 50%; transform:none; }
.about-workspace .about-us-hero img.about-hero-logo { position:absolute; top:50%; left:46%; width:clamp(140px,16vw,210px); height:auto; max-width:50%; margin:0; transform:translate(-50%,-50%); filter:brightness(0) invert(1); }
.about-workspace .about-us-hero .ew_aboutus_A { margin-top:40px; padding:90px 50px 180px; }
.about-workspace .ew_aboutus_A :is(h2,h3,p) { text-align:right; }
.about-workspace .ew_aboutus_A h2 { padding:0; margin:0 0 8px; color:#333; line-height:180%; font-size:25.2px; font-weight:500; letter-spacing:1px; }
.about-workspace .ew_aboutus_A h2 span { color:#273773; }
.about-workspace .ew_aboutus_A h3 { width:100%; height:auto; overflow:hidden; padding:0; margin:0 0 12px; font-size:21px; font-weight:500; line-height:180%; letter-spacing:1px; color:#273773; background:url('/takai-demo/media/37ccd72fb581e271274608aedc328332f67026a371bf33699aa47dbff089820b.png') 0 18px repeat-x; }
.about-workspace .ew_aboutus_A h3 span { padding-left:15px; background:#fff; }
.about-workspace .ew_aboutus_A h3::before,.about-workspace .ew_aboutus_A h3::after { content:none; }
.about-workspace .ew_aboutus_A p { padding:0; margin:16px 0 20px; font-size:16.1px; line-height:200%; color:#555; }
.about-workspace .ew_aboutus_A a { color:#0000cd; text-decoration:underline; text-underline-offset:1px; }
.about-workspace .ew_aboutus_A a:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.about-workspace .about-hero-visual::after { content:none; }
@media(max-width:767px) {
 .about-workspace .about-us-hero .box { grid-template-columns:minmax(0,1fr); gap:0; }
 .about-workspace .about-us-hero .box>div { float:none; width:auto; min-width:0; }
.about-workspace .about-us-hero .box>.about-hero-visual { min-height:220px; height:220px; clip-path:polygon(0 0,100% 0,94% 100%,0 100%); }
 .about-workspace .about-us-hero img.about-hero-logo { left:48%; width:160px; }
}
@media(max-width:1200px) { .about-workspace .about-us-hero .ew_aboutus_A { padding:40px 50px 120px; } }
@media(max-width:992px) { .about-workspace .about-us-hero .ew_aboutus_A { padding:20px 50px 80px; } }
@media(max-width:767px) {
 .about-workspace .about-us-hero .ew_aboutus_A { padding:5px 10px 120px; }
 .about-workspace .ew_aboutus_A h2 { font-size:19.6px; }
 .about-workspace .ew_aboutus_A h3 { font-size:16.8px; }
 .about-workspace .ew_aboutus_A p { margin-bottom:10px; }
}
.about-workspace .about-us-hero .ew_aboutus_A { padding-bottom:24px; }
.about-workspace .ew_aboutus_B { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); float:none; width:100%; padding:0; margin:-130px 0 0; position:relative; }
.about-workspace .ew_aboutus_B>div { float:none; width:auto; min-width:0; padding:0 30px; text-align:center; }
.about-workspace .ew_aboutus_B img { display:block; width:200px; max-width:100%; height:auto; padding:10px; margin:0 auto; border-radius:50%; background:#86cab3; transform:scale(.85); transition:background-color .5s; }
.about-workspace .ew_aboutus_B>div:hover img { background:#273773; }
.about-workspace .ew_aboutus_B h2 { margin:20px 0 15px; font-size:21px; font-weight:500; line-height:110%; color:#273773; }
.about-workspace .ew_aboutus_B p { margin:0 0 10px; font-size:16.1px; line-height:180%; color:#555; }
.about-workspace .about-us-section-partner { padding:25px 0 20px!important; }
.about-workspace .about-us-section-partner h2 { font-size:18px; font-weight:500; line-height:33px; margin:20px 0 40px; }
.about-workspace .about-us-section-partner img { display:block; width:100%; height:auto; margin:0; }
.about-workspace .office-contacts .row:first-child { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.about-workspace .office-contacts .row>div { float:none; width:auto; min-width:0; }
.about-workspace .contact-card { height:100%; background:#fff; border:1px solid #eaeaea; border-radius:8px; padding:16px 18px; margin-bottom:16px; box-shadow:0 1px 3px #00000008; }
.about-workspace .contact-card h3 { margin:0 0 6px; font-size:18px; font-weight:700; line-height:110%; color:#273773; }
.about-workspace .contact-sub { margin:0 0 10px; font-size:12px; line-height:1.42857; color:#666; }
.about-workspace .contact-list { display:block; list-style:none; padding:0; margin:0; font-size:14px; overflow-wrap:anywhere; }
.about-workspace .contact-list li { display:flex; align-items:baseline; gap:6px; margin:6px 0; line-height:1.6; color:#333; }
.about-workspace .contact-list i { flex:0 0 18px; width:18px; text-align:center; color:inherit; }
.about-workspace .contact-list a { color:#333; text-decoration:none; min-height:0; min-width:0; }
.about-workspace .contact-list a:hover { text-decoration:underline; }
.about-workspace .office-headline { margin:12px 0 4px; padding:4px 4px 0; text-align:right; }
.about-workspace .office-headline-sub { display:inline-block; margin-left:10px; font-size:13px; color:#777; }
@media(min-width:768px) { .about-workspace .container { width:750px; } }
@media(min-width:992px) { .about-workspace .container { width:970px; } }
@media(min-width:1200px) { .about-workspace .container { width:1170px; } }
@media(max-width:767px) {
 .about-workspace .container.page_padding { padding-block:15px 30px!important; }
 #main.about-workspace .index_title h1 { margin:0; font-size:21px; }
 .about-workspace .ew_aboutus_B { grid-template-columns:1fr; }
 .about-workspace .about-us-section-partner h2 { display:none; }
 .about-workspace .office-contacts .row:first-child { display:block; }
 .about-workspace .contact-card { height:auto; }
 body:has(.about-workspace) #cart-drawer-toggle { display:none; }
}
@media(prefers-reduced-motion:reduce) { .about-workspace .ew_aboutus_B img { transition:none; } }

/* Approved About update: only the three value rows; other sections retain their original styling. */
.about-workspace .about-us-hero .container.page_padding { padding-bottom:0!important; }
.about-workspace .about-us-section:has(.ew_aboutus_B) .container.page_padding { padding-top:16px!important; }
.about-workspace .about-us-section:has(.ew_aboutus_B) { background:#fff!important; }
.about-workspace .ew_aboutus_B { grid-template-columns:1fr; gap:0; margin:0; }
.about-workspace .ew_aboutus_B>div { display:grid; grid-template-columns:80px minmax(0,1fr); grid-template-areas:"picture title" "picture copy"; align-items:center; column-gap:28px; row-gap:8px; border-bottom:1px solid var(--border); padding:28px 0; text-align:left; }
.about-workspace .ew_aboutus_B img { grid-area:picture; grid-row:1 / 3; box-sizing:border-box; width:80px; height:80px; padding:8px; margin:0; border-radius:50%; background:var(--navy); transform:none; transition:none; }
.about-workspace .ew_aboutus_B>div:hover img { background:var(--navy); }
.about-workspace .ew_aboutus_B h2 { grid-area:title; margin:0; text-align:left; font-size:22px; font-weight:500; line-height:1.4; color:var(--navy); }
.about-workspace .ew_aboutus_B p { grid-area:copy; margin:0; text-align:left; font-size:16px; line-height:1.8; color:var(--ink); }
.about-workspace .ew_aboutus_B :is(h2,p)>span { font-size:inherit!important; }
@media(max-width:767px) {
 .about-workspace .ew_aboutus_B { margin:0; }
 .about-workspace .ew_aboutus_B>div { grid-template-columns:64px minmax(0,1fr); gap:8px 16px; padding:24px 0; }
 .about-workspace .ew_aboutus_B img { width:64px; height:64px; padding:6px; }
}

/* Original contact composition: centered horizontal labels, quiet underline fields. */
.contact-workspace { max-width:var(--content-width); }
.contact-workspace>h1 { max-width:1140px; margin-inline:auto; }
.contact-content { width:100%; max-width:760px; margin:0 auto; }
.contact-intro { font-size:15px; line-height:1.9; margin:0 0 24px; }
.contact-form.local-form { display:block; max-width:none; margin:0; padding:0; }
.contact-field { display:grid; grid-template-columns:160px minmax(0,1fr); gap:24px; align-items:start; margin-bottom:20px; }
.contact-field>label { text-align:right; padding-top:7px; font-size:14px; font-weight:400; }
.contact-field>label>span { color:#a33; }
.contact-field>input,.contact-field>textarea { width:100%; min-width:0; min-height:36px; padding:6px 10px; border:0; border-bottom:1px solid #b4cec7; border-radius:0; background:#fff; font-size:15px; line-height:1.5; }
.contact-field>textarea { min-height:112px; resize:vertical; }
.contact-field>[aria-invalid="true"] { border-color:#a33; }
.contact-field-error { grid-column:2; margin:-18px 0 0; color:#922; font-size:13px; line-height:1.5; }
.contact-notice,.contact-error { margin:12px 0 16px 184px; font-size:13px; }
.contact-error { color:#922; }
.contact-actions { display:flex; justify-content:flex-end; gap:12px; margin-top:24px; }
.contact-actions button { min-height:44px; padding:10px 24px; border:1px solid var(--action); border-radius:4px; font-size:14px; }
.contact-actions #contact-reset { color:var(--action); background:#fff; }
@media(max-width:600px) {
 .contact-field { grid-template-columns:1fr; gap:4px; margin-bottom:14px; }
 .contact-field-error { grid-column:1; margin:0; }
 .contact-field>label { text-align:left; padding:0; }
 .contact-field>input,.contact-field>textarea { min-height:44px; font-size:16px; }
 .contact-notice,.contact-error { margin-left:0; }
 .contact-actions { margin-top:20px; }
}

.search-workspace .catalog-product-toolbar { margin:12px 0; justify-content:space-between; }
.search-workspace .catalog-product-toolbar .search-count { margin:0; }
.search-workspace .catalog-product-results.is-list { grid-template-columns:1fr; gap:8px; }

/* Mobile navigation shares the existing category tree and official assets. */
/* Reuse the original category DOM in sliding mobile drawer levels. */
body { --mobile-navigation-width:min(280px,calc(100vw - 64px)); }
.mobile-navigation { --drawer-surface:#f3f6f8; --ink:var(--navy); --muted:var(--navy); padding:0; border:0; color:var(--ink); background:var(--drawer-surface); }
.mobile-navigation:not([open]) { display:none; }
.mobile-navigation[open] { display:flex; flex-direction:column; position:fixed; inset:0 0 0 auto; width:var(--mobile-navigation-width); max-width:none; height:100dvh; max-height:100dvh; margin:0; border-radius:0; overflow:visible; box-shadow:none; transform:translateX(100%); transition:transform 220ms ease; }

.mobile-navigation::backdrop { background:var(--drawer-backdrop); }
.mobile-navigation::after { content:""; position:absolute; inset:0 auto 0 0; width:18px; z-index:5; pointer-events:none; box-shadow:inset 8px 0 12px -6px #192b4b40; }
.mobile-navigation-heading { display:flex; justify-content:flex-end; flex:0 0 52px; padding:4px 8px; border-bottom:1px solid var(--border); }
.mobile-navigation-heading button { display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:10px; border:0; background:transparent; color:var(--ink); }
.mobile-navigation-heading .ui-icon { width:21px; height:21px; }
.mobile-navigation[data-keyboard-focus="false"] #mobile-navigation-close:focus { outline:none!important; }
.mobile-navigation-scroll { flex:1; min-width:0; min-height:0; position:relative; overflow:hidden; }
body:has(.mobile-navigation[open]) { overflow:hidden; }
body.mobile-navigation-open .mobile-navigation { transform:translateX(0); }
@media(max-width:767px) {
  body { overflow-x:clip; }
  #site-page { min-height:100dvh; background:#fff; transition:transform 220ms ease; }
  body.mobile-navigation-open #site-page { transform:translateX(calc(-1 * var(--mobile-navigation-width))); }
  .mobile-navigation .mobile-navigation-pane { display:block; position:absolute; inset:0; width:100%; max-width:none; height:100%; max-height:none!important; margin:0; padding:0; border:0; border-radius:0; background:var(--drawer-surface); box-shadow:none; overflow-y:auto; overscroll-behavior:contain; transform:translateX(var(--mobile-pane-x,100%)); visibility:hidden; transition:transform 220ms ease,visibility 0s linear 220ms; }
  .mobile-navigation .mobile-navigation-pane[data-pane-state=active] { --mobile-pane-x:0%; visibility:visible; transition-delay:0s; }
  .mobile-navigation .mobile-navigation-pane[data-pane-state=previous] { --mobile-pane-x:-100%; }
  .mobile-navigation .nav-inner { margin:0; padding:0; max-width:none; }
  .mobile-navigation .nav-inner>a,.mobile-navigation .nav-inner>.catalog-menu>summary { justify-content:flex-start; text-align:left; padding-inline:24px; }
  .mobile-navigation .nav-inner>.catalog-menu>summary::after { margin-left:auto; }
  .mobile-navigation .nav-inner>a[aria-current],.mobile-navigation .nav-inner>.catalog-menu>summary[aria-current] { background:transparent; box-shadow:inset 2px 0 0 var(--brand-mint); }
  .mobile-navigation .ui-icon,.mobile-navigation .nav-inner>.catalog-menu>summary::after { filter:none; }
  .mobile-navigation .catalog-menu-heading { background:var(--drawer-surface); }
  .mobile-navigation .catalog-menu-level { padding:0; }
  .mobile-navigation .nav-inner>a,.mobile-navigation .nav-inner>.catalog-menu>summary,.mobile-navigation .catalog-menu-row>a,.mobile-navigation .mobile-layer-heading>button { font-size:16.1px; }
  .mobile-navigation .catalog-menu-descendants .catalog-menu-row>a { font-size:14.95px; }
  .mobile-navigation .catalog-menu-row>button .ui-icon { transform:rotate(-90deg); }
  .mobile-layer-heading { display:flex; flex-wrap:wrap; position:sticky; top:0; z-index:1; background:var(--drawer-surface); }
  .mobile-layer-heading>button { display:flex; align-items:center; gap:8px; width:100%; min-height:48px; padding:8px 16px; border:0; border-bottom:1px solid var(--border); background:var(--drawer-surface); color:var(--ink); font-size:16.1px; text-align:left; }
  .mobile-layer-heading>button img { transform:rotate(90deg); }
  .mobile-layer-heading>a { display:block; width:100%; padding:16px; color:var(--ink); font-size:18.4px; font-weight:600; text-decoration:none; }
  .mobile-navigation :focus-visible { outline:2px solid var(--navy); outline-offset:-3px; }
}
@media(prefers-reduced-motion:reduce) { .mobile-navigation[open],#site-page,.mobile-navigation .mobile-navigation-pane { transition:none; } }

/* Shared general form typography; product model tables keep their compact scale. */
#main,#cart-drawer { --field-font-size:13.6px; }
#main :is(label,legend,input,select,textarea),
#main .search-scope button,
#main .catalog-library-search button,
#cart-drawer :is(label,input,select,textarea) { font-size:var(--field-font-size); }
#main :is(.model-controls,#model-facets) { --field-font-size:13px; }
#main .product-model-conditions { --field-font-size:13px; }
#main :is(.catalog-facet-group,.product-model-conditions) summary { font-size:var(--field-font-size); }
#main :is(.model-controls,#model-facets) :is(label,input,select) { font-size:var(--field-font-size); }
#main :is(input,textarea)::placeholder { font-size:inherit; }
#main :is(.model-candidates,.common-spec-table) :is(th,td,a,span),
#main.selection-comparison table :is(th,td,a,span),
#main :is(.selection-comparison,.product-model-preview) table :is(th,td,a,span) { font-size:13px!important; }

/* One compact PDF catalog list, using existing source bindings and covers. */
.catalog-library-body { padding-bottom:80px; }
.catalog-library-search { display:grid; grid-template-columns:minmax(180px,280px) minmax(0,1fr) auto; align-items:end; gap:16px; margin:20px 0 16px; }
.catalog-library-search label { display:block; margin-bottom:6px; font-size:16px; }
.catalog-library-search :is(input,select,button) { min-height:44px; font:inherit; font-size:16px; border:1px solid var(--border); border-radius:4px; }
.catalog-library-search :is(input,select) { width:100%; padding:8px 12px; background:#fff; }
.catalog-library-search button { padding:8px 24px; background:var(--navy); color:#fff; }
.catalog-library-count { margin:12px 0; font-size:14px; color:var(--muted); }
.catalog-library-results-bar { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; margin:12px 0; }
.catalog-library-results-bar .catalog-library-count { margin:0; }
.catalog-library-clear { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:6px 14px; border:1px solid var(--border); border-radius:999px; background:#f6f8fa; color:var(--ink); font-size:14px; line-height:1.4; white-space:nowrap; text-decoration:none; }
.catalog-library-clear:hover { background:var(--interaction-hover); border-color:var(--muted); }
.catalog-library-clear:focus-visible { outline:2px solid var(--navy); outline-offset:2px; }
.catalog-library-head,.catalog-library-list>li>a { display:grid; grid-template-columns:32px minmax(0,1.6fr) minmax(90px,.6fr) minmax(130px,1fr); gap:16px; align-items:center; }
.catalog-library-head { padding:8px 12px; font-size:16px; color:var(--muted); background:#f5f7f9; }
.catalog-library-list { margin:0; padding:0; list-style:none; }
.catalog-library-list>li>a { min-height:64px; padding:10px 12px; border-bottom:1px solid var(--border); color:var(--ink); text-decoration:none; }
.catalog-library-list>li>a:hover { background:var(--interaction-hover); }
.catalog-library-list a:focus-visible,.catalog-library-search :is(input,select,button):focus-visible { outline:2px solid var(--navy); outline-offset:2px; }
.catalog-library-name { min-width:0; font-size:16px; line-height:1.5; overflow-wrap:anywhere; }
.catalog-library-page { display:block; font-size:13px; color:var(--muted); }
.catalog-library-brand,.catalog-library-category { font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
.catalog-library .product-catalog-cover .product-catalog-thumbnail { position:absolute; inset:0; background:#fff; }
.catalog-library-empty { padding:24px 12px; font-size:16px; }
@media(max-width:767px) {
 .catalog-library-search { grid-template-columns:minmax(0,1fr) auto; gap:12px; }
 .catalog-library-search>div:first-child { grid-column:1 / -1; }
 .catalog-library-head { display:none; }
 .catalog-library-list>li>a { grid-template-columns:32px minmax(0,1fr); grid-template-areas:"cover name" "cover brand" "cover category"; gap:2px 12px; padding:10px 0; }
 .catalog-library-list .product-catalog-cover { grid-area:cover; align-self:start; margin-top:2px; }
 .catalog-library-name { grid-area:name; }
 .catalog-library-brand { grid-area:brand; }
 .catalog-library-category { grid-area:category; }
 .catalog-library-page { display:inline; margin-left:8px; }
}

/* Previous/next products follow the originating list, including its page. */
.product-browse-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:20px 0 24px; }
.product-browse-toolbar>.selection-snapshot { width:fit-content; max-width:100%; box-sizing:border-box; margin:0; padding:8px 12px; font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.product-browse-toolbar>.selection-snapshot>a { display:inline-flex; align-items:center; min-height:28px; }
.product-browse-controls { display:flex; gap:8px; flex:none; }
.product-browse-controls>a,.product-browse-controls>span { display:inline-flex; align-items:center; justify-content:center; gap:6px; width:44px; min-height:44px; padding:8px; border:1px solid var(--border); color:var(--navy); font-size:14px; text-decoration:none; border-radius:3px; }
.product-browse-controls>span { color:var(--muted); opacity:.6; }
.product-browse-controls>a:hover { background:var(--interaction-hover); }
.product-browse-controls>a:focus-visible { outline:2px solid var(--navy); outline-offset:2px; }
.product-browse-chevron.is-previous { transform:rotate(90deg); }
.product-browse-chevron.is-next { transform:rotate(-90deg); }
@media(max-width:600px) { .product-browse-toolbar { flex-wrap:wrap; gap:12px; } .product-browse-controls { margin-left:auto; } }

@media (min-width:768px) {
  .product-model-conditions { align-self:start; position:sticky; top:calc(var(--header-height) + 20px); max-height:calc(100dvh - var(--header-height) - 40px); overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-gutter:stable; scroll-padding-block:8px; }
}

/* TRUSCO reference proportions; shared Lucide chevron keeps the existing icon family. */
#back-to-top { position:fixed; right:max(20px,env(safe-area-inset-right,0px)); bottom:max(20px,env(safe-area-inset-bottom,0px)); z-index:109; display:grid; place-items:center; width:60px; height:50px; padding:0; border:1px solid #cecece; border-radius:5px; color:var(--ink); background:#fff; box-shadow:none; opacity:0; visibility:hidden; pointer-events:none; transform:translateX(calc(100% + max(20px,env(safe-area-inset-right,0px)))); transition:transform .5s ease,opacity .5s ease,visibility 0s linear .5s,border-color .2s ease; }
#back-to-top.is-visible { transform:translateX(0); opacity:1; visibility:visible; pointer-events:auto; transition-delay:0s; }
#back-to-top .back-to-top-icon { display:block; width:24px; height:24px; border-top:2px solid currentColor; }
#back-to-top img { display:block; width:24px; height:24px; transform:rotate(180deg); }
#back-to-top:focus-visible { outline-offset:3px; }
@media(hover:hover) { #back-to-top:hover { border-color:var(--ink); } }
body.inquiry-drawer-open #back-to-top,body.mobile-navigation-open #back-to-top { opacity:0; visibility:hidden; pointer-events:none; }
@media(max-width:767px) { #back-to-top { right:max(16px,env(safe-area-inset-right,0px)); bottom:max(16px,env(safe-area-inset-bottom,0px)); } }
@media(prefers-reduced-motion:reduce) { #back-to-top { transition:none; } }

/* Product-only quick actions share the existing inquiry overlap protection. */
#product-quick-actions { position:fixed; right:max(4px,env(safe-area-inset-right,0px)); bottom:max(12%,calc(env(safe-area-inset-bottom,0px) + 12px)); z-index:110; display:grid; gap:7.8px; }
#product-quick-actions #cart-drawer-toggle { position:relative; right:auto; bottom:auto; }
@media(max-width:767px) {
 #cart-drawer-toggle { display:none; }
 #product-quick-actions { bottom:calc(env(safe-area-inset-bottom,0px) + 80px); }
}
#product-ai-toggle { position:relative; width:var(--quick-action-size); height:var(--quick-action-size); min-width:var(--quick-action-size); min-height:var(--quick-action-size); padding:0; color:var(--ink); background:transparent; border:0; font-size:18.2px; font-weight:650; }
#product-ai-toggle::before { content:""; position:absolute; z-index:-1; inset:var(--quick-action-inset); background:#fff; border:1px solid var(--border); border-radius:4px; }
@media(hover:hover) { #product-ai-toggle:hover::before { background:var(--interaction-hover); transform:scale(var(--interaction-feedback-scale)); } }
#product-ai-toggle[hidden],#product-ai-panel[hidden],#product-ai-prompt[hidden] { display:none; }
#product-quick-actions:has(#cart-drawer-toggle.is-over-inquiry[aria-expanded="false"]) #product-ai-toggle[aria-expanded="false"] { visibility:hidden; }
#product-ai-panel { position:fixed; right:50px; bottom:0; width:min(260px,calc(100vw - 76px)); max-height:calc(100dvh - var(--header-height) - 28px); overflow:auto; padding:12px; color:var(--ink); background:#fffdf7; border:1px solid var(--border); border-radius:4px; box-shadow:0 3px 12px #192b4b0a; }
.product-ai-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.product-ai-heading h2 { margin:0; font-size:15px; font-weight:600; line-height:1.5; }
#product-ai-close { margin-right:-12px; display:grid; place-items:center; width:44px; height:44px; min-width:44px; padding:0; background:transparent; color:var(--ink); }
.product-ai-providers { display:flex; gap:10px; padding-block:4px; }
.product-ai-providers a { display:inline-flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; height:44px; min-height:44px; padding:0; color:var(--ink); background:#fff; border:1px solid var(--border); text-decoration:none; border-radius:50%; }
.product-ai-providers img { display:block; width:24px; height:24px; }
.product-ai-providers a:hover { background:var(--interaction-hover); }
#product-ai-status { margin:8px 0 0; font-size:12px; line-height:1.6; }
#product-ai-status:empty { display:none; }
#product-ai-prompt { width:100%; min-height:120px; margin-top:8px; font-size:14px; }

/* Source-measured single-row header; mobile retains its native menu/search. */
.local-header { background:#fff; transition:background-color .3s ease; }
@supports ((backdrop-filter:blur(12px)) or (-webkit-backdrop-filter:blur(12px))) {
 .local-header.is-scrolled { background:rgb(255 255 255 / 85%); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
}
.local-header .local-logo .header-symbol { --logo-height:23.76px; --logo-width:137.69px; --logo-symbol-width:39.6px; flex:none; display:flex; width:var(--logo-width); height:var(--logo-height); }
.local-header .header-symbol-crop { display:block; flex:0 0 var(--logo-symbol-width); height:100%; overflow:hidden; }
.local-header .header-wordmark { display:block; flex:0 0 calc(var(--logo-width) - var(--logo-symbol-width)); height:100%; overflow:hidden; transform-origin:left center; transition:opacity .3s ease,transform .3s ease; }
.local-header .local-logo .header-symbol img { display:block; width:auto; max-width:none; height:var(--logo-height); }
.local-header .header-wordmark img { transform:translateX(calc(-1 * var(--logo-symbol-width))); }
.local-header.is-scrolled .header-wordmark { opacity:0; transform:translateX(-10px) scaleX(0); }
.nav-inner>.catalog-menu>summary { gap:6px; }
.nav-inner>.catalog-menu>summary::after { content:""; flex:none; width:14px; height:14px; background:url("/takai-demo/static/vendor/lucide/chevron-down.svg") center/contain no-repeat; transition:transform .2s ease; }
.nav-inner>.catalog-menu[open]>summary::after { transform:rotate(180deg); }
@media(prefers-reduced-motion:reduce) {
 .local-header,.local-header .header-wordmark,.nav-inner>.catalog-menu>summary::after { transition:none; }
}
@media(min-width:768px) {
 .local-header .local-top { grid-template-columns:126px auto minmax(140px,1fr) auto; gap:30px; width:calc(100% - 2 * var(--header-inline-gutter)); max-width:none; min-height:80px; padding:12px 6px; border-radius:0; }
 .local-header .local-logo { grid-column:1; grid-row:1; min-height:44px; }
 .local-header .local-logo .header-symbol { transform:translateY(-3px); }
 .local-header .local-nav { grid-column:2; grid-row:1; min-height:44px; background:transparent; }
 .local-header .nav-inner { width:auto; max-width:none; padding:0; margin:0; flex-direction:row; gap:6px; }
 .local-header .nav-inner>.nav-home { display:none; }
 .local-header .nav-inner>a,.local-header .nav-inner>.catalog-menu>summary { --nav-inline:15px; padding:8px var(--nav-inline); white-space:nowrap; color:var(--ink); border-radius:0; }
 .local-header .nav-inner>a[aria-current],.local-header .nav-inner>.catalog-menu>summary[aria-current],.local-header .nav-inner>.catalog-menu[open]>summary { color:var(--navy); background:transparent; box-shadow:none; }
 .local-header .nav-inner>a:hover,.local-header .nav-inner>.catalog-menu>summary:hover { color:var(--ink); background:transparent; }
 .local-header .nav-inner>a,.local-header .nav-inner>.catalog-menu>summary { position:relative; isolation:isolate; }
 .local-header .nav-inner>.catalog-menu>summary { left:-3px; }
 .local-header .nav-inner>.catalog-menu>summary::after { position:absolute; right:0; }
 .local-header .nav-inner>a::before,.local-header .nav-inner>.catalog-menu>summary::before { content:""; position:absolute; inset:30% calc(var(--nav-inline) - var(--feedback-inline)); z-index:-1; border-radius:var(--interaction-radius); background:transparent; pointer-events:none; transition:background-color .16s ease; }
 .local-header .nav-inner>.catalog-menu>summary::before { right:calc(-1 * var(--feedback-inline)); }
 .local-header .nav-inner>a:hover::before,.local-header .nav-inner>.catalog-menu>summary:hover::before { background:var(--interaction-hover); }
 .local-header .nav-inner>.mobile-header-contact { display:none; }
 .local-header .header-search { grid-column:3; grid-row:1; max-width:none; align-self:center; background:#f7f8fa; border:1px solid #e0e4ea; border-radius:0; }
 .local-header .header-search input { height:44px; min-height:44px; border:0; background:transparent; border-radius:0; font-size:14px; }
 .local-header .header-search .search-scope { flex-basis:120px; min-width:44px; max-width:35%; }
 .local-header .header-search .search-scope button.search-scope-trigger { height:44px; min-height:44px; border:0; border-right:1px solid #e0e4ea; border-radius:0; }
 .local-header .local-tools { grid-column:4; grid-row:1; gap:16px; width:auto; margin:0; white-space:nowrap; }
 .local-header .header-contact { min-height:44px; height:44px; border-radius:0; }
}
@media(min-width:768px) and (max-width:1199px) {
 .local-header .local-top { gap:10px; grid-template-columns:106px auto minmax(72px,1fr) auto; }
 .local-header .local-logo .header-symbol { --logo-width:105.6px; --logo-height:18.227px; --logo-symbol-width:30.382px; }
 .local-header .nav-inner { gap:0; }
 .local-header .nav-inner>a,.local-header .nav-inner>.catalog-menu>summary { --nav-inline:7px; padding-inline:var(--nav-inline); font-size:12px; }
 .local-header .nav-inner>.catalog-menu>summary { --nav-inline:3px; padding-left:var(--nav-inline); padding-right:11px; }
 .local-header .nav-inner>.catalog-menu>summary::after { width:12px; height:12px; }
 .local-header .local-tools { gap:8px; font-size:12px; }
 .local-header .header-search .search-scope { flex-basis:64px; }
 .local-header .header-search .search-scope button.search-scope-trigger { padding-inline:6px; }
 .local-header .header-contact { padding-inline:8px; }
}
@media(max-width:767px) {
 .local-header .local-logo { width:auto; min-height:44px; }
}

@media(min-width:768px) {
 .about-workspace .about-us-hero .box>.about-hero-visual { transform:scale(.85); transform-origin:right center; }
 .about-workspace .about-us-hero .ew_aboutus_A { padding-inline:0 100px; }
}

@media(min-width:768px) { .local-header .local-nav { position:relative; left:-4px; } }
@media(min-width:1200px) { .local-header .local-nav { left:8px; } .local-header .nav-inner>.catalog-menu+a { margin-left:8px; } }
@media(max-width:359px) { .local-header .local-logo .header-symbol { --logo-height:21.6px; --logo-width:125.17px; --logo-symbol-width:36px; } }

@media(min-width:992px) and (max-width:1599px) {
 .local-header .local-top { grid-template-columns:126px auto minmax(300px,1fr) auto; }
 .local-header .header-search .search-scope { flex-basis:120px; min-width:100px; }
}
@media(min-width:992px) and (max-width:1199px) {
 .local-header .local-top { grid-template-columns:106px auto minmax(280px,1fr) auto; gap:20px; }
 .local-header .nav-inner { gap:clamp(10px,1.4vw,18px); }
}

@media(hover:hover) { #footer_area.storefront-footer .footer-social a:hover img { filter:brightness(0); } }
.storefront-footer .footer-social a:focus-visible { background:var(--interaction-hover); }

/* Enlarge feedback paint only. Layout, pointer targets and selected states stay owned by their controls. */
:root { --interaction-feedback-scale:1.15; }
.local-header .nav-inner>a::before,.local-header .nav-inner>.catalog-menu>summary::before,
.catalog-tree nav a::before,.catalog-branch>details>summary::before,.catalog-sibling-nav .catalog-siblings a::before { transform:scale(var(--feedback-x-scale),var(--interaction-feedback-scale)); transform-origin:center; }
:is(.selection-toolbar button,.selection-compare-bar button,.selection-apply,.local-pagination a,.selection-pagination a,.local-category-pagination a,.local-category-pagination button,.product-workspace .model-detail,.model-pick,.drawer-item-form button,.quote-quantity button,.quote-remove button,.catalog-secondary,.catalog-library-clear,.product-browse-controls>a,.product-ai-providers a,.storefront-footer .footer-social a) { position:relative; isolation:isolate; }
:is(.selection-toolbar button,.selection-compare-bar button,.selection-apply,.local-pagination a,.selection-pagination a,.local-category-pagination a,.local-category-pagination button,.product-workspace .model-detail,.model-pick,.drawer-item-form button,.quote-quantity button,.quote-remove button,.catalog-secondary,.catalog-library-clear,.product-browse-controls>a,.product-ai-providers a,.storefront-footer .footer-social a)::before { content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit; background:transparent; transform:scale(var(--feedback-x-scale,var(--interaction-feedback-scale)),var(--interaction-feedback-scale)); pointer-events:none; }
:is(.selection-toolbar button,.selection-compare-bar button,.selection-apply,.local-pagination a,.selection-pagination a,.local-category-pagination a,.local-category-pagination button,.product-workspace .model-detail,.model-pick,.drawer-item-form button,.quote-quantity button,.quote-remove button,.catalog-secondary,.catalog-library-clear,.product-browse-controls>a,.product-ai-providers a,.storefront-footer .footer-social a):is(:hover,:focus-visible):not(:disabled):not([aria-current]) { background:transparent; }
:is(.selection-toolbar button,.selection-compare-bar button,.selection-apply,.local-pagination a,.selection-pagination a,.local-category-pagination a,.local-category-pagination button,.product-workspace .model-detail,.model-pick,.drawer-item-form button,.quote-quantity button,.quote-remove button,.catalog-secondary,.catalog-library-clear,.product-browse-controls>a,.product-ai-providers a,.storefront-footer .footer-social a):is(:hover,:focus-visible):not(:disabled):not([aria-current])::before { background:var(--interaction-hover); }

.search-scope-choice-content { position:relative; isolation:isolate; }
.search-scope-choice-content::before { content:none; position:absolute; inset:0; z-index:-1; border-radius:var(--interaction-radius); background:transparent; transform:scale(var(--feedback-x-scale,var(--interaction-feedback-scale)),var(--interaction-feedback-scale)); pointer-events:none; }
.search-scope button.search-scope-choice:not([aria-pressed=true]):focus-visible .search-scope-choice-content { background:transparent; }
.search-scope button.search-scope-choice:not([aria-pressed=true]):focus-visible .search-scope-choice-content::before { background:var(--interaction-hover); }
@media(hover:hover) {
 .search-scope button.search-scope-choice:not([aria-pressed=true]) .search-scope-choice-content:hover { background:transparent; }
 .search-scope button.search-scope-choice:not([aria-pressed=true]) .search-scope-choice-content:hover::before { background:var(--interaction-hover); }
}
/* Brand links share the feedback owner; the backdrop follows text, including TOP. */
#main :is(.manufacturer_area,.manufacturer-top-group)>.checkbox_list>li>a>i { position:absolute; left:-20.7px; top:50%; transform:translateY(-50%); }
#main .local-brand>a,#main :is(.manufacturer_area,.manufacturer-top-group)>.checkbox_list>li>a,
#main .manufacturer_letter>ul>li>a { position:relative; isolation:isolate; width:fit-content; max-width:100%; }
#main .local-brand>a { display:inline-flex; }
#main .local-brand>a::before,#main :is(.manufacturer_area,.manufacturer-top-group)>.checkbox_list>li>a::before { content:""; position:absolute; inset:max(0px,calc((100% - 1.6em)/2)) calc(-1 * var(--feedback-inline)); z-index:-1; border-radius:var(--interaction-radius); background:transparent; transform:scale(var(--feedback-x-scale,var(--interaction-feedback-scale)),var(--interaction-feedback-scale)); pointer-events:none; }
#main .manufacturer_letter>ul>li>a::before { content:""; position:absolute; inset-block:max(0px,calc((100% - 1.6em)/2)); left:50%; right:auto; width:calc(var(--letter-feedback-width,100%) + 2 * var(--feedback-inline)); z-index:-1; border-radius:var(--interaction-radius); background:transparent; transform:translateX(-50%) scaleY(var(--interaction-feedback-scale)); pointer-events:none; }
#main .local-brand>a:is(:hover,:focus-visible,:active),
#main :is(.manufacturer_area,.manufacturer-top-group)>.checkbox_list>li>a:is(:hover,:focus-visible,:active),
#main .manufacturer_letter>ul>li>a:is(:hover,:focus-visible,:active) { color:var(--ink); background:transparent; }
#main .local-brand>a:is(:hover,:focus-visible,:active)::before,
#main :is(.manufacturer_area,.manufacturer-top-group)>.checkbox_list>li>a:is(:hover,:focus-visible,:active)::before,
#main .manufacturer_letter>ul>li:not(.active)>a:is(:hover,:focus-visible,:active)::before { background:var(--interaction-hover); }

.selection-apply { --feedback-x-scale:1; }
@media(max-width:767px) { .catalog-tree nav a::before { transform:scale(1,var(--interaction-feedback-scale)); } }

/* Hover owns blue paint; focus and current/open state do not latch it. */
.local-header .nav-inner>a::before,.local-header .nav-inner>.catalog-menu>summary::before,.catalog-tree nav a::before,.catalog-branch>details>summary::before,.catalog-sibling-nav .catalog-siblings a::before,.search-scope-choice-content::before,:is(.selection-toolbar button,.selection-compare-bar button,.selection-apply,.local-pagination a,.selection-pagination a,.local-category-pagination a,.local-category-pagination button,.product-workspace .model-detail,.model-pick,.drawer-item-form button,.quote-quantity button,.quote-remove button,.catalog-secondary,.catalog-library-clear,.product-browse-controls>a,.product-ai-providers a,.storefront-footer .footer-social a)::before,#main .local-brand>a::before,#main :is(.manufacturer_area,.manufacturer-top-group)>.checkbox_list>li>a::before,#main .manufacturer_letter>ul>li>a::before { opacity:0; transition:opacity .3s ease; }
@media(hover:hover) { .local-header .nav-inner>a:hover::before,.local-header .nav-inner>.catalog-menu>summary:hover::before,.catalog-tree nav a:not([aria-current]):hover::before,.catalog-branch>details>summary:hover::before,.catalog-sibling-nav .catalog-siblings a:not([aria-current]):hover::before,.search-scope button.search-scope-choice:not([aria-pressed=true]) .search-scope-choice-content:hover::before,:is(.selection-toolbar button,.selection-compare-bar button,.selection-apply,.local-pagination a,.selection-pagination a,.local-category-pagination a,.local-category-pagination button,.product-workspace .model-detail,.model-pick,.drawer-item-form button,.quote-quantity button,.quote-remove button,.catalog-secondary,.catalog-library-clear,.product-browse-controls>a,.product-ai-providers a,.storefront-footer .footer-social a):hover:not(:disabled):not([aria-current])::before,#main .local-brand>a:hover::before,#main :is(.manufacturer_area,.manufacturer-top-group)>.checkbox_list>li>a:hover::before,#main .manufacturer_letter>ul>li:not(.active)>a:hover::before { opacity:1; } }
:is(.selection-toolbar button,.selection-compare-bar button,.selection-apply,.local-pagination a,.selection-pagination a,.local-category-pagination a,.local-category-pagination button,.product-workspace .model-detail,.model-pick,.drawer-item-form button,.quote-quantity button,.quote-remove button,.catalog-secondary,.catalog-library-clear,.product-browse-controls>a,.product-ai-providers a,.storefront-footer .footer-social a):focus-visible:not(:hover),.storefront-footer .footer-social a:focus-visible:not(:hover),.news_list>ul:not(.pagination)>li>a:focus-visible:not(:hover) { background:transparent; }
.news_list>ul:not(.pagination)>li>a,.catalog-menu-row { transition:background-color .3s ease; }
#main .local-brand>a:focus-visible:not(:hover) { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:3px; }
@media(prefers-reduced-motion:reduce) { .local-header .nav-inner>a::before,.local-header .nav-inner>.catalog-menu>summary::before,.catalog-tree nav a::before,.catalog-branch>details>summary::before,.catalog-sibling-nav .catalog-siblings a::before,.search-scope-choice-content::before,:is(.selection-toolbar button,.selection-compare-bar button,.selection-apply,.local-pagination a,.selection-pagination a,.local-category-pagination a,.local-category-pagination button,.product-workspace .model-detail,.model-pick,.drawer-item-form button,.quote-quantity button,.quote-remove button,.catalog-secondary,.catalog-library-clear,.product-browse-controls>a,.product-ai-providers a,.storefront-footer .footer-social a)::before,#main .local-brand>a::before,#main :is(.manufacturer_area,.manufacturer-top-group)>.checkbox_list>li>a::before,#main .manufacturer_letter>ul>li>a::before,.news_list>ul:not(.pagination)>li>a,.catalog-menu-row { transition:none; } }

#product-ai-toggle::before { transition:background-color .3s ease,transform .3s ease; }
@media(prefers-reduced-motion:reduce) { #product-ai-toggle::before { transition:none; } }
@media(max-width:767px) { #main .catalog-tree nav .catalog-branch:has(>a[aria-current=page])>details>summary:focus-visible:not(:hover) { color:#fff; outline:2px solid #fff!important; outline-offset:-4px; } }

/* Black AI controls retain white glyphs; shared pale-blue feedback is an outer halo. */
#product-ai-panel { background:#f2f3f4; padding-top:4px; }
.product-ai-heading h2 { color:#000; font-weight:700; }
#product-ai-panel:not([hidden]) { animation:product-ai-reveal .24s cubic-bezier(.2,.75,.25,1); }
@keyframes product-ai-reveal { from { opacity:0; clip-path:inset(12px 0 0 12px round 8px); } to { opacity:1; clip-path:inset(0 round 4px); } }
@media(prefers-reduced-motion:reduce) { #product-ai-panel:not([hidden]) { animation:none; } }
#product-ai-toggle { color:#fff; isolation:isolate; }
#product-ai-toggle::before { background:#111; border-color:#111; }
#product-ai-toggle::after { content:""; position:absolute; inset:var(--quick-action-inset); z-index:-1; border-radius:4px; background:#111; pointer-events:none; }
.product-ai-providers a { background:#111; border-color:#111; }
.product-ai-providers a::after { content:""; position:absolute; inset:0; z-index:0; border-radius:inherit; background:#111; pointer-events:none; }
.product-ai-providers img { position:relative; z-index:1; filter:brightness(0) invert(1); }

.product-workspace button.model-detail::before { transform:none; border-radius:2px; }
.product-workspace .model-detail:focus-visible { outline:2px solid var(--action); outline-offset:-2px; }

/* Product gallery feedback: a quiet edge, without a heavy selected frame. */
.local-gallery .gallery-thumbnail { border:1px solid #d9dee5; padding:5px; background:#fff; transition:border-color .22s ease,box-shadow .22s ease,background-color .22s ease; }
.local-gallery .gallery-thumbnail[aria-pressed=true] { border-color:#71869c; background:#f7f9fb; }
@media(hover:hover) and (pointer:fine) { .local-gallery .gallery-thumbnail:hover { border-color:#b1c5d8; box-shadow:0 0 9px 1px #a9bfd33d; background:#fff; } }
.local-gallery .gallery-thumbnail:focus-visible { outline:2px solid var(--action); outline-offset:2px; }
@media(prefers-reduced-motion:reduce) { .local-gallery .gallery-thumbnail { transition:none; } }

/* One brief page-content arrival; no wait, stagger, or hidden-content prerequisite. */
#site-page>main { animation:page-content-arrive .22s ease-out; }
@keyframes page-content-arrive { from { opacity:.86; } to { opacity:1; } }
@media(prefers-reduced-motion:reduce) { #site-page>main { animation:none; } }

/* Narrow screens cannot fit a side panel plus both quick actions. Anchor above the group;
   responsive placement overrides the desktop inline coordinates without changing its JS owner. */
@media(max-width:767px) {
 #product-ai-panel { position:absolute; left:auto!important; right:var(--quick-action-inset)!important; top:auto!important; bottom:calc(100% + 8px)!important; width:min(260px,calc(100vw - 24px)); max-height:calc(100dvh - var(--header-height) - var(--quick-action-size) - env(safe-area-inset-bottom,0px) - 100px); }
}

:is(.local-pagination,.selection-pagination,.local-category-pagination) { --interaction-feedback-scale:1; --feedback-x-scale:1; }
.quote-heading-actions { display:flex; align-items:center; gap:20px; }
.quote-clear-form { position:relative; margin:0; text-align:right; }
.quote-clear-form button { color:var(--navy); background:transparent; border:0; border-radius:0; padding:0; min-height:44px; font:inherit; cursor:pointer; }
.quote-clear-form button:hover { color:var(--navy); text-decoration:underline; }
.quote-clear-form [role=status] { position:absolute; top:100%; right:0; width:max-content; max-width:260px; font-size:14px; }
.quote-clear-form [role=status]:empty { display:none; }

/* Category navigation uses the quieter tile surface for hover. */
.catalog-tree,.catalog-sibling-nav { --interaction-hover:#f3f6f8; }

/* Keep the large category label feedback separate from the disclosure control. */
.catalog-tree nav a:has(>.category-link-label)::before { content:none; }
.catalog-tree nav a>.category-link-label { display:inline-flex; align-items:center; min-height:44px; margin:-10px -6px; padding:8px 6px; border-radius:4px; transition:background-color .3s ease; }
@media(hover:hover) { .catalog-tree nav a:not([aria-current])>.category-link-label:hover { background:#f3f6f8; } }
@media(prefers-reduced-motion:reduce) { .catalog-tree nav a>.category-link-label { transition:none; } }

/* Loading feedback does not delay downloads, reserve new space or order images. */
.media-reveal-pending { opacity:0; }
.product-card-image.is-media-loading { background:#f3f6f8; }

.catalog-heading:has(.catalog-product-search) { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px 24px; }
.catalog-product-search { width:min(100%,320px); flex:0 1 320px; margin:0; }
.catalog-product-search .search-entry { display:flex; min-width:0; }
.catalog-product-search .search-entry input { flex:1; width:100%; min-width:0; padding-inline-start:12px; }
@media(max-width:767px) { .catalog-product-search { flex-basis:100%; width:100%; } }

/* Category conditions belong to the result controls, independent of the navigation tree. */
.catalog-result-controls { display:flex; align-items:center; gap:12px; margin-left:auto; }
.catalog-result-controls .catalog-filter-panel { margin:0; }
.catalog-result-controls .catalog-filters { margin:0; }
.catalog-filter-panel>.catalog-filters>summary { display:flex; align-items:center; justify-content:center; gap:6px; min-height:44px; padding:10px 12px; border:1px solid var(--border); border-radius:4px; background:#fff; cursor:pointer; list-style:none; }
.catalog-filters>summary::-webkit-details-marker { display:none; }
.catalog-filters[open]>summary .ui-icon { transform:rotate(180deg); }
.catalog-filters>summary:focus-visible { outline:2px solid var(--navy); outline-offset:2px; }
.catalog-filters>form { position:fixed; z-index:110; display:flex; flex-direction:column; width:min(960px,calc(100vw - 24px)); max-height:65dvh; margin:0; padding:0; border:1px solid var(--border); border-radius:5px; background:var(--surface-muted); box-shadow:0 4px 14px rgb(25 43 75 / 10%); }
.catalog-filter-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px 20px; min-height:0; overflow:auto; overscroll-behavior:contain; padding:8px 16px; }
.catalog-filter-fields fieldset { min-width:0; margin:0; padding:12px 0; border:0; }
.catalog-filter-fields legend { margin:0 0 4px; padding:0; font-weight:500; }
.catalog-filter-fields .selection-options { display:flex; flex-wrap:wrap; gap:4px 8px; max-height:none; overflow:visible; padding:0; }
.catalog-filter-fields .selection-options label { flex:0 1 auto; width:auto; min-width:80px; max-width:100%; min-height:44px; padding:7px 4px; gap:8px; }
.catalog-more-filters,.catalog-facet-group { grid-column:1/-1; }
.catalog-extra-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px 20px; }
.catalog-more-filters>summary { min-height:44px; padding:12px 0; cursor:pointer; }
.catalog-filter-actions { display:flex; align-items:center; justify-content:flex-end; gap:16px; flex-shrink:0; padding:12px 16px; border-top:1px solid var(--border); }
.catalog-filter-actions a { display:inline-flex; align-items:center; min-height:44px; white-space:nowrap; text-decoration:none; }
.catalog-filter-actions .selection-apply { width:auto; min-height:44px; margin:0; padding:8px 20px; background:var(--navy); color:#fff; }
#main .catalog-filter-actions .selection-apply:is(:hover,:focus-visible):not(:disabled) { background:var(--navy); color:#fff; }
#main .catalog-filter-actions .selection-apply:is(:hover,:focus-visible):not(:disabled)::before { background:rgb(255 255 255 / 10%); }
#main .catalog-filters :is(summary,label,legend,input,button,a) { font-size:13px; }
#main.catalog-workspace .selection-chips a { font-size:13px; }
@media(max-width:1199px) { .catalog-filter-fields,.catalog-extra-fields { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) { .catalog-result-controls { gap:8px; } .catalog-filter-panel>.catalog-filters>summary { padding-inline:8px; } .catalog-filter-fields,.catalog-extra-fields { grid-template-columns:1fr; } }
