.site-content > .ast-container:has(> .mason-page-content),
.elementor-template-full-width .site-content > .ast-container {
  max-width: none;
  padding-inline: 0;
}

#content > .ast-container > #primary.mason-page-content {
  width: 100%;
  margin: 0;
}

.mason-header .mason-wordmark .elementor-heading-title {
  white-space: nowrap;
  color: var(--dy-header-tools-color, #111);
}

body.home .mason-header .mason-wordmark.elementor-widget-theme-site-title .elementor-heading-title {
  color: var(--dy-header-tools-color, #fff);
}

.mason-header .mason-announcement .elementor-heading-title {
  font-size: 12px;
  letter-spacing: 0;
}

.mason-header .mason-header-actions {
  flex-shrink: 0;
}

.mason-header .mason-wordmark {
  min-width: 0;
}

.mason-header .mason-wordmark img {
  width: 100%;
  height: auto;
}

.mason-header .mason-wordmark a {
  display: block;
  width: 100%;
}

.mason-header .elementor-search-form__toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
}

.mason-header .mason-cart-link a {
  min-width: 44px;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mason-header .mason-cart-link .elementor-button-icon {
  font-size: 20px;
}

.mason-header .mason-account-link a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
}

.mason-header .elementor-search-form__container.elementor-search-form--full-screen {
  background: rgb(255 255 255 / 98%);
}

.mason-header .elementor-search-form__container .dialog-close-button {
  color: var(--mason-ink);
  position: absolute;
  inset-inline-end: 16px;
  top: calc(var(--wp-admin--admin-bar--height, 0px) + max(16px, env(safe-area-inset-top)));
  font-size: 20px;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mason-header .elementor-search-form__container .dialog-close-button svg {
  width: 20px;
  height: 20px;
}

.mason-header .mason-product-search .elementor-search-form__container input[type="search"] {
  border-bottom-color: var(--mason-line);
}

.mason-header [role="button"]:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

.mason-header .mason-main-menu nav.elementor-nav-menu--dropdown a {
  min-height: 44px;
}

.mason-header .elementor-search-form__input {
  color: #111;
  border-bottom: 1px solid var(--mason-line);
}

.mason-footer :is(h2, p),
.mason-header p {
  margin: 0;
}

.mason-header .elementor-widget-theme-site-logo img {
  width: auto;
  max-width: 100%;
}

.mason-header .mason-cart-link,
.mason-header .elementor-menu-toggle {
  min-width: 44px;
  min-height: 44px;
}

.mason-header .mason-search-form input[type="search"] {
  min-width: 0;
  border: 0;
  border-bottom: 1px solid var(--mason-line);
  border-radius: 0;
}

.mason-footer .elementor-icon-list-item a {
  text-underline-offset: 4px;
}

.mason-footer .dy-footer-body p + p,
.mason-footer .dy-footer-body .elementor-nav-menu li + li {
  margin-top: 10px;
}

.mason-footer .dy-footer-body a {
  color: #cfcfcf;
}

.mason-footer .dy-footer-body a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.mason-footer :is(.dy-footer-body a, .dy-footer-reference-wordmark a):focus-visible {
  outline: 1px solid currentColor;
  outline-offset: 4px;
}

.mason-footer :is(.dy-footer-social-icon, .dy-footer-reference-wordmark) img {
  display: block;
}

.mason-footer .dy-footer-legal-row p {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 18px 26px;
  font-variant: small-caps;
}

.mason-footer .dy-footer-preview-status p + p {
  margin-top: 12px;
}

@media (max-width: 1024px) {
  .mason-footer .dy-footer-mobile-groups .e-n-accordion-item-title {
    min-height: 44px;
  }

  .mason-footer .dy-footer-mobile-groups .e-n-accordion-item-title-text {
    color: inherit;
  }

  .mason-footer .dy-footer-body p + p,
  .mason-footer .dy-footer-body .elementor-nav-menu li + li {
    margin-top: 20px;
  }

  .mason-footer .dy-footer-legal-row p {
    justify-content: center;
  }
}

@media (max-width: 1024px) {
  .mason-header .mason-header-actions {
    width: 88px;
  }
  .mason-header .mason-main-menu nav.elementor-nav-menu--dropdown {
    position: fixed;
    inset-inline: 0 !important;
    top: var(--mason-header-bottom, 88px) !important;
    width: 100vw !important;
    max-height: calc(100dvh - var(--mason-header-bottom, 88px));
    margin: 0 !important;
    overflow-y: auto;
    border-bottom: 1px solid var(--mason-line);
    z-index: 100;
  }
}

@media (min-width: 1025px) {
  .mason-header .mason-main-menu .elementor-nav-menu--main .sub-arrow {
    display: none;
  }
}

@media (max-width: 767px) {
  body .mason-header .mason-wordmark.elementor-widget-theme-site-title .elementor-heading-title {
    font-size: clamp(17px, 5vw, 21px);
    letter-spacing: .02em;
  }
}

/* The reference keeps the two-row header (logo row + nav row) at all desktop widths. */
@media (min-width: 1025px) {
  .mason-header .mason-header-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "brand actions" "navigation actions";
    row-gap: 0;
  }

  .mason-header .mason-wordmark {
    grid-area: brand;
    min-height: 30px;
    display: flex;
    align-items: center;
  }

  .mason-header .mason-main-menu {
    grid-area: navigation;
  }

  .mason-header .mason-header-actions {
    grid-area: actions;
    align-self: start;
  }
}

@media (max-width: 359px) {
  .mason-header .mason-wordmark {
    max-width: 148px;
  }
}

/* Only Home places the shared header over the original Hero media. */
body.home .mason-header {
  --dy-header-tools-color: #fff;
}

body.home .mason-header .mason-header-row {
  position: absolute;
  top: 100%;
  inset-inline: 0;
  width: 100%;
  z-index: 50;
}

body.home .mason-header .mason-wordmark img {
  filter: invert(1);
}

body.home .mason-header .mason-header-actions .mason-account-link.elementor-view-default .elementor-icon {
  color: var(--dy-header-tools-color);
}

body.home .mason-header .mason-header-actions .mason-account-link.elementor-view-default .elementor-icon svg {
  fill: currentColor;
}

body.home .mason-header .mason-product-search .elementor-search-form__toggle {
  --e-search-form-toggle-color: #fff;
}

body.home .mason-header .mason-account-link .elementor-icon svg,
body.home .mason-header .mason-cart-link .elementor-button svg,
body.home .mason-header .mason-main-menu .elementor-menu-toggle svg {
  fill: currentColor;
}

body.home .mason-header .mason-main-menu .elementor-nav-menu--main .elementor-item,
body.home .mason-header .mason-main-menu div.elementor-menu-toggle,
body.home .mason-header .mason-product-search .elementor-search-form__toggle,
body.home .mason-header .mason-account-link .elementor-icon,
body.home .mason-header .mason-cart-link .elementor-button {
  color: #fff;
  fill: #fff;
}

body.home .mason-header:has(.elementor-menu-toggle.elementor-active),
body.home .mason-header:has(.elementor-nav-menu--main .elementor-item[aria-expanded="true"]) {
  --dy-header-tools-color: #111;
}

body.home .mason-header:has(.elementor-menu-toggle.elementor-active) .mason-header-row,
body.home .mason-header:has(.elementor-nav-menu--main .elementor-item[aria-expanded="true"]) .mason-header-row {
  background: #fff;
}

body.home .mason-header:has(.elementor-menu-toggle.elementor-active) .mason-wordmark img,
body.home .mason-header:has(.elementor-nav-menu--main .elementor-item[aria-expanded="true"]) .mason-wordmark img {
  filter: none;
}

body.home .mason-header:has(.elementor-menu-toggle.elementor-active) :is(.elementor-menu-toggle, .elementor-search-form__toggle, .elementor-icon, .mason-cart-link .elementor-button),
body.home .mason-header:has(.elementor-nav-menu--main .elementor-item[aria-expanded="true"]) :is(.elementor-item, .elementor-search-form__toggle, .elementor-icon, .mason-cart-link .elementor-button) {
  color: #111;
  fill: #111;
}

body.home .mason-header:has(.elementor-menu-toggle.elementor-active) .mason-product-search .elementor-search-form__toggle,
body.home .mason-header:has(.elementor-nav-menu--main .elementor-item[aria-expanded="true"]) .mason-product-search .elementor-search-form__toggle {
  --e-search-form-toggle-color: #111;
}

/* Native Elementor Pro Mega Menu, with editable nested content. */
.mason-header .mason-header-row .mason-main-menu.elementor-widget {
  --n-menu-title-padding: 16px 0;
  --n-menu-title-font-size: 13px;
  --n-menu-title-color-normal: var(--dy-header-tools-color, #111);
  --n-menu-title-color-hover: var(--dy-header-tools-color, #111);
  --n-menu-title-color-active: var(--dy-header-tools-color, #111);
  --n-menu-title-normal-color-dropdown: #111;
  --n-menu-title-active-color-dropdown: #111;
  --n-menu-toggle-icon-color: var(--dy-header-tools-color, #111);
  --n-menu-toggle-icon-color-active: var(--dy-header-tools-color, #111);
  --n-menu-toggle-icon-color-hover: var(--dy-header-tools-color, #111);
}
.mason-header .e-n-menu-title-text { font-family: NunitoSans, sans-serif; font-size: 13px; font-weight: 600; }
.mason-header .e-n-menu-title-container { min-height: 24px; }
.mason-header .e-n-menu-toggle { width: 44px; height: 44px; align-items: center; justify-content: center; }
.mason-header .mason-mega-panel { background: #fff; color: #111; width: 100%; border-bottom: 1px solid #e5e5e5; }
.mason-header .mason-mega-columns { display: grid; grid-template-columns: 3fr 1fr 1fr 4.3fr; gap: 36px; padding: 32px 4.2vw; }
.mason-header .mason-mega-category-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px 24px; }
.mason-header .mason-mega-categories { border-right: 1px solid #aaa; padding-right: 30px; }
.mason-header .mason-mega-eyebrow { margin-bottom: 28px; }
.mason-header .mason-mega-eyebrow .elementor-heading-title { font-size: 12px; font-weight: 700; letter-spacing: .02em; }
.mason-header .mason-mega-group-title { margin-bottom: 12px; }
.mason-header .mason-mega-group-title .elementor-heading-title { font-size: 14px; font-weight: 700; }
.mason-header .mason-mega-link { margin-bottom: 8px; }
.mason-header .mason-mega-link .elementor-heading-title { font-size: 14px; font-weight: 400; line-height: 1.5; }
.mason-header :is(.mason-mega-link, .mason-mega-group-title) a { display: inline-flex; align-items: center; min-height: 28px; }
.mason-header :is(.mason-mega-link, .mason-mega-group-title) a:hover { text-decoration: underline; text-underline-offset: 4px; }
.mason-header .mason-mega-promos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mason-header .mason-mega-promo { position: relative; overflow: hidden; }
.mason-header .mason-mega-promo-image img { display: block; width: 100%; aspect-ratio: .72; object-fit: cover; }
.mason-header .mason-mega-promo-label { position: absolute; bottom: 22px; inset-inline: 22px; width: auto; pointer-events: none; }
.mason-header .mason-mega-promo-label .elementor-heading-title { color: #fff; font-size: 12px; font-weight: 700; text-transform: uppercase; }
.mason-header .mason-mega-promo-label a { text-decoration: underline; text-underline-offset: 5px; pointer-events: auto; }
.mason-header .mason-mega-campaign { flex-direction: row; align-items: center; gap: 48px; padding: 18px 4.2vw; background: #f8f8f8; }
.mason-header .mason-mega-campaign :is(.mason-mega-eyebrow, .mason-mega-link) { margin: 0; }
body.home.mason-mega-open .mason-header { --dy-header-tools-color: #111; }
body.home.mason-mega-open .mason-header-row { background: #fff; }
body.home.mason-mega-open .mason-wordmark img { filter: none; }
body.home.mason-mega-open .mason-header :is(.elementor-search-form__toggle, .elementor-icon, .mason-cart-link .elementor-button) { color: #111; fill: #111; }
body.home.mason-mega-open .mason-header .mason-product-search .elementor-search-form__toggle { --e-search-form-toggle-color: #111; }
@media (min-width: 1025px) {
  .mason-header .e-n-menu:not([data-layout="dropdown"]) .e-n-menu-content {
    position: fixed; top: var(--mason-header-bottom, 104px) !important; left: 0 !important; right: 0 !important;
    width: 100vw !important; max-height: calc(100dvh - var(--mason-header-bottom, 104px)); overflow-y: auto; overscroll-behavior: contain;
  }
  .mason-header .e-n-menu-item:has(#mason-menu-account) { display: none; }
  .mason-header .e-n-menu-dropdown-icon { margin-left: 8px; }
  .mason-header .e-n-menu-dropdown-icon svg { width: 10px; }
}
@media (min-width: 1025px) and (max-width: 1279px) {
  .mason-header .mason-mega-columns { grid-template-columns: 2.5fr 1fr 1fr 3fr; gap: 24px; }
  .mason-header .mason-mega-category-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
  .mason-header .e-n-menu[data-layout="dropdown"] .e-n-menu-wrapper {
    position: fixed; top: var(--mason-header-bottom, 88px) !important; left: 0 !important; right: 0 !important; width: 100vw !important;
    margin: 0; background: #fff; border-bottom: 1px solid #ddd; overscroll-behavior: contain;
  }
  .mason-header .e-n-menu-toggle[aria-expanded="true"] + .e-n-menu-wrapper { max-height: calc(100dvh - var(--mason-header-bottom, 88px)) !important; }
  .mason-header .e-n-menu-heading { flex-direction: column; gap: 0; }
  .mason-header .e-n-menu[data-layout="dropdown"] .e-n-menu-title { padding: 12px 24px; justify-content: space-between; border-bottom: 1px solid #eee; }
  .mason-header .e-n-menu-dropdown-icon { min-width: 44px; min-height: 44px; }
  .mason-header .e-n-menu-title-text { font-size: 14px; }
  .mason-header .mason-mega-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 28px 24px; gap: 28px 24px; }
  .mason-header .mason-mega-categories { grid-column: 1 / -1; border: 0; padding: 0; }
  .mason-header .mason-mega-category-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; }
  .mason-header .mason-mega-promos { grid-column: 1 / -1; }
  .mason-header .mason-mega-promo-image img { aspect-ratio: .8; }
  .mason-header .mason-mega-promo-label { inset-inline: 14px; bottom: 16px; }
  .mason-header .mason-mega-campaign { gap: 20px; padding: 18px 24px; flex-wrap: wrap; }
  .mason-header .mason-mega-eyebrow { margin-bottom: 16px; }
  .mason-header :is(.mason-mega-link, .mason-mega-group-title) a { min-height: 36px; }
}

/* Dim the page below the header while the desktop mega menu is open (reference scrim). */
@media (min-width: 1025px) {
  .mason-header::after {
    content: '';
    position: fixed;
    inset: var(--mason-header-bottom, 110px) 0 0;
    background: rgb(17 17 17 / 40%);
    z-index: 2147480000;
    pointer-events: none;
    opacity: 0;
    transition: opacity .25s ease;
  }
  body.mason-mega-open .mason-header::after { opacity: 1; }
}

/* Reference L0 carets: bare thin chevron, no pill background. */
.mason-header .e-n-menu-dropdown-icon { background: transparent; border-radius: 0; box-shadow: none; }

/* Reference mobile drawer L2: only that group's subcategory links, single column. */
@media (max-width: 1024px) {
  .mason-header .mason-mega-materials,
  .mason-header .mason-mega-featured,
  .mason-header .mason-mega-promos,
  .mason-header .mason-mega-campaign { display: none; }
  .mason-header .mason-mega-columns { grid-template-columns: minmax(0, 1fr); padding: 12px 24px 28px; gap: 0; }
  .mason-header .mason-mega-category-columns { grid-template-columns: minmax(0, 1fr); gap: 0; }
}
