Frequently Asked Questions – The Meadow

wrapped-preset { /\* breakpoints: not-implemented / reference only */ /\* --shadow-breakpoint-xs: 320px; */ /\* --shadow-breakpoint-sm: 490px; */ /\* --shadow-breakpoint-md: 768px; */ /\* --shadow-breakpoint-lg: 1040px; */ /\* --shadow-breakpoint-xl: 1440px; */

--shadow-thumbnail-position-start: "media gift-dialog-header" "media content" "media gift-block-actions"; --shadow-thumbnail-position-end: "gift-dialog-header media" "content media" "gift-block-actions media";

/\* border radius */ --shadow-border-radius-xs: calc(var(--shadow-border-radius-scale, 65) / 100 * 1rem); --shadow-border-radius-sm: calc(var(--shadow-border-radius-scale, 65) / 100 * 1.5rem); --shadow-border-radius-base: calc(var(--shadow-border-radius-scale, 65) / 100 * 2.5rem);

--shadow-outline-width: calc(var(--shadow-field-border-width) + 0.5px);

/\* buttons */

--shadow-hover-style-light: #ffffff; --shadow-hover-style-dark: #000000;

--shadow-primary-button-surface--active: color-mix(in srgb, var(--shadow-primary-button-surface), var(--shadow-hover-style) 20%); --shadow-primary-button-surface--hover: color-mix(in srgb, var(--shadow-primary-button-surface), var(--shadow-hover-style) 16%);

--shadow-launcher-button-surface--active: color-mix(in srgb, var(--shadow-launcher-button-surface), var(--shadow-hover-style) 20%); --shadow-launcher-button-surface--hover: color-mix(in srgb, var(--shadow-launcher-button-surface), var(--shadow-hover-style) 16%);

--shadow-primary-button-text-color--active: color-mix(in srgb, var(--shadow-primary-button-text-color), var(--shadow-hover-style) 20%); --shadow-primary-button-text-color--hover: color-mix(in srgb, var(--shadow-primary-button-text-color), var(--shadow-hover-style) 16%);

--shadow-secondary-button-surface--active: color-mix(in srgb, var(--shadow-secondary-button-surface), var(--shadow-hover-style) 20%); --shadow-secondary-button-surface--hover: color-mix(in srgb, var(--shadow-secondary-button-surface), var(--shadow-hover-style) 16%);

--shadow-secondary-button-text-color--active: color-mix(in srgb, var(--shadow-secondary-button-text-color), var(--shadow-hover-style) 20%); --shadow-secondary-button-text-color--hover: color-mix(in srgb, var(--shadow-secondary-button-text-color), var(--shadow-hover-style) 16%);

/\* text and fonts */ --shadow-font-size-sm: clamp(12px, calc(14px * var(--shadow-font-scale)), 16px); --shadow-font-size-base: clamp(12px, calc(16px * var(--shadow-font-scale)), 20px); --shadow-font-size-lg: clamp(16px, calc(24px * var(--shadow-font-scale)), 28px); --shadow-font-weight-md: 500; --shadow-font-weight-lg: 600; --shadow-line-height-base: 1.5em;

/\* transitions */ --shadow-transition-duration: 0.1s; --shadow-spinner-duration: 0.7s;

/\* disabled */ --shadow-disabled-opacity-sm: 0.16; --shadow-disabled-opacity: 0.32; --shadow-disabled-opacity-md: 0.4; --shadow-disabled-opacity-lg: 0.64;

/\* precalculated percentages for color-mix */ --shadow-disabled-opacity-percent: 32%; --shadow-disabled-opacity-sm-percent: 16%; --shadow-disabled-opacity-md-percent: 40%; --shadow-disabled-opacity-lg-percent: 64%; --shadow-disabled-cursor: not-allowed;

/\* form elements */ --shadow-form-element-surface--disabled: color-mix(in srgb, var(--shadow-form-element-surface) var(--shadow-disabled-opacity-percent), var(--shadow-secondary-text-color) 8%);

--shadow-form-element-border-color--active: color-mix(in srgb, var(--shadow-form-element-border-color), white 83%); --shadow-form-element-border-color--disabled: color-mix(in srgb, var(--shadow-form-element-border-color) var(--shadow-disabled-opacity-percent), var(--shadow-secondary-text-color) 8%);

--shadow-form-element-text-color--disabled: color-mix(in srgb, var(--shadow-form-element-text-color), var(--shadow-secondary-text-color) 8%);

--shadow-form-element-placeholder-text-color: color-mix(in srgb, var(--shadow-form-element-text-color) var(--shadow-disabled-opacity-percent), transparent); --shadow-form-element-placeholder-text-color--disabled: color-mix(in srgb, var(--shadow-form-element-text-color) var(--shadow-disabled-opacity-percent), var(--shadow-secondary-text-color) 8%);

--shadow-form-element-selection-color--active: color-mix(in srgb, var(--shadow-form-element-selection-color), var(--shadow-hover-style) 40%); --shadow-form-element-selection-color--hover: color-mix(in srgb, var(--shadow-form-element-selection-color), var(--shadow-hover-style) 32%);

/\* primary colors */ --shadow-primary-text-color--hover: color-mix(in srgb, var(--shadow-primary-text-color), var(--shadow-hover-style) 32%);

/\* secondary colors */ --shadow-secondary-text-color--disabled: color-mix(in srgb, var(--shadow-secondary-text-color) var(--shadow-disabled-opacity-lg-percent), var(--shadow-secondary-text-color) 8%);

/\* spacing */ --shadow-spacing-fixed: 4px; --shadow-spacing-base: clamp(12px, calc(16px * var(--shadow-spacing-scale)), 24px); --shadow-spacing-lg: clamp(16px, calc(24px * var(--shadow-spacing-scale)), 28px); --shadow-spacing-sm: clamp(8px, calc(12px * var(--shadow-spacing-scale)), 14px);

/\* inline block */ --shadow-feature-max-height: 500px; --shadow-textarea-min-height: 80px;

/\* shadows */ --shadow-shadow-blur: 1.5rem; --shadow-shadow-color: rgba(0, 0, 0, 0.25); --shadow-shadow-offset: 0.75rem;

/\* the default look: what a shop without a presets entry paints; a saved entry overrides these per option type below */ --shadow-font-family: inherit; --shadow-header-font-family: inherit; --shadow-font-weight-base: 400; --shadow-letter-spacing: normal; --shadow-button-text-transform: none; --shadow-button-letter-spacing: normal; --shadow-button-font-style: normal; --shadow-launcher-button-font-weight: 400; --shadow-launcher-button-max-width: 500px; --shadow-launcher-button-alignment: center; --shadow-launcher-button-content-justify-content: space-between; --shadow-launcher-button-content-flex-direction: row-reverse; --shadow-grid-template-areas: var(--shadow-thumbnail-position-start); --shadow-border-radius-scale: 60; --shadow-block-border-surface: #00000000; --shadow-border-width: 1px; --shadow-field-border-width: var(--shadow-border-width); --shadow-hover-style: var(--shadow-hover-style-light, --shadow-hover-style-light); --shadow-launcher-button-surface: #000000; --shadow-launcher-button-text-color: #ffffff; --shadow-launcher-button-border-surface: #00000000; --shadow-launcher-button-border-surface--active: transparent; --shadow-launcher-button-border-surface--hover: transparent; --shadow-primary-button-surface: #000000; --shadow-primary-button-text-color: #ffffff; --shadow-primary-button-border-surface: #00000000; --shadow-primary-button-border-surface--active: transparent; --shadow-primary-button-border-surface--hover: transparent; --shadow-secondary-button-surface: #0000000f; --shadow-secondary-button-text-color: #333333; --shadow-secondary-button-border-surface: #00000000; --shadow-secondary-button-border-surface--active: transparent; --shadow-secondary-button-border-surface--hover: transparent; --shadow-font-scale: calc(100 / 100); --shadow-form-element-surface: #ffffff; --shadow-form-element-border-color: #0000000f; --shadow-form-element-text-color: #333333; --shadow-form-element-selection-color: #000000; --shadow-selection-accent-color: var(--shadow-form-element-selection-color); --shadow-selection-checked-surface: var(--shadow-form-element-selection-color); --shadow-selection-swatch-color: var(--shadow-form-element-selection-color); --shadow-primary-surface: #ffffff; --shadow-primary-text-color: #000000; --shadow-secondary-surface: #f3f3f3; --shadow-secondary-text-color: #333333; --shadow-gift-thumbnail-size: 60px; --shadow-thumbnail-size: clamp(40px, var(--shadow-gift-thumbnail-size), 200px); --shadow-thumbnail-flex-direction: row; --shadow-thumbnail-order: -1; --shadow-thumbnail-margin-left: 0; --shadow-thumbnail-margin-right: 0.6em; --shadow-block-padding: var(--shadow-block-padding-block-start, var(--shadow-spacing-sm)) var(--shadow-block-padding-inline-end, var(--shadow-spacing-sm)) var(--shadow-block-padding-block-end, var(--shadow-spacing-sm)) var(--shadow-block-padding-inline-start, var(--shadow-spacing-sm));

font-family: var(--shadow-font-family); line-height: var(--shadow-line-height-base); letter-spacing: var(--shadow-letter-spacing); }

:host { /\* do not change the root text size */ --shadow-font-size: 16px;

/\* spacing */

--shadow-spacing-scale-base: 1; --shadow-spacing-scale-less: 0.75; --shadow-spacing-scale-more: 1.166; --shadow-spacing-scale: var(--shadow-spacing-scale-base, 1); --shadow-spacing-xs: clamp(6px, calc(8px * var(--shadow-spacing-scale)), 10px);

/\* inline block */ --shadow-block-margin-block-start: calc(1em * var(--shadow-spacing-scale)); --shadow-block-margin-block-end: calc(2em * var(--shadow-spacing-scale));

/\* default styles */ all: revert; box-sizing: border-box; cursor: default; display: block; font-size: var(--shadow-font-size); margin-block-start: var(--shadow-block-margin-start, var(--shadow-spacing-xs)) !important; margin-block-end: var(--shadow-block-margin-end, var(--shadow-spacing-xs)) !important; margin-inline-start: var(--shadow-block-margin-inline-start, 0) !important; margin-inline-end: var(--shadow-block-margin-inline-end, 0) !important; text-align: start; width: -webkit-fill-available; white-space: normal; }

:host([option-type="product"]) { --shadow-spacing-scale: var(--shadow-spacing-scale-more, 1); }

:host([option-type="product"]) wrapped-preset { --shadow-font-family: inherit; --shadow-header-font-family: inherit; --shadow-font-weight-base: 400; --shadow-letter-spacing: normal; --shadow-button-text-transform: none; --shadow-button-letter-spacing: normal; --shadow-button-font-style: normal; --shadow-launcher-button-font-weight: 400; --shadow-launcher-button-max-width: 500px; --shadow-launcher-button-alignment: center; --shadow-launcher-button-content-justify-content: space-between; --shadow-launcher-button-content-flex-direction: row-reverse; --shadow-grid-template-areas: var(--shadow-thumbnail-position-start);

/\* border radius */ --shadow-border-radius-scale: 25;

--shadow-block-border-surface: #0000000f; --shadow-border-width: 1px;

/\* buttons */ --shadow-hover-style: var(--shadow-hover-style-light, --shadow-hover-style-light);

--shadow-launcher-button-surface: #ffffff; --shadow-launcher-button-text-color: #000000; --shadow-launcher-button-border-surface: #b7b7b7;

--shadow-launcher-button-border-surface--active: color-mix(in srgb, var(--shadow-launcher-button-border-surface), var(--shadow-hover-style) 20%); --shadow-launcher-button-border-surface--hover: color-mix(in srgb, var(--shadow-launcher-button-border-surface), var(--shadow-hover-style) 16%);

--shadow-primary-button-surface: #ffffff; --shadow-primary-button-text-color: #000000; --shadow-primary-button-border-surface: #b7b7b7;

--shadow-primary-button-border-surface--active: color-mix(in srgb, var(--shadow-primary-button-border-surface), var(--shadow-hover-style) 20%); --shadow-primary-button-border-surface--hover: color-mix(in srgb, var(--shadow-primary-button-border-surface), var(--shadow-hover-style) 16%);

--shadow-secondary-button-surface: #0000000f; --shadow-secondary-button-text-color: #333333; --shadow-secondary-button-border-surface: #b7b7b7;

--shadow-secondary-button-border-surface--active: color-mix(in srgb, var(--shadow-secondary-button-border-surface), var(--shadow-hover-style) 20%); --shadow-secondary-button-border-surface--hover: color-mix(in srgb, var(--shadow-secondary-button-border-surface), var(--shadow-hover-style) 16%);

/\* text and fonts */ --shadow-font-scale: calc(95 / 100);

/\* form elements */ --shadow-form-element-surface: #ffffff; --shadow-form-element-border-color: #b7b7b7; --shadow-form-element-text-color: #333333; --shadow-form-element-selection-color: #ffffff;

--shadow-selection-accent-color: var(--shadow-form-element-selection-color); --shadow-selection-checked-surface: var(--shadow-form-element-selection-color); --shadow-selection-swatch-color: var(--shadow-form-element-selection-color);

/\* primary colors */ --shadow-primary-surface: #ffffff; --shadow-primary-text-color: #000000;

/\* secondary colors */ --shadow-secondary-surface: #f3f3f3; --shadow-secondary-text-color: #333333;

/\* media */ --shadow-gift-thumbnail-size: 40px; --shadow-thumbnail-size: clamp(40px, var(--shadow-gift-thumbnail-size), 200px);

--shadow-thumbnail-flex-direction: row; --shadow-thumbnail-order: -1; --shadow-thumbnail-margin-left: 0; --shadow-thumbnail-margin-right: 0.6em; }

:host([option-type="order"]) { --shadow-spacing-scale: var(--shadow-spacing-scale-more, 1); }

:host([option-type="order"]) wrapped-preset { --shadow-font-family: inherit; --shadow-header-font-family: inherit; --shadow-font-weight-base: 400; --shadow-letter-spacing: normal; --shadow-button-text-transform: none; --shadow-button-letter-spacing: normal; --shadow-button-font-style: normal; --shadow-launcher-button-font-weight: 400; --shadow-launcher-button-max-width: 500px; --shadow-launcher-button-alignment: center; --shadow-launcher-button-content-justify-content: space-between; --shadow-launcher-button-content-flex-direction: row-reverse; --shadow-grid-template-areas: var(--shadow-thumbnail-position-start);

/\* border radius */ --shadow-border-radius-scale: 25;

--shadow-block-border-surface: #0000000f; --shadow-border-width: 1px;

/\* buttons */ --shadow-hover-style: var(--shadow-hover-style-light, --shadow-hover-style-light);

--shadow-launcher-button-surface: #ffffff; --shadow-launcher-button-text-color: #000000; --shadow-launcher-button-border-surface: #b7b7b7;

--shadow-primary-button-surface: #ffffff; --shadow-primary-button-text-color: #000000; --shadow-primary-button-border-surface: #b7b7b7;

--shadow-secondary-button-surface: #0000000f; --shadow-secondary-button-text-color: #333333; --shadow-secondary-button-border-surface: #b7b7b7;

/\* text and fonts */ --shadow-font-scale: calc(95 / 100);

/\* primary colors */ --shadow-primary-surface: #ffffff; --shadow-primary-text-color: #000000;

/\* secondary colors */ --shadow-secondary-surface: #f3f3f3; --shadow-secondary-text-color: #333333;

/\* media */ --shadow-gift-thumbnail-size: 40px; --shadow-thumbnail-size: clamp(40px, var(--shadow-gift-thumbnail-size), 200px);

--shadow-thumbnail-flex-direction: row; --shadow-thumbnail-order: -1; --shadow-thumbnail-margin-left: 0; --shadow-thumbnail-margin-right: 0.6em; }

*, *::before, *::after { box-sizing: border-box; }

.gift-block__launcher .icon-wrapper svg, :host(wrapped-extension) gift-block-launcher [data-part="container"] label svg, :host(wrapped-extension) [feature="gift-option"] [data-part="container"] label svg, :host(wrapped-gift-block) gift-block-option-heading label svg { box-sizing: border-box; border: calc(var(--shadow-field-border-width) + 0.5px) solid; border-radius: max(0px, calc(min(0.20625em, var(--shadow-border-radius-sm)) + min(var(--shadow-border-radius-sm) * 1000, var(--shadow-field-border-width) - 1px))); height: calc(var(--shadow-font-size-base) * 0.7875 + 3.5 * var(--shadow-field-border-width) - 0.5px); overflow: visible; width: calc(var(--shadow-font-size-base) * 0.7875 + 3.5 * var(--shadow-field-border-width) - 0.5px); }

.gift-block__launcher .icon-wrapper svg, :host(wrapped-extension) gift-block-launcher [data-part="container"] label svg { height: calc(var(--shadow-block-launcher-font-size, var(--shadow-launcher-font-size, var(--shadow-font-size-base))) * 0.7875 + 3.5 * var(--shadow-field-border-width) - 0.5px); width: calc(var(--shadow-block-launcher-font-size, var(--shadow-launcher-font-size, var(--shadow-font-size-base))) * 0.7875 + 3.5 * var(--shadow-field-border-width) - 0.5px); }

.checkmark-icon { fill: none; stroke-linecap: var(--shadow-tick-cap, round); stroke-linejoin: var(--shadow-tick-join, round); stroke-width: 1.5px; }

gift-block-launcher:not([variant="inline"]) { display: flex; flex-direction: column; gap: var(--shadow-spacing-xs); align-items: var(--shadow-launcher-button-alignment);

& gift-block-visibility-notice { display: block; font-family: var(--shadow-font-family); font-size: smaller; font-weight: var(--shadow-font-weight-base); font-style: var(--shadow-button-font-style); letter-spacing: var(--shadow-button-letter-spacing); padding: 0 var(--shadow-block-padding-inline-end, var(--shadow-spacing-sm)) 0 var(--shadow-block-padding-inline-start, var(--shadow-spacing-sm)); text-transform: var(--shadow-button-text-transform); width: 100%; } }

.gift-block__launcher { background-color: var(--shadow-launcher-button-surface); border-color: var(--shadow-launcher-button-border-surface); border-width: var(--shadow-launcher-button-border-width, var(--shadow-border-width)); border-radius: var(--shadow-launcher-button-border-radius, var(--shadow-border-radius-sm)); border-style: solid; color: var(--shadow-launcher-button-text-color); padding: var(--shadow-block-padding); font-family: var(--shadow-font-family); font-size: var(--shadow-block-launcher-font-size, var(--shadow-launcher-font-size, var(--shadow-font-size-base))); font-weight: var(--shadow-launcher-button-font-weight); font-style: var(--shadow-button-font-style); letter-spacing: var(--shadow-button-letter-spacing); max-width: var(--shadow-block-launcher-button-max-width, var(--shadow-launcher-button-max-width)); text-transform: var(--shadow-button-text-transform); width: 100%;

&:hover { cursor: pointer; background-color: var(--shadow-launcher-button-surface--hover); border-color: var(--shadow-launcher-button-border-surface--hover); }

&:active { background-color: var(--shadow-launcher-button-surface--active); border-color: var(--shadow-launcher-button-border-surface--active); }

&:focus, &:focus-visible { outline: none; }

&[with-checkmark] { position: relative; display: inline-flex; align-items: center; gap: var(--shadow-spacing-fixed);

& .icon-wrapper { display: flex; flex-shrink: 0; }

&[with-gift-options] { .checkmark-icon { display: block; /\* animation: unblur calc(var(--shadow-transition-duration) * 3) ease forwards; */ } } }

&[variant="link"] { background: none; border: none; color: var(--shadow-primary-text-color); font-size: var(--shadow-block-launcher-font-size, var(--shadow-launcher-font-size, var(--shadow-font-size-base))); font-weight: var(--shadow-font-weight-base); font-style: var(--shadow-button-font-style); letter-spacing: var(--shadow-button-letter-spacing); text-transform: var(--shadow-button-text-transform); text-decoration: none; margin-inline-start: -0.25rem; padding: var(--shadow-block-padding-block-start, 0) var(--shadow-block-padding-inline-end, 0) var(--shadow-block-padding-block-end, 0) var(--shadow-block-padding-inline-start, 0); width: auto;

&:hover { cursor: pointer; color: var(--shadow-primary-text-color--hover); text-decoration: underline; }

&[with-checkmark] { padding-left: 0; text-align: start; word-break: keep-all; }

& .button-content { flex-direction: row; justify-content: flex-start; } }

& .button-content { display: inline-flex; align-items: center; gap: var(--shadow-spacing-fixed);

flex-direction: var(--shadow-launcher-button-content-flex-direction); justify-content: var(--shadow-launcher-button-content-justify-content); width: 100%;

& .label { text-align: start; } }

& .icon-wrapper { display: none; align-items: center; justify-content: center; min-height: 1.5em; min-width: 1.5em;

svg { border-color: currentColor; }

.checkmark-icon { display: none; stroke: currentColor; } } } .gift-block__launcher:disabled, .gift-block__launcher[gifting-locked], .gift-block__launcher[region-unavailable] { cursor: var(--shadow-disabled-cursor); opacity: var(--shadow-disabled-opacity); pointer-events: none;

&[with-checkmark] { .icon-wrapper { opacity: var(--shadow-disabled-opacity-md); } } }

[data-part="subscription-notice"] { box-sizing: border-box; display: block; font-family: var(--shadow-font-family); font-size: calc(var(--shadow-font-size-base) * 0.875); margin-top: 4px; opacity: 0.7; padding-bottom: 1em; text-align: center;

& a { color: inherit; cursor: pointer; pointer-events: auto; text-decoration: underline; } }

gift-block-launcher:not([variant="inline"]) > [data-part="subscription-notice"] { margin-top: calc(4px - var(--shadow-spacing-xs)); max-width: var(--shadow-block-launcher-button-max-width, var(--shadow-launcher-button-max-width)); width: 100%; }

:host(wrapped-extension) > [data-part="subscription-notice"] { opacity: 1; }

/\* gift block modal */ .gift-block-modal { background-color: var(--shadow-primary-surface); border: none; border-radius: var(--shadow-border-radius-base); box-shadow: 0 var(--shadow-shadow-offset) var(--shadow-shadow-blur) var(--shadow-shadow-color); outline: var(--shadow-border-width) solid var(--shadow-block-border-surface); padding: 0; } .gift-block-modal::backdrop { background-color: rgba(156, 163, 175, 0.75); } .gift-block-modal:focus, .gift-block-modal:focus-visible { outline: var(--shadow-border-width) solid var(--shadow-block-border-surface); } @media (max-width: 768px) { .gift-block-modal { max-height: calc(100% - var(--shadow-spacing-sm)); max-width: calc(100% - var(--shadow-spacing-sm)); overscroll-behavior: contain; } }

/\* gift block modal layout */ .gift-block-modal-layout { display: grid; grid-template-areas: var(--shadow-grid-template-areas); grid-template-columns: 1fr 1fr; grid-template-rows: auto 1fr auto; max-height: 80dvh; max-width: 80dvw; overflow: hidden; } /\* Collapse to 1-column layout if media is hidden */ .gift-block-modal-layout:has(section#media[hidden]), .gift-block-modal-layout:has(section#media.with-media-inline), .gift-block-modal-layout:not(:has(section#media)), .gift-block-modal-layout:not(:has(section#media img)) { grid-template-areas: "gift-dialog-header" "content" "gift-block-actions"; grid-template-columns: 1fr; grid-template-rows: auto 1fr auto;

section#media { display: none; } }

gift-dialog-header { align-items: flex-start; background-color: var(--shadow-primary-surface); display: flex; flex-direction: row; gap: var(--shadow-spacing-fixed); grid-area: gift-dialog-header; justify-content: space-between; padding: var(--shadow-spacing-lg); position: sticky; top: 0; z-index: 1;

& h1 { color: var(--shadow-primary-text-color); font-family: var(--shadow-header-font-family); font-size: var(--shadow-font-size-lg); font-weight: var(--shadow-font-weight-md); line-height: 1.25em; margin: 0; }

/\* dismiss button styles */ & button { background-color: color-mix(in srgb, var(--shadow-secondary-text-color) 8%, transparent); color: var(--shadow-secondary-text-color); border-radius: var(--shadow-border-radius-xs); font-size: var(--shadow-font-size-sm); font-weight: var(--shadow-font-weight-lg); font-style: var(--shadow-button-font-style); letter-spacing: var(--shadow-button-letter-spacing); text-transform: var(--shadow-button-text-transform); width: 2.25em; height: 2.25em; min-width: 2.25em; min-height: 2.25em; outline: none; border: 0; cursor: pointer; transition: background-color var(--shadow-transition-duration) ease, color var(--shadow-transition-duration) ease;

&:hover { background-color: color-mix(in srgb, var(--shadow-secondary-text-color) 6%, var(--shadow-hover-style) 12%); }

&:active { background-color: color-mix(in srgb, var(--shadow-secondary-text-color) 16%, var(--shadow-hover-style) 16%); }

&:disabled { pointer-events: none; opacity: var(--shadow-disabled-opacity); } } }

.gift-block-modal-layout gift-block-actions { background-color: var(--shadow-primary-surface); bottom: 0; grid-area: gift-block-actions; overscroll-behavior: contain; position: sticky; z-index: 1;

/\* the buttons live in the component's own shadow; only its layout knobs are ours */ --shadow-actions-gap: var(--shadow-spacing-sm); --shadow-actions-padding: var(--shadow-spacing-lg); }

gift-dialog-content { display: contents; }

section#media { align-self: stretch; background-color: var(--shadow-secondary-surface); grid-area: media; grid-row: 1 / 4; height: 100%; padding: var(--shadow-spacing-lg); position: sticky; top: 0; transition: order var(--shadow-transition-duration) ease, width var(--shadow-transition-duration) ease;

&.with-media-cover { & img { height: 100%; } }

&.with-media-fill { padding: 0;

& img { border-radius: 0; height: 100%; } }

& shopify-media { & img { border-radius: var(--shadow-border-radius-sm); width: 100%; height: auto; } }

@media (min-width: 769px) { &.with-media-cover, &.with-media-fill { contain: size; } } }

section#content { grid-area: content; background-color: var(--shadow-primary-surface);

overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; -webkit-overflow-scrolling: touch;

padding: var(--shadow-spacing-lg); padding-bottom: 0; padding-top: 0;

position: relative; /* important to prevent content shifting when changing variants */

align-items: stretch; display: flex; flex-direction: column; justify-content: flex-start; gap: var(--shadow-spacing-lg); transition: order var(--shadow-transition-duration) ease;

@media (max-width: 768px) { & > *:first-child:not(:only-child) { margin-top: unset; } }

& gift-block-option-heading { display: block;

& span[data-part="label"] { color: var(--shadow-primary-text-color); display: block; font-size: var(--shadow-font-size-base); font-weight: var(--shadow-font-weight-md, 500); line-height: 1.25em; } }

& .gift-option-group { display: flex; flex-direction: column; gap: var(--shadow-spacing-lg); }

/\* gift product details */ & .gift-product { display: flex; flex-direction: column; gap: var(--shadow-spacing-base); }

& .gift-product-header { align-items: center; display: flex; flex-direction: var(--shadow-thumbnail-flex-direction); flex-wrap: wrap; row-gap: var(--shadow-spacing-base); column-gap: var(--shadow-spacing-sm); }

& .gift-product-content { display: flex; flex: 1 1 50%; flex-direction: column; gap: var(--shadow-spacing-xs); }

& .gift-product-media { display: flex; align-items: center;

&:has(shopify-media) { --shadow-inline-media-max-size: var(--shadow-gift-thumbnail-size); --shadow-inline-media-size: clamp(40px, var(--shadow-gift-thumbnail-size), var(--shadow-inline-media-max-size));

border-radius: var(--shadow-border-radius-sm);

height: var(--shadow-inline-media-size); width: var(--shadow-inline-media-size);

overflow: hidden;

margin-inline-start: auto; margin-inline-end: auto; }

& shopify-media { & img { border-radius: var(--shadow-border-radius-sm); width: 100%; height: auto; } } }

& .gift-product-title { color: var(--shadow-primary-text-color); display: var(--shadow-gift-product-title-display, block); font-size: var(--shadow-font-size-base); font-weight: var(--shadow-font-weight-md); margin: 0; } & .gift-product-pricing { display: flex; gap: var(--shadow-spacing-xs); margin: 0; font-weight: var(--shadow-font-weight-base); font-size: clamp(12px, calc(var(--shadow-font-size-base) * 0.94), 18px); line-height: 1em; } & .gift-product-price { color: var(--shadow-secondary-text-color); } & .gift-product-price--compare { color: var(--shadow-secondary-text-color); text-decoration: line-through; opacity: var(--shadow-disabled-opacity); } & .gift-product-description { font-weight: var(--shadow-font-weight-base); color: var(--shadow-secondary-text-color); font-size: clamp(12px, calc(var(--shadow-font-size-base) * 0.94), 18px); line-height: 1.5em;

& shopify-data { & :first-child { margin-top: 0; }

& :last-child { margin-bottom: 0; }

& ul { padding-left: var(--shadow-spacing-lg); } } } }

:host(wrapped-gift-block) gift-block-option-heading label { align-items: center; cursor: pointer; display: flex; gap: var(--shadow-spacing-sm); }

:host(wrapped-gift-block[gift-option-optional]) section#content .gift-option-group { border-radius: var(--shadow-border-radius-sm); position: relative; }

:host(wrapped-gift-block[gift-option-optional]:not([gift-option-included])) section#content .gift-option-group { pointer-events: none; }

:host(wrapped-gift-block[gift-option-optional]:not([gift-option-included])) section#content .gift-option-group::after { background-color: color-mix(in srgb, var(--shadow-primary-surface) 62%, transparent); border-radius: inherit; content: ''; inset: calc(var(--shadow-spacing-sm) * -1); position: absolute; }

/\* shopify variant selector */

:host(wrapped-extension) gift-variant-selector { --shadow-picker-padding: var(--shadow-block-padding-block-start, var(--shadow-spacing-sm)) var(--shadow-block-padding-inline-end, var(--shadow-spacing-base)) var(--shadow-block-padding-block-end, var(--shadow-spacing-sm)) var(--shadow-block-padding-inline-start, var(--shadow-spacing-base)); --shadow-picker-rows-padding: var(--shadow-block-padding); }

:host(wrapped-extension[saving="true"]) gift-variant-selector { --shadow-picker-opacity: 0.7; --shadow-picker-pointer-events: none; }

:host(wrapped-gift-block[gift-option-optional]:not([gift-option-included])) gift-variant-selector { --shadow-picker-selection-color: var(--shadow-form-element-border-color); --shadow-picker-selection-width: var(--shadow-field-border-width); --shadow-picker-swatch-selection-color: rgba(0, 0, 0, .1); }

:host(wrapped-extension[gift-option-optional="true"]:not([gift-option-included])) gift-variant-selector, :host(wrapped-gift-block[gift-option-optional="true"]:not([gift-option-included])) gift-variant-selector { --shadow-picker-card-accent: color-mix(in srgb, var(--shadow-form-element-border-color) 25%, transparent); --shadow-picker-card-opacity: 0.8; --shadow-picker-card-ring: transparent; --shadow-picker-radio-appearance: none; --shadow-picker-radio-border: var(--shadow-field-border-width) solid var(--shadow-form-element-border-color); --shadow-picker-radio-surface: var(--shadow-form-element-surface); --shadow-picker-row-shadow: none; --shadow-picker-row-surface: initial; }

wrapped-message-field { gap: var(--shadow-spacing-xs);

& label { color: var(--shadow-secondary-text-color); font-size: var(--shadow-font-size-sm); font-weight: var(--shadow-font-weight-base); line-height: 1em; }

& :is(input, textarea) { background-color: var(--shadow-form-element-surface); border: none; border-radius: var(--shadow-border-radius-sm); color: var(--shadow-form-element-text-color); font-family: var(--shadow-font-family); font-size: var(--shadow-font-size-base); margin: 0; min-height: 42px; outline: var(--shadow-field-border-width) solid var(--shadow-form-element-border-color); padding: var(--shadow-spacing-sm); width: 100%; }

& :is(input, textarea):is(:active, :focus, :focus-visible) { outline-color: var(--shadow-form-element-selection-color); outline-width: var(--shadow-outline-width); }

& :is(input, textarea)::placeholder { color: var(--shadow-form-element-placeholder-text-color); }

& textarea { min-height: 100px; resize: vertical; }

& span.counter { align-self: flex-end; color: var(--shadow-secondary-text-color); font-size: var(--shadow-font-size-sm); line-height: normal; } }

wrapped-message-field[disabled] { cursor: var(--shadow-disabled-cursor); opacity: var(--shadow-disabled-opacity-md); pointer-events: none; transition: background-color var(--shadow-transition-duration) ease, color var(--shadow-transition-duration) ease;

& :is(input, textarea) { background-color: var(--shadow-form-element-surface--disabled); color: transparent; outline-color: var(--shadow-form-element-border-color--disabled); } }

:host(wrapped-extension) { display: flex; flex-direction: column !important; height: fit-content !important; margin-block-start: var(--shadow-block-margin-start, var(--shadow-block-margin-block-start)) !important; margin-block-end: var(--shadow-block-margin-end, var(--shadow-block-margin-block-end)) !important; min-width: unset !important; max-width: 640px !important; padding: unset !important; width: unset !important; }

:host(wrapped-extension) wrapped-preset { background-color: var(--shadow-primary-surface); border: var(--shadow-border-width) solid var(--shadow-block-border-surface); border-radius: var(--shadow-border-radius-sm); color: var(--shadow-primary-text-color); display: flex; flex-direction: column; font-size: var(--shadow-font-size-base); overflow: hidden; }

:host(wrapped-extension[option-type="order"]) { margin-left: var(--shadow-block-margin-inline-start, auto) !important; margin-right: var(--shadow-block-margin-inline-end, 0) !important; width: -moz-available !important; width: -webkit-fill-available !important; width: stretch !important; }

:host(wrapped-extension[target-group="drawer"]) { width: -moz-available !important; width: -webkit-fill-available !important; width: stretch !important; }

:host(wrapped-extension[target-group="drawer"][option-type="order"]) { max-width: unset !important; margin-left: var(--shadow-block-margin-inline-start, 0) !important; margin-right: var(--shadow-block-margin-inline-end, 0) !important; margin-block-end: var(--shadow-block-margin-end, calc(var(--shadow-block-margin-block-end) * 0.5)) !important; }

wrapped-advanced-mode, wrapped-basic-mode { display: contents; }

:host(wrapped-gift-block) wrapped-preset { display: contents; }

:host(wrapped-extension) [data-part="feature"], :host(wrapped-extension) gift-block-launcher { overflow: hidden !important;

& [data-part="container"] { display: flex; flex-direction: column; row-gap: 0.25em;

& label { align-items: center !important; column-gap: var(--shadow-spacing-sm) !important; cursor: pointer !important; display: flex; line-height: normal !important; margin: 0 !important; pointer-events: auto !important; text-align: left !important; text-transform: unset !important; } } }

:host(wrapped-extension) [data-part="feature"] { background-color: var(--shadow-secondary-surface); }

:host(wrapped-extension) [data-part="feature"]:is([feature="variant"], [feature="gift-option"]) { display: block; }

:host(wrapped-extension) [data-part="feature"][enabled="false"] { display: none; opacity: 0; visibility: hidden; }

:host(wrapped-extension) [data-part="disclosure"] { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.25s cubic-bezier(0.42, 0, 0.58, 1); }

:host(wrapped-extension) [data-part="disclosure-content"] { display: flex; flex-direction: column; min-height: 0; opacity: 0; overflow: hidden; visibility: hidden; transition: opacity 0.25s, visibility 0.25s; }

:host(wrapped-extension[expanded="true"]) gift-block-launcher:has(~ [data-part="disclosure"] [data-part="feature"][enabled="true"]:not([singular="true"])) { border-bottom: var(--shadow-border-width) solid var(--shadow-block-border-surface); }

:host(wrapped-extension[expanded="true"]) [data-part="disclosure"], :host(wrapped-extension[hidden-checkbox="true"]) [data-part="disclosure"] { grid-template-rows: 1fr; }

:host(wrapped-extension[expanded="true"]) [data-part="disclosure-content"], :host(wrapped-extension[hidden-checkbox="true"]) [data-part="disclosure-content"] { opacity: 1; visibility: visible; }

:host(wrapped-extension[hidden-checkbox="true"]) gift-block-launcher { display: none; opacity: 0; visibility: hidden; }

:host(wrapped-extension[limited="true"]), :host(wrapped-extension[region-unavailable="true"]) { cursor: none !important; pointer-events: none !important; opacity: 0.6 !important;

& [data-part="container"] { & label { pointer-events: none !important; } } }

:host(wrapped-extension[saving="true"]) { & [data-part="container"] { & label { pointer-events: none !important;

& svg, input[type="radio"], span { opacity: 0.7 !important; transition: opacity 300ms cubic-bezier(0.25, 0.1, 0.25, 1); } }

& select { pointer-events: none !important; opacity: 0.7 !important; }

& button { pointer-events: none; opacity: 0.7; transition: opacity 300ms cubic-bezier(0.25, 0.1, 0.25, 1); } } }

:host(wrapped-extension) gift-block-launcher [data-part="container"] { padding: var(--shadow-block-padding);

& label { padding: 0 !important;

& span { &[data-part="label"] { border: unset !important; flex-grow: 1; font-size: var(--shadow-block-launcher-font-size, var(--shadow-launcher-font-size, var(--shadow-font-size-base))); padding: unset !important; }

&[data-part="pricing"] { align-content: center; font-size: var(--shadow-font-size-sm); white-space: nowrap; }

&[data-part="thumbnail"] { background-color: var(--shadow-form-element-surface); background-size: cover; background-position: center; background-repeat: no-repeat; border-radius: var(--shadow-border-radius-sm); min-height: var(--shadow-thumbnail-size); max-height: var(--shadow-thumbnail-size); min-width: var(--shadow-thumbnail-size); max-width: var(--shadow-thumbnail-size); height: 100%; width: 100%; display: inline-block; overflow: hidden; vertical-align: middle; order: var(--shadow-thumbnail-order);

margin-right: var(--shadow-thumbnail-margin-right); margin-left: var(--shadow-thumbnail-margin-left); } } }

}

:host(wrapped-extension) [feature="gift-option"] [data-part="container"] { padding: var(--shadow-block-padding);

& label { align-items: center; cursor: pointer; display: flex; gap: var(--shadow-spacing-sm); }

:host(wrapped-extension) gift-block-launcher [data-part="container"] label, :host(wrapped-extension) [feature="gift-option"] [data-part="container"] label, :host(wrapped-gift-block) gift-block-option-heading label { position: relative;

& input[type="checkbox"] { height: 1px; margin: 0; opacity: 0; pointer-events: none; position: absolute; width: 1px; }

& svg { background: var(--shadow-form-element-surface); border-color: var(--shadow-form-element-border-color); cursor: pointer; flex: 0 0 auto;

& .checkmark-icon { display: none; } }

& input:checked + svg { background: var(--shadow-selection-checked-surface); border-color: var(--shadow-selection-checked-surface);

& .checkmark-icon { display: block; stroke: white; } }

& input:focus-visible + svg { outline: var(--shadow-outline-width) solid var(--shadow-form-element-selection-color); outline-offset: var(--shadow-field-border-width); } }

:host(wrapped-extension[hidden-checkbox="false"][gift-option-optional="false"]) [feature="variant"][enabled="true"][singular="true"] { display: none; }

:host(wrapped-extension[gift-option-optional="true"]) .gift-option-group { transition: opacity 0.25s cubic-bezier(0.42, 0, 0.58, 1); }

:host(wrapped-extension[gift-option-optional="true"]:not([gift-option-included])) .gift-option-group { opacity: 0.5; pointer-events: none; }

:host(wrapped-extension[gift-option-optional="true"]) [feature="variant"][singular="true"] gift-variant-selector { --shadow-picker-list-overflow: auto; }

:host(wrapped-extension) gift-block-message { --shadow-message-gap: var(--shadow-spacing-sm); --shadow-message-padding: var(--shadow-block-padding); --shadow-message-input-flex: 1 1 40%;

& wrapped-message-field {

& label { color: var(--shadow-primary-text-color); }

& textarea { min-height: var(--shadow-textarea-min-height); } } }

:host(wrapped-extension) gift-block-actions { --shadow-actions-gap: var(--shadow-spacing-xs); --shadow-actions-padding: var(--shadow-block-padding); }

/\* media queries */ /\* md - and above */ @media (min-width: 768px) { wrapped-preset { --shadow-section-max-width: 420px; }

gift-dialog-content > section { min-width: var(--shadow-section-max-width); max-width: var(--shadow-section-max-width); }

gift-dialog-header, .gift-block-modal-layout gift-block-actions { min-width: var(--shadow-section-max-width); max-width: var(--shadow-section-max-width); } }

/\* md - and below */ @media (max-width: 768px) { wrapped-preset { --shadow-section-max-width: 390px; }

gift-dialog-content > section { min-width: var(--shadow-section-max-width); max-width: var(--shadow-section-max-width); }

gift-dialog-header, .gift-block-modal-layout gift-block-actions { min-width: var(--shadow-section-max-width); max-width: var(--shadow-section-max-width); }

gift-dialog-header { padding: var(--shadow-spacing-base); }

.gift-block-modal-layout gift-block-actions { --shadow-actions-padding: var(--shadow-spacing-base); }

.gift-block-modal-layout { grid-template-areas: "gift-dialog-header" "media" "content" "gift-block-actions"; grid-template-columns: 1fr; grid-template-rows: auto auto 1fr auto; max-height: calc(100dvh - var(--shadow-spacing-base)); max-width: 100dvw; }

gift-dialog-content { display: grid; grid-template-areas: "media" "content"; grid-template-columns: 1fr; grid-template-rows: auto 1fr; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }

section#media { background: none; grid-row: auto; position: relative; padding: 0;

& shopify-media { & img { border-radius: unset; min-height: var(--shadow-section-max-width); max-height: var(--shadow-section-max-width); } } }

section#content { overflow-y: unset; padding: var(--shadow-spacing-base);

&.with-media-inline { padding-top: 0; }

& .gift-product-media { &:has(shopify-media) { --shadow-inline-media-max-size: 330px; } } } }

/\* sm - and below */ @media (max-width: 480px) { wrapped-preset { --shadow-section-max-width: 100%; }

section#media { & shopify-media { & img { border-radius: unset; min-height: 350px; max-height: 350px; } } } }

@keyframes unblur { from { filter: blur(2px); } to { filter: blur(0px); } }

Skip to content

Join our newsletter to receive

🎁 [**15% off your first order!**](/content/collections/all-gifts "Shop All Gifts"/index.html) 🎁

Frequently Asked Questions.

Got questions? We got answers! Here you will find answers to some of the most commonly asked questions, plus useful links to our guides on craft salt, Himalayan salt blocks, chocolate, and even fermenting sausage. We regularly update this page.

Holiday Shipping Deadline: Please order by 12/13 for Holiday Day delivery!

Updated October 15th, 2026

Shipping

How long does it take to ship my order?

Most orders ship within 2-3 business days of receipt. Many are shipping sooner than that! We put a complimentary sweet bite in every order :-)

Please allow an additional 4-5 business days for the package to get to you once it leaves our shop. If you need your order by a certain date, please place your order with 7-10 days wiggle room to ensure it gets to you. We are picking, packing and shipping orders around the clock. Thank you for your understanding and support!

I'd like to place an order with multiple "Ship To" addresses. Can I do this in one order?

We are happy to accomodate bulk shipping orders. Please email us at hello@themeadow.com with your request.

Returns

What is your return policy?

We want to make you happy. If, for whatever reason, you are not completely satisfied with your purchase, your items may be returned for a full refund within 14 days of purchase (in shop orders) or receipt of your shipment (online orders).

However, due to health and safety regulations, we are unable to accept returns and all sales are final on the following items: chocolate bars, caramel sauces, drinking chocolates, anything perishable or otherwise edible (chips, caramel corn, nuts, etc)

[Our Return Policy](/content/pages/return-policy "Return Policy"/index.html)

Local Pickup

Are you currently offering curbside pickup in Portland?

Yes! "Porchside" Pickup at The Meadow SE Hawthorne

How it works:

You can order one of two ways in Portland:

Can I arrange to pick up at a different shop location?

Yes! Send us an email at hello@themeadow.com and we will arrange this for you! Please note our online inventory is tied to our physical Hawthorne retail shop, so when using our website, this is our default pickup location.

Product Stock

How can you do this to me?!  A product I love is out of stock.

It happens; sometimes tiny makers hit a snag in production, or we underestimate how much you love something, and your favorite goody sells out. But if you’re flipping out, imagine how hard people work to bring to you a thing worth flipping out over!  Shoot us a note and we’ll let you know the moment it’s back in. The best things are precious, and often rare!

Order Details

I forgot to include a Gift Note with my order or I need to update my "Ship To" address. Help!

Please respond to your order confirmation email or email us at hello@themeadow.com within 2 hours of placing of your order:

I just placed an order, but haven't received a confirmation email with my order number. Did you receive my order?

Yes, we most certainly received your order! Sometimes our confirmation emails go to spam folders. Please check there for an email from hello@themeadow.com with order details. All orders start with TM#. If you'd like to triple confirm any details of your order, please email us at hello@themeadow.com

I received a shipping confirmation email, but when I click on the tracking link there is no/limited information available.

Please check your tracking link again in 24 hours. It takes time to activate. Your package will get where it's going! And USPS, UPS and the like are really good at getting packages to people. *Our Heroes*

Discount Codes

I forgot to punch in a discount code. Can you/I still apply a discount code after I placed my order?

All discount codes or promos must be applied at the time of checkout. Only one discount code may be used at a time. Unfortunately, we are unable to retroactively apply discount codes after checkout. Thank you for your understanding.

I missed a sale or promotion. Can you retroactively apply it to my order?

All promos or sales must be applied during the promotion window. Unfortunately, we are unable to retroactively apply any sale or promo deals after the offer expires. Please sign up for our mailing list, or follow us on facebook and instagram @atthemeadow to stay up-to-date on any promos or sales.

Do you offer discount pricing or a discount code if I purchase 5 or more of an item, or have an order over a certain dollar amount?

Not at this time. If you are a restaurant, bar, chef, food manufacturer or retail shop interested in wholesale salt offerings, please connect with us at Bitterman Salt Co. or sales@bittermansalt.co

[Wholesale Program with Bitterman Salt Co.](/content/pages/wholesale "Wholesale Program with Bitterman Salt Co."/index.html)

Salt

Do you sell "Black Salt"?

Yes, we do. Here at The Meadow, we call it [Kala Namak Indian Black Salt](/content/collections/updated-products/products/kala-namak-coarse-rock-salt-indias-volcanic-black-salt?_pos=1&_sid=9db51a2f8&_ss=r "Kala Namak Indian Black Salt"/index.html). It's commonly used in vegan/vegetarian dishes, as it lends a sulfuric, eggy taste to many dishes, like tofu scrambles. It's also fantastic on curry!

Other Salt Resources

[Salt 101](/content/pages/salt-101 "Salt 101"/index.html)

[Minerals in Himalayan Pink Salt: Spectral Analysis](/content/pages/minerals-in-himalayan-pink-salt-spectral-analysis "Minerals in Himalayan Pink Salt: Spectral Analysis"/index.html)

[Guide to Curing with Salt](/content/pages/guide-to-curing-with-salt "Guide to Curing with Salt"/index.html)

[History of Salt](/content/pages/introduction-to-gourmet-salt "The History of Salt"/index.html)

[How to Salt Your Food](/content/pages/how-to-salt-your-food "How to Salt your Food"/index.html)

[What is Kala Namak, aka Indian Black Salt?](/content/pages/what-is-kala-namak-aka-indian-black-salt "What is Kala Namak, aka Indian Black Salt"/index.html)

Himalayan Salt Blocks

Do you have any information on salt blocks?

YES! *Brags for a moment*

We wrote the first ever book, in the history of ever, on [Salt Block Cooking**](/content/products/salt-block-cooking?_pos=1&_sid=68dd2d254&_ss=r "Salt Block Cooking by Mark Bitterman"/index.html). It's called... [**Salt Block Cooking**](/content/products/salt-block-cooking?_pos=1&_sid=68dd2d254&_ss=r "Salt Block Cooking by Mark Bitterman"/index.html) by Mark Bitterman (owner of The Meadow) _.**_ And with more than 400,000 copies sold, we are dang proud of this book. Check it out! If you've ever watched a video on YouTube where someone's cooking on a salt block, you've likely seen content in action from this book.

Also, for BBQ lovers: We wrote a new book for grilling on a salt block called, you guessed it, [Salt Block Grilling**](/content/products/bittermans-salt-block-grilling?_pos=4&_sid=68dd2d254&_ss=r "Salt Block Grilling by Mark Bitterman"/index.html) _.**_

Can you really cook on a salt block?

Yes, you sure can. We will be updating our guides to cooking on salt blocks. In the meantime, check out these old school, vintage guides we created some time ago.

[Himalayan Salt Blocks 101 | Guide to Himalayan Salt Blocks](/content/pages/guide-to-himalayan-salt-blocks "Himalayan Salt Block 101"/index.html)

[How to Cook Steak on a Himalayan Salt Block](/content/pages/how-to-cook-steak-on-a-himalayan-salt-block "How to Cook Steak on a Himalayan Salt Block"/index.html)

[Minerals in Himalayan Pink Salt: Spectral Analysis](/content/pages/minerals-in-himalayan-pink-salt-spectral-analysis "Minerals in Himalayan Pink Salt"/index.html)

Chocolate

Is your chocolate vegan?

We are lucky to carry an amazing selection of naturally vegan chocolate from an amazing community of beautiful artisan chocolate makers. That is to say, so many of the chocolates we sell contain only 2 or 3 ingredients: cacao, cocoa butter (vegan; naturally plant-derived from the cocoa pod); and sugar! We also just launched our own line of organic chocolate, much of which is vegan!

Other Chocolate Resources

[Chocolate 101](/content/pages/chocolate-101 "Chocolate 101"/index.html)

[How to Eat a Chocolate Bar](/content/pages/how-to-eat-a-chocolate-bar "How to Eat a Chocolate Bar"/index.html)

[How is Chocolate Made?](/content/pages/what-makes-the-best-dark-chocolate "How is Chocolate Made"/index.html)

Prefer to chat?

Give us a ring at 503-288-4633 or send us an email using the form below.

Name

Email *

Message *

send

Roses are red, violets are blue, we love cookies, how about you? We use cookies to ensure you get the best experience on our website. By clicking on "Accept all" you consent to our use of cookies. Learn more.

No, thanksAccept all

★ Reviews

Let customers speak for us

Based on 3616 reviews

Write a review

88%

(3183)

5%

(171)

3%

(103)

2%

(67)

3%

(92)

See all reviews

Sort byMost RecentHighest RatingLowest RatingOnly PicturesPictures FirstVideos FirstMost Helpful

Product Reviews (3576)Shop Reviews (40)

G

10/12/2026Cocktail Club - Up Your Cocktail Game with Bitters Delivered Straight to Your Door!

Ginger L.

Fantastic club!

The cocktail club is amazing! My husband and I look forward to its arrival each season. The cocktails are creative and delicious. The glassware is adorable and chic. The bitters and other gustatory surprises are unique and lovely. Highly recommend to anyone looking to try interesting new cocktails and upgraded twists on well-known drinks.

Read more

10

> The Meadow replied:

Hi Ginger, we're so thrilled to hear you and your husband enjoy the club! Thank you for your kind words and for recommending us. Cheers to many more delicious cocktails!

D

10/02/2026Bitterman's Salumami Seasoning Salt

David T

My Favorite, evolved

I swear the texture and consistency of this salt has changed since I first received as a gift several years ago. While still excellent in flavor, it is "chunkier" and moister now which takes away from its ease of sprinkling.

Read more

00

C

10/02/2026The Meadow Salt Set

Cameron N

My new go to gift depot

They have everything you could ever want as long as it’s salt or chocolate or helpful customer service. My experience here was delightful and I left with two gifts I know my loved ones will enjoy. I will be back.

Read more

00

A

09/29/2026Black Truffle Sea Salt

Anne Marie Bachmann

Love this salt!

I visited your store from Seattle about a year ago. I have since ordered gifts and salts and other products for me. This salt is my fav especially on popcorn and avocado salt.

Read more

00

C

09/22/2026Cafe Tasse Mini 4-Pack

Customer

Perfect little gift

A delightful bundle to give a friend as a token of appreciation. You can select different chocolates or go all in on one!

Read more

00

123

\ \

salt

chocolate

bar & pantry

gifts

about us

Log in

Search

Popular searches:

Most searched products:

themeadow.com

themeadow.com is blocked

This page has been blocked by an extension

ERR_BLOCKED_BY_CLIENT

Reload

This page has been blocked by an extension

themeadow.com

themeadow.com is blocked

This page has been blocked by an extension

ERR_BLOCKED_BY_CLIENT

Reload

This page has been blocked by an extension

shop.app

shop.app is blocked

This page has been blocked by an extension

ERR_BLOCKED_BY_CLIENT

Reload

This page has been blocked by an extension

Judge.me

Do you like surprises?

Join our newsletter for a special gift delivered straight to your inbox every month during your first year. Plus, get 15% off your first order.

This field is required

The email address must contain @ and a valid domain

Something went wrong!

sign up

Did you know? Our newsletter is the only place to access sales that can also be redeemed in our brick & mortar shops :)

Thanks for signing up!

Your welcome code for 15% off

is waiting in your inbox!

*Don't forget to check your spam and promotions folders.

You are already subscribed.

Not receiving our emails? Let us know at hello@themeadow.com!

Gorgias Shopper Engagement

Gorgias Floating ChatGorgias Floating Chat

Gorgias live chat messengerGorgias Live Chat