/* Site-owned visual rules. Source records, permissions and functionality stay in their existing layers. */
:root {
  --ai-radius: 18px;
  --ai-control-radius: 999px;
  --ai-media-radius: 16px;
  --ai-menu-surface: #eceee7;
  --ai-reading-width: 72ch;
  --ai-section-space: clamp(48px, 6vw, 88px);
}


.site-header .site-nav__main > li > button[aria-expanded="true"]::after { display: none; }
.site-header .nav-panel--mega {
  width: 100%; left: 0; right: 0; top: 100%; margin: 0; padding: 24px 28px 16px; border: 0; border-radius: 0 0 var(--ai-radius) var(--ai-radius);
  max-height: calc(100dvh - var(--ai-header-height) - 24px);
}
.site-header .mega-menu__layout { grid-template-columns: minmax(190px, .85fr) minmax(0, 3.15fr); gap: 40px; }
.site-header .mega-menu__groups { display: flex; flex-direction: column; padding: 0; border: 0; gap: 2px; }
.site-header .mega-menu__group { min-height: 44px; padding: 10px 12px; border: 0; border-radius: 8px; gap: 0; }
.site-header .mega-menu__group strong { font-size: 15px; font-weight: 500; line-height: 24px; }
.site-header .mega-menu__group.is-active { border: 0; }

.site-header .mega-menu__content { padding: 4px 0 0; }
.mega-menu__directory { display: grid; grid-template-columns: minmax(180px, .65fr) minmax(0, 1.8fr); gap: 32px; }
.mega-menu__label { font-size: 13px; font-weight: 500; margin: 0 0 8px; }
.site-header .mega-menu__links { display: grid; gap: 0; }
.site-header .mega-menu__links a { display: flex; align-items: center; min-height: 44px; padding: 8px 0; border: 0; border-radius: 0; font-size: 15px; font-weight: 500; }

.mega-menu__all { display: inline-flex; min-height: 44px; align-items: center; margin-top: 12px; font-size: 13px; }
.site-header .mega-menu__footer { border: 0; padding: 12px 12px 0; }
.site-header .mega-menu__footer a { display: inline-flex; font-size: 14px; }
.mega-menu__back { display: none; }
.mega-menu__photos { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; align-items: start; }
.mega-menu__photo { display: block; align-self: start; font-size: 14px; }
.mega-menu__photo .family-image { border: 0; margin: 0; padding: 0; aspect-ratio: auto; border-radius: 0; overflow: visible; }
.mega-menu__photo img { display: block; width: 100%; height: auto; aspect-ratio: var(--ai-photo-ratio, 1); object-fit: contain; padding: 0; border-radius: var(--ai-media-radius); }
.mega-menu__photo figcaption { display: none; }
.site-header .mega-menu__photo > span { display: block; margin-top: 10px; font-size: 14px; }
@media (max-width: 70rem) {
  body.ai-nav-open { overflow: hidden; }
  .site-header:has(.site-nav.is-open) { backdrop-filter: none; -webkit-backdrop-filter: none; }
  .site-header .site-nav { position: fixed; top: var(--ai-header-height,84px); bottom: 0; left: 0; right: 0; height: calc(100dvh - var(--ai-header-height,84px)); padding: 16px var(--ai-gutter) max(32px, env(safe-area-inset-bottom)); max-height: none; overflow-y: auto; overscroll-behavior: contain; }
  .site-header .site-nav.is-open { display: block; }
  body.ai-nav-open :is(.mobile-quote-bar, .model-quote-rail, .sku-compare-tray) { visibility: hidden; }
  .site-header .site-nav.is-open .site-nav__actions { position: static; display: flex; flex-wrap: wrap; align-items: center; gap: 16px; padding-top: 20px; border-top: 1px solid var(--ai-border); }
  .site-header .site-nav.is-open .header-search { flex: 1 1 100%; }
  .site-header .site-nav.is-open .header-search > summary { justify-content: flex-start; gap: 10px; }
  .site-header .site-nav.is-open .header-search > summary .screen-reader-text { position: static !important; width: auto; height: auto; clip: auto; clip-path: none; overflow: visible; white-space: normal; font-size: 15px; }
  .site-header .site-nav.is-open .header-search__panel { position: static; width: 100%; padding: 12px 0 0; border: 0; border-radius: 0; }
  .site-header .site-nav.is-open .header-search .catalog-search { position: static; width: 100%; max-width: none; padding: 0; }

  .site-header .site-nav.is-open .site-nav__actions > .quote-primary { display: inline-flex; }
  .site-header .nav-panel--mega { position: static; padding: 8px 0; border-radius: 0; max-height: none; }
  .site-header .mega-menu__layout, .mega-menu__directory { grid-template-columns: 1fr; gap: 16px; }
  .site-header .mega-menu__content { display: none; padding: 0 12px; }
  .site-header .mega-menu__group { min-height: 48px; }
  .site-header .is-detail-view .mega-menu__groups { display: none; }
  .site-header .is-detail-view .mega-menu__content { display: block; }
  .mega-menu__back { display: block; padding: 8px 0; margin-bottom: 16px; font-weight: 500; }
  .mega-menu__photos { display: none; }
  .site-header .mega-menu__links a { min-height: 48px; }
  .site-header .site-nav.is-open .site-nav__main { position: static; display: grid; padding: 0; border: 0; max-height: none; overflow: visible; }
}

/* One reading rhythm across the actual Home, catalog, editorial and quote templates. */
:is(.catalog-heading, .editorial-hero, .request-hero) { padding-block: 32px 40px; background: var(--ai-background); border: 0; }
:is(.catalog-heading, .editorial-hero, .request-hero) h1 { font-size: var(--ai-title-size); line-height: 1.12; letter-spacing: -.04em; }
:is(.catalog-heading, .editorial-hero, .request-hero) p { max-width: var(--ai-reading-width); }
.catalog-heading .eyebrow, .editorial-hero .eyebrow, .request-hero .eyebrow { margin-bottom: 8px; }
.breadcrumbs { font-size: 12px; line-height: 1.8; margin-bottom: 28px; }
:is(.archive-index, .editorial-nav, .type-filter-panel) { border: 0; background: transparent; padding-inline: 0; }
.archive-layout, .editorial-layout { gap: 48px; padding-top: 24px; }
.archive-group { border: 0; padding-bottom: 24px; margin-bottom: 0; }
.catalog-type-grid { gap: 32px 24px; }
.catalog-type-row, .model-card { border: 0; background: transparent; overflow: visible; }
.catalog-type-row:hover, .model-card:hover { border: 0; }
.catalog-type-row__visual { padding: 0; border: 0; background: transparent; border-radius: 0; aspect-ratio: auto; overflow: visible; }
.catalog-type-row__visual .family-image { height: auto; padding: 0; border: 0; background: transparent; border-radius: 0; aspect-ratio: auto; }
.catalog-type-row__visual .family-image img { display: block; width: 100%; height: auto; aspect-ratio: var(--ai-photo-ratio, 1); border-radius: var(--ai-media-radius); }
.catalog-type-row__visual .family-image img[data-ai-photo-plane="uniform"], .model-card .family-image img[data-ai-photo-plane="uniform"] { aspect-ratio: 4/3; object-fit: contain; background: var(--ai-photo-plane); }
.catalog-type-row__visual .family-image img[data-ai-photo-layout="wide-family"] { object-fit: cover; }
.catalog-type-row__copy { padding: 18px 0 0; border: 0; }
.catalog-type-row__copy h3 { font-size: 20px; line-height: 1.4; margin-bottom: 6px; }
.catalog-type-row:has(.photo-scope) { order: 1; grid-column: 1/-1; display: grid; grid-template-columns: 180px minmax(0,1fr); align-items: center; gap: 24px; }
.catalog-type-row:has(.photo-scope) .catalog-type-row__copy { padding: 0; }
.catalog-type-row .family-image .photo-scope { display: block; background: transparent; padding: 8px 0 0; text-align: left; font-size: 12px; }
.catalog-type-row__quote { display: none; }
.catalog-type-row:not(:has(img)) .catalog-type-row__visual { display: none; }
.catalog-type-row:not(:has(img)) { padding: 20px 0; border-bottom: 1px solid var(--ai-border); border-radius: 0; }
.catalog-type-tabs { flex-wrap: wrap; overflow: visible; gap: 8px; }
.catalog-type-tabs a { border-radius: var(--ai-control-radius); padding-inline: 16px; }
.catalog-type-image { width: 100%; max-width: 480px; border: 0; border-radius: 0; background: transparent; overflow: visible; margin-bottom: 24px; }
.catalog-type-image .family-image { padding: 0; border: 0; border-radius: 0; background: transparent; aspect-ratio: auto; }
.catalog-type-image .family-image img { display: block; width: 100%; height: auto; aspect-ratio: var(--ai-photo-ratio, 1); border-radius: var(--ai-media-radius); }
.catalog-type-image .family-image img[data-ai-photo-layout="wide-family"] { aspect-ratio: 3/2; object-fit: cover; }
.catalog-type-image .family-image figcaption { padding: 12px 0 0; text-align: left; background: transparent; }
.model-list-section { padding-top: 24px; }
.family-overview { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); align-items: center; gap: 64px; margin-bottom: 40px; }
.family-overview .catalog-type-image { margin: 0; }
.family-overview__copy h2 { font-size: 28px; line-height: 1.25; margin-bottom: 16px; }
.family-overview__copy p { color: var(--ai-muted); max-width: 52ch; }
.family-overview__copy .family-overview__label { font-size: 13px; margin-top: 24px; margin-bottom: 8px; }
.family-overview__copy ul { padding-left: 20px; line-height: 1.7; margin-bottom: 12px; }

#family-model-table { scroll-margin-top: 104px; }
.catalog-request-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); gap: 64px; align-items: center; }
.catalog-request-layout .catalog-type-image { margin: 0; }
.model-list-section .table-scroll, #group-products .table-scroll { max-height: none; }
.sku-browser--decor .sku-tools { padding: 0; border: 0; background: transparent; border-radius: 0; }
.sku-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; padding-bottom: 16px; }
.sku-toolbar .sku-tools__count { margin: 0 auto 0 0; font-size: 14px; color: var(--ai-muted); }
.sku-toolbar__sort { display: flex; align-items: center; gap: 12px; }
.sku-toolbar__sort label { white-space: nowrap; margin: 0; font-size: 13px; }

.has-ui-enhancements .sku-filter-toggle { display: inline-flex; min-height: 44px; padding: 8px 18px; }
.has-ui-enhancements .sku-browser--decor:has([data-ai-filter-open]) > .sku-tools { display: none; }
.sku-filter-dialog .sku-tools { display: grid; margin: 0; background: transparent; }
.sku-filter-dialog .sku-tools > .field { flex: none; }
.type-browser { display: block; }
.type-browser__toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.type-browser__toolbar .type-browser__count { margin: 0; font-size: 14px; }
.type-browser__toolbar .type-filter-panel { position: relative; padding: 0; }
.type-browser__toolbar .type-filter-panel > summary { min-height: 44px; padding: 10px 18px; border: 1px solid var(--ai-border); border-radius: var(--ai-control-radius); font-size: 14px; }
.type-browser__toolbar .type-filter-panel__body { position: absolute; top: calc(100% + 8px); left: 0; z-index: 4; width: min(320px,calc(100vw - 48px)); padding: 20px; border: 1px solid var(--ai-border); border-radius: var(--ai-radius); background: var(--ai-background); box-shadow: 0 12px 20px rgb(38 46 40 / 6%); }
.type-browser__toolbar .type-filter-panel__body label { min-height: 44px; }


.table-scroll { border-radius: 12px; }
.sku-table { background: var(--ai-surface); }
.sku-table :is(td,th) { padding-block: 18px; }
.decor-sku-hero { grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: 56px; padding-block: 24px 56px; }
.decor-sku-hero > .model-hero__copy { grid-column: 2; grid-row: 1; }
.decor-sku-hero > .model-hero__media { grid-column: 1; grid-row: 1; }
.model-hero--no-image > .model-hero__copy { grid-column: 1; }
.decor-sku-hero h1 { font-size: clamp(30px,2.7vw,38px); line-height: 1.2; }
.sku-purpose { max-width: 60ch; color: var(--ai-muted); font-size: 15px; line-height: 1.8; margin-bottom: 24px; }
.model-hero__media { border: 0; border-radius: 0; background: transparent; overflow: visible; }
.family-image img { max-width: min(100%,var(--ai-photo-width,100%)); }
.model-hero--no-image { grid-template-columns: minmax(0,1fr); }
.model-hero--no-image .model-hero__media { display: none; }
.model-hero--no-image .model-hero__copy { max-width: 880px; }
.decor-sku-hero .image-slot--s1, .decor-sku-hero .image-slot--s1 > figure { aspect-ratio: auto; margin: 0; padding: 0; background: transparent; border-radius: 0; overflow: visible; }
.model-hero__media .family-image { padding: 0; border: 0; background: transparent; aspect-ratio: auto; }
.decor-sku-hero .image-slot--s1 img { display: block; width: 100%; height: auto; aspect-ratio: var(--ai-photo-ratio, 1); border-radius: var(--ai-media-radius); }
.image-zoom-trigger { height: auto; border-radius: var(--ai-media-radius); background: transparent; }
.decor-sku-hero .image-slot--s1 img[data-ai-photo-layout="horizontal-module"] { aspect-ratio: 12/5; object-fit: cover; object-position: center; }
.model-hero__media .family-image figcaption { padding: 12px 0 0; text-align: left; background: transparent; }
.decor-sku-hero .image-slot--s1, .decor-sku-hero .image-slot--s1 > figure { border-radius: 0; }
.sku-part-line { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; margin-block: 20px; }
.sku-part-line > .numeric-value { font-size: 18px; overflow-wrap: anywhere; }
.sku-spec-chips { gap: 16px 24px; }
.sku-spec-chips > div { border: 0; background: transparent; padding: 0; }
.sku-series-options { padding-top: 0; border: 0; }
.decor-sku-details > section { border: 0; background: transparent; padding: 24px 0; border-radius: 0; margin-bottom: 24px; }
.sku-specification-table { background: var(--ai-surface); border: 0; }
.model-card__body { padding: 20px 0; }
.model-card .product-card__visual { background: transparent; border: 0; border-radius: 0; padding: 0; aspect-ratio: auto; height: auto; }
.model-card .family-image { padding: 0; background: transparent; border: 0; aspect-ratio: auto; }
.model-card .family-image img { display: block; width: 100%; height: auto; aspect-ratio: var(--ai-photo-ratio, 1); border-radius: var(--ai-media-radius); }
.model-card .family-image img[data-ai-photo-layout="horizontal-module"] { aspect-ratio: 12/5; object-fit: cover; }
.editorial-body { max-width: 880px; }
.editorial-body > section:not(.editorial-cta), .editorial-body > .business-faq { padding: 0; border: 0; background: transparent; }
.editorial-body section { margin-bottom: 48px; }
.editorial-body h2 { font-size: 28px; line-height: 1.3; }
.editorial-body p { max-width: var(--ai-reading-width); line-height: 1.8; }
.service-cards { display: block; }
.service-cards > .service-card { padding: 0; border: 0; background: transparent; margin-bottom: 32px; }
.service-card h2 { margin: 0 0 12px; font-size: 24px; line-height: 1.4; }
.service-cards p { font-size: 16px; line-height: 1.8; }
.service-checklist svg { display: none; }
.editorial-send { padding-block: 24px !important; }
.resource-guide { padding: 24px 0; border: 0; border-bottom: 1px solid var(--ai-border); background: transparent; border-radius: 0; grid-template-columns: minmax(0,1fr); gap: 0; }
.resource-guide:hover { border: 0; border-bottom: 1px solid var(--ai-border); }
.resource-guide__number, .resource-guide > svg { display: none; }
.resource-guide h3 { font-size: 24px; line-height: 1.4; }
.editorial-cta { border: 0; padding: 28px; }
.related-type-tags a { border-radius: var(--ai-control-radius); }
.quote-form-card { border: 0; padding: 32px; }
.quote-sidebar-card { border: 0; background: transparent; padding: 20px 8px; }


.quote-more-details { border: 0; background: var(--ai-background); border-radius: 12px; }

.quote-next-summary > summary { cursor: pointer; min-height: 44px; font-size: 16px; font-weight: 500; }
.quote-next-summary > p { margin-top: 16px; font-size: 14px; color: var(--ai-muted); }
.final-cta { padding-block: 40px; border: 0; background: var(--ai-surface-2); }
.final-cta h2 { font-size: 28px; line-height: 1.3; }
.final-cta .button > span, .sku-type-link > span { display: none; }
.display-media-gallery .family-image { border: 0; background: transparent; border-radius: 0; overflow: visible; padding: 0; }
.display-media-gallery img { display: block; height: auto; aspect-ratio: var(--ai-photo-ratio, 1); border-radius: var(--ai-media-radius); }
.display-media-gallery figcaption { background: transparent; text-align: left; padding: 12px 0 0; }
.display-context-scene { max-width: 740px; }
.display-context-scene img { border-radius: var(--ai-media-radius); }
.company-details > div { grid-template-columns: minmax(0,1fr); gap: 6px; padding-block: 14px; }
.company-details dt { font-size: 13px; }
.company-details dd { line-height: 1.65; overflow-wrap: anywhere; }
.company-details a { display: inline-block; padding-block: 4px; }

@media (max-width: 70rem) {
  .archive-layout, .editorial-layout { gap: 28px; }
  .decor-sku-hero { gap: 32px; }
}
@media (max-width: 48rem) {
  :is(.catalog-heading, .editorial-hero, .request-hero) { padding-block: 24px 28px; }
  :is(.catalog-heading, .editorial-hero, .request-hero) h1 { font-size: 36px; }
  .catalog-heading__layout { grid-template-columns: 1fr; gap: 16px; }
  .catalog-heading__layout > .button { justify-self: start; }
  .catalog-type-grid { gap: 32px; }
  .catalog-type-row:has(.photo-scope) { grid-template-columns: 120px minmax(0,1fr); gap: 20px; }
  .family-overview { grid-template-columns: 1fr; gap: 24px; }
  .catalog-request-layout { grid-template-columns: 1fr; gap: 24px; }



  .family-overview .catalog-type-image { max-width: 420px; }
  .decor-sku-hero { grid-template-columns: 1fr; gap: 28px; }
  .decor-sku-hero { display: flex; flex-direction: column; align-items: stretch; gap: 16px; }
  .decor-sku-hero > .model-hero__copy { display: contents; }
  .decor-sku-hero .brand-badge { order: 0; align-self: flex-start; }
  .decor-sku-hero h1 { order: 1; margin: 0; }
  .decor-sku-hero .sku-part-line { order: 2; margin: 0; }
  .decor-sku-hero > .model-hero__media { order: 3; margin-block: 8px; }
  .decor-sku-hero .image-slot--s1 img { width: auto; max-width: 100%; max-height: 360px; margin-inline: auto; object-fit: contain; }
  .decor-sku-hero .image-slot--s1 img[data-ai-photo-layout="horizontal-module"] { width: 100%; object-fit: cover; }
  .decor-sku-hero .sku-purpose { order: 4; margin: 0; font-size: 16px; }
  .decor-sku-hero .sku-spec-chips { order: 5; margin: 8px 0; }
  .decor-sku-hero .sku-spec-chips--long { grid-template-columns: 1fr; }
  .decor-sku-hero .sku-spec-chips dd { text-align: left; margin: 4px 0 0; }
  .decor-sku-hero .sku-series-options { order: 6; margin: 0; }
  .decor-sku-hero .sku-hero-actions { order: 7; margin: 8px 0 0; }
  .decor-sku-hero .product-commercial-note { order: 8; margin: 0; }
  .decor-sku-hero .sku-type-link { order: 9; align-self: flex-start; }
  .sku-specification-table :is(table,tbody,tr,th,td) { display: block; width: 100%; min-width: 0; }
  .sku-specification-table thead { display: none; }
  .sku-specification-table tr { padding: 16px 20px; border-bottom: 1px solid var(--ai-border); }
  .sku-specification-table th { padding: 0; border: 0; font-size: 13px; color: var(--ai-muted); }
  .sku-specification-table td { padding: 8px 0 0; border: 0; font-size: 16px; line-height: 1.6; overflow-wrap: anywhere; }
  .decor-sku-hero h1 { font-size: 32px; line-height: 1.25; }
  .sku-toolbar { gap: 12px; }
  .sku-toolbar__sort { flex-basis: 100%; }
  .sku-toolbar__sort select { flex: 1; }
  .quote-form-card { padding: 24px 18px; }
  .quote-sidebar-card { padding-inline: 0; }
  .editorial-body h2, .final-cta h2 { font-size: 25px; }
}



.sku-table [data-industrial-rfq-add] { color:var(--ai-text); background:transparent; border-color:var(--ai-border); }
.sku-table [data-industrial-rfq-add]:hover { color:var(--ai-text); background:var(--ai-surface-2); border-color:var(--ai-text); }
.table-scroll-hint { display:none; }




@media (max-width:48rem) {
  .sku-table { width:max-content; min-width:100%; }
  .sku-table :is(th,td) { white-space:nowrap; }
  .sku-table th[scope=row] { min-width:160px; }
  .sku-table .brand-badge { white-space:nowrap; }
  .table-scroll-hint { display:block; font-size:14px; color:var(--ai-muted); margin:0 0 12px; }






}

@media (max-width:48rem) {
  html { scroll-padding-bottom:calc(80px + env(safe-area-inset-bottom)); }
  .sku-table :is(a,button,input) { scroll-margin-bottom:calc(80px + env(safe-area-inset-bottom)); }
}

/* Search reuses the established catalog photo planes without an inset carrier. */
.inner-v5--search .group-card { border:0; background:transparent; overflow:visible; }
.inner-v5--search .group-card__visual { padding:0; border:0; background:transparent; aspect-ratio:auto; }
.inner-v5--search .group-card__visual .family-image { padding:0; border:0; background:transparent; height:auto; aspect-ratio:auto; }
.inner-v5--search .group-card__visual img { display:block; width:100%; height:auto; aspect-ratio:var(--ai-photo-ratio,1); object-fit:contain; border-radius:var(--ai-media-radius); }
.inner-v5--search .group-card__visual img[data-ai-photo-plane="uniform"] { aspect-ratio:4/3; background:var(--ai-photo-plane); }
.inner-v5--search .group-card__copy { padding:18px 0 0; }
/* A lone related item remains the size of a product card. */
.decor-sku-related .model-grid > div:only-child { max-width:400px; }
