/* Catalog adapter. Tokens copied from designbook v0.4.7; regenerate from its tokens.css. */
/* Generated by build.py from tokens.json. Edit the JSON, then regenerate. */
.mason-catalog-system, .mason-catalog-banner, .mason-catalog-editor, .mason-catalog-dialog {
  --ms-color-brand: #284915;
  --ms-color-brand-hover: #355612;
  --ms-color-brand-pressed: #1C340F;
  --ms-color-text: #212121;
  --ms-color-muted: #5D645A;
  --ms-color-white: #FFFFFF;
  --ms-color-surface: #F5F5F7;
  --ms-color-sage: #E7ECDF;
  --ms-color-seasonal-burgundy: #74132A;
  --ms-color-border: #D8DED2;
  --ms-color-control-border: #777F71;
  --ms-color-error: #B32632;
  --ms-color-focus: #245CBD;
  --ms-color-disabled-bg: #E6E8E3;
  --ms-color-disabled-text: #5D645A;
  --ms-color-inverse-hover: #FFFFFF24;
  --ms-color-inverse-pressed: #FFFFFF38;
  --ms-font-heading: "Montserrat", Arial, sans-serif;
  --ms-font-body: "Raleway", Arial, sans-serif;
  --ms-space-4: 0.25rem;
  --ms-space-8: 0.5rem;
  --ms-space-12: 0.75rem;
  --ms-space-16: 1rem;
  --ms-space-20: 1.25rem;
  --ms-space-24: 1.5rem;
  --ms-space-32: 2rem;
  --ms-space-40: 2.5rem;
  --ms-space-48: 3rem;
  --ms-space-64: 4rem;
  --ms-space-80: 5rem;
  --ms-space-96: 6rem;
  --ms-radius-button: 6px;
  --ms-radius-card: 12px;
  --ms-radius-media: 12px;
  --ms-radius-field: 8px;
  --ms-radius-badge: 4px;
  --ms-radius-filter: 999px;
  --ms-h1-size: 3.25rem;
  --ms-h1-line: 1.12;
  --ms-h1-weight: 600;
  --ms-h1-tracking: -0.035em;
  --ms-h2-size: 2.25rem;
  --ms-h2-line: 1.2;
  --ms-h2-weight: 600;
  --ms-h2-tracking: -0.025em;
  --ms-h3-size: 1.25rem;
  --ms-h3-line: 1.3;
  --ms-h3-weight: 600;
  --ms-h3-tracking: -0.015em;
  --ms-lead-size: 1.125rem;
  --ms-lead-line: 1.5;
  --ms-lead-weight: 400;
  --ms-lead-tracking: normal;
  --ms-body-size: 1rem;
  --ms-body-line: 1.5;
  --ms-body-weight: 400;
  --ms-body-tracking: normal;
  --ms-small-size: 0.875rem;
  --ms-small-line: 1.5;
  --ms-small-weight: 500;
  --ms-small-tracking: normal;
  --ms-caption-size: 0.75rem;
  --ms-caption-line: 1.5;
  --ms-caption-weight: 500;
  --ms-caption-tracking: normal;
  --ms-button-size: 0.875rem;
  --ms-button-line: 1.4;
  --ms-button-weight: 600;
  --ms-button-tracking: normal;
  --ms-price-size: 1.25rem;
  --ms-price-line: 1.3;
  --ms-price-weight: 600;
  --ms-price-tracking: normal;
  --ms-product-subtitle-size: 0.8125rem;
  --ms-product-subtitle-line: 1.5;
  --ms-product-subtitle-weight: 400;
  --ms-product-subtitle-tracking: normal;
  --ms-product-price-size: 1rem;
  --ms-product-price-line: 1.4;
  --ms-product-price-weight: 600;
  --ms-product-price-tracking: normal;
  --ms-button-small-size: 0.8125rem;
  --ms-button-small-line: 1.4;
  --ms-button-small-weight: 600;
  --ms-button-small-tracking: normal;
  --ms-product-size-label-size: 0.6875rem;
  --ms-product-size-label-line: 1.5;
  --ms-product-size-label-weight: 600;
  --ms-product-size-label-tracking: normal;
  --ms-control-height: 3rem;
  --ms-control-padding-inline: 1.5rem;
  --ms-control-icon: 20px;
  --ms-control-stroke: 2px;
  --ms-control-focus-width: 3px;
  --ms-control-focus-offset: 3px;
  --ms-control-height-small: 40px;
  --ms-control-height-touch: 44px;
  --ms-motion-fast: 160ms;
  --ms-motion-standard: 240ms;
  --ms-motion-entrance: 400ms;
  --ms-motion-stagger: 60ms;
  --ms-hero-light-heading-weight: 500;
  --ms-hero-light-heading-size: 3.75rem;
  --ms-hero-light-lead-size: 1rem;
  --ms-hero-light-secondary-weight: 500;
  --ms-container: 1280px;
  --ms-gutter: 3rem;
  --ms-section-space: 4rem;
}
@media (max-width: 980px) { .mason-catalog-system, .mason-catalog-banner, .mason-catalog-editor, .mason-catalog-dialog {
  --ms-h1-size: 2.625rem;
  --ms-h2-size: 2rem;
  --ms-h3-size: 1.25rem;
  --ms-lead-size: 1.125rem;
  --ms-body-size: 1rem;
  --ms-small-size: 0.875rem;
  --ms-caption-size: 0.75rem;
  --ms-button-size: 0.875rem;
  --ms-price-size: 1.25rem;
  --ms-product-subtitle-size: 0.8125rem;
  --ms-product-price-size: 1rem;
  --ms-button-small-size: 0.8125rem;
  --ms-product-size-label-size: 0.6875rem;
  --ms-gutter: 2rem;
} }
@media (max-width: 760px) { .mason-catalog-system, .mason-catalog-banner, .mason-catalog-editor, .mason-catalog-dialog {
  --ms-h1-size: 2rem;
  --ms-h2-size: 1.75rem;
  --ms-h3-size: 1.125rem;
  --ms-lead-size: 1rem;
  --ms-body-size: 1rem;
  --ms-small-size: 0.875rem;
  --ms-caption-size: 0.75rem;
  --ms-button-size: 0.875rem;
  --ms-price-size: 1.125rem;
  --ms-product-subtitle-size: 0.8125rem;
  --ms-product-price-size: 1rem;
  --ms-button-small-size: 0.8125rem;
  --ms-product-size-label-size: 0.6875rem;
  --ms-gutter: 1.25rem;
  --ms-section-space: 2.5rem;
} }
@media (prefers-reduced-motion: reduce) { .mason-catalog-system, .mason-catalog-banner, .mason-catalog-editor, .mason-catalog-dialog { --ms-motion-fast: 0ms; --ms-motion-standard: 0ms; --ms-motion-entrance: 0ms; --ms-motion-stagger: 0ms; } }

/* One banner component in archives and the UX Builder preview. */
.mason-catalog-banner { position:relative; display:grid; grid-template-columns:1fr 1fr; min-height:240px; margin:0 0 24px; border-radius:var(--ms-radius-media); overflow:hidden; background:var(--ms-color-brand); color:var(--ms-color-white); font-family:var(--ms-font-body); }
.mason-catalog-banner--burgundy { background:var(--ms-color-seasonal-burgundy); }
.mason-catalog-banner--sage { background:var(--ms-color-sage); color:var(--ms-color-brand); }
.mason-catalog-banner--text { grid-template-columns:1fr; min-height:160px; }
.mason-catalog-banner .mason-catalog-banner__copy { align-self:center; padding:24px 32px; }
.mason-catalog-banner .mason-catalog-banner__copy h2 { color:inherit; font:600 clamp(24px,2.6vw,34px)/1.2 var(--ms-font-heading); letter-spacing:-.025em; margin:0 0 12px; }
.mason-catalog-banner .mason-catalog-banner__copy p { color:inherit; font:400 14px/1.5 var(--ms-font-body); margin:0; max-width:52ch; }
.mason-catalog-banner .mason-catalog-banner__copy .mason-catalog-banner__eyebrow { font-size:12px; margin-bottom:8px; }
.mason-catalog-banner .mason-catalog-banner__photo { display:block; position:absolute; right:0; top:0; width:50%; height:100%; object-fit:cover; object-position:var(--catalog-crop,50%) 35%; }

/* Same toolbar controls regardless of category or filtering engine. */
.mason-catalog-system .mason-filter-controls { gap:16px; padding-bottom:16px; }
.mason-catalog-system .mason-filter-bar__facets { gap:8px; }
.mason-catalog-system .mason-filter-bar .fs-label-wrap,
.mason-catalog-system .mason-filter-controls .mason-toggle > summary,
.mason-catalog-system .orn-filter-select select,
.mason-catalog-system .orn-filter-price > summary {
 display:inline-flex; align-items:center; gap:10px; min-height:44px; margin:0; padding:10px 16px;
 border:1px solid var(--ms-color-control-border); border-radius:var(--ms-radius-filter); background-color:var(--ms-color-white); color:var(--ms-color-text);
 font:500 14px/1.4 var(--ms-font-body); box-shadow:none; text-transform:none; letter-spacing:normal;
}
.mason-catalog-system .orn-filter-select select { padding-right:36px; }
.mason-catalog-system .mason-filter-bar .fs-label { padding:0; }
.mason-catalog-system .mason-filter-controls .fs-open .fs-label-wrap,
.mason-catalog-system .mason-filter-controls .mason-toggle[open] > summary,
.mason-catalog-system .orn-filter-price[open] > summary { background-color:var(--ms-color-sage); border-color:var(--ms-color-brand); }
.mason-catalog-system :is(.mason-filter-controls, .orn-product-tools) :is(button,summary,select,input,a,.fs-wrap):focus-visible { outline:3px solid var(--ms-color-focus); outline-offset:3px; }
.mason-catalog-system .mason-filter-subbar { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:16px 0 24px; }
.mason-catalog-system .mason-result-count,
.mason-catalog-system .orn-filter-status { color:var(--ms-color-muted); font:500 14px/1.5 var(--ms-font-body); text-transform:none; letter-spacing:normal; }
.mason-catalog-system .mason-filter-subbar .facetwp-selection-value,
.mason-catalog-system .orn-filter-active { border:1px solid var(--ms-color-border); border-radius:var(--ms-radius-filter); background:var(--ms-color-sage); color:var(--ms-color-brand); font:500 13px/1.4 var(--ms-font-body); }
.mason-catalog-system .mason-filter-subbar .facetwp-selection-value { min-height:32px; padding:6px 12px; }
.mason-catalog-system .orn-filter-apply { min-height:44px; border-radius:var(--ms-radius-button); background:var(--ms-color-brand); font:600 14px/1.4 var(--ms-font-body); text-transform:none; }
.mason-catalog-system .orn-product-filters { gap:8px; align-items:center; }
.mason-catalog-system .orn-filter-price-panel { border-color:var(--ms-color-border); border-radius:var(--ms-radius-card); }
.mason-catalog-system .mason-filter-controls[aria-busy="true"] { cursor:progress; }
.mason-catalog-system .mason-filter-controls[aria-busy="true"]::after { content:'Updating…'; position:absolute; margin-top:60px; font-size:12px; color:var(--ms-color-muted); }

/* Native dialog supplies focus containment, Escape and an inert background. */
.mason-catalog-dialog { width:100%; max-width:none; height:100dvh; max-height:none; inset:0; padding:0; margin:0; border:0; background:#fff; color:var(--ms-color-text); overflow:auto; }
.mason-catalog-dialog::backdrop { background:rgba(0,0,0,.35); }
.mason-is-mobile.mason-drawer-open .mason-catalog-dialog .mason-filter-bar { position:static; overflow:visible; }
.mason-catalog-dialog .mason-drawer-head { display:flex; align-items:center; justify-content:space-between; padding:16px 18px; border-bottom:1px solid var(--ms-color-border); }
.mason-catalog-dialog .mason-drawer-close { min-width:44px; min-height:44px; margin:0; }
.mason-catalog-dialog .orn-product-filters { display:flex; flex-direction:column; align-items:stretch; padding:0 18px 18px; gap:16px; }
.mason-catalog-dialog .orn-product-filters .mason-drawer-head { margin:0 -18px; }
.mason-catalog-dialog .orn-filter-select,
.mason-catalog-dialog .orn-filter-select select { width:100%; max-width:none; }
.mason-catalog-dialog .orn-filter-price { width:100%; }
.mason-catalog-dialog .orn-filter-price > summary { display:flex; justify-content:space-between; width:100%; }
.mason-catalog-dialog .orn-filter-price-panel { position:static; width:100%; max-width:none; margin-top:12px; box-shadow:none; }
.mason-catalog-dialog .orn-filter-apply { width:100%; margin:8px 0 0; }
.mason-catalog-dialog .orn-filter-reset { align-self:center; }
.mason-catalog-mobile-trigger { display:none; }
.mason-catalog-editor { margin:16px 0; padding:20px; background:var(--ms-color-surface); color:var(--ms-color-text); border:1px dashed var(--ms-color-control-border); border-radius:var(--ms-radius-card); font:400 14px/1.5 var(--ms-font-body); }
.mason-catalog-editor__filters { display:flex; gap:8px; flex-wrap:wrap; }
.mason-catalog-editor__pill { display:inline-block; padding:10px 16px; border:1px solid var(--ms-color-control-border); border-radius:var(--ms-radius-filter); background:#fff; }
@media(min-width:1024px) {
 body.mason-catalog-system.mason-catalog-columns-4 .shop-container .products > .product { flex:0 0 25%; max-width:25%; width:25%; }
 body.mason-catalog-system.mason-catalog-columns-3 .shop-container .products > .product { flex:0 0 33.333333%; max-width:33.333333%; width:33.333333%; }
}
@media(max-width:849px) {
 .mason-catalog-banner { grid-template-columns:56% 44%; min-height:224px; }
 .mason-catalog-banner .mason-catalog-banner__copy { padding:20px 16px; }
 .mason-catalog-banner .mason-catalog-banner__copy h2 { font-size:22px; }
 .mason-catalog-banner .mason-catalog-banner__copy p { font-size:13px; }
 .mason-catalog-banner .mason-catalog-banner__photo { width:44%; object-position:var(--catalog-mobile-crop,30%) 35%; }
 .mason-catalog-banner--text { grid-template-columns:1fr; min-height:160px; }
 .mason-catalog-system .mason-filter-bar .fs-label-wrap,
 .mason-catalog-system .mason-filter-controls .mason-toggle > summary { border:0; border-radius:0; }
 .mason-catalog-system .mason-filter-controls .mason-sort > summary { padding:8px 0; }
 .mason-catalog-system .orn-product-tools.mason-catalog-mobile-ready > .orn-product-filters { display:none; }
 .mason-catalog-mobile-trigger { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin:0 0 12px; padding:8px 0; border:0; background:none; color:var(--ms-color-text); font:600 16px/1.4 var(--ms-font-body); text-transform:none; letter-spacing:normal; }
 .mason-catalog-system .mason-mobile-filter-toggle { font-family:var(--ms-font-body); }
}

/* Quiet, compact pagination, with an unmistakable current page. */
body.mason-catalog-system .woocommerce-pagination { margin:32px 0; }
body.mason-catalog-system .woocommerce-pagination .page-numbers { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px; padding:4px; margin:0; border:0; }
body.mason-catalog-system .woocommerce-pagination .page-numbers > li { display:block; margin:0; padding:0; border:0; }
body.mason-catalog-system .woocommerce-pagination .page-number { display:flex; align-items:center; justify-content:center; width:40px; min-width:40px; height:40px; padding:0; margin:0; border:1px solid #D8DED2; border-radius:8px; background:#fff; color:#41473C; box-shadow:none; font:500 14px/1 "Montserrat",Arial,sans-serif; }
body.mason-catalog-system .woocommerce-pagination .page-number.current { background:#284915; border-color:#284915; color:#fff; font-weight:600; }
body.mason-catalog-system .woocommerce-pagination .page-number.dots { border-color:transparent; background:transparent; color:#727A6C; width:24px; min-width:24px; }
body.mason-catalog-system .woocommerce-pagination .page-number i { font-size:20px; line-height:1; }
body.mason-catalog-system .woocommerce-pagination a:focus-visible { outline:3px solid #245CBD; outline-offset:3px; }
@media(hover:hover) { body.mason-catalog-system .woocommerce-pagination a:hover { background:#E7ECDF; border-color:#AAB99B; color:#284915; } }
@media(max-width:479px) {
 body.mason-catalog-system .woocommerce-pagination .page-numbers { gap:3px; padding:4px 0; }
 body.mason-catalog-system .woocommerce-pagination .page-number { width:30px; min-width:30px; height:40px; font-size:13px; }
 body.mason-catalog-system .woocommerce-pagination .page-number.dots { width:18px; min-width:18px; }
}


/* Keep legacy concept selectors from overriding the shared component roles. */
body.mason-catalog-system .mason-catalog-banner .mason-catalog-banner__copy h2 { color:inherit; font:600 clamp(24px,2.6vw,34px)/1.2 var(--ms-font-heading); margin:0 0 12px; letter-spacing:-.025em; }
body.mason-catalog-system .mason-catalog-banner .mason-catalog-banner__copy p { color:inherit; font:400 14px/1.5 var(--ms-font-body); margin:0; }
body.mason-catalog-system .orn-product-filters select,
body.mason-catalog-system .orn-product-filters .orn-filter-price > summary { min-height:44px; height:44px; font-family:var(--ms-font-body); border-color:var(--ms-color-control-border); }
body.mason-catalog-system .orn-product-filters button.orn-filter-apply { min-height:44px; border-radius:var(--ms-radius-button); font-family:var(--ms-font-body); }
body.mason-catalog-system .mason-shop-head { text-align:left; }
body.mason-catalog-system .mason-shop-head h1,
body.mason-catalog-system .orn-concept-heading h1 { font:600 clamp(30px,3.3vw,46px)/1.12 var(--ms-font-heading); letter-spacing:-.03em; }
body.mason-catalog-system .mason-catalog-dialog .orn-product-filters { display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; padding:0 18px 18px; gap:16px; }
body.mason-catalog-system .mason-catalog-dialog .orn-product-filters .mason-drawer-head { align-self:stretch; width:auto; margin:0 -18px; padding:16px 18px; }
body.mason-catalog-system .mason-catalog-dialog .orn-filter-price > summary { max-width:none; }
body.mason-catalog-system .mason-catalog-dialog .orn-filter-price-panel { position:static; width:100%; margin-top:12px; box-shadow:none; }
@media(max-width:849px) {
 body.mason-catalog-system .mason-catalog-banner .mason-catalog-banner__copy h2 { font-size:22px; }
 body.mason-catalog-system .mason-catalog-banner .mason-catalog-banner__copy p { font-size:13px; }
}
/* Keep mobile-created read-more controls out of the desktop layout after resizing. */
@media(min-width:850px) { body.mason-catalog-system .mason-shop-head__more { display:none; } }
/* Catalog headings have one alignment, including legacy inline category styles. */
body.mason-catalog-system .mason-shop-head :is(h1,h2,h3,p),
body.mason-catalog-system .orn-concept :is(h1,h2),
.mason-catalog-banner .mason-catalog-banner__copy :is(h2,p) { text-align:left !important; }
body.mason-catalog-system .mason-shop-head p { margin-left:0; margin-right:0; }

body.mason-catalog-system .mason-catalog-native-controls { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:16px; margin:16px 0 24px; }
body.mason-catalog-system .mason-catalog-native-controls .woocommerce-ordering,
body.mason-catalog-system .mason-catalog-native-controls .woocommerce-result-count { display:block !important; margin:0; }
body.mason-catalog-system .mason-catalog-native-controls select { min-height:44px; border:1px solid var(--ms-color-control-border); border-radius:var(--ms-radius-filter); box-shadow:none; font:500 14px/1.4 var(--ms-font-body); padding:10px 36px 10px 16px; margin:0; }

body.mason-catalog-system .mason-drawer-apply { background:var(--ms-color-brand); border-radius:var(--ms-radius-button); font-family:var(--ms-font-body); }
.mason-catalog-mobile-controls { display:none; }
@media(max-width:849px) {
 .mason-catalog-mobile-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
 .mason-catalog-mobile-controls .mason-catalog-mobile-trigger { margin:0; }
 .mason-catalog-mobile-sort { min-height:44px; width:auto; max-width:190px; margin:0; padding:8px 24px 8px 0; border:0; border-radius:0; box-shadow:none; color:var(--ms-color-text); font:600 16px/1.4 var(--ms-font-body); }
 .mason-catalog-dialog .orn-filter-select:has(select[name="orderby"]) { display:none; }
}

/* Ornaments use the same checkbox dropdown interaction as the tree catalog. */
body.mason-catalog-system .orn-product-filters { gap:8px; }
body.mason-catalog-system .orn-product-filters [hidden] { display:none !important; }
body.mason-catalog-system :is(.orn-filter-multi,.orn-sort) { position:relative; margin:0; }
body.mason-catalog-system :is(.orn-filter-multi,.orn-sort) > summary {
 display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; padding:10px 16px;
 border:1px solid var(--ms-color-control-border); border-radius:var(--ms-radius-filter); background:#fff;
 color:var(--ms-color-text); font:500 14px/1.4 var(--ms-font-body); cursor:pointer; list-style:none;
}
body.mason-catalog-system :is(.orn-filter-multi,.orn-sort) > summary::-webkit-details-marker { display:none; }
body.mason-catalog-system :is(.orn-filter-multi,.orn-sort)[open] > summary { background:var(--ms-color-sage); }
body.mason-catalog-system :is(.orn-filter-options,.orn-sort-options) {
 position:absolute; top:calc(100% + 8px); left:0; z-index:80; width:290px; max-width:calc(100vw - 36px);
 max-height:340px; overflow-y:auto; overscroll-behavior:contain; padding:8px;
 border:1px solid var(--ms-color-border); border-radius:12px; background:#fff; box-shadow:0 12px 28px #0000001a;
}
body.mason-catalog-system .orn-filter-option { display:flex; align-items:center; gap:12px; min-height:44px; margin:0; padding:10px 12px; border-radius:8px; cursor:pointer; color:var(--ms-color-text); font:400 15px/1.4 var(--ms-font-body); }
body.mason-catalog-system .orn-filter-option:hover { background:var(--ms-color-sage); }
body.mason-catalog-system .orn-filter-option:has(:checked) { font-weight:600; }
body.mason-catalog-system .orn-filter-option input { appearance:auto; flex:0 0 20px; width:20px; height:20px; min-height:0; margin:0; padding:0; accent-color:var(--ms-color-brand); }
body.mason-catalog-system .orn-product-filters > .orn-sort { margin-left:auto; }
body.mason-catalog-system .orn-sort-options { left:auto; right:0; width:240px; }
body.mason-catalog-system .orn-sort-options button { min-height:44px; font:500 14px/1.4 var(--ms-font-body); }
body.mason-catalog-system .orn-filter-status { flex-wrap:wrap; }
body.mason-catalog-system .orn-filter-status a { display:inline-flex; align-items:center; gap:10px; min-height:36px; text-decoration:none; padding:6px 12px; }
body.mason-catalog-system .orn-filter-message { margin:8px 0; font:500 14px/1.5 var(--ms-font-body); }
body.mason-catalog-system .facetwp-template[aria-busy="true"] { opacity:.55; pointer-events:none; }
body.mason-catalog-system .orn-sort summary:focus-visible { outline:3px solid var(--ms-color-focus); outline-offset:3px; }
@media(min-width:850px) {
 body.mason-catalog-system .orn-product-tools[data-ajax-ready]:not(.has-filter-error) .orn-filter-apply { display:none; }
}
@media(max-width:849px) {
 body.mason-catalog-system .mason-catalog-dialog .orn-product-filters { gap:0; }
 body.mason-catalog-system .mason-catalog-dialog :is(.orn-filter-multi,.orn-filter-price) { width:100%; }
 body.mason-catalog-system .mason-catalog-dialog :is(.orn-filter-multi,.orn-filter-price) > summary { min-height:53px; width:100%; padding:14px 0; border:0; border-bottom:1px solid #eee; border-radius:0; background:#fff; }
 body.mason-catalog-system .mason-catalog-dialog .orn-filter-options { position:static; width:100%; max-height:300px; padding:4px 0; border:0; border-radius:0; box-shadow:none; }
 body.mason-catalog-system .mason-catalog-dialog .orn-filter-apply { margin-top:16px; width:100%; }
 body.mason-catalog-system .mason-catalog-dialog .orn-filter-reset { margin-top:12px; }
 body.mason-catalog-system .mason-catalog-dialog .orn-sort { display:none; }
 body.mason-catalog-system .mason-catalog-mobile-controls .orn-sort > summary { border:0; padding:8px 0; }
 body.mason-catalog-system .mason-catalog-mobile-controls .orn-sort-options { right:0; }
}

/* Expandable editorial content belongs to the shared banner, not a separate page intro. */
.mason-catalog-banner { display:block; min-height:0; }
.mason-catalog-banner__main { display:grid; grid-template-columns:1fr 1fr; position:relative; min-height:240px; }
.mason-catalog-banner--text .mason-catalog-banner__main { grid-template-columns:1fr; min-height:160px; }
.mason-catalog-seo { background:#fff; color:var(--ms-color-text); border-top:1px solid var(--ms-color-border); }
.mason-catalog-seo > summary { display:flex; align-items:center; gap:10px; min-height:48px; padding:12px 32px; list-style:none; cursor:pointer; color:var(--ms-color-brand); font:600 14px/1.5 var(--ms-font-body); }
.mason-catalog-seo > summary::-webkit-details-marker { display:none; }
.mason-catalog-seo > summary:focus-visible { outline:3px solid var(--ms-color-focus); outline-offset:-4px; }
.mason-catalog-seo .mason-seo-less,.mason-catalog-seo[open] .mason-seo-more { display:none; }
.mason-catalog-seo[open] .mason-seo-less { display:inline; }
.mason-catalog-seo[open] .mason-chev { transform:rotate(225deg); }
.mason-catalog-seo__body { padding:4px 32px 24px; font:400 15px/1.65 var(--ms-font-body); }
body.mason-catalog-system .mason-catalog-seo__body :is(p,li,h2,h3,h4) { color:var(--ms-color-text); text-align:left !important; max-width:85ch; }
body.mason-catalog-system .mason-catalog-seo__body p { font:inherit; margin:0 0 16px; }
.mason-catalog-seo__body a { color:var(--ms-color-brand); text-decoration:underline; text-underline-offset:3px; }
.mason-catalog-seo__body > :last-child { margin-bottom:0; }
@media(max-width:849px) {
 .mason-catalog-banner__main { min-height:224px; }
 .mason-catalog-seo > summary { padding:12px 16px; }
 .mason-catalog-seo__body { padding:0 16px 20px; font-size:14px; }
}
@media(max-width:849px) {
 .mason-catalog-banner .mason-catalog-seo-lead { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
}
.mason-catalog-native-controls select[hidden] { display:none !important; }

/* Compact discovery: one scrollable row per dimension, shared with subcategories. */
body.mason-catalog-system .mason-orn-subnav { margin:12px 0 20px; min-width:0; }
body.mason-catalog-system .mason-orn-subnav__label,
body.mason-catalog-system:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept :is(.orn-concept-types h2,.orn-concept-palette h2,.orn-concept-theme-heading) {
 font:600 16px/1.3 var(--ms-font-heading); color:var(--ms-color-text); text-transform:none; letter-spacing:0; margin:0 0 8px;
}
body.mason-catalog-system .mason-orn-subnav__items,
body.mason-catalog-system:is([data-ornament-preview="3"],.mason-ornament-preview-3) :is(.orn-concept-type-row,.orn-concept-colour-row,.orn-concept-looks) {
 display:flex; flex-wrap:nowrap; gap:8px; min-width:0; overflow-x:auto; padding:4px 4px 8px; scrollbar-width:thin; scrollbar-color:#89917F #EEF0EB;
}
body.mason-catalog-system .mason-orn-subnav__item,
body.mason-catalog-system:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept :is(.orn-concept-type,.orn-concept-swatch) {
 display:flex; flex:0 0 auto; align-items:center; justify-content:center; gap:8px; min-width:0; min-height:44px; padding:10px 16px; border:1px solid var(--ms-color-border); border-radius:var(--ms-radius-filter); background:#fff; color:var(--ms-color-text); white-space:nowrap; text-decoration:none; font:600 13px/1.35 var(--ms-font-heading);
}
body.mason-catalog-system .mason-orn-subnav__dot { width:16px; height:16px; flex:0 0 16px; border:1px solid rgba(0,0,0,.18); border-radius:50%; }
body.mason-catalog-system:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-swatch::before { width:16px; height:16px; flex-basis:16px; }
body.mason-catalog-system:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept :is(.orn-concept-types,.orn-concept-palette) { margin:12px 0; }
body.mason-catalog-system:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept .orn-concept-looks .orn-concept-photo,
body.mason-catalog-system .mason-orn-subnav--theme .mason-orn-subnav__item {
 display:flex; align-items:center; justify-content:flex-start; gap:10px; flex:0 0 190px; min-height:64px; padding:4px; border:1px solid var(--ms-color-border); border-radius:var(--ms-radius-media); background:#fff; white-space:normal;
}
body.mason-catalog-system:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept .orn-concept-looks img,
body.mason-catalog-system .mason-orn-subnav__image { display:block; flex:0 0 56px; width:56px; height:56px; object-fit:cover; border-radius:8px; }
body.mason-catalog-system:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept .orn-concept-looks span { font:600 13px/1.35 var(--ms-font-heading); padding:0 6px 0 0; }
body.mason-catalog-system:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept .orn-concept-products { padding-top:16px; }
body.mason-catalog-system .mason-orn-subnav :is(a, [tabindex]):focus-visible { outline:3px solid var(--ms-color-focus); outline-offset:2px; }
@media(hover:hover) { body.mason-catalog-system .mason-orn-subnav__item:hover { border-color:var(--ms-color-brand); text-decoration:underline; text-underline-offset:3px; } }
/* Desktop needs a clearer hierarchy than the compact mobile rows. */
@media(min-width:850px) {
 body.mason-catalog-system .mason-orn-subnav__label,
 body.mason-catalog-system:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept :is(.orn-concept-types h2,.orn-concept-palette h2,.orn-concept-theme-heading) { font-size:20px; line-height:1.3; margin:0 0 10px; }
 body.mason-catalog-system:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept :is(.orn-concept-types,.orn-concept-palette) { margin:18px 0; }
 body.mason-catalog-system .mason-orn-subnav__items,
 body.mason-catalog-system:is([data-ornament-preview="3"],.mason-ornament-preview-3) :is(.orn-concept-type-row,.orn-concept-colour-row,.orn-concept-looks) { gap:12px; }
 body.mason-catalog-system .mason-orn-subnav__item,
 body.mason-catalog-system:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept :is(.orn-concept-type,.orn-concept-swatch) { font-size:15px; min-height:48px; padding:11px 20px; }
 body.mason-catalog-system .mason-orn-subnav__dot,
 body.mason-catalog-system:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-swatch::before { width:18px; height:18px; flex-basis:18px; }
 body.mason-catalog-system:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept .orn-concept-looks .orn-concept-photo,
 body.mason-catalog-system .mason-orn-subnav--theme .mason-orn-subnav__item { flex:0 0 224px; min-height:86px; gap:12px; padding:6px; }
 body.mason-catalog-system:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept .orn-concept-looks img,
 body.mason-catalog-system .mason-orn-subnav__image { width:72px; height:72px; flex-basis:72px; }
 body.mason-catalog-system:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept .orn-concept-looks span { font-size:15px; line-height:1.4; }
 body.mason-catalog-system .mason-orn-subnav { margin:18px 0 24px; }
}

/* Desktop filter labels match the readable navigation scale across the catalogue. */
@media(min-width:850px) {
 body.mason-catalog-system .mason-filter-bar .fs-label-wrap,
 body.mason-catalog-system .mason-filter-controls .mason-toggle > summary,
 body.mason-catalog-system .orn-product-filters :is(.orn-filter-multi,.orn-filter-price,.orn-sort) > summary,
 body.mason-catalog-system .mason-catalog-native-controls .orn-sort > summary,
 body.mason-catalog-system .mason-catalog-native-controls select {
  font-size:15px; font-weight:600; min-height:48px; height:auto;
 }
}
/* Native controls keep the catalog visual language while FacetWP enhances them. */
body.mason-catalog-system .mason-filter-controls select {
 min-height:48px; margin:0; border:1px solid var(--ms-color-control-border); border-radius:var(--ms-radius-filter); padding:10px 32px 10px 16px; box-shadow:none; color:var(--ms-color-text); background-color:#fff; font:600 15px/1.4 var(--ms-font-body);
}
@media(max-width:849px) {
 body.mason-catalog-system .mason-filter-bar__meta select { min-height:44px; border:0; padding:8px 24px 8px 0; font-size:16px; }
}
