/* Mason designbook: shared top section for native and UX Builder product layouts.
   Keep native gallery controls, variations and cart behavior; opt-in desktop sticking stays within the purchase row. */
body.mason-product-design {
 --ms-color-brand: #284915;
 --ms-color-brand-hover: #355612;
 --ms-color-text: #212121;
 --ms-color-muted: #5D645A;
 --ms-color-sage: #E7ECDF;
 --ms-color-border: #D8DED2;
 --ms-color-focus: #245CBD;
 --ms-radius-media: 12px;
 --ms-radius-field: 8px;
 --ms-radius-button: 6px;
 --ms-font-heading: "Montserrat", Arial, sans-serif;
 --ms-font-body: "Raleway", Arial, sans-serif;
}
/* Clip slides, not the complete gallery: badges, arrows and zoom stay usable. */
body.mason-product-rounded-images .product-images .flickity-viewport,
body.mason-product-rounded-images .product-images .woocommerce-product-gallery__image,
body.mason-product-rounded-images .product-images .woocommerce-product-gallery__image > a > img {
 border-radius: var(--ms-radius-media);
}
body.mason-product-rounded-images .product-images .flickity-viewport { overflow: hidden; }
body.mason-product-rounded-images .product-thumbnails .col a,
body.mason-product-rounded-images .product-thumbnails img { border-radius: var(--ms-radius-field); }
/* Sticky galleries letterbox photos. Round the photo's intrinsic box, not
   the wider object-fit frame, while keeping the complete image visible. */
@media (min-width: 850px) and (min-height: 600px) {
 body.mason-product-rounded-images:is(.mason-purchase-sticky-gallery, .mason-product-sticky-gallery) .woocommerce-product-gallery__image > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: var(--mason-gallery-image-height);
 }
 body.mason-product-rounded-images:is(.mason-purchase-sticky-gallery, .mason-product-sticky-gallery) .woocommerce-product-gallery__image > a > img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  margin: 0;
 }
}
/* Opt-in native gallery: desktop only, bounded by its purchase row. */
@media (min-width: 850px) and (min-height: 600px) {
 body.mason-product-sticky-gallery {
  --mason-gallery-top: 104px;
  --mason-gallery-image-height: calc(100vh - var(--mason-gallery-top) - 116px);
  --mason-gallery-image-height: calc(100dvh - var(--mason-gallery-top) - 116px);
 }
 body.mason-product-sticky-gallery .col:has(> .col-inner > .product-images) { align-self: stretch; }
 body.mason-product-sticky-gallery .col-inner:has(> .product-images),
 body.mason-product-sticky-gallery .product-gallery.col:has(> .product-images) {
  position: sticky;
  top: var(--mason-gallery-top);
 }
 body.mason-product-sticky-gallery .product-gallery.col:has(> .product-images) { align-self: flex-start; }
 body.mason-product-sticky-gallery .product-images { margin-bottom: 12px; }
 body.mason-product-sticky-gallery .product-gallery-slider { margin-bottom: 0; }
 body.mason-product-sticky-gallery .product-gallery-slider .flickity-viewport { height: var(--mason-gallery-image-height) !important; }
 body.mason-product-sticky-gallery .woocommerce-product-gallery__image > a > img {
  width: 100%; height: var(--mason-gallery-image-height); object-fit: contain;
 }
 body.mason-product-sticky-gallery :is(.col-inner, .product-gallery) > .product-thumbnails {
  max-width: 360px !important; margin-left: auto !important; margin-right: auto !important;
 }
 body.mason-product-sticky-gallery .product-thumbnails .flickity-viewport { height: 80px !important; }
 body.mason-product-sticky-gallery .product-thumbnails img { height: 72px; object-fit: contain; }
}
body.mason-product-design :is(.product-info, .product-summary) {
 color: var(--ms-color-text);
 font-family: var(--ms-font-body);
 font-size: 16px;
 line-height: 1.5;
 text-align: left;
}
body.mason-product-design h1.product-title {
 font-family: var(--ms-font-heading);
 font-size: clamp(24px, 2.5vw, 36px);
 font-weight: 600;
 line-height: 1.2;
 letter-spacing: -.025em;
 text-align: left;
 margin-bottom: 16px;
}
body.mason-product-design .product-short-description { line-height: 1.5; margin-bottom: 24px; }
body.mason-product-design .product-short-description p { margin-bottom: 16px; }
body.mason-product-design .product-short-description ul { margin-left: 20px; }
body.mason-product-design .product-short-description li { margin-bottom: 8px; }
body.mason-product-design :is(.product-info, .product-summary) :is(.price-wrapper, .woocommerce-variation-price) .price {
 font-family: var(--ms-font-heading);
 font-size: 24px;
 line-height: 1.3;
 font-weight: 600;
 margin-bottom: 16px;
 color: var(--ms-color-text);
}
body.mason-product-design :is(.product-info, .product-summary) .price del { color: var(--ms-color-muted); font-weight: 400; }
body.mason-product-design form.cart .single_add_to_cart_button {
 min-height: 48px;
 padding-inline: 24px;
 margin-bottom: 0;
 border-radius: var(--ms-radius-button) !important;
 background-color: var(--ms-color-brand) !important;
 color: #fff !important;
 font-family: var(--ms-font-heading);
 font-size: 14px;
 font-weight: 600;
 text-transform: none;
 letter-spacing: 0;
}
@media (hover: hover) and (pointer: fine) {
 body.mason-product-design form.cart .single_add_to_cart_button:hover:not(:disabled):not(.disabled) { background-color: var(--ms-color-brand-hover) !important; }
}
body.mason-product-design form.variations_form .variable-item {
 min-width: 44px;
 min-height: 44px;
 border-radius: var(--ms-radius-field) !important;
}
body.mason-product-design form.variations_form .variable-item.selected {
 box-shadow: 0 0 0 2px var(--ms-color-brand) !important;
}
body.mason-product-design form.variations_form .variable-item.disabled { opacity: .4; }
body.mason-product-design form.variations_form .label label {
 font-family: var(--ms-font-heading);
 font-size: 14px;
 font-weight: 600;
}
body.mason-product-rounded-images form.cart .cuw-product-image img { border-radius: var(--ms-radius-field); }
body.mason-product-design form.cart .cuw-heading {
 font-family: var(--ms-font-heading);
 font-size: 20px;
 font-weight: 600;
 line-height: 1.3;
}
body.mason-product-design :is(.product-images a, .product-thumbnails a, form.cart button, form.cart select, form.cart .variable-item):focus-visible {
 outline: 3px solid var(--ms-color-focus);
 outline-offset: 3px;
}
body.mason-product-design .product-images:has(a:focus-visible) .flickity-viewport {
 outline: 3px solid var(--ms-color-focus);
 outline-offset: 3px;
}
@media (max-width: 549px) {
 body.mason-product-design h1.product-title { font-size: 24px; margin-bottom: 12px; }
 body.mason-product-design :is(.product-info, .product-summary) :is(.price-wrapper, .woocommerce-variation-price) .price { font-size: 20px; }
 body.mason-product-design .product-short-description { margin-bottom: 16px; }
}

/* Optional native add-ons precede the main purchase action; keep CUW inside form.cart. */
body.mason-product-compact-addons .mason-native-addons {
 clear: both;
 width: 100%;
 margin: 0 0 8px;
 border: 1px solid var(--ms-color-border);
 border-radius: var(--ms-radius-field);
 background: #fff;
}
body.mason-product-compact-addons .mason-native-addons > .mason-native-addons-header {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 16px;
 min-height: 52px;
 padding: 12px 16px;
 font-size: 14px;
 line-height: 1.4;
}
body.mason-product-compact-addons .mason-native-addons-title { display: block; margin: 0; font-size: 16px; font-family: var(--ms-font-heading); font-weight: 600; }
body.mason-product-compact-addons .mason-native-addons-status { display: block; color: var(--ms-color-muted); font-size: 13px; margin-top: 2px; }
body.mason-product-compact-addons .mason-native-addons > .cuw-product-addons { margin: 0 !important; padding: 0 16px 16px !important; }
body.mason-product-compact-addons .mason-native-addons .cuw-heading { display: none; }
body.mason-product-compact-addons .mason-native-addons .cuw-product-row { gap: 12px !important; padding: 12px 0; border-top: 1px solid var(--ms-color-border); }
body.mason-product-compact-addons .mason-native-addons .cuw-product-image { width: 56px !important; height: 56px !important; flex: 0 0 56px; }
/* Reserve a price column: long names wrap without splitting regular/sale amounts.
   CUW still controls whether the native add-on quantity is shown. */
body.mason-product-compact-addons .mason-native-addons div:has(> .cuw-product-title) {
 display: grid !important;
 grid-template-columns: minmax(0, 1fr) auto;
 gap: 8px 12px !important;
 align-items: start !important;
}
body.mason-product-compact-addons .mason-native-addons .cuw-product-title {
 grid-column: 1;
 grid-row: 1;
 min-width: 0;
 overflow-wrap: anywhere;
 font-size: 14px;
 line-height: 1.4;
}
body.mason-product-compact-addons .mason-native-addons .cuw-product-price {
 grid-column: 2;
 grid-row: 1;
 display: inline-flex;
 align-items: baseline;
 gap: 6px;
 white-space: nowrap;
 font-size: 14px;
 line-height: 1.4;
}
body.mason-product-compact-addons .mason-native-addons .cuw-product-quantity {
 grid-column: 1 / -1;
 grid-row: 2;
 justify-self: start;
}
body.mason-product-compact-addons .mason-native-addons .cuw-product-row > :last-child { min-width: 0; }
body.mason-product-compact-addons .mason-native-addons input.cuw-product-checkbox { width: 20px; height: 20px; accent-color: var(--ms-color-brand); }
/* The total belongs to the purchase, not to the list of optional products. */
body.mason-product-compact-addons .mason-native-addons .cuw-product-addons-pricing-section { display: none !important; }
body.mason-product-compact-addons .mason-purchase-total {
 display: flex;
 align-items: baseline;
 justify-content: space-between;
 gap: 12px;
 width: 100%;
 padding: 4px 0 12px;
 border-bottom: 1px solid var(--ms-color-border);
 color: var(--ms-color-text);
}
body.mason-product-compact-addons .mason-purchase-total[hidden] { display: none; }
body.mason-product-compact-addons .mason-purchase-total-label { font-size: 16px; font-weight: 600; }
body.mason-product-compact-addons .mason-purchase-total-amount { display: inline-flex; align-items: baseline; gap: 8px; white-space: nowrap; font-family: var(--ms-font-heading); font-size: 20px; font-weight: 600; }
body.mason-product-compact-addons .mason-purchase-total-amount del { color: var(--ms-color-muted); font-size: 14px; font-weight: 400; }
body.mason-product-compact-addons .mason-purchase-total-amount ins { text-decoration: none; }
body.mason-product-compact-addons .mason-native-addons .cuw-product-title label { margin: 0; font: inherit; color: inherit; cursor: pointer; }
/* Native product metadata already shows the same selected SKU below the form. */
body.mason-product-compact-addons .product:has(.product_meta .sku_wrapper) form.cart .product-sku { display: none !important; }
body.mason-product-compact-addons form.cart .tpt__tiered-pricing:empty { display: none; }

/* One native quantity control, with the same rounded shape as Mason fields. */
body.mason-product-design form.cart .ux-quantity.quantity.buttons_added {
 border: 1px solid var(--ms-color-border);
 border-radius: var(--ms-radius-field);
 overflow: hidden;
 min-height: 48px;
}
body.mason-product-design form.cart .ux-quantity.quantity.buttons_added :is(.qty, .ux-quantity__button) {
 border: 0 !important;
 box-shadow: none !important;
 height: 46px;
 min-height: 46px;
 margin: 0;
 border-radius: 0 !important;
 background: #fff;
 color: var(--ms-color-text);
}
body.mason-product-design form.cart .ux-quantity.quantity.buttons_added:has(:focus-visible) { outline: 3px solid var(--ms-color-focus); outline-offset: 3px; }
/* Colour can be changed directly; retain Woo's reset hook but omit this link. */
body.mason-product-compact-addons form.variations_form:not(:has(select[name="attribute_pa_tree-height"])) .reset_variations { display: none !important; }

/* Keep the selected colour, stock, extras and purchase action close together. */
body.mason-product-compact-addons form.cart { margin-bottom: 16px; }
body.mason-product-compact-addons form.cart .variations { margin-bottom: 16px; }
body.mason-product-compact-addons form.cart .single_variation .stock { margin-bottom: 8px; }
body.mason-product-compact-addons form.cart .single_variation_wrap { margin-top: 0; }
body.mason-product-compact-addons .mason-native-addons > .mason-native-addons-header { min-height: 48px; padding-block: 10px; }
body.mason-product-compact-addons .mason-native-addons .cuw-product-row { padding-block: 8px; }
body.mason-product-compact-addons .mason-native-addons > .cuw-product-addons { padding-bottom: 12px !important; }
body.mason-product-compact-addons form.cart .woocommerce-variation-add-to-cart { gap: 12px; }
body.mason-product-compact-addons form.cart .woocommerce-variation-add-to-cart > .clear { display: none; }
body.mason-product-compact-addons form.cart .tpt__tiered-pricing:not(:has(*)) { display: none; }

/* Shared native tabs. Alpi description composition stays separately opt-in. */
body.mason-product-tabs .woocommerce-tabs { border: 0; padding-top: 24px; }
body.mason-product-tabs .woocommerce-tabs .product-tabs {
 display: flex; flex-wrap: nowrap; justify-content: flex-start;
 gap: 28px; padding: 0 0 4px; margin: 0 0 28px;
 overflow-x: auto; scrollbar-width: thin; scroll-padding-inline: 4px;
 text-align: left; border: 0;
}
body.mason-product-tabs .woocommerce-tabs .product-tabs > li { flex: 0 0 auto; width: auto; margin: 0; border: 0; }
body.mason-product-tabs .woocommerce-tabs .product-tabs > li > a {
 display: flex; align-items: center; justify-content: center;
 min-height: 48px; padding: 10px 0; margin: 0;
 border: 0; border-bottom: 3px solid transparent; border-radius: 0;
 background: transparent; color: var(--ms-color-muted);
 font-family: var(--ms-font-heading); font-size: 14px; font-weight: 600;
 line-height: 1.3; text-transform: none; letter-spacing: 0; white-space: nowrap;
}
body.mason-product-tabs .woocommerce-tabs .product-tabs > li.active > a {
 background: transparent; border-color: var(--ms-color-brand); color: var(--ms-color-brand);
}
body.mason-product-tabs .woocommerce-tabs .product-tabs > li > a::before { display: none; }
body.mason-product-tabs .woocommerce-tabs .product-tabs > li > a:focus-visible {
 outline: 2px solid var(--ms-color-focus); outline-offset: 2px;
}
body.mason-product-tabs .woocommerce-tabs .tab-panels { padding-top: 0; }
body.mason-product-tabs .woocommerce-tabs .panel {
 scroll-margin-top: 176px;
 color: var(--ms-color-text); font-family: var(--ms-font-body); font-size: 16px; line-height: 1.5;
}
body.mason-product-details #tab-description { padding: 0; scroll-margin-top: 176px; }
body.mason-product-details #tab-description > .section { padding: 0; }
body.mason-product-details #tab-description > .section > .section-content > .row:first-child {
 display: grid; grid-template-columns: minmax(0, 260px) minmax(0, 1fr); gap: 40px;
 width: 100%; max-width: 100%; margin: 0 0 32px; padding: 0; border: 0;
}
body.mason-product-details #tab-description > .section > .section-content > .row:first-child::before,
body.mason-product-details #tab-description > .section > .section-content > .row:first-child::after { display: none; }
body.mason-product-details #tab-description > .section > .section-content > .row:first-child > .col {
 width: 100%; max-width: 100%; flex-basis: auto; padding: 0; margin: 0;
}
body.mason-product-details #tab-description > .section > .section-content > .row:first-child > .col > .col-inner {
 padding: 0 !important; max-width: 640px; text-align: left;
}
body.mason-product-details #tab-description > .section > .section-content > .row:first-child .img {
 width: 100% !important; margin: 0;
}
body.mason-product-details #tab-description .img-inner,
body.mason-product-details #tab-description .gallery-box .box-image { border-radius: var(--ms-radius-media); overflow: hidden; }
body.mason-product-details #tab-description > .section > .section-content > .row:first-child .img-inner { aspect-ratio: 4 / 5; }
body.mason-product-details #tab-description > .section > .section-content > .row:first-child .img-inner > img {
 width: 100%; height: 100%; object-fit: cover; object-position: center top; border-radius: var(--ms-radius-media);
}
body.mason-product-details #tab-description > .section > .section-content > .row:first-child p { margin-bottom: 0; }
body.mason-product-details #tab-description p a { color: var(--ms-color-brand); text-decoration: underline; text-underline-offset: 3px; }
body.mason-product-details #tab-description .row.has-block .gap-element { display: none !important; }
body.mason-product-details #tab-description .gallery-col .box-image img {
 display: block; aspect-ratio: 2 / 3; height: auto; width: 100%; object-fit: cover; background: transparent;
}
body.mason-product-details #tab-description .gallery-col .box-text { background: transparent !important; font-size: 14px; }
body.mason-product-details #tab-description .gallery-col .box-text:has(> p:empty) { display: none; }
body.mason-product-details #tab-description .button {
 min-height: 44px; border-radius: var(--ms-radius-button); background-color: var(--ms-color-brand); color: #fff;
 text-transform: none; font-family: var(--ms-font-heading); font-weight: 600; letter-spacing: 0;
}
@media (max-width: 849px) {
 body.mason-product-tabs .woocommerce-tabs { padding-top: 16px; }
 body.mason-product-tabs .woocommerce-tabs .product-tabs { margin-bottom: 20px; gap: 24px; }
 body.mason-product-details #tab-description > .section > .section-content > .row:first-child {
  grid-template-columns: minmax(0, 200px) minmax(0, 1fr); gap: 24px;
 }
 body.mason-product-details #tab-description { scroll-margin-top: 128px; }
}
@media (max-width: 549px) {
 body.mason-product-details #tab-description > .section > .section-content > .row:first-child {
  grid-template-columns: minmax(0, 1fr); gap: 20px;
 }
 body.mason-product-details #tab-description > .section > .section-content > .row:first-child .img { max-width: 240px; }
}

/* Native panel content uses Mason type without altering Builder text or assignments. */
body.mason-product-tabs .woocommerce-tabs .panel :is(h2,h3,h4) {
 font-family: var(--ms-font-heading); font-weight: 600; line-height: 1.3;
 color: var(--ms-color-text); text-align: left; letter-spacing: -.02em;
}
body.mason-product-tabs .woocommerce-tabs .panel h2 { font-size: 28px; margin-bottom: 24px; }
body.mason-product-tabs .woocommerce-tabs .panel h3 { font-size: 20px; margin-bottom: 16px; }
body.mason-product-tabs .woocommerce-tabs .panel h4 { font-size: 18px; }
body.mason-product-tabs .woocommerce-tabs .panel :is(h2,h3,h4) span { font-size: inherit !important; }
body.mason-product-tabs .woocommerce-tabs .panel p { line-height: 1.6; }
body.mason-product-tabs .woocommerce-tabs .panel a:not(.button):not(.stars a) {
 color: var(--ms-color-brand); text-underline-offset: 3px;
}
body.mason-product-tabs .woocommerce-tabs .panel :is(.img-inner,.box-image) { border-radius: var(--ms-radius-media); }
body.mason-product-tabs .woocommerce-tabs .panel :is(.img-inner,.box-image) img:not(.emoji) { border-radius: var(--ms-radius-media); }
body.mason-product-tabs .woocommerce-tabs .panel .video { border-radius: var(--ms-radius-media); overflow: hidden; }
body.mason-product-tabs .woocommerce-tabs .mason-content-empty { display: none !important; }

/* Decorating guide: an intact quantity chart, followed by photographed stages. */
body.mason-product-tabs .mason-guide-ready > .tab-editor-container { max-width: 1120px; }
body.mason-product-tabs .mason-guide-ready .row { margin-inline: 0; width: 100%; }
body.mason-product-tabs .mason-guide-ready .col { padding-inline: 0; }
body.mason-product-tabs .mason-guide-intro {
 display: grid; grid-template-columns: minmax(0,1fr) minmax(0,520px); gap: 24px 40px;
 align-items: start; margin-bottom: 40px;
}
body.mason-product-tabs .mason-guide-intro-copy p { max-width: 65ch; font-size: 16px; }
body.mason-product-tabs .mason-guide-intro-copy p span { font-size: inherit !important; }
body.mason-product-tabs .mason-guide-chart { width: 100% !important; margin: 0; }
body.mason-product-tabs .mason-guide-chart img { display: block; width: 100%; height: auto; }
body.mason-product-tabs .mason-guide-resources,
body.mason-product-tabs .mason-guide-intro > .row { grid-column: 1 / -1; }
body.mason-product-tabs .mason-guide-resources p { margin-bottom: 12px; max-width: 72ch; }
body.mason-product-tabs .mason-guide-resources p:has(> a),
body.mason-product-tabs .mason-guide-resources p:has(> span > a) { display: inline-block; margin-right: 24px; }
body.mason-product-tabs .mason-guide-intro > .row > .col { width: 100%; max-width: 760px; flex-basis: 100%; }
body.mason-product-tabs .mason-guide-steps {
 display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px;
}
body.mason-product-tabs .mason-guide-step { min-width: 0; }
body.mason-product-tabs .mason-guide-step-title {
 font-family: var(--ms-font-heading); font-size: 20px; line-height: 1.35;
 font-weight: 600; color: var(--ms-color-brand); margin-bottom: 20px;
}
body.mason-product-tabs .mason-guide-step-title span { font-size: inherit !important; }
body.mason-product-tabs .mason-guide-step .gap-element { display: none !important; }
body.mason-product-tabs .mason-guide-step .box.box-vertical {
 display: grid; grid-template-columns: 140px minmax(0,1fr); gap: 20px;
 align-items: start; margin-bottom: 20px;
}
body.mason-product-tabs .mason-guide-step .box-image { width: 100% !important; margin: 0; }
body.mason-product-tabs .mason-guide-step .image-cover { padding: 0 !important; height: auto; border-radius: var(--ms-radius-media); overflow: hidden; }
body.mason-product-tabs .mason-guide-step .image-cover img {
 position: static; inset: auto; width: 100%; height: auto; object-fit: contain; transform: none;
}
body.mason-product-tabs .mason-guide-step .box-text { padding: 0; text-align: left; }
body.mason-product-tabs .mason-guide-step .box-text p { margin-bottom: 12px; font-size: 16px; }

/* Delivery/support source remains editable; separate subjects by space, not rules. */
body.mason-product-tabs .mason-information-ready > .tab-editor-container { max-width: 1120px; }
body.mason-product-tabs .mason-information-ready .row { margin: 0; width: 100%; }
body.mason-product-tabs .mason-information-ready .col { padding: 0; }
body.mason-product-tabs .mason-information-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; }
body.mason-product-tabs .mason-information-section { min-width: 0; padding: 24px; background: #F6F7F3; border-radius: var(--ms-radius-media); }
body.mason-product-tabs .mason-information-section:last-child:nth-child(odd) { grid-column: 1 / -1; background: transparent; padding-inline: 0; }
body.mason-product-tabs .mason-information-section p { max-width: 72ch; margin-bottom: 12px; }
body.mason-product-tabs .mason-information-section ul { margin: 0 0 0 20px; }
body.mason-product-tabs .mason-information-section li { margin-bottom: 12px; }
body.mason-product-tabs .mason-information-ready hr { display: none; }

/* Real Woo reviews and form: no generated ratings or altered submission. */
body.mason-product-tabs #reviews.row { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(280px,.8fr); gap: 40px; margin: 0; width: 100%; }
body.mason-product-tabs #reviews.row::before,
body.mason-product-tabs #reviews.row::after { display: none; }
body.mason-product-tabs #reviews.row > .col { width: 100%; max-width: 100%; padding: 0; flex-basis: auto; }
body.mason-product-tabs #reviews .commentlist { margin: 0; list-style: none; }
body.mason-product-tabs #reviews .commentlist > li.review { margin: 0 0 16px; padding: 24px; border: 0; border-radius: var(--ms-radius-media); background: #F6F7F3; }
body.mason-product-tabs #reviews .review-item { border: 0; padding: 0; margin: 0; }
body.mason-product-tabs #reviews .comment-text { min-width: 0; }
body.mason-product-tabs #reviews .star-rating { float: none; color: #9A731F; margin-bottom: 16px; }
body.mason-product-tabs #reviews .description p { margin-bottom: 16px; }
body.mason-product-tabs #reviews .meta { font-size: 13px; color: var(--ms-color-muted); margin-bottom: 0; }
body.mason-product-tabs #reviews .woocommerce-review__author { font-family: var(--ms-font-heading); font-weight: 600; color: var(--ms-color-text); }
body.mason-product-tabs #reviews .review-form-inner { padding: 24px; border: 0; border-radius: var(--ms-radius-media); background: #F6F7F3; }
body.mason-product-tabs #reviews .comment-form label { font-size: 14px; font-family: var(--ms-font-heading); font-weight: 600; }
body.mason-product-tabs #reviews .comment-form :is(textarea,input:not([type=submit]):not([type=checkbox])) { border: 1px solid var(--ms-color-border); border-radius: var(--ms-radius-field); background: #fff; color: var(--ms-color-text); box-shadow: none; }
body.mason-product-tabs #reviews .comment-form textarea { min-height: 140px; }
body.mason-product-tabs #reviews .comment-form p.stars > span { display: flex; gap: 4px; flex-wrap: nowrap; }
body.mason-product-tabs #reviews .comment-form p.stars a {
 display: flex !important; align-items: center; justify-content: center;
 width: 44px; min-width: 44px; max-width: 44px; height: 44px; min-height: 44px;
 padding: 0 !important; border: 0 !important; font-size: 0 !important; opacity: 1;
 color: #788170;
}
body.mason-product-tabs #reviews .comment-form p.stars a::before { display: none; }
body.mason-product-tabs #reviews .comment-form p.stars a::after {
 content: "★" / "" !important; position: static; display: block; width: auto;
 font-family: Arial, sans-serif; font-size: 24px; line-height: 44px; color: #788170 !important; opacity: 1;
}
body.mason-product-tabs #reviews .comment-form p.stars a.active::after,
body.mason-product-tabs #reviews .comment-form p.stars a:has(~ a.active)::after,
body.mason-product-tabs #reviews .comment-form p.stars a:hover::after,
body.mason-product-tabs #reviews .comment-form p.stars a:has(~ a:hover)::after { color: var(--ms-color-brand) !important; }
body.mason-product-tabs .mason-guide-chart .img-inner:focus-visible { outline: 2px solid var(--ms-color-focus); outline-offset: 3px; }

body.mason-product-tabs #reviews .comment-form input[type=submit] { min-height: 48px; padding-inline: 24px; margin: 0; border: 0; border-radius: var(--ms-radius-button); background: var(--ms-color-brand); color: #fff; text-transform: none; letter-spacing: 0; font-family: var(--ms-font-heading); font-size: 14px; font-weight: 600; }
body.mason-product-tabs #reviews :is(a,input,textarea):focus-visible { outline: 2px solid var(--ms-color-focus); outline-offset: 3px; }

body.mason-product-tabs .woocommerce-product-attributes { max-width: 900px; margin-bottom: 0; border: 0; }
body.mason-product-tabs .woocommerce-product-attributes tr:nth-child(odd) { background: #F6F7F3; }
body.mason-product-tabs .woocommerce-product-attributes :is(th,td) { padding: 16px; border: 0; vertical-align: top; }
body.mason-product-tabs .woocommerce-product-attributes th { width: 32%; font-family: var(--ms-font-heading); text-transform: none; letter-spacing: 0; font-size: 14px; color: var(--ms-color-text); }
body.mason-product-tabs .woocommerce-product-attributes td p { margin: 0; font-style: normal; }
@media (max-width: 849px) {
 body.mason-product-tabs .mason-guide-intro { grid-template-columns: minmax(0,1fr); gap: 24px; }
 body.mason-product-tabs .mason-guide-chart { max-width: 620px; }
 body.mason-product-tabs .mason-guide-steps { grid-template-columns: minmax(0,1fr); gap: 32px; }
 body.mason-product-tabs #reviews.row { grid-template-columns: minmax(0,1fr); gap: 24px; }
}
@media (max-width: 549px) {
 body.mason-product-tabs .woocommerce-tabs .panel h2 { font-size: 24px; }
 body.mason-product-tabs .mason-guide-step-title { font-size: 18px; }
 body.mason-product-tabs .mason-guide-step .box.box-vertical { grid-template-columns: 104px minmax(0,1fr); gap: 16px; }
 body.mason-product-tabs .mason-information-grid { grid-template-columns: minmax(0,1fr); gap: 24px; }
 body.mason-product-tabs #reviews :is(.commentlist > li.review,.review-form-inner) { padding: 20px; }
 body.mason-product-tabs .woocommerce-product-attributes :is(th,td) { padding: 12px; }
}

@media (max-width: 549px) {
 body.mason-product-tabs .mason-guide-chart .img-inner { overflow-x: auto; scrollbar-width: thin; }
 body.mason-product-tabs .mason-guide-chart img { min-width: 620px; max-width: none; }
}

/* Setup and size guides use the same photographs, type and spacing. */
body.mason-product-tabs .mason-setup-intro { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px; margin-bottom: 40px; align-items: start; }
body.mason-product-tabs .mason-setup-intro > .row > .col { width: 100%; max-width: 100%; flex-basis: 100%; padding: 0; }
body.mason-product-tabs .mason-setup-intro p { max-width: 65ch; }
body.mason-product-tabs .mason-size-ready > .tab-editor-container { max-width: 1120px; }
body.mason-product-tabs .mason-size-ready .row { margin: 0 0 32px; width: 100%; }
body.mason-product-tabs .mason-size-ready .col { padding-inline: 0; }
body.mason-product-tabs .mason-size-ready hr { display: none; }
body.mason-product-tabs .mason-size-ready .box.box-vertical { display: grid; grid-template-columns: minmax(0,260px) minmax(0,1fr); gap: 32px; align-items: start; }
body.mason-product-tabs .mason-size-ready .box-image { width: 100% !important; margin: 0; }
body.mason-product-tabs .mason-size-ready .image-cover { height: auto; padding: 0 !important; overflow: hidden; border-radius: var(--ms-radius-media); }
body.mason-product-tabs .mason-size-ready .image-cover img { position: static; inset: auto; width: 100%; height: auto; object-fit: contain; transform: none; }
body.mason-product-tabs .mason-size-ready .box-text { padding: 0; text-align: left; }
body.mason-product-tabs .mason-size-ready p span { font-size: inherit !important; }
body.mason-product-tabs .mason-size-ready li { margin-bottom: 12px; }
body.mason-product-tabs .mason-size-recommendations { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
body.mason-product-tabs .mason-size-recommendations > section { padding: 20px; background: #F6F7F3; border-radius: var(--ms-radius-media); }
body.mason-product-tabs .mason-size-recommendations strong { display: block; margin-bottom: 8px; font-family: var(--ms-font-heading); }
@media (max-width: 849px) {
 body.mason-product-tabs .woocommerce-tabs .panel { scroll-margin-top: 128px; }
 body.mason-product-tabs .mason-setup-intro { grid-template-columns: minmax(0,1fr); gap: 24px; }
 body.mason-product-tabs .mason-size-ready .box.box-vertical { grid-template-columns: minmax(0,200px) minmax(0,1fr); gap: 24px; }
}
@media (max-width: 549px) {
 body.mason-product-tabs .mason-size-ready .box.box-vertical,
 body.mason-product-tabs .mason-size-recommendations { grid-template-columns: minmax(0,1fr); }
 body.mason-product-tabs .mason-size-ready .box-image { max-width: 280px; }
}

/* Direct tab links keep the tab rail below the fixed site header. */
body.mason-product-tabs .woocommerce-tabs { scroll-margin-top: 104px; }
@media (max-width: 849px) {
 body.mason-product-tabs .woocommerce-tabs { scroll-margin-top: 128px; }
}

/* Quiet decorative icons for the two existing information headings. */
body.mason-product-tabs .mason-information-section :is(.mason-info-delivery,.mason-info-showroom) { position: relative; padding-left: 36px; }
body.mason-product-tabs .mason-information-section :is(.mason-info-delivery,.mason-info-showroom)::before {
 content: ""; position: absolute; left: 0; top: .12em; width: 24px; height: 24px;
 background-color: var(--ms-color-brand); mask-repeat: no-repeat; mask-position: center; mask-size: contain;
}
body.mason-product-tabs .mason-information-section .mason-info-delivery::before { mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M10%2017h4V5H2v12h3M14%209h4l4%204v4h-3%22%2F%3E%3Ccircle%20cx%3D%227.5%22%20cy%3D%2217%22%20r%3D%222.5%22%2F%3E%3Ccircle%20cx%3D%2217.5%22%20cy%3D%2217%22%20r%3D%222.5%22%2F%3E%3C%2Fsvg%3E"); }
body.mason-product-tabs .mason-information-section .mason-info-showroom::before { mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2010c0%206-8%2012-8%2012S4%2016%204%2010a8%208%200%201%201%2016%200Z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2210%22%20r%3D%223%22%2F%3E%3C%2Fsvg%3E"); }

/* Fit guide: native Builder copy, two measurements and one expandable diagram. */
body.mason-product-tabs .mason-size-ready .mason-fit-intro { margin-bottom: 28px; }
body.mason-product-tabs .mason-size-ready .mason-fit-intro .col-inner { max-width: 76ch; margin-inline: 0; }
body.mason-product-tabs .mason-size-ready .mason-fit-intro h2 { margin-bottom: 14px; }
body.mason-product-tabs .mason-size-ready .mason-fit-measurements { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-bottom: 32px; }
body.mason-product-tabs .mason-size-ready .mason-fit-measurement.row { margin: 0; padding: 26px; background: #F6F7F3; border-radius: var(--ms-radius-media); }
body.mason-product-tabs .mason-size-ready .mason-fit-measurement .col { padding: 0; }
body.mason-product-tabs .mason-size-ready .mason-fit-measurement h3 { display: flex; align-items: center; gap: 12px; margin: 0 0 18px; font-size: 20px; line-height: 1.4; }
body.mason-product-tabs .mason-size-ready .mason-fit-measurement h3::before { flex: 0 0 28px; color: var(--ms-color-brand); width: 24px; height: 24px; background-color: var(--ms-color-brand); mask: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.6%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M12 3v18M8 7l4-4 4 4M8 17l4 4 4-4%27/%3E%3C/svg%3E") center / contain no-repeat; }
body.mason-product-tabs .mason-size-ready .mason-fit-height h3::before { content: ""; }
body.mason-product-tabs .mason-size-ready .mason-fit-width h3::before { content: ""; transform: rotate(90deg); }
body.mason-product-tabs .mason-size-ready .mason-fit-measurement .box.box-vertical { display: block; }
body.mason-product-tabs .mason-size-ready .mason-fit-measurement .box-text-inner > p { margin: 0 0 16px; }
body.mason-product-tabs .mason-size-ready .mason-fit-measurement :is(p,li) { font-size: 14px; line-height: 1.7; }
body.mason-product-tabs .mason-size-ready .mason-fit-measurement ul { margin: 0 0 18px 20px; }
body.mason-product-tabs .mason-size-ready .mason-fit-measurement li { padding-left: 3px; margin-bottom: 10px; }
body.mason-product-tabs .mason-size-ready .mason-fit-measurement li p { margin: 0; }
body.mason-product-tabs .mason-size-ready .mason-fit-measurement .box-text-inner > p:last-child { margin-bottom: 0; color: var(--ms-color-muted); }
body.mason-product-tabs .mason-size-ready .mason-fit-duplicate { display: none !important; }
body.mason-product-tabs .mason-size-ready .mason-fit-diagram { margin-top: 16px; }
body.mason-product-tabs .mason-size-ready .mason-fit-diagram summary { display: flex; align-items: center; gap: 9px; width: fit-content; min-height: 44px; cursor: pointer; color: var(--ms-color-brand); font-family: var(--ms-font-heading); font-weight: 600; font-size: 13px; list-style: none; }
body.mason-product-tabs .mason-size-ready .mason-fit-diagram summary::-webkit-details-marker { display: none; }
body.mason-product-tabs .mason-size-ready .mason-fit-diagram summary::after { content: ""; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); margin-left: 4px; }
body.mason-product-tabs .mason-size-ready .mason-fit-diagram[open] summary::after { transform: rotate(225deg); }
body.mason-product-tabs .mason-size-ready .mason-fit-diagram summary:focus-visible { outline: 2px solid var(--ms-color-focus); outline-offset: 3px; border-radius: 3px; }
body.mason-product-tabs .mason-size-ready .mason-fit-diagram .box-image { max-width: 400px; margin: 8px 0 0; }
body.mason-product-tabs .mason-size-ready .mason-fit-recommendations h3 { margin-bottom: 18px; }
body.mason-product-tabs .mason-size-ready .mason-fit-recommendations .mason-size-recommendations { gap: 16px 28px; }
body.mason-product-tabs .mason-size-ready .mason-fit-recommendations .mason-size-recommendations > section { padding: 0 0 0 16px; background: transparent; border-radius: 0; border-left: 2px solid var(--ms-color-sage, #E7ECDF); font-size: 14px; line-height: 1.7; }
body.mason-product-tabs .mason-size-ready .mason-fit-help { padding: 24px 26px; margin-bottom: 0; border-radius: var(--ms-radius-media); background: #F6F7F3; }
body.mason-product-tabs .mason-size-ready .mason-fit-help h3 { margin: 0 0 12px; font-size: 20px; }
body.mason-product-tabs .mason-size-ready .mason-fit-help h3 span { font-size: inherit !important; }
body.mason-product-tabs .mason-size-ready .mason-fit-help .col-inner > div { font-size: 14px; line-height: 1.75; }
body.mason-product-tabs .mason-size-ready .mason-fit-help a { color: var(--ms-color-brand); text-underline-offset: 3px; }
@media(max-width:849px) {
 body.mason-product-tabs .mason-size-ready .mason-fit-measurements { grid-template-columns: minmax(0,1fr); gap: 16px; margin-bottom: 26px; }
 body.mason-product-tabs .mason-size-ready .mason-fit-measurement.row { padding: 22px; }
 body.mason-product-tabs .mason-size-ready .mason-fit-help { padding: 22px; }
}
@media(max-width:549px) {
 body.mason-product-tabs .mason-size-ready .mason-fit-measurement h3 { font-size: 18px; gap: 8px; }
 body.mason-product-tabs .mason-size-ready .mason-fit-measurement.row { padding: 20px; }
 body.mason-product-tabs .mason-size-ready .mason-fit-recommendations .mason-size-recommendations { gap: 18px; }
 body.mason-product-tabs .mason-size-ready .mason-fit-diagram .box-image { max-width: 100%; }
}

/* Editable height facts: compact, neutral and visible next to the actual selection. */
body.mason-product-design .mason-height-facts{margin:12px 0 4px;padding:12px 16px;border:1px solid #D8DED2;border-radius:12px;background:#fff;color:#62695E;font-size:14px;line-height:1.5;text-align:left}
body.mason-product-design .mason-height-facts[hidden]{display:none!important}
body.mason-product-design .mason-height-facts.has-selection{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;padding-left:44px;border-color:#B9C8AE;color:#222}
/* Decorative ruler and upward pointer connect facts to the selected height. */
body.mason-product-design .mason-height-facts.has-selection::before{content:"";position:absolute;left:12px;top:50%;transform:translateY(-50%);width:20px;height:20px;background-color:#284B17;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='2'/%3E%3Cpath d='M4 7h5M4 12h3M4 17h5M14 7v10m-2-8 2-2 2 2m-4 6 2 2 2-2'/%3E%3C/svg%3E") center/contain no-repeat}
body.mason-product-design .mason-height-facts.has-selection::after{content:"";position:absolute;left:17px;top:-5px;width:8px;height:8px;background:#fff;border-top:1px solid #B9C8AE;border-left:1px solid #B9C8AE;transform:rotate(45deg)}
body.mason-product-design .mason-height-facts__item{display:flex;align-items:baseline;gap:8px;white-space:nowrap}
body.mason-product-design .mason-height-facts__item>span{color:#46513E;font-weight:500}
body.mason-product-design .mason-height-facts__item>strong{font-weight:600;color:#284B17}
@media(max-width:549px){body.mason-product-design .mason-height-facts{padding:10px 12px}body.mason-product-design .mason-height-facts.has-selection{padding-left:40px;gap:8px 20px}}

/* Native Builder comparison: two light cards, full tree plus genuine needle detail. */
body.mason-product-design .mason-tree-comparison-wrap{margin:8px 0 40px;scroll-margin-top:130px}
:is(body.mason-product-design,body.mason-comparison-preview) .mason-tree-compare h2{font-size:28px;line-height:1.25;margin:0 0 10px;text-align:left}
:is(body.mason-product-design,body.mason-comparison-preview) .mason-tree-compare h3{font-size:20px;line-height:1.35;margin:0 0 8px;text-align:left}
:is(body.mason-product-design,body.mason-comparison-preview) .mason-tree-compare .mason-compare-card>.col-inner{border:1px solid #D8DED2;border-radius:16px;padding:20px;height:100%;background:#fff}
:is(body.mason-product-design,body.mason-comparison-preview) .mason-tree-compare .mason-compare-photos{margin-bottom:18px!important}
:is(body.mason-product-design,body.mason-comparison-preview) .mason-tree-compare .mason-compare-photos .col-inner{padding:0 4px}
:is(body.mason-product-design,body.mason-comparison-preview) .mason-tree-compare .mason-compare-photos .img{margin:0!important}
:is(body.mason-product-design,body.mason-comparison-preview) .mason-tree-compare .mason-compare-photos .img-inner{border-radius:12px;overflow:hidden}
:is(body.mason-product-design,body.mason-comparison-preview) .mason-tree-compare .mason-compare-photos img{height:200px;width:100%;object-fit:cover}
:is(body.mason-product-design,body.mason-comparison-preview) .mason-tree-compare .mason-compare-silhouette img{object-fit:contain;background:#F5F6F3}
:is(body.mason-product-design,body.mason-comparison-preview) .mason-tree-compare p{margin-bottom:14px;line-height:1.55}
:is(body.mason-product-design,body.mason-comparison-preview) .mason-tree-compare .mason-compare-texture{color:#62695E;font-size:14px}
:is(body.mason-product-design,body.mason-comparison-preview) .mason-tree-compare .mason-compare-dimensions{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:14px;color:#284B17}
/* Match shared Mason actions without overriding buttons outside this comparison. */
:is(body.mason-product-design,body.mason-comparison-preview) .mason-tree-compare .mason-compare-link{display:inline-flex;align-items:center;justify-content:center;min-width:160px;min-height:48px;padding:10px 22px;margin:0;border:1px solid var(--ms-color-brand,#284915);border-radius:var(--ms-radius-button,6px);background:var(--ms-color-brand,#284915);color:#fff;font-family:var(--ms-font-heading,"Montserrat",Arial,sans-serif);font-size:14px;font-weight:600;line-height:1.4;text-transform:none;letter-spacing:0;text-decoration:none;box-shadow:none}
@media(hover:hover){:is(body.mason-product-design,body.mason-comparison-preview) .mason-tree-compare .mason-compare-link:hover{background:var(--ms-color-brand-hover,#355612);border-color:var(--ms-color-brand-hover,#355612);color:#fff;box-shadow:none}}
:is(body.mason-product-design,body.mason-comparison-preview) .mason-tree-compare .mason-compare-link:focus-visible{outline:2px solid var(--ms-color-focus,#245CBD);outline-offset:3px}
@media(max-width:549px){:is(body.mason-product-design,body.mason-comparison-preview) .mason-tree-compare .mason-compare-link{width:100%}}
:is(body.mason-product-design,body.mason-comparison-preview) .mason-tree-compare .mason-compare-note{color:#62695E;font-size:14px;margin:0}
body.mason-product-design .mason-tree-comparison-jump{margin:12px 0;font-size:14px}
body.mason-product-design .mason-tree-comparison-jump a{color:#284B17;text-decoration:underline;text-underline-offset:3px}
@media(max-width:549px){:is(body.mason-product-design,body.mason-comparison-preview) .mason-tree-compare h2{font-size:24px}:is(body.mason-product-design,body.mason-comparison-preview) .mason-tree-compare .mason-compare-card>.col-inner{padding:16px}:is(body.mason-product-design,body.mason-comparison-preview) .mason-tree-compare .mason-compare-photos img{height:170px}:is(body.mason-product-design,body.mason-comparison-preview) .mason-tree-compare h3{font-size:18px}}

:is(body.mason-product-design,body.mason-comparison-preview) .mason-tree-compare>.section-content>.row>.col{padding-bottom:16px}
:is(body.mason-product-design,body.mason-comparison-preview) .mason-tree-compare .mason-compare-photos>.col{padding-bottom:0}
:is(body.mason-product-design,body.mason-comparison-preview) .mason-tree-compare>.section-content>.row:last-child>.col{padding-bottom:0}

/* Announce the current comparison size without another panel or separator. */
:is(body.mason-product-design,body.mason-comparison-preview) .mason-tree-compare .mason-compare-height-status{font-size:14px;color:var(--ms-color-muted,#5D645A);margin:0 0 16px;padding:0}

/* Native tree purchase panel: compact choices and one native variation summary. */
body.mason-native-tree-purchase .mason-native-tree-heading {
 font-family: var(--ms-font-heading); font-size: 20px; font-weight: 600; line-height: 1.3;
 margin: 24px 0 18px; color: var(--ms-color-text);
}
body.mason-native-tree-purchase form.cart .variations { margin: 0 0 12px; }
body.mason-native-tree-purchase form.cart .variations th.label { padding-bottom: 10px; }
body.mason-native-tree-purchase form.cart .variations td.value { padding-bottom: 18px; }
body.mason-native-tree-purchase form.cart .variations .label label {
 display: inline-flex; align-items: center; gap: 8px; font-size: 15px;
}
body.mason-native-tree-purchase .variations .label label[data-mason-tree-step]::before {
 content: attr(data-mason-tree-step);
 display: inline-flex; align-items: center; justify-content: center;
 width: 24px; height: 24px; flex: 0 0 24px; border-radius: 50%;
 background: var(--ms-color-sage); color: var(--ms-color-brand); font-size: 12px;
}
body.mason-native-tree-purchase form.cart .woo-selected-variation-item-name { display: none; }
body.mason-native-tree-purchase form.cart .variable-items-wrapper { gap: 10px; }
body.mason-native-tree-purchase form.cart .variable-item {
 padding: 0 16px !important; margin: 0 !important; width: auto !important;
 min-width: 64px; min-height: 44px; height: auto !important;
 box-shadow: none !important; border: 1px solid var(--ms-color-border);
 font-size: 14px; font-weight: 600; color: var(--ms-color-text); background: #fff;
}
body.mason-native-tree-purchase form.cart .variable-item.selected {
 border-color: var(--ms-color-brand); background: #F4F7EF;
 box-shadow: 0 0 0 1px var(--ms-color-brand) !important; color: var(--ms-color-brand);
}
body.mason-native-tree-purchase form.cart .variable-item.disabled { border-style: dashed; }
body.mason-native-tree-purchase form.cart .reset_variations { float: none; margin: 8px 0 0; font-size: 12px; text-transform: none; }
body.mason-native-tree-purchase .mason-native-tree-summary {
 display: flex; align-items: flex-end; justify-content: space-between; gap: 16px;
 margin: 0 0 18px; padding: 12px 0;
}
body.mason-native-tree-purchase .mason-native-tree-summary[hidden] { display: none; }
body.mason-native-tree-purchase :is(.mason-native-tree-selection,.mason-native-tree-price) > span {
 display: block; color: var(--ms-color-muted); font-size: 12px; margin-bottom: 4px;
}
body.mason-native-tree-purchase .mason-native-tree-selection strong { display: block; font-size: 14px; font-weight: 600; }
body.mason-native-tree-purchase .mason-native-tree-price { text-align: right; flex-shrink: 0; }
body.mason-native-tree-purchase .mason-native-tree-amount {
 display: flex; align-items: baseline; justify-content: flex-end; gap: 8px;
 font-family: var(--ms-font-heading); font-size: 22px; font-weight: 600; white-space: nowrap;
}
body.mason-native-tree-purchase .mason-native-tree-amount del { font-size: 14px; color: var(--ms-color-muted); font-weight: 400; }
body.mason-native-tree-purchase .mason-native-tree-amount ins { text-decoration: none; }
body.mason-native-tree-purchase form.mason-tree-price-mirrored .woocommerce-variation-price { display: none; }
body.mason-native-tree-purchase form.cart .mason-native-addons { margin-bottom: 16px; }
body.mason-native-tree-purchase form.cart .product-sku { font-size: 12px; color: var(--ms-color-muted); margin-bottom: 4px; }
body.mason-native-tree-purchase form.cart .single_add_to_cart_button { min-width: min(220px, calc(100% - 116px)); }
@media (max-width: 549px) {
 body.mason-native-tree-purchase .mason-native-tree-heading { font-size: 18px; }
 body.mason-native-tree-purchase form.cart .variable-item { padding-inline: 12px !important; min-width: 56px; }
 body.mason-native-tree-purchase .mason-native-tree-summary { gap: 8px; }
 body.mason-native-tree-purchase .mason-native-tree-amount { font-size: 20px; gap: 6px; }
 body.mason-native-tree-purchase .mason-native-tree-amount del { font-size: 12px; }
}
/* Remove duplicate selected labels; native radio labels still include metres. */
body.mason-native-tree-purchase form.cart .woo-selected-variation-item-name { display: none !important; }
body.mason-native-tree-purchase form.cart .variable-item { font-family: var(--ms-font-body); }
body.mason-native-tree-purchase form.cart .reset_variations { display: none !important; }
body.mason-native-tree-purchase form.cart .woocommerce-variation-add-to-cart { gap: 8px; }
body.mason-native-tree-purchase form.cart .product-sku { padding-bottom: 0; margin-bottom: 0; }
body.mason-native-tree-purchase .mason-native-tree-summary { padding-block: 4px; margin-bottom: 10px; }
body.mason-native-tree-purchase .mason-native-tree-amount br { display: none; }
body.mason-native-tree-purchase .mason-native-addons-header { display: flex !important; align-items: center; justify-content: space-between; gap: 12px; }
body.mason-native-tree-purchase .mason-native-addons-status { margin-top: 0; }
body.mason-native-tree-purchase .mason-sticky-cart__btn {
 background: var(--ms-color-brand) !important; color: #fff !important;
 border-radius: var(--ms-radius-button) !important; font-family: var(--ms-font-heading);
 font-weight: 600; text-transform: none;
}
@media (hover: hover) and (pointer: fine) {
 body.mason-native-tree-purchase .mason-sticky-cart__btn:hover:not(:disabled) { background: var(--ms-color-brand-hover) !important; }
}

body.mason-native-tree-purchase .mason-native-addons-header > span { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; }

body.mason-native-tree-purchase .mason-native-sticky-has-extras > .mason-sticky-cart__price { display: none; }
body.mason-native-tree-purchase .mason-native-sticky-total { display: inline-flex; align-items: baseline; gap: 6px; white-space: nowrap; color: var(--ms-color-text); font-size: 16px; font-weight: 600; }
body.mason-native-tree-purchase .mason-native-sticky-total[hidden] { display: none; }
body.mason-native-tree-purchase .mason-native-sticky-total del { font-size: 12px; color: var(--ms-color-muted); font-weight: 400; }
body.mason-native-tree-purchase .mason-native-sticky-total ins { text-decoration: none; }

/* UX Builder purchase summary follows the shared native product type scale. */
body.mason-product-design .custom-product-page .col-inner:has(> .product-title-container) {
 color: var(--ms-color-text);
 font-family: var(--ms-font-body);
 font-size: 16px;
 line-height: 1.5;
}
body.mason-product-design .custom-product-page .col-inner:has(> .product-title-container) > p:empty { display: none; }
body.mason-product-design .custom-product-page .col-inner:has(> .product-title-container) .product-price-container .price {
 font-family: var(--ms-font-heading);
 font-size: 24px;
 line-height: 1.3;
 font-weight: 600;
 color: var(--ms-color-text);
}
body.mason-product-design .custom-product-page .col-inner:has(> .product-title-container) .product-short-description { font-size: 16px; }
/* Nested Builder descriptions do not need a second block margin. */
body.mason-product-design .custom-product-page .col-inner:has(> .product-title-container) .product-short-description .product-short-description { margin-bottom: 0; }

/* Keep the existing three Builder assurance paragraphs editable. */
body.mason-product-design .product .col-inner:has(> .text > p > img.emoji[alt="🚚"]):has(> .text > p > img.emoji[alt="🛡️"]):has(> .text > p > img.emoji[alt="📞"]) {
 padding: 18px 24px !important;
 border-radius: var(--ms-radius-media) !important;
 background-color: #F6F7F3 !important;
}
body.mason-product-design .product .col-inner:has(> .text > p > img.emoji[alt="🚚"]):has(> .text > p > img.emoji[alt="🛡️"]):has(> .text > p > img.emoji[alt="📞"]) > .text { display: grid; gap: 12px; }
body.mason-product-design .product .col-inner:has(> .text > p > img.emoji[alt="🚚"]):has(> .text > p > img.emoji[alt="🛡️"]):has(> .text > p > img.emoji[alt="📞"]) > .text > p {
 display: flex;
 align-items: flex-start;
 gap: 10px;
 margin: 0;
 color: var(--ms-color-text);
 font-family: var(--ms-font-body);
 font-size: 14px;
 line-height: 1.55;
}
body.mason-product-design .product .col-inner:has(> .text > p > img.emoji[alt="🚚"]):has(> .text > p > img.emoji[alt="🛡️"]):has(> .text > p > img.emoji[alt="📞"]) > .text > p > img.emoji { display: none !important; }
body.mason-product-design .product .col-inner:has(> .text > p > img.emoji[alt="🚚"]):has(> .text > p > img.emoji[alt="🛡️"]):has(> .text > p > img.emoji[alt="📞"]) > .text > p::before {
 content: "";
 flex: 0 0 20px;
 width: 20px;
 height: 20px;
 margin-top: 1px;
 background-color: var(--ms-color-brand);
 -webkit-mask: var(--mason-assurance-icon) center / contain no-repeat;
 mask: var(--mason-assurance-icon) center / contain no-repeat;
}
body.mason-product-design .product .col-inner:has(> .text > p > img.emoji[alt="🚚"]):has(> .text > p > img.emoji[alt="🛡️"]):has(> .text > p > img.emoji[alt="📞"]) > .text > p:has(> img.emoji[alt="🚚"]) { --mason-assurance-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M1%204h13v12H1zM14%208h4l4%204v4h-8%22%2F%3E%3Ccircle%20cx%3D%225%22%20cy%3D%2218%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%2218%22%20cy%3D%2218%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E"); }
body.mason-product-design .product .col-inner:has(> .text > p > img.emoji[alt="🚚"]):has(> .text > p > img.emoji[alt="🛡️"]):has(> .text > p > img.emoji[alt="📞"]) > .text > p:has(> img.emoji[alt="🛡️"]) { --mason-assurance-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%202%203%206v6c0%205%209%2010%209%2010s9-5%209-10V6zM8%2012l3%203%205-6%22%2F%3E%3C%2Fsvg%3E"); }
body.mason-product-design .product .col-inner:has(> .text > p > img.emoji[alt="🚚"]):has(> .text > p > img.emoji[alt="🛡️"]):has(> .text > p > img.emoji[alt="📞"]) > .text > p:has(> img.emoji[alt="📞"]) { --mason-assurance-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2013V10a8%208%200%200%201%2016%200v3M4%2011H2v6h4v-6zM20%2011h2v6h-4v-6zM20%2017v2a2%202%200%200%201-2%202h-4%22%2F%3E%3C%2Fsvg%3E"); }
@media (max-width: 549px) {
 body.mason-product-design .custom-product-page .col-inner:has(> .product-title-container) .product-price-container .price { font-size: 20px; }
 body.mason-product-design .product .col-inner:has(> .text > p > img.emoji[alt="🚚"]):has(> .text > p > img.emoji[alt="🛡️"]):has(> .text > p > img.emoji[alt="📞"]) { padding: 16px 20px !important; }
}
