Taste of Portland Salt 6-Pack – 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); } }
Join our newsletter to receive
🎁 [**15% off your first order!**](/content/collections/all-gifts "Shop All Gifts"/index.html) 🎁
Open media in gallery view
Open media in gallery view
Open media in gallery view
1 / of3
Taste of Portland Salt 6-Pack
Regular price $ 46.00
Sale price $ 46.00 Regular price~~~~
Unit price
/per
Sold out
11 reviews
Quantity(0 in cart)
Decrease quantity for Taste of Portland Salt 6-PackIncrease quantity for Taste of Portland Salt 6-Pack
Add to cart
Buy with
Pickup available at The Meadow - www.themeadow.com
Usually ready in 24 hours
View store information
- Free Shipping for orders $125+
Made to Order
Description
Play Portland's Greatest Hits! Taste your way through the city's favorites with these six flavored salts. Sprinkle with gusto on freshly baked bread and unsalted butter, green salad, fried chicken, donuts, ramen, burgers and more...
This set includes six 1.2oz by volume cork top jars of the following house-infused salts:
[Bitterman's Roasted Garlic](/content/products/bittermans-roasted-garlic-salt?_pos=1&_sid=af3834e82&_ss=r "Bitterman's Roasted Garlic Salt"/index.html) - Sun-evaporated fleur de sel is harvested by hand and then craftily infused with pure organic garlic. Sprinkle on pasta, popcorn, and scalloped potatoes, sautéed squash. Mash into unsalted butter for other worldly garlic bread. Use as a topping for everything from pizza to tomato salad, or in sauces from béchamel to bolognese.
[Bitterman's Fleur de Hell](/content/products/fleur-de-hell?_pos=1&_sid=bc7d9e9f6&_ss=r "Bitterman's Fleur de Hell Ghost Pepper Infused Sea Salt"/index.html) [™](/content/products/fleur-de-hell?_pos=1&_sid=bc7d9e9f6&_ss=r "Bitterman's Fleur de Hell Ghost Pepper Infused Sea Salt"/index.html)-Fleur de Sel meets Ghost Pepper. One of the hottest peppers in the world, India's legendary Bhut Jolokia (Ghost Pepper) is expertly infused by Selmelier and James Beard Award winning author Mark Bitterman into the glittering crystals of the salt worlds natural born leader, fleur de sel.
Sprinkled on food, you get mysterious mineral excitement trailing off a molten meteor of fiery flavors. Impossible to explain. Scovilliain fireworks for the mouth. Try Fleur de Hell on stir fried bok choy, shitakes, rice noodles. Get the corn on the cob your mother never fed you, slathered in butter, spiked with lime juice, and set on fire with Fleur de Hell. Toss Fleur de Hell over Calabria-inspired sesame-oil seared eggplant and red onions. Ceviche with this salt on top will never be the same. And to heck with chili pepper flakes, this is the way to go for Pizza. If salty flavors appeal to our need for vital minerals, bring balance, and center us, then spicy flavors beckon our spirits to the horizon, set us loose in the shimmering deserts of discovery and abandonment. Once you eat Fleur de Hell, you may never come back.
[Bitterman's Herbes de Northwest](/content/products/bittermans-herbes-de-northwest-sea-salt?_pos=1&_sid=443c77362&_ss=r "Bitterman's Herbes de Northwest Salt"/index.html) [™](/content/products/bittermans-herbes-de-northwest-sea-salt?_pos=1&_sid=443c77362&_ss=r "Bitterman's Herbes de Northwest Salt"/index.html)-Enjoy the flavor and aroma of the bold Pacific Northwest! Scatter liberally over goat cheese, omelets and anything grilled. Blue spruce aroma and with sun-kissed sea salt elevate Provence's timeless blend of lavender, thyme, sage, marjoram, and rosemary.
[**Bitterman's Chili Lime**](/content/products/bittermans-chile-lime-sea-salt?_pos=1&_sid=7011bc3ba&_ss=r "Bitterman's Chili Lime"/index.html) - Spicy-tangy confetti for grilled chicken, rice and beans, fajitas, taco salads, avocado toasts, margaritas, and daiquiris! This baby sounds simple enough, looks innocent enough. But don't let that fool you. Bitterman's Chili Lime Salt packs a (expertly administered) Mil Máscaras-style body slam of flavor in every pinch. Hand-harvested fleur de sel infused with luscious lime, a banquet of spices, and daringly hot guajillo chili peppers.
[Sokol Blosser Pinot Noir Salt](/content/products/bittermans-pinot-noir-salt?variant=1283805872 "Bitterman's Sokol Blosser Pinot Noir Salt"/index.html)-At long last! A match made in super snackable heaven: Sokol Blosser Winery Dundee Hills 2012 Pinot Noir Salt + your favorite goat cheese + fig jam. We've been working with Sokol Blosser's vintage pinot noir - delicious in its own right - for months now, to get juuuust the right formula. Infused gently with [Bitterman Salt Co.'s sun evaporated fleur de sel](/content/products/bittermans-fleur-de-sel-sea-salt "Bitterman Salt Co. Fleur de Sel"/index.html), the end result is the most unexpectedly addicting addition to cheese... Since God invented the macaroni noodle.
This salt has a strong aroma, bright visual impact, and a tamarind-like tart sweetness. Sprinkle it on all manner of hard and soft cheeses, maple-glazed coho salmon, paprika rubbed pork loin, braised lamb shank with sage, duck fat roasted winter root vegetables, or pinch a few grains atop baklava or pistachio ice cream.
[Blue Lavender Flake](/content/collections/updated-products/products/bittermans-blue-lavender?_pos=2&_sid=d0afcd89a&_ss=r "Bitterman's Blue Lavender Flake Salt"/index.html)-A bright sun meets rugged beauty with sea salt infused with lavender grown here in Oregon. Sprinkle these boldly herbaceous lavender flakes on ice creams, pastries, salads, fish.
Net weight by volume:
- Includes 6 Cork Top Jars Jars: 1.2oz each
- Made in Portland, Oregon!
Shipping Details
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 :-)
Ask a question
Customer Reviews
91%
(10)
0%
(0)
9%
(1)
0%
(0)
0%
(0)
See all reviews
Sort byMost RecentHighest RatingLowest RatingOnly PicturesPictures FirstVideos FirstMost Helpful
A
01/19/2026
Alexis
Cute little jars and good variety of salts.
Read more
Review written in Shop App
00
S
02/22/2024
Stephanie Michael
Perfect gift!
Ordered this set of salts for a friend’s birthday and they were the perfect gift! Fast shipping and the salts arrived in a beautiful packaged box. Would definitely order again.
Read more
Review collected via store invitation
Review earned a reward for future purchase
00
P
12/21/2023
Patty
The gift was well received and she was excited to try them all!
Read more
Review written in Shop App
00
M
01/05/2023
Marni K Afryl
A Smashing Hit!
I purchased this as a gift for some friends who live in California. They are food lovers and great cooks and they loved it! It was a home run!
Read more
Review collected via store invitation
Review earned a reward for future purchase
00
J
07/18/2022
Jennifer Haushalter
Amazing Artisanal Salts
We were blown away by how adorably packaged these salts were presented. We have already started digging into the various flavors and love them all! Thank you for providing an exceptional product!
Read more
Review collected via store invitation
Review earned a reward for future purchase
30
> The Meadow replied:
Thank you so much for the review! We love seeing your photos and hope you enjoy the salts!
123
Pairs well with...
The Meadow Pewter Salt Spoon - Flower Tip
Add to cart
6 reviews The Meadow Pewter Salt Spoon - Flower Tip
Regular price $ 6.00
Sale price $ 6.00 Regular price~~~~
Unit price
/per
Add to cart
14 reviews Grilling Salt Set
Regular price $ 40.00
Sale price $ 40.00 Regular price~~~~
Unit price
/per
33 reviews The Meadow Salt Set
Regular price From $ 36.00
Sale price From $ 36.00 Regular price~~~~
Unit price
/per
The Meadow Pewter Salt Spoon - Round Tip
Add to cart
6 reviews The Meadow Pewter Salt Spoon - Round Tip
Regular price $ 6.00
Sale price $ 6.00 Regular price~~~~
Unit price
/per
Add to cart
19 reviews Foundation Salt Set
Regular price $ 28.00
Sale price $ 28.00 Regular price~~~~
Unit price
/per
Add to cart
1 review Taste of New York Salt 6-Pack
Regular price $ 44.00
Sale price $ 44.00 Regular price~~~~
Unit price
/per
80 reviews Salt Starter Set
Regular price From $ 24.00
Sale price From $ 24.00 Regular price~~~~
Unit price
/per
Add to cart
46 reviews Mystery Salt
Regular price $ 5.00
Sale price $ 5.00 Regular price~~~~
Unit price
/per
Taste of Portland Salt 6-Pack
Regular price $ 46.00
Sale price $ 46.00 Regular price~~~~
Unit price
/per
Default Title
Decrease quantity for Taste of Portland Salt 6-PackIncrease quantity for Taste of Portland Salt 6-Pack
Add to cart
- Choosing a selection results in a full page refresh.
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
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
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.
Cocktail Club - Up Your Cocktail Game with Bitters Delivered Straight to Your Door!
Randy S.
Oooh Mommy!!! A house guest gifted us a box of this recently after visiting Portland. I had some purple sourdough and just made a new batch because this was past its prime. I made croutons and dusted them with Bitterman's Parmesan Truffle Salt. Ooooh Mommy! This stuff is the bomb! I hope my guests come to visit again soon on their way back from Portland.
Parmesan Truffle Salt
Dk
Big taste…. Little store Going to The Meadow is one of my favorite things to do when I’m in SoHo. Miguel is so kind and his smile is so welcoming! The dark chocolate sea salt caramels are just one of my favs!
The Meadow
Bob Mik
A Fantastic Plant-Based Flight! What started as a stocking stuffer for my wife for Christmas turned into a fun evening event tasting a great mix of chocolates from around the world. While we have our favorites the amongst the offering, each bar had its own qualities and distinction to make each taste along the flight enjoyable. And it is proof a vegan alternate is not a sacrifice. In fact it may be superior!
Vegan Milk Chocolate Tasting Flight Box
Amanda Riebe
The best paprika we've ever had! My partner is the chef of our household and couldn't stop talking about how good this was. We used it in a homemade dressing for a southwest chicken salad and it was delicious!
Bitterman's Smoked Pimentón from Spain
Ask a question
Your name
Your email
Your phone
Your message
The fields marked * are required.
Send question
\ \
salt
chocolate
bar & pantry
gifts
about us
Search
Popular searches:
Most searched products:
- \ \ Black Truffle Sea Salt\ \ Regular price\ $ 18.00\ \ \ Sale price\ $ 18.00\ Regular price~~~~\ \ Unit price\ \ /per](/content/products/black-truffle-sea-salt/index.html)
- \ \ Salt Starter Set\ \ Regular price\ $ 24.00\ \ \ Sale price\ $ 24.00\ Regular price~~~~\ \ Unit price\ \ /per](/content/products/salt-starter-set/index.html)
- \ \ Parmesan Truffle Salt\ \ Regular price\ $ 22.00\ \ \ Sale price\ $ 22.00\ Regular price~~~~\ \ Unit price\ \ /per](/content/products/parmesan-truffle-salt/index.html)
- \ \ Bitterman's Fleur de Sel Sea Salt\ \ Regular price\ $ 15.00\ \ \ Sale price\ $ 15.00\ Regular price~~~~\ \ Unit price\ \ /per](/content/products/bittermans-fleur-de-sel-sea-salt/index.html)
- \ \ The Meadow Salt Set\ \ Regular price\ $ 36.00\ \ \ Sale price\ $ 36.00\ Regular price~~~~\ \ Unit price\ \ /per](/content/products/the-meadow-salt-set/index.html)
themeadow.com
themeadow.com is blocked
This page has been blocked by an extension
- Try disabling your extensions.
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
- Try disabling your extensions.
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
- Try disabling your extensions.
ERR_BLOCKED_BY_CLIENT
Reload
This page has been blocked by an extension
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
Taste of Portland Salt 6-Pack
The Meadow - www.themeadow.com
Pickup available, usually ready in 24 hours
3731 Southeast Hawthorne Boulevard
Portland OR 97214
United States
+15032884633