/* Opt-in staging concepts. Nothing applies to the ordinary ornaments page. */
body:is([data-ornament-preview],.mason-ornament-preview-3) .shop-container > .term-description { display:none; }
body:is([data-ornament-preview],.mason-ornament-preview-3) .orn-concept { color:#212121; font-family:"Raleway",Arial,sans-serif; margin-bottom:16px; }
body:is([data-ornament-preview],.mason-ornament-preview-3) .orn-concept h1 { font:600 clamp(28px,3.3vw,46px)/1.12 "Montserrat",Arial,sans-serif; letter-spacing:-.03em; margin:0 0 16px; color:#212121; }
body:is([data-ornament-preview],.mason-ornament-preview-3) .orn-concept h2 { font:600 24px/1.25 "Montserrat",Arial,sans-serif; color:#212121; letter-spacing:-.015em; margin:0 0 16px; }
body:is([data-ornament-preview],.mason-ornament-preview-3) .orn-concept p { font-size:16px; line-height:1.6; color:#5D645A; max-width:54ch; margin:0; }
body:is([data-ornament-preview],.mason-ornament-preview-3) .orn-concept a { color:inherit; }
body:is([data-ornament-preview],.mason-ornament-preview-3) .orn-concept a:focus-visible,
body:is([data-ornament-preview],.mason-ornament-preview-3) .orn-concept summary:focus-visible { outline:3px solid #245CBD; outline-offset:4px; }
body:is([data-ornament-preview],.mason-ornament-preview-3) .orn-concept-heading { margin:12px 0 28px; }
body:is([data-ornament-preview],.mason-ornament-preview-3) .orn-concept-products { scroll-margin-top:100px; padding-top:28px; margin-bottom:0 !important; }
body:is([data-ornament-preview],.mason-ornament-preview-3) .orn-concept-shop { display:inline-flex; align-items:center; justify-content:center; min-height:44px; margin-top:24px; padding:10px 22px; background:#284915; border-radius:6px; color:#fff !important; font:600 14px/1.4 "Montserrat",Arial,sans-serif; }
body:is([data-ornament-preview],.mason-ornament-preview-3) .orn-concept-photo { display:block; min-width:0; }
body:is([data-ornament-preview],.mason-ornament-preview-3) .orn-concept-photo img { display:block; width:100%; aspect-ratio:1; object-fit:cover; border-radius:12px; }
body:is([data-ornament-preview],.mason-ornament-preview-3) .orn-concept-photo span { display:block; padding:12px 0 0; font:600 16px/1.35 "Montserrat",Arial,sans-serif; }
@media(hover:hover) { body:is([data-ornament-preview],.mason-ornament-preview-3) .orn-concept-photo:hover span { text-decoration:underline; text-underline-offset:4px; } }

/* 1 — a product-first shop, with taxonomy navigation alongside the offer. */
body[data-ornament-preview="1"] .orn-concept-heading { padding-bottom:24px; border-bottom:1px solid #D8DED2; }
body[data-ornament-preview="1"] .orn-concept-sidebar { display:grid; gap:20px; }
body[data-ornament-preview="1"] .orn-concept-group { border-bottom:1px solid #D8DED2; padding-bottom:16px; }
body[data-ornament-preview="1"] .orn-concept-group summary { cursor:pointer; font:600 14px/1.5 "Montserrat",Arial,sans-serif; min-height:36px; }
body[data-ornament-preview="1"] .orn-concept-group nav { display:flex; flex-direction:column; gap:2px; }
body[data-ornament-preview="1"] .orn-concept-group a { display:block; padding:8px 0; font-size:14px; color:#5D645A; }
body[data-ornament-preview="1"] .orn-concept-group a:hover { color:#284915; text-decoration:underline; }
@media(min-width:850px) {
	body[data-ornament-preview="1"] .shop-container { position:relative; padding-left:232px; }
	body[data-ornament-preview="1"] .orn-concept-heading { margin-left:-232px; }
	body[data-ornament-preview="1"] .orn-concept-sidebar { position:absolute; top:148px; left:0; width:198px; }
	body[data-ornament-preview="1"] .orn-concept-products { padding-top:0; }
	body[data-ornament-preview="1"] .mason-orn-hub-filter { margin-bottom:16px; }
}

/* 2 — an image-led category gallery, two hero categories then four smaller ones. */
body[data-ornament-preview="2"] .orn-concept-heading { display:grid; grid-template-columns:1fr auto; column-gap:40px; align-items:center; }
body[data-ornament-preview="2"] .orn-concept-heading h1 { max-width:20ch; }
body[data-ornament-preview="2"] .orn-concept-heading p { grid-column:1; }
body[data-ornament-preview="2"] .orn-concept-shop { grid-column:2; grid-row:1 / 3; margin:0; }
body[data-ornament-preview="2"] .orn-concept-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
body[data-ornament-preview="2"] .orn-concept-photo:nth-child(-n+2) { grid-column:span 2; }
body[data-ornament-preview="2"] .orn-concept-photo:nth-child(-n+2) img { aspect-ratio:2 / 1; }
body[data-ornament-preview="2"] .orn-concept-photo:nth-child(-n+2) span { font-size:22px; }
body[data-ornament-preview="2"] .orn-concept-products { padding-top:40px; }

/* 3 — a colour story: one featured look, a palette and alternative themes. */
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-feature { display:grid; grid-template-columns:1fr 1fr; min-height:220px; overflow:hidden; border-radius:12px; background:#74132A; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-feature .orn-concept-heading { padding:28px 32px; margin:0; align-self:center; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-feature h2 { color:#fff; font-size:28px; margin:0 0 12px; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-feature p { color:#fff; opacity:.9; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-feature .orn-concept-shop { margin-top:20px; color:#74132A !important; background:#fff; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-feature-photo { position:relative; min-width:0; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-feature-photo img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-feature-photo span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-palette,
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-types { min-width:0; margin:24px 0; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-palette h2,
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-types h2 { margin-bottom:10px; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-type-row,
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-colour-row { display:flex; flex-wrap:nowrap; gap:14px; overflow-x:auto; padding:6px 6px 12px; scrollbar-width:thin; scrollbar-color:#89917F #EEF0EB; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-type-row:focus-visible,
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-colour-row:focus-visible { outline:3px solid #245CBD; outline-offset:3px; border-radius:9px; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .mason-orn-hub-filter { display:none; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-types .orn-concept-type,
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-palette .orn-concept-swatch { flex:0 0 auto; display:flex; align-items:center; justify-content:center; gap:10px; min-width:110px; min-height:48px; padding:12px 20px; border:1px solid #D0D5D8; border-radius:999px; background:#fff; color:#212121; text-align:center; white-space:nowrap; font:600 14px/1.35 "Montserrat",Arial,sans-serif; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-swatch::before { content:""; flex:0 0 18px; width:18px; height:18px; border:1px solid rgba(0,0,0,.18); border-radius:50%; background:var(--tile-colour,#D8DED2); }
@media(hover:hover) { body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-type:hover, body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-swatch:hover { text-decoration:underline; text-underline-offset:4px; } }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-looks { display:flex; gap:16px; overflow-x:auto; padding:4px 2px 12px; scrollbar-width:thin; scrollbar-color:#D8DED2 transparent; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-looks .orn-concept-photo { flex:0 0 180px; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-looks .orn-concept-photo span { font-size:14px; padding-top:8px; }

@media(max-width:849px) {
	body:is([data-ornament-preview],.mason-ornament-preview-3) .orn-concept h1 { font-size:30px; }
	body:is([data-ornament-preview],.mason-ornament-preview-3) .orn-concept h2 { font-size:21px; }
	body:is([data-ornament-preview],.mason-ornament-preview-3) .orn-concept p { font-size:14px; }
	body:is([data-ornament-preview],.mason-ornament-preview-3) .orn-concept-photo span { font-size:14px; padding-top:8px; }
	body[data-ornament-preview="1"] .orn-concept-sidebar { gap:10px; }
	body[data-ornament-preview="1"] .orn-concept-group:first-child nav { flex-direction:row; gap:8px; overflow-x:auto; padding-bottom:8px; }
	body[data-ornament-preview="1"] .orn-concept-group:first-child nav a { flex:0 0 auto; padding:9px 12px; border:1px solid #D8DED2; border-radius:6px; color:#284915; }
	body[data-ornament-preview="1"] .orn-concept-group { padding-bottom:4px; }
	body[data-ornament-preview="1"] .orn-concept-group summary { min-height:36px; }
	body[data-ornament-preview="2"] .orn-concept-heading { display:block; }
	body[data-ornament-preview="2"] .orn-concept-shop { margin-top:16px; }
	body[data-ornament-preview="2"] .orn-concept-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 12px; }
	body[data-ornament-preview="2"] .orn-concept-photo:nth-child(-n+2) { grid-column:auto; }
	body[data-ornament-preview="2"] .orn-concept-photo:nth-child(-n+2) img { aspect-ratio:1; }
	body[data-ornament-preview="2"] .orn-concept-photo:nth-child(-n+2) span { font-size:16px; }
	body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-feature { grid-template-columns:56% 44%; min-height:220px; }
	body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-feature .orn-concept-heading { padding:20px 16px; }
	body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-feature h2 { font-size:22px; margin:0 0 10px; }
	body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-feature p { font-size:13px; line-height:1.5; }
	body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-feature .orn-concept-shop { margin-top:16px; padding:10px 12px; font-size:12px; text-align:center; }
	body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-type-row,
	body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-colour-row { gap:10px; }
	body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-looks .orn-concept-photo { flex-basis:136px; }
}

/* Keep sorting with the offer, even when Flatsome rearranges its header after a resize. */
body:is([data-ornament-preview],.mason-ornament-preview-3) .category-filtering,
body:is([data-ornament-preview],.mason-ornament-preview-3) .filtering-sorting { display:none !important; }
body:is([data-ornament-preview],.mason-ornament-preview-3) .orn-concept-controls { display:flex; justify-content:flex-end; margin:12px 0 0; }
body:is([data-ornament-preview],.mason-ornament-preview-3) .orn-concept-controls form { margin:0; }
body:is([data-ornament-preview],.mason-ornament-preview-3) .orn-concept-controls select { margin:0; max-width:250px; }

/* One consistent, server-backed toolbar for the inspiration product list. */
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) form.woocommerce-ordering { display:none !important; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-concept-controls { display:block; margin:20px 0 24px; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-product-filters { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:0; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-filter-select { display:block; margin:0; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-product-filters select,
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-filter-price summary { height:46px; min-height:46px; padding:0 36px 0 18px; border:1px solid #D0D5D8; border-radius:999px; background-color:#fff; box-shadow:none; color:#212121; font:500 14px/1.4 "Montserrat",Arial,sans-serif; margin:0; max-width:250px; cursor:pointer; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-product-filters select { width:100%; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-filter-price { position:relative; margin:0; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-filter-price summary { display:flex; align-items:center; list-style:none; position:relative; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-filter-price summary::-webkit-details-marker { display:none; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-filter-price summary::after { content:""; position:absolute; right:18px; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin-top:-4px; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-filter-price-panel { position:absolute; left:0; top:54px; z-index:20; display:grid; grid-template-columns:1fr 1fr; gap:12px; width:280px; padding:18px; background:#fff; border:1px solid #D0D5D8; border-radius:12px; box-shadow:0 8px 24px rgba(0,0,0,.10); }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-filter-price-panel p { grid-column:1 / -1; color:#212121; font-size:14px; margin:0; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-filter-price-panel label { min-width:0; font-size:12px; margin:0; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-filter-price-panel input { width:100%; height:42px; margin:6px 0 0; padding:8px; box-shadow:none; border-radius:6px; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) button.orn-filter-apply { margin:0; min-height:46px; padding:0 22px; border:1px solid #284915; border-radius:999px; background:#284915; color:#fff; font:600 14px/1.4 "Montserrat",Arial,sans-serif; text-transform:none; letter-spacing:0; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-filter-reset { padding:12px 6px; font-size:14px; text-decoration:underline; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-filter-status { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:16px; font-size:14px; color:#5D645A; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-filter-active { padding:5px 10px; background:#E7ECDF; color:#284915; border-radius:999px; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-product-filters :is(select,input,button,summary,a):focus-visible { outline:3px solid #245CBD; outline-offset:3px; }
@media(max-width:849px) {
 body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-filter-select { flex:1 1 calc(50% - 10px); min-width:0; }
 body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-product-filters select { max-width:none; font-size:13px; }
 body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-filter-price { position:static; }
 body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-product-filters { position:relative; }
 body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .orn-filter-price-panel { left:0; right:0; top:100%; width:auto; margin-top:8px; }
}

/* Quiet, compact pagination, with an unmistakable current page. */
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .woocommerce-pagination { margin:32px 0; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .woocommerce-pagination .page-numbers { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px; padding:4px; margin:0; border:0; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .woocommerce-pagination .page-numbers > li { display:block; margin:0; padding:0; border:0; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .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:is([data-ornament-preview="3"],.mason-ornament-preview-3) .woocommerce-pagination .page-number.current { background:#284915; border-color:#284915; color:#fff; font-weight:600; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .woocommerce-pagination .page-number.dots { border-color:transparent; background:transparent; color:#727A6C; width:24px; min-width:24px; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .woocommerce-pagination .page-number i { font-size:20px; line-height:1; }
body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .woocommerce-pagination a:focus-visible { outline:3px solid #245CBD; outline-offset:3px; }
@media(hover:hover) { body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .woocommerce-pagination a:hover { background:#E7ECDF; border-color:#AAB99B; color:#284915; } }
@media(max-width:479px) {
 body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .woocommerce-pagination .page-numbers { gap:3px; padding:4px 0; }
 body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .woocommerce-pagination .page-number { width:30px; min-width:30px; height:40px; font-size:13px; }
 body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .woocommerce-pagination .page-number.dots { width:18px; min-width:18px; }
}

/* Four product cards on desktop; retain the theme's tablet and phone layouts. */
@media(min-width:1024px) {
 body:is([data-ornament-preview="3"],.mason-ornament-preview-3) .shop-container .products > .product { flex:0 0 25%; max-width:25%; width:25%; }
}
