/* Color custom properties */

:root,
.color-background-1 {
  --color-foreground: var(--color-base-text);
  --color-background: var(--color-base-background-1);
  --gradient-background: var(--gradient-base-background-1);
}

.color-background-2 {
  --color-background: var(--color-base-background-2);
  --gradient-background: var(--gradient-base-background-2);
}

.color-inverse {
  --color-foreground: var(--color-base-background-1);
  --color-background: var(--color-base-text);
  --gradient-background: rgb(var(--color-base-text));
}

.color-accent-1 {
  --color-foreground: var(--color-base-solid-button-labels);
  --color-background: var(--color-base-accent-1);
  --gradient-background: var(--gradient-base-accent-1);
}

.color-accent-2 {
  --color-foreground: var(--color-base-solid-button-labels);
  --color-background: var(--color-base-accent-2);
  --gradient-background: var(--gradient-base-accent-2);
}

.color-foreground-outline-button {
  --color-foreground: var(--color-base-outline-button-labels);
}

.color-foreground-accent-1 {
  --color-foreground: var(--color-base-accent-1);
}

.color-foreground-accent-2 {
  --color-foreground: var(--color-base-accent-2);
}

:root,
.color-background-1 {
  --color-link: var(--color-base-outline-button-labels);
  --alpha-link: 0.85;
}

.color-background-2,
.color-inverse,
.color-accent-1,
.color-accent-2 {
  --color-link: var(--color-foreground);
  --alpha-link: 0.7;
}

:root,
.color-background-1 {
  --color-button: var(--color-base-accent-1);
  --color-button-text: var(--color-base-solid-button-labels);
  --alpha-button-background: 1;
  --alpha-button-border: 1;
}

.color-background-2,
.color-inverse,
.color-accent-1,
.color-accent-2 {
  --color-button: var(--color-foreground);
  --color-button-text: var(--color-background);
}

.button--secondary {
  --color-button: var(--color-base-outline-button-labels);
  --color-button-text: var(--color-base-outline-button-labels);
  --alpha-button-background: 0;
}

.color-background-2 .button--secondary,
.color-inverse .button--secondary,
.color-accent-1 .button--secondary,
.color-accent-2 .button--secondary {
  --color-button: var(--color-foreground);
  --color-button-text: var(--color-foreground);
}

.button--tertiary {
  --color-button: var(--color-base-outline-button-labels);
  --color-button-text: var(--color-base-outline-button-labels);
  --alpha-button-background: 0;
  --alpha-button-border: 0.2;
}

.color-background-2 .button--tertiary,
.color-inverse .button--tertiary,
.color-accent-1 .button--tertiary,
.color-accent-2 .button--tertiary {
  --color-button: var(--color-foreground);
  --color-button-text: var(--color-foreground);
}

:root,
.color-background-1 {
  --color-badge-background: var(--color-background);
  --color-badge-border: var(--color-foreground);
  --alpha-badge-border: 0.1;
}

.color-background-2,
.color-inverse,
.color-accent-1,
.color-accent-2 {
  --color-badge-background: var(--color-background);
  --color-badge-border: var(--color-background);
  --alpha-badge-border: 1;
}

:root,
.color-background-1,
.color-background-2 {
  --color-card-hover: var(--color-base-text);
}

.color-inverse {
  --color-card-hover: var(--color-base-background-1);
}

.color-accent-1,
.color-accent-2 {
  --color-card-hover: var(--color-base-solid-button-labels);
}

:root,
.color-icon-text {
  --color-icon: rgb(var(--color-base-text));
}

.color-icon-accent-1 {
  --color-icon: rgb(var(--color-base-accent-1));
}

.color-icon-accent-2 {
  --color-icon: rgb(var(--color-base-accent-2));
}

.color-icon-outline-button {
  --color-icon: rgb(var(--color-base-outline-button-labels));
}

.color-light-text {
  color: rgba(var(--color-base-text), 0.6);
}

/* base */

.no-js:not(html) {
  display: none !important;
}

html.no-js .no-js:not(html) {
  display: block !important;
}

.no-js-inline {
  display: none !important;
}

html.no-js .no-js-inline {
  display: inline-block !important;
}

html.no-js .no-js-hidden {
  display: none !important;
}

.page-width {
  max-width: var(--page-width);
  margin: 0 auto;
  padding: 0 1.5rem;
}

.page-width-desktop {
  padding: 0;
  margin: 0 auto;
}

@media screen and (min-width: 750px) {
  .page-width {
    padding: 0 5rem;
  }

  .page-width--narrow {
    padding: 0 9rem;
  }

  .page-width-desktop {
    padding: 0;
  }
}

@media screen and (min-width: 990px) {
  .page-width--narrow {
    max-width: 72.6rem;
    padding: 0;
  }

  .page-width-desktop {
    max-width: var(--page-width);
    padding: 0 5rem;
  }
}

.element-margin {
  margin-top: 5rem;
}

.spaced-section {
  margin-top: 5rem;
}

.spaced-section:last-child {
  margin-bottom: 5rem;
}

.spaced-section--full-width + .spaced-section--full-width {
  margin-top: 0;
}

.spaced-section--full-width:first-child {
  margin-top: 0;
}

.spaced-section--full-width:last-child {
  margin-bottom: 0;
}

.mt-0{
  margin-top: 0 !important;
}

.mt-1{
  margin-top: 0.5rem !important;
}

.mt-2{
  margin-top: 1rem !important;
}

.mt-3{
  margin-top: 1.5rem !important;
}

.mt-4{
  margin-top: 2rem !important;
}

.mb-0{
  margin-bottom: 0 !important;
}

.mb-1{
  margin-bottom: 0.5rem !important;
}

.mb-2{
  margin-bottom: 1rem !important;
}

.mb-3{
  margin-bottom: 1.5rem !important;
}

.mb-4{
  margin-bottom: 2rem !important;
}

.ml-1 {
  margin-left: 0.5rem !important;
}

.ml-2 {
  margin-left: 1rem !important;
}

.p-2{
  padding: 1rem !important;
}

.p-3{
  padding: 2rem !important;
}

.pt-0{
  padding-top: 0 !important;
}

.pb-0{
  padding-bottom: 0 !important;
}

.pl-0 {
  padding-left: 0 !important;
}

.py-1 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.lh-2{
  line-height: 1.2 !important;
}

.gap-x-2 {
  column-gap: 1rem;
}

.gap-y-1 {
  row-gap: 0.5rem;
}

.gap-y-2 {
  row-gap: 1rem;
}

body,
.color-background-1,
.color-background-2,
.color-inverse,
.color-accent-1,
.color-accent-2 {
  color: rgba(var(--color-foreground), 0.75);
  background-color: rgb(var(--color-background));
}

.background-secondary {
  background-color: rgba(var(--color-foreground), 0.04);
  padding: 4rem 0 5rem;
}

@media screen and (min-width: 750px) {
  .background-secondary {
    padding: 6rem 0 5rem;
  }
}

.grid-auto-flow {
  display: grid;
  grid-auto-flow: column;
}

.page-margin,
.challenge__container {
  margin: 7rem auto;
}

.rte-width {
  max-width: 82rem;
  margin: 0 auto 2rem;
}

.rte, img{
  max-width: 100%;
}

.list-unstyled {
  margin: 0;
  padding: 0;
  list-style: none;
}

.hidden, .hide {
  display: none !important;
}

.transparent {
  opacity: 0 !important;
}

.visually-hidden {
  position: absolute !important;
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  word-wrap: normal !important;
}

.visually-hidden--inline {
  margin: 0;
  height: 1em;
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-auto {
  overflow: auto;
}

.skip-to-content-link:focus {
  z-index: 9999;
  position: inherit;
  overflow: auto;
  width: auto;
  height: auto;
  clip: auto;
}

.full-width-link {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
}

h1,
h2,
h3,
h4,
h5,
.h0,
.h1,
.h2,
.h3,
.h4,
.h5 {
  font-family: var(--font-heading-family);
  font-style: var(--font-heading-style);
  font-weight: var(--font-heading-weight);
  letter-spacing: 0.06rem;
  color: rgb(var(--color-foreground));
  line-height: 1.3;
}

.h0 {
  font-size: 4rem;
}

@media only screen and (min-width: 750px) {
  .h0 {
    font-size: 5.2rem;
  }
}

h1,
.h1 {
  font-size: 3rem;
}

@media only screen and (min-width: 750px) {
  h1,
  .h1 {
    font-size: 4rem;
  }
}

h2,
.h2 {
  font-size: 2rem;
}

@media only screen and (min-width: 750px) {
  h2,
  .h2 {
    font-size: 2.4rem;
  }
}

h3,
.h3 {
  font-size: 1.7rem;
}

@media only screen and (min-width: 750px) {
  h3,
  .h3 {
    font-size: 1.8rem;
  }
}

h4,
.h4 {
  font-family: var(--font-heading-family);
  font-style: var(--font-heading-style);
  font-size: 1.5rem;
}

h5,
.h5 {
  font-size: 1.2rem;
}

@media only screen and (min-width: 750px) {
  h5,
  .h5 {
    font-size: 1.3rem;
  }
}

h6,
.h6 {
  color: rgba(var(--color-foreground), 0.75);
  margin-block-start: 1.67em;
  margin-block-end: 1.67em;
}

blockquote {
  font-style: italic;
  color: rgba(var(--color-foreground), 0.75);
  border-left: 0.2rem solid rgba(var(--color-foreground), 0.2);
  padding-left: 1rem;
}

@media screen and (min-width: 750px) {
  blockquote {
    padding-left: 1.5rem;
  }
}

.caption {
  font-size: 1rem;
  letter-spacing: 0.07rem;
  line-height: 1.7;
}

@media screen and (min-width: 750px) {
  .caption {
    font-size: 1.2rem;
  }
}

.caption-with-letter-spacing {
  font-size: 1rem;
  letter-spacing: 0.13rem;
  line-height: 1.2;
  text-transform: uppercase;
}

.caption-large,
.customer .field input,
.customer select,
.field__input,
.form__label,
.select__select {
  font-size: 1.3rem;
  line-height: 1.5;
  letter-spacing: 0.04rem;
}

.color-foreground {
  color: rgb(var(--color-foreground));
}

table:not([class]) {
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 1.4rem;
  border-style: hidden;
  box-shadow: 0 0 0 0.1rem rgba(var(--color-foreground), 0.2);
  /* draws the table border  */
}

table:not([class]) td,
table:not([class]) th {
  padding: 1em;
  border: 0.1rem solid rgba(var(--color-foreground), 0.2);
}

.hidden {
  display: none !important;
}

@media screen and (max-width: 749px) {
  .small-hide {
    display: none !important;
  }
}

@media screen and (min-width: 750px) and (max-width: 989px) {
  .medium-hide {
    display: none !important;
  }
}

@media screen and (min-width: 990px) {
  .large-up-hide {
    display: none !important;
  }
}

.center {
  text-align: center;
}

.right {
  text-align: right;
}

.uppercase {
  text-transform: uppercase;
}

.light {
  opacity: 0.7;
}

a:empty,
ul:empty,
dl:empty,
div:empty,
section:empty,
article:empty,
p:empty,
h1:empty,
h2:empty,
h3:empty,
h4:empty,
h5:empty,
h6:empty {
  display: none;
}

.link,
.customer a {
  cursor: pointer;
  display: inline-block;
  border: none;
  box-shadow: none;
  text-decoration: underline;
  text-underline-offset: 0.3rem;
  color: rgb(var(--color-link));
  background-color: transparent;
  font-size: 1.4rem;
  font-family: inherit;
}

.customer a.h3 {
  font-size: 1.8rem;
}

.link--text {
  color: rgb(var(--color-foreground));
}

.link--text:hover {
  color: rgba(var(--color-foreground), 0.75);
}

.link-with-icon {
  display: inline-flex;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.1rem;
  text-decoration: none;
  margin-bottom: 3.5rem;
  white-space: nowrap;
}

.link-with-icon .icon {
  width: 1.5rem;
  margin-left: 1rem;
}

.circle-divider::after {
  content: '\2022';
  margin: 0 1.3rem 0 1.5rem;
}

.circle-divider:last-of-type::after {
  display: none;
}

hr {
  border: none;
  height: 0.1rem;
  background-color: rgba(var(--color-foreground), 0.2);
  display: block;
  margin: 5rem 0;
}

@media screen and (min-width: 750px) {
  hr {
    margin: 7rem 0;
  }
}

.full-unstyled-link {
  text-decoration: none;
  color: currentColor;
  display: block;
}

.placeholder {
  background-color: rgba(var(--color-foreground), 0.04);
  color: rgba(var(--color-foreground), 0.55);
  fill: rgba(var(--color-foreground), 0.55);
}

details > * {
  box-sizing: border-box;
}

.break {
  word-break: break-word;
}

.visibility-hidden {
  visibility: hidden;
}

@media (prefers-reduced-motion) {
  .motion-reduce {
    transition: none !important;
  }
}

:root {
  --duration-short: 100ms;
  --duration-default: 200ms;
  --duration-long: 500ms;
}

.underlined-link,
.customer a {
  color: rgba(var(--color-link), var(--alpha-link));
  text-underline-offset: 0.3rem;
  text-decoration-thickness: 0.1rem;
  transition: text-decoration-thickness ease 100ms;
}

.underlined-link:hover,
.customer a:hover {
  color: rgb(var(--color-link));
  text-decoration-thickness: 0.2rem;
}

.icon-arrow {
  width: 1.5rem;
}

/* arrow animation */
.animate-arrow .icon-arrow path {
  transform: translateX(-0.25rem);
  transition: transform var(--duration-short) ease;
}

.animate-arrow:hover .icon-arrow path {
  transform: translateX(-0.05rem);
}

/* base-details-summary */
summary {
  cursor: pointer;
  list-style: none;
  position: relative;
}

summary .icon-caret {
  position: absolute;
  height: 0.6rem;
  right: 1.5rem;
  top: calc(50% - 0.2rem);
}

summary::-webkit-details-marker {
  display: none;
}

.disclosure-has-popup {
  position: relative;
}

.disclosure-has-popup[open] > summary::before {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: block;
  cursor: default;
  content: ' ';
  background: transparent;
}

.disclosure-has-popup > summary::before {
  display: none;
}

.disclosure-has-popup[open] > summary + * {
  z-index: 100;
}

@media screen and (min-width: 750px) {
  .disclosure-has-popup[open] > summary + * {
    z-index: 2;
  }
}

/* base-focus */
/*
  Focus ring - default (with offset)
*/

*:focus {
  outline: 0;
  box-shadow: none;
}

*:focus-visible {
  outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
  outline-offset: 0.3rem;
  box-shadow: 0 0 0 0.3rem rgb(var(--color-background)),
    0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3);
}

/* Fallback - for browsers that don't support :focus-visible, a fallback is set for :focus */
.focused, .no-js *:focus {
  outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
  outline-offset: 0.3rem;
  box-shadow: 0 0 0 0.3rem rgb(var(--color-background)),
    0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3);
}

/* Negate the fallback side-effect for browsers that support :focus-visible */
.no-js *:focus:not(:focus-visible) {
  outline: 0;
  box-shadow: none;
}


/*
  Focus ring - inset
*/

.focus-inset:focus-visible {
  outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
  outline-offset: -0.2rem;
  box-shadow: 0 0 0.2rem 0 rgba(var(--color-foreground), 0.3);
}

.focused.focus-inset, .no-js .focus-inset:focus {
  outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
  outline-offset: -0.2rem;
  box-shadow: 0 0 0.2rem 0 rgba(var(--color-foreground), 0.3);
}

.no-js .focus-inset:focus:not(:focus-visible) {
  outline: 0;
  box-shadow: none;
}

/*
  Focus ring - none
*/

/* Dangerous for a11y - Use with care */
.focus-none {
  box-shadow: none !important;
  outline: 0 !important;
}

.focus-offset:focus-visible {
  outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
  outline-offset: 1rem;
  box-shadow: 0 0 0 1rem rgb(var(--color-background)),
    0 0 0.2rem 1.2rem rgba(var(--color-foreground), 0.3);
}

.focus-offset.focused, .no-js .focus-offset:focus {
  outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
  outline-offset: 1rem;
  box-shadow: 0 0 0 1rem rgb(var(--color-background)),
    0 0 0.2rem 1.2rem rgba(var(--color-foreground), 0.3);
}

.no-js .focus-offset:focus:not(:focus-visible) {
  outline: 0;
  box-shadow: none;
}

/* component-title */
.title,
.title-wrapper-with-link {
  margin: 3rem 0 2rem;
}

.title-wrapper-with-link .title {
  margin: 0;
}

.title-wrapper {
  margin-bottom: 3rem;
}

.title-wrapper-with-link {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
  margin: 4rem 0 3rem;
  flex-wrap: wrap;
}

.title--primary {
  margin: 4rem 0;
}

.title-wrapper--self-padded-tablet-down,
.title-wrapper--self-padded-mobile {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

@media screen and (min-width: 750px) {
  .title-wrapper--self-padded-mobile {
    padding-left: 0;
    padding-right: 0;
  }
}

@media screen and (min-width: 990px) {
  .title,
  .title-wrapper-with-link {
    margin: 5rem 0 3rem;
  }

  .title--primary {
    margin: 2rem 0;
  }

  .title-wrapper-with-link {
    align-items: center;
  }

  .title-wrapper-with-link .title {
    margin-bottom: 0;
  }

  .title-wrapper--self-padded-tablet-down {
    padding-left: 0;
    padding-right: 0;
  }
}

.title-wrapper-with-link .link-with-icon {
  margin: 0;
  flex-shrink: 0;
  display: flex;
  align-items: center;
}

.title-wrapper-with-link .link-with-icon svg {
  width: 1.5rem;
}

.title-wrapper-with-link a {
  color: rgb(var(--color-link));
  margin-top: 0;
  flex-shrink: 0;
}

@media screen and (min-width: 990px) {
  .title-wrapper-with-link.title-wrapper-with-link--no-heading {
    display: none;
  }
}

.subtitle {
  font-size: 1.8rem;
  line-height: 1.8;
  letter-spacing: 0.05rem;
  color: rgba(var(--color-foreground), 0.7);
}

/* component-grid */
.grid {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 2rem;
  margin-left: -1rem;
  padding: 0;
  list-style: none;
}

@media screen and (min-width: 750px) {
  .grid {
    margin-left: -3rem;
  }
}

.grid__item {
  padding-left: 1rem;
  padding-bottom: 1rem;
  width: calc(25% - 1rem * 3 / 4);
  max-width: 50%;
  flex-grow: 1;
  flex-shrink: 0;
}

.slider--tablet.grid--peek .grid__item.slider__slide,
.grid__item.slider__slide{
  margin-top: 2rem;
}

@media screen and (min-width: 750px) {
  .grid__item {
    padding-left: 3rem;
    padding-bottom: 3rem;
    width: calc(25% - 3rem * 3 / 4);
    max-width: 50%;
  }
}

.grid--gapless .grid__item {
  padding-left: 0;
  padding-bottom: 0;
}

@media screen and (max-width: 749px) {
  .grid__item.slider__slide--full-width {
    width: 100%;
    max-width: none;
  }
}

@media screen and (min-width: 750px) and (max-width: 989px) {
  .grid--one-third-max.grid--3-col-tablet .grid__item {
    max-width: 33.33%;
  }
}

@media screen and (min-width: 990px) {
  .grid--quarter-max.grid--5-col-desktop .grid__item {
    max-width: 20%;
  }
  
  .grid--quarter-max.grid--4-col-desktop .grid__item {
    max-width: 25%;
  }
}

.grid--1-col .grid__item {
  max-width: 100%;
  width: 100%;
}

.grid--3-col .grid__item {
  width: calc(33.33% - 0.5rem * 2 / 3);
}

@media screen and (min-width: 750px) {
  .grid--3-col .grid__item {
    width: calc(33.33% - 1rem * 2 / 3);
  }
}

.grid--2-col .grid__item {
  width: calc(50% - 0.5rem / 2);
}

@media screen and (min-width: 750px) {
  .grid--2-col .grid__item {
    width: calc(50% - 1rem / 2);
  }

  .grid--4-col-tablet .grid__item {
    width: calc(25% - 1rem * 3 / 4);
  }

  .grid--3-col-tablet .grid__item {
    width: calc(33.33% - 1rem * 2 / 3);
  }

  .grid--2-col-tablet .grid__item {
    width: calc(50% - 1rem / 2);
  }
}

@media screen and (min-width: 990px) {
  .grid--5-col-desktop .grid__item {
    width: calc(20% - 1rem * 3 / 4);
  }

  .grid--4-col-desktop .grid__item {
    width: calc(25% - 1rem * 3 / 4);
  }

  .grid--3-col-desktop .grid__item {
    width: calc(33.33% - 1rem * 2 / 3);
  }

  .grid--2-col-desktop .grid__item {
    width: calc(50% - 1rem / 2);
  }

  .grid--1-col-desktop .grid__item {
    width: 100%;
  }
}

.grid__item--vertical-align {
  align-self: center;
}

.grid__item--full-width {
  flex: 0 0 100%;
  max-width: 100%;
}

@media screen and (max-width: 749px) {
  .grid--peek.slider--mobile {
    margin: 0;
    width: 100%;
  }

  .grid--peek.slider--mobile .grid__item {
    box-sizing: content-box;
    margin: 0;
  }

  .grid--peek .grid__item {
    width: calc(50% - 3.75rem / 2);
  }

  .grid--peek .grid__item:first-of-type {
    padding-left: 1.5rem;
  }

  .grid--peek .grid__item:last-of-type {
    padding-right: 1.5rem;
  }
}

@media screen and (min-width: 750px) and (max-width: 989px) {
  .slider--tablet.grid--peek .grid__item {
    width: calc(25% - 4rem * 3 / 4);
  }

  .slider--tablet.grid--peek.grid--3-col-tablet .grid__item {
    width: calc(33.33% - 4rem * 2 / 3);
  }

  .slider--tablet.grid--peek.grid--2-col-tablet .grid__item {
    width: calc(50% - 4rem / 2);
  }

  .slider--tablet.grid--peek .grid__item:first-of-type {
    padding-left: 1.5rem;
  }

  .slider--tablet.grid--peek .grid__item:last-of-type {
    padding-right: 1.5rem;
  }
}

@media screen and (max-width: 989px) {
  .slider--tablet.grid--peek {
    margin: 0;
    width: 100%;
  }

  .slider--tablet.grid--peek .grid__item {
    box-sizing: content-box;
    margin: 0;
  }
}

/* component-media */
.media {
  display: block;
  background-color: rgba(var(--color-foreground), 0.1);
  position: relative;
  overflow: hidden;
}

.media--transparent {
  background-color: transparent;
}

.media > *:not(.zoom, .deferred-media__poster-button),
.media model-viewer {
  display: block;
  max-width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.media > img {
  object-fit: cover;
  object-position: center center;
  transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.media--square {
  padding-bottom: 100%;
}

.media--portrait {
  padding-bottom: 125%;
}

.media--landscape {
  padding-bottom: 66.6%;
}

.media--cropped {
  padding-bottom: 56%;
}

.media--16-9 {
  padding-bottom: 56.25%;
}

.media--circle {
  padding-bottom: 100%;
  border-radius: 50%;
}

.product-card-wrapper .card--product .media.media--circle > img ,
.media--circle > img {
  border-radius: 50%;
}

.media.media--hover-effect > img + img {
  opacity: 0;
}

@media screen and (min-width: 990px) {
  .media--cropped {
    padding-bottom: 63%;
  }
}

deferred-media {
  display: block;
}

/* component-button */
/* Button - default */

.button,
.btn,
.challenge__button,
.customer button {
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  font: inherit;
  padding: 0.9rem 3rem 1.1rem;
  text-decoration: none;
  border: 0;
  border-radius: 4rem;
  background-color: rgba(var(--color-button), var(--alpha-button-background));
  box-shadow: 0 0 0 0.1rem rgba(var(--color-button), var(--alpha-button-border));
  color: rgb(var(--color-button-text));
  min-width: 12rem;
  min-height: 4rem;
  transition: box-shadow var(--duration-short) ease;
  -webkit-appearance: none;
  appearance: none;
}

a{
  color: rgba(var(--color-button), var(--alpha-button-background));
}

.button:focus-visible {
  box-shadow: 0 0 0 0.1rem rgba(var(--color-button), var(--alpha-button-border)),
    0 0 0 0.3rem rgb(var(--color-background)),
    0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3);
}

.button:focus {
  box-shadow: 0 0 0 0.1rem rgba(var(--color-button), var(--alpha-button-border)),
    0 0 0 0.3rem rgb(var(--color-background)),
    0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3);
}

.button:focus:not(:focus-visible) {
  box-shadow: 0 0 0 0.1rem rgba(var(--color-button), var(--alpha-button-border));
}

.button,
.btn,
.button-label,
.challenge__button,
.customer button {
  font-size: 1.5rem;
  letter-spacing: 0.1rem;
  line-height: 1.2;
}

.button--tertiary {
  font-size: 1.2rem;
  padding: 1rem 1.5rem;
  min-width: 9rem;
  min-height: 3.5rem;
}

.button--small {
  padding: 1.2rem 2.6rem;
  min-width: 10rem;
  min-height: unset;
}

/* Button - hover */

.button:not([disabled]):hover,
.challenge__button:hover,
.customer button:hover {
  box-shadow: 0 0 0 0.2rem rgba(var(--color-button), var(--alpha-button-border));
}

/* Button - other */

.button:disabled,
.button[aria-disabled='true'],
.button.disabled,
.customer button:disabled,
.customer button[aria-disabled='true'],
.customer button.disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.button--full-width {
  display: flex;
  width: 100%;
}

.btn.loading,
.btn.btn--loading,
.button.loading {
  color: transparent;
  pointer-events: none;
}

.btn.loading:after,
.btn.btn--loading:after,
.button.loading:after {
  animation: loading var(--duration-long) infinite linear;
  border: 0.5rem solid rgba(var(--color-button-text), 0.4);
  border-left: 0.5rem solid rgb(var(--color-button-text));
  border-radius: 100%;
  box-sizing: content-box;
  content: '';
  display: block;
  height: 2rem;
  position: absolute;
  width: 2rem;
}

@keyframes loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Button - social share */

.share-button {
  display: block;
  position: relative;
}

.share-button details {
  width: fit-content;
}

.share-button__button {
  font-size: 1.4rem;
  display: flex;
  min-height: 2.4rem;
  align-items: center;
  color: rgba(var(--color-link), var(--alpha-link));
  margin-left: 0;
  padding-left: 0;
}

.share-button_copy-wrapper{
  display: flex;
  width: 100%;
  background: rgba(0,0,0,0.05);
  margin: 5px;
}

.social-sharing-icons {
  margin: 8px 8px 0;
}

.social-sharing-icons .sharing-icons-label{
  line-height: 1;
  margin-bottom: 8px;
  text-align: left;
}

.social-sharing-icons .share-icon-button{
  text-decoration: none;
  color: var(--color-base-text);
  margin: 0 5px;
}

.social-sharing-icons .share-icon-button svg{
  width: 2.5rem;
  height: 2.5rem;
}

.share-button__button:hover,
details[open] > .share-button__button {
  color: rgb(var(--color-link));
}

details[open] > .share-button__fallback {
  animation: animateMenuOpen var(--duration-default) ease;
}

.share-button__button:hover {
  text-decoration: underline;
  text-underline-offset: 0.3rem;
}

.share-button__button,
.share-button__fallback button {
  cursor: pointer;
  background-color: transparent;
  border: none;
}

.share-button__button .icon-share {
  margin-right: 1rem;
}

.share-button__fallback {
  background: rgb(var(--color-background));
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: absolute;
  top: 3rem;
  left: 0.1rem;
  z-index: 6;
  width: 100%;
  min-width: 31rem;
  max-width: 50rem;
  box-shadow: 0 0 0 0.1rem rgba(var(--color-foreground), 0.55);
}

.share-button__fallback button {
  width: 4.4rem;
  height: 4.4rem;
  padding: 0;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.share-button__fallback button:hover {
  color: rgba(var(--color-foreground), 0.75);
}

.share-button__fallback button:hover svg {
  transform: scale(1.07);
}

.share-button__close:not(.hidden) + .share-button__copy {
  display: none;
}

.share-button__close,
.share-button__copy {
  background-color: transparent;
  color: rgb(var(--color-foreground));
}

.share-button__fallback .field__input {
  box-shadow: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.share-button__fallback .icon {
  width: 1.5rem;
  height: 1.5rem;
}

.share-button__message:not(:empty) {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  margin-top: 0;
  padding: 0.8rem 0 0.8rem 1.5rem;
}

.share-button__message:not(:empty):not(.hidden) ~ * {
  display: none;
}

/* component-form */
.field__input,
.select__select,
.customer .field input,
.customer select {
  -webkit-appearance: none;
  appearance: none;
  background-color: transparent;
  border: 0;
  border-radius: 3.5rem;
  color: rgb(var(--color-foreground));
  font-size: 1.5rem;
  width: 100%;
  box-shadow: 0 0 0 0.1rem rgba(var(--color-foreground), 1), inset 0 2px 3px rgba(0,0,0,0.05);
  height: 4rem;
  box-sizing: border-box;
  transition: box-shadow var(--duration-short) ease;
}

.field__input.no-float-label{
  padding: 1.2rem 2rem !important;
}

.field__input:disabled,
.select__select:disabled,
.customer .field input:disabled,
.customer select:disabled {
  color: rgba(var(--color-foreground),0.6);
  background: rgba(0,0,0,0.06);
}

textarea{
  display: block;
  width: 100%;
  min-height: 100px;
  -webkit-appearance: none;
  appearance: none;
  resize: none;
  background-color: transparent;
  border: 0;
  border-radius: 10px;
  color: rgb(var(--color-foreground));
  font-size: 1.6rem;
  width: 100%;
  box-shadow: 0 0 0 0.1rem rgba(var(--color-foreground), 0.55);
  min-height: 4.5rem;
  box-sizing: border-box;
  transition: box-shadow var(--duration-short) ease;
  padding: 1.5rem;
}

.select__select {
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  font-weight: var(--font-body-weight);
  font-size: 1.2rem;
  color: rgba(var(--color-foreground), 0.75);
}

.field__input:hover,
.select__select:hover,
.customer .field input:hover,
.customer select:hover,
.localization-form__select:hover {
  box-shadow: 0 0 0 0.2rem rgba(var(--color-foreground), 0.55);
}

.field__input:focus,
.select__select:focus,
.customer .field input:focus,
.customer select:focus,
.localization-form__select:focus {
  box-shadow: 0 0 0 0.2rem rgba(var(--color-foreground), 0.75);
  outline: transparent;
}

.text-area,
.select {
  display: inline-block;
  position: relative;
  width: 100%;
}

/* Select */

.select .icon-caret,
.customer select + svg {
  height: 0.6rem;
  pointer-events: none;
  position: absolute;
  top: calc(50% - 0.2rem);
  right: 1.5rem;
}

.select__select,
.customer select {
  cursor: pointer;
  line-height: 1.6;
  padding: 0 4rem 0 2rem;
}

/* Field */

.field {
  position: relative;
  width: 100%;
  display: flex;
}

.field-group .field__input:first-child{
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.field-group .button:last-child{
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.customer .field {
  display: block;
}

.field--with-error {
  flex-wrap: wrap;
}

.field__input,
.customer .field input {
  flex-grow: 1;
  text-align: left;
  padding: 1.2rem 2rem;
}

.field__label,
.customer .field label {
  font-size: 1.5rem;
  left: 2rem;
  top: 1rem;
  margin-bottom: 0;
  pointer-events: none;
  position: absolute;
  transition: top var(--duration-short) ease,
    font-size var(--duration-short) ease;
  color: rgba(var(--color-foreground), 0.55);
  letter-spacing: 0.1rem;
  line-height: 1.5;
}

.field__input:focus ~ .field__label,
.field__input:not(:placeholder-shown) ~ .field__label,
.field__input:-webkit-autofill ~ .field__label,
.customer .field input:focus ~ label,
.customer .field input:not(:placeholder-shown) ~ label,
.customer .field input:-webkit-autofill ~ label ,
.customer .field.on_focus label,
.field__input.on_focus ~ .field__label {
  font-size: 0.9rem;
  top: 0.3em;
  letter-spacing: 0.04rem;
}

.customer .field.on_focus select{
  padding-top: 1.4rem;
}

.field__input:focus,
.field__input:not(:placeholder-shown),
.field__input:-webkit-autofill,
.customer .field input:focus,
.customer .field input:not(:placeholder-shown),
.customer .field input:-webkit-autofill {
  padding: 2.2rem 2rem 0.8rem;
}

.field__input::-webkit-search-cancel-button,
.customer .field input::-webkit-search-cancel-button {
  display: none;
}

.field__input::placeholder,
.customer .field input::placeholder {
  opacity: 0;
}

.field__button {
  align-items: center;
  background-color: transparent;
  border: 0;
  color: currentColor;
  cursor: pointer;
  display: flex;
  height: 3.9rem;
  justify-content: center;
  overflow: hidden;
  padding: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 6.4rem;
}

.field__button > svg {
  height: 2.2rem;
  width: 2.2rem;
}

.field__input:-webkit-autofill ~ .field__button,
.field__input:-webkit-autofill ~ .field__label,
.customer .field input:-webkit-autofill ~ label {
  color: rgb(0, 0, 0);
}

/* Text area */

.text-area {
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  font-weight: var(--font-body-weight);
  padding: 1.2rem;
  min-height: 10rem;
  resize: none;
}

.text-area--resize-vertical {
  resize: vertical;
}

input[type='checkbox'] {
  display: inline-block;
  width: auto;
  margin-right: 0.5rem;
}

/* Form global */

.form__label {
  display: block;
  margin-bottom: 0.6rem;
}

.form__message {
  align-items: center;
  display: flex;
  font-size: 1.4rem;
  line-height: 1;
  margin-top: 1rem;
}

.form__message--large {
  font-size: 1.5rem;
}

.customer .field .form__message {
  font-size: 1.4rem;
  text-align: left;
}

.form__message .icon,
.customer .form__message svg {
  flex-shrink: 0;
  height: 1.3rem;
  margin-right: 0.5rem;
  width: 1.3rem;
}

.form__message--large .icon,
.customer .form__message svg {
  height: 1.5rem;
  width: 1.5rem;
  margin-right: 1rem;
}

.customer .field .form__message svg {
  align-self: start;
}

.form-status {
  margin: 0;
  font-size: 1.5rem;
}

.form-status-list {
  padding: 0;
  margin: 2rem 0 4rem;
}

.form-status-list li {
  list-style-position: inside;
}

.form-status-list .link::first-letter {
  text-transform: capitalize;
}

/* component-quantity */
.quantity {
  border: 0.1rem solid rgba(var(--color-base-text), 0.08);
  border-radius: 4em;
  position: relative;
  height: 3.5rem;
  width: 14rem;
  display: flex;
}

.quantity__input {
  color: currentColor;
  font-size: 1.4rem;
  font-weight: 500;
  opacity: 0.85;
  text-align: center;
  background-color: transparent;
  border: 0;
  padding: 0 0.5rem;
  width: 100%;
  flex-grow: 1;
  -webkit-appearance: none;
  appearance: none;
}

.quantity__input:disabled {
  color: rgba(var(--color-foreground),0.6);
  background: rgba(0,0,0,0.06);
}

.quantity__button {
  width: 3.5rem;
  flex-shrink: 0;
  font-size: 1.8rem;
  border: 0;
  background-color: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgb(var(--color-foreground));
  padding: 0;
}

.quantity__button svg {
  width: 1rem;
  pointer-events: none;
}

.quantity__input:-webkit-autofill,
.quantity__input:-webkit-autofill:hover,
.quantity__input:-webkit-autofill:active {
  box-shadow: 0 0 0 10rem rgb(var(--color-background)) inset !important;
  -webkit-box-shadow: 0 0 0 10rem rgb(var(--color-background)) inset !important;
}

.quantity__input::-webkit-outer-spin-button,
.quantity__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.quantity__input[type='number'] {
  -moz-appearance: textfield;
}

/* component-modal */
.modal__toggle {
  list-style-type: none;
}

.no-js details[open] .modal__toggle {
  position: absolute;
  z-index: 2;
}

.modal__toggle-close {
  display: none;
}

.no-js details[open] svg.modal__toggle-close {
  display: flex;
  z-index: 1;
  height: 1.7rem;
  width: 1.7rem;
}

.modal__toggle-open {
  display: flex;
}

.no-js details[open] .modal__toggle-open {
  display: none;
}

.no-js .modal__close-button.link {
  display: none;
}

.modal__close-button.link {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0rem;
  height: 4.4rem;
  width: 4.4rem;
  background-color: transparent;
}

.modal__close-button .icon {
  width: 1.7rem;
  height: 1.7rem;
}

.modal__content {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgb(var(--color-background));
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.media-modal {
  cursor: zoom-out;
}

.media-modal .deferred-media {
  cursor: initial;
}

/* component-cart-count-bubble */
.cart-count-bubble:empty {
  display: none;
}

.cart-count-bubble {
  position: absolute;
  background-color: rgb(var(--color-button));
  color: rgb(var(--color-button-text));
  height: 1.7rem;
  min-width: 1.7rem;
  border-radius: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 0.9rem;
  top: -0.3rem;
  left: 1rem;
  line-height: 1.1;
}

/* section-announcement-bar */
#section-announcement-bar {
  z-index: 4;
}

.announcement-bar {
  border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.08);
  color: rgb(var(--color-foreground));
}

.announcement-bar__link {
  display: block;
  width: 100%;
  padding: 1rem 2rem;
  text-decoration: none;
}

.announcement-bar__link:hover {
  color: rgb(var(--color-foreground));
  background-color: rgba(var(--color-card-hover), 0.06);
}

.announcement-bar__link .icon-arrow {
  display: inline-block;
  pointer-events: none;
  margin-left: 0.8rem;
  vertical-align: middle;
  margin-bottom: 0.2rem;
}

.announcement-bar__link .announcement-bar__message {
  padding: 0;
}

.announcement-bar__message {
  text-align: center;
  padding: 1rem 2rem;
  margin: 0;
  letter-spacing: 0.1rem;
}

/* section-header */

/* section-header */
#easystore-section-header {
  z-index: 3;
}

.easystore-section-header-sticky {
  position: sticky;
  top: 0;
}

.easystore-section-header-hidden {
  transform: translateY(-100%);
}

#easystore-section-header.animate {
  transition: transform 0.15s ease-out;
}

/* Main Header Layout */
.header-wrapper {
  display: block;
  position: relative;
  background-color: rgb(var(--color-background));
  z-index: 3;
}

.section-header-sticky {
  position: sticky;
  top: 0;
}

.header-wrapper--border-bottom {
  border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.08);
}

.header {
  display: grid;
  grid-template-areas: 
    'left-icon heading icons'
    'search search search';
  grid-template-columns: 1fr 2fr 1fr;
  align-items: center;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.header .search-modal__form{
  width: 100%;
  max-width: 100%;
}

@media screen and (min-width: 990px) {
  .header {
    padding-top: 2rem;
    padding-bottom: 0rem;
  }

  .header--has-menu:not(.header--middle-left) {
    padding-bottom: 0;
  }

  .header--top-left {
    grid-template-areas:
      'heading search icons'
      'navigation navigation navigation';
    grid-template-columns: 1fr auto;
  }

  .header--middle-left {
    grid-template-areas: 
      'heading search icons'
      'navigation navigation navigation';
    grid-template-columns: auto 1fr auto;
    column-gap: 2rem;
  }

  .header--top-center {
    grid-template-areas:
      'left-icon heading icons'
      'navigation navigation navigation'
      '. search .';
  }

  .header--middle-left .header__inline-menu {
    min-width: 45rem;
  }

  .header:not(.header--middle-left) .header__inline-menu {
    margin-top: 1.05rem;
  }

  .header .search-modal__form{
    max-width: 38rem;
  }

  .header--top-center .search-modal__form{
    margin: 0 auto 10px;
  }
}

.header *[tabindex='-1']:focus {
  outline: none;
}

.header__heading {
  margin: 0;
  line-height: 0;
}

.header > .header__heading-link {
  line-height: 0;
}

.header__heading,
.header__heading-link {
  grid-area: heading;
  justify-self: center;
}

.header__heading-link {
  display: inline-block;
  padding: 0.75rem;
  text-decoration: none;
  word-break: break-word;
}

.header__heading-link:hover .h2 {
  color: rgb(var(--color-foreground));
}

.header__heading-link .h2 {
  line-height: 1;
  color: rgba(var(--color-foreground), 0.75);
}

.header__heading-logo {
  height: auto;
  width: var(--logo-width);
  max-width: 100%;
}

@media screen and (min-width: 990px) {
  .header__heading-link {
    margin-left: -0.75rem;
  }

  .header__heading,
  .header__heading-link {
    justify-self: start;
  }

  .header--top-center .header__heading-link,
  .header--top-center .header__heading {
    justify-self: center;
  }
}

/* Header icons */
.header__icons {
  display: flex;
  grid-area: icons;
  justify-self: end;
}

.header__icon:not(.header__icon--summary),
.header__icon span {
  display: flex;
  align-items: center;
  justify-content: center;
}

.header__icon span {
  height: 100%;
}

.header__icon::after {
  content: none;
}

.header__icon:hover .icon,
.modal__close-button:hover .icon {
  transform: scale(1.07);
}

.header__icon .icon {
  height: 2rem;
  width: 2rem;
  fill: none;
  vertical-align: middle;
}

.header__icon--menu{
  height: 4.4rem;
  width: 4.4rem;
}

.header__icons .header__icon{
  margin-left: 2rem;
  text-decoration: none;
}

.header__link-label{
  margin-left: 1rem;
  text-decoration: none;
}

.header__icon--cart {
  position: relative;
}

@media screen and (max-width: 989px) {
  menu-drawer ~ .header__icons .header__icon--account {
    display: none;
  }
  .header__icon{
    height: 4.4rem;
    width: 4.4rem;
  }
  .header__icons .header__icon{
    margin-left: 0;
    margin-right: -1.2rem;
  }
  .cart-count-bubble{
    top: 0.5rem;
  }
}

/* Search */
menu-drawer + .header__search {
  display: none;
}

.header > .header__search {
  grid-area: left-icon;
  justify-self: start;
}

.header:not(.header--has-menu) * > .header__search {
  display: none;
}

.header__search {
  display: inline-flex;
  line-height: 0;
}

.header--top-center > .header__search {
  display: none;
}

.header--top-center * > .header__search {
  display: inline-flex;
}

@media screen and (min-width: 990px) {
  .header:not(.header--top-center) * > .header__search,
  .header--top-center > .header__search {
    display: inline-flex;
  }

  .header:not(.header--top-center) > .header__search,
  .header--top-center * > .header__search {
    /* display: none; */
  }
}

.no-js .predictive-search {
  display: none;
}

details[open] > .search-modal {
  opacity: 1;
  animation: animateMenuOpen var(--duration-default) ease;
}

details[open] .modal-overlay {
  display: block;
}

details[open] .modal-overlay::after {
  position: absolute;
  content: '';
  background-color: rgb(var(--color-foreground), 0.5);
  top: 100%;
  left: 0;
  right: 0;
  height: 100vh;
}

.no-js details[open] > .header__icon--search {
  top: 1rem;
  right: 0.5rem;
}

.search-modal {
  opacity: 0;
  border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.08);
  height: 100%;
}

.search-modal__content {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0 5rem 0 1rem;
  line-height: 1.8;
}

.search-modal__form {
  width: 100%;
}

.search-modal__close-button {
  position: absolute;
  right: 0.3rem;
}

@media screen and (min-width: 750px) {
  .search-modal__close-button {
    right: 1rem;
  }

  .search-modal__content {
    padding: 0 6rem;
  }
}

@media screen and (min-width: 990px) {
  .search-modal__form {
    max-width: 47.8rem;
  }

  .search-modal__close-button {
    position: initial;
    margin-left: 0.5rem;
  }
}

/* Header menu drawer */
.header__icon--menu .icon {
  display: block;
  position: absolute;
  opacity: 1;
  transform: scale(1);
  transition: transform 150ms ease, opacity 150ms ease;
}

details:not([open]) > .header__icon--menu .icon-close,
details[open] > .header__icon--menu .icon-hamburger {
  visibility: hidden;
  opacity: 0;
  transform: scale(0.8);
}

.js details[open]:not(.menu-opening) > .header__icon--menu .icon-close {
  visibility: hidden;
}

.js details[open]:not(.menu-opening) > .header__icon--menu .icon-hamburger {
  visibility: visible;
  opacity: 1;
  transform: scale(1.07);
}

.header__inline-menu details[open] > .header__submenu {
  opacity: 1;
  transform: translateY(0);
  animation: animateMenuOpen var(--duration-default) ease;
}

/* Header menu */
.header__inline-menu {
  margin-left: -1.2rem;
  grid-area: navigation;
  display: none;
}

.header__search-input {
  grid-area: search;
}

.header--top-center .header__inline-menu,
.header--top-center .header__heading-link {
  margin-left: 0;
}

@media screen and (min-width: 990px) {
  .header__inline-menu {
    display: block;
    margin: 1rem 0;
  }

  .header--top-center .header__inline-menu {
    justify-self: center;
  }

  .header--top-center .header__inline-menu > .list-menu--inline {
    justify-content: center;
  }

  .header--middle-left .header__inline-menu {
    margin-left: 0;
  }
}

.header__menu {
  padding: 0 1rem;
}

.header__menu-item {
  padding: 1.2rem;
  text-decoration: none;
  color: rgba(var(--color-foreground), 0.75);
}

.header__menu-item a {
  color: currentColor;
  text-decoration: none;
}

.header__menu-item:hover {
  color: rgb(var(--color-foreground));
}

.header__menu-item span {
  transition: text-decoration var(--duration-short) ease;
}

.header__menu-item:hover span {
  text-decoration: underline;
  text-underline-offset: 0.3rem;
}

.header__active-menu-item {
  transition: text-decoration-thickness var(--duration-short) ease;
  color: rgb(var(--color-foreground));
  text-decoration: underline;
  text-underline-offset: 0.3rem;
}

.header__menu-item:hover .header__active-menu-item {
  text-decoration-thickness: 0.2rem;
}

.header__submenu {
  transition: opacity var(--duration-default) ease,
    transform var(--duration-default) ease;
}

.header__submenu.list-menu {
  padding: 2rem 0;
}

.header__submenu .header__submenu {
  position: absolute;
  top: calc(-0.5rem - 1px);
  left: 100%;
  width: 100%;
  padding: 0.5rem 0;
}

.header__submenu .header__menu-item:after {
  right: 2rem;
}

.header__submenu .header__menu-item {
  padding: 0.95rem 3.5rem 0.95rem 2rem;
}

.header__submenu .header__submenu .header__menu-item {
  padding-left: 3rem;
}

.header__menu-item .icon-caret {
  right: 0.8rem;
}

.header__submenu .icon-caret {
  right: 2rem;
}

details-disclosure > details {
  position: relative;
}

@keyframes animateMenuOpen {
  0% {
    opacity: 0;
    transform: translateY(-1.5rem);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.overflow-hidden-mobile,
.overflow-hidden-tablet {
  overflow: hidden;
}

@media screen and (min-width: 750px) {
  .overflow-hidden-mobile {
    overflow: auto;
  }
}

@media screen and (min-width: 990px) {
  .overflow-hidden-tablet {
    overflow: auto;
  }
}

.badge {
  border-radius: 5px;
  display: inline-block;
  font-size: 1.4rem;
  letter-spacing: 0.1rem;
  line-height: 1;
  padding: 0.6rem 1.3rem;
  text-align: center;
  background-color: rgb(var(--color-badge-background));
  border-color: rgba(var(--color-badge-border), var(--alpha-badge-border));
  color: rgb(var(--color-foreground));
  word-break: break-word;
  box-sizing: content-box;
  box-shadow: 0 6px 15px rgba(0,0,0,0.2);
}

.badge.addToClassList{
  background-color: rgba(var(--color-button), var(--alpha-button-background));
  border-color: none;
  color: rgb(var(--color-button-text));
}

.badge.badge-ribbon {
  text-orientation: mixed;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  padding: 1rem 0.7rem;
  position: relative;
  border: none;
  border-radius: 0;
}

.badge.badge-ribbon::after{
  border-color: rgb(var(--color-badge-background)) rgb(var(--color-badge-background)) transparent;
  border-radius: 3px;
  border-style: solid;
  border-width: 5px 1em;
  bottom: -8px;
  content: "";
  height: 0;
  left: 0;
  right: 0;
  position: absolute;
}

.badge.badge-circle {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.6rem;
  width: 2.5em;
  height: 2.5em;
  border-radius: 3em;
  box-shadow: 0px 0px 10px -2px rgba(0,0,0,0.1);
}

.badge.badge-circle .icon {
  width: 1.3em;
  height: 1.3em;
}

@media screen and (max-width: 749px) {
  .badge.badge-circle {
    width: 1.6em;
    height: 1.6em;
  }
}

.gradient {
  background: var(--color-background);
  background: var(--gradient-background);
  background-attachment: fixed;
}

.select:before, .select:after {
  border-right: 2px solid;
  content: '';
  display: block;
  height: 0.7rem;
  position: absolute;
  transform: rotate(45deg);
  top: calc(50% - 0.3rem);
  right: 1.6rem;
  width: 0;
  border-radius: 1rem;
}

.select:after {
  transform: rotate(-45deg);
  right: 2rem;
}

.text-right{
  text-align: right;
}

.text-left{
  text-align: left;
}

.text-center{
  text-align: center;
}

.splide {
  position: relative;
}

.splide .splide__arrow{
  background: rgba(var(--color-button), 0.9);
  width: 3em;
  height: 3em;
}
.splide .splide__arrow svg{
  fill: rgb(var(--color-button-text));
}

.splide .splide__arrow:disabled{
  display: none !important;
}

.splide .splide__pagination__page.is-active{
  background: rgba(var(--color-button), 0.7);
  transform: scale(1.3);
  border: none;
  box-shadow: none;
}

.splide .splide__pagination__page{
  background-color: #fff;
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(0, 0, 0, 0.2);
  opacity: 0.9;
}

.splide_pagination-bottom{
  margin-bottom: 10rem;
}
.splide_pagination-bottom .splide__pagination{
  bottom: -4rem;
}

.splide-index-count{
  position: absolute;
  bottom: 20px;
  right: 20px;
  line-height: 1;
  color: #fff;
  background: rgba(0,0,0,0.5);
  padding: 5px 8px;
  border-radius: 50px;
  letter-spacing: 3px;
  font-size: 12px;
}


@media screen and (max-width: 749px) {
  .splide .splide__arrow {
    display: none;
  }
}

.d-flex{
  display: flex;
}

.flex-wrap{
  flex-wrap: wrap;
}

.flex-justify-center{
  justify-content: center;
}

.flex-space-between{
  justify-content: space-between;
}

.flex-align-center{
  align-items: center;
}

.flex-shrink-0{
  flex-shrink: 0;
}

.rotate-90{
  transform: rotate(-90deg);
  -webkit-transform: rotate(-90deg);
}

select.currency-picker{
  height: 3.5rem;
}

.note {
  margin: 1.5rem 0;
  padding: 1rem 1.5rem;
  background: rgba(0,0,0,0.05);
}

.note.form-success {
  background: rgba(145, 245, 150 ,0.3);
}

.note.errors {
  background: rgba(245, 185, 145, 0.3);
  padding-left: 3rem;
}

.svg-icon {
  width: 1.2em;
  height: 1.4em;
  vertical-align: middle;
  fill: currentcolor;
  margin-top: -0.2em;
}

.collection .title-wrapper-with-link--no-heading{
  justify-content: flex-end;
}

img{
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

.table-wrapper{
	overflow: auto;
}

.table-wrapper table{
    min-width: 100%;
    width: auto !important;
}

.justify-center{
	justify-content: center;
}

/* ==== Flex table ==== */
.flex-table{
	border: 0.01rem solid rgba(var(--color-foreground), 0.08);
	display:flex;
	flex-direction: column;
}

.flex-table-tr{
	padding: 2.2rem;
}

.flex-table-tr:not(:last-child){
	border-bottom: 0.01rem solid rgba(var(--color-foreground), 0.08);
}



/* LEAVEN STUDIO DEPTH 2026-07-29 */
:root {
  --lvx-blue: #00509e;
  --lvx-yellow: #ffde00;
  --lvx-sage: #8ca982;
  --lvx-paper: #f8f5ed;
  --lvx-manila: #e8e0d2;
  --lvx-ink: #1a1a1a;
  --lvx-red: #c8302e;
  --lvx-line: 2px solid var(--lvx-ink);
  --lvx-shadow: 5px 5px 0 var(--lvx-ink);
  --lvx-page: 1320px;
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--lvx-paper) !important;
  color: var(--lvx-ink);
}

body,
button,
input,
select,
textarea {
  font-family: "Noto Sans TC", system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
}

h1,
h2,
h3,
h4,
.h1,
.h2,
.h3,
.h4 {
  color: var(--lvx-ink);
  font-family: "Noto Sans TC", system-ui, sans-serif !important;
  font-style: normal !important;
  letter-spacing: -0.035em;
  text-shadow: none !important;
}

a {
  text-underline-offset: 0.18em;
}

::selection {
  background: var(--lvx-yellow);
  color: var(--lvx-ink);
}

.lvx-shell {
  margin-inline: auto;
  max-width: var(--lvx-page);
  padding-inline: clamp(18px, 4vw, 48px);
}

.lvx-kicker {
  color: var(--lvx-blue);
  font-family: "Courier Prime", monospace !important;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  margin: 0 0 12px;
  text-transform: uppercase;
}

.lvx-section-heading {
  font-size: clamp(2rem, 5vw, 4.6rem);
  line-height: 0.98;
  margin: 0;
  max-width: 12ch;
}

.lvx-section-copy {
  font-size: clamp(1rem, 1.4vw, 1.18rem);
  line-height: 1.8;
  margin: 18px 0 0;
  max-width: 52ch;
}

.lvx-button,
body .button,
body button.button,
body a.button {
  align-items: center;
  background: var(--lvx-yellow) !important;
  border: var(--lvx-line) !important;
  border-radius: 0 !important;
  box-shadow: var(--lvx-shadow) !important;
  color: var(--lvx-ink) !important;
  display: inline-flex;
  font-family: "Courier Prime", "Noto Sans TC", monospace !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  justify-content: center;
  letter-spacing: 0.07em;
  min-height: 48px;
  padding: 12px 20px !important;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform 140ms ease, box-shadow 140ms ease, background-color 140ms ease;
}

.lvx-button:hover,
body .button:hover,
body button.button:hover,
body a.button:hover {
  box-shadow: 2px 2px 0 var(--lvx-ink) !important;
  transform: translate(3px, 3px);
}

.lvx-button--blue {
  background: var(--lvx-blue) !important;
  color: var(--lvx-paper) !important;
}

.lvx-button--paper {
  background: var(--lvx-paper) !important;
}

.lvx-text-link {
  color: var(--lvx-blue);
  font-family: "Courier Prime", monospace;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* Header */
body .lv-announce {
  animation: none !important;
  background: var(--lvx-blue) !important;
  border-bottom: 2px solid var(--lvx-ink) !important;
  color: var(--lvx-yellow) !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.09em !important;
  padding: 8px 18px !important;
}

body .lv-announce-track {
  animation: none !important;
  display: block !important;
  text-align: center;
}

body .lv-announce-track span:nth-child(n + 2) {
  display: none;
}

body #easystore-section-header .header-wrapper {
  background: rgba(248, 245, 237, 0.98) !important;
  background-image: none !important;
  border-bottom: 2px solid var(--lvx-ink) !important;
}

body #easystore-section-header .header {
  align-items: center !important;
  display: grid !important;
  gap: 22px !important;
  grid-template-areas: "heading navigation icons" !important;
  grid-template-columns: minmax(190px, 0.8fr) minmax(420px, 1.8fr) minmax(150px, 0.7fr) !important;
  grid-template-rows: 1fr !important;
  height: 76px;
  min-height: 76px;
  padding: 10px clamp(18px, 3.5vw, 56px) !important;
}

body #easystore-section-header .header__heading-link {
  align-items: center;
  display: inline-flex;
  justify-self: start;
  min-width: 0;
  text-decoration: none;
}

body #easystore-section-header .header__heading-logo {
  display: none !important;
}

.lvx-wordmark {
  color: var(--lvx-blue);
  display: grid;
  gap: 0;
  line-height: 1;
}

.lvx-wordmark strong {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.55rem, 2.2vw, 2rem);
  letter-spacing: 0.06em;
}

.lvx-wordmark small {
  color: var(--lvx-ink);
  font-family: "Courier Prime", monospace;
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  margin-top: 5px;
  text-transform: uppercase;
}

body #easystore-section-header .header__search-input {
  display: none !important;
}

body #easystore-section-header .header__inline-menu {
  justify-self: center;
  margin: 0 !important;
}

body #easystore-section-header .header__inline-menu > ul {
  gap: 2px;
}

body #easystore-section-header .header__menu-item,
body #easystore-section-header .list-menu__item {
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--lvx-ink) !important;
  font-family: "Courier Prime", "Noto Sans TC", monospace !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  padding: 9px 10px !important;
}

body #easystore-section-header .header__menu-item:hover,
body #easystore-section-header .list-menu__item:hover {
  background: var(--lvx-yellow) !important;
  box-shadow: 2px 2px 0 var(--lvx-ink) !important;
  transform: none !important;
}

body #easystore-section-header .header__icons {
  flex: 0 !important;
  gap: 4px !important;
  justify-self: end;
  min-width: 0;
}

body #easystore-section-header .header__icon {
  color: var(--lvx-ink) !important;
}

/* Homepage */
.lvx-home {
  overflow: clip;
}

.lvx-hero {
  background: var(--lvx-paper);
  border-bottom: 3px solid var(--lvx-ink);
  min-height: min(720px, 72vh);
  position: relative;
}

.lvx-hero__art {
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: center;
  position: absolute;
  width: 100%;
  z-index: 0;
}

.lvx-hero__inner {
  align-items: center;
  display: grid;
  min-height: min(720px, 72vh);
  position: relative;
  z-index: 2;
}

.lvx-hero__content {
  background: rgba(248, 245, 237, 0.92);
  border: 3px solid var(--lvx-ink);
  box-shadow: 8px 8px 0 var(--lvx-yellow);
  margin-block: 48px;
  max-width: 590px;
  padding: clamp(28px, 4vw, 52px);
}

.lvx-hero h1 {
  color: var(--lvx-blue);
  font-size: clamp(2.8rem, 6vw, 5.8rem);
  line-height: 0.94;
  margin: 0;
  max-width: 9ch;
}

.lvx-hero__lead {
  font-size: clamp(1rem, 1.55vw, 1.25rem);
  line-height: 1.75;
  margin: 24px 0 0;
  max-width: 43ch;
}

.lvx-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 30px;
}

.lvx-proof {
  background: var(--lvx-yellow);
  border-bottom: 3px solid var(--lvx-ink);
}

.lvx-proof__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.lvx-proof__item {
  align-items: center;
  display: flex;
  gap: 12px;
  min-height: 72px;
  padding: 14px clamp(12px, 2.5vw, 30px);
}

.lvx-proof__item + .lvx-proof__item {
  border-left: 2px dashed var(--lvx-ink);
}

.lvx-proof__num {
  color: var(--lvx-blue);
  font-family: "Playfair Display", serif;
  font-size: 1.55rem;
  font-weight: 900;
}

.lvx-proof__copy {
  font-family: "Courier Prime", "Noto Sans TC", monospace;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.4;
  text-transform: uppercase;
}

.lvx-routes {
  padding-block: clamp(76px, 10vw, 140px);
}

.lvx-routes__header {
  align-items: end;
  display: flex;
  gap: 28px;
  justify-content: space-between;
  margin-bottom: 42px;
}

.lvx-routes__grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(3, 1fr);
}

.lvx-route {
  background: var(--lvx-paper);
  border: 3px solid var(--lvx-ink);
  color: var(--lvx-ink);
  display: grid;
  min-height: 390px;
  overflow: hidden;
  position: relative;
  text-decoration: none;
  transition: transform 150ms ease, box-shadow 150ms ease;
}

.lvx-route:hover {
  box-shadow: 8px 8px 0 var(--lvx-ink);
  transform: translate(-4px, -4px);
}

.lvx-route--beans {
  background: var(--lvx-blue);
  color: var(--lvx-paper);
}

.lvx-route--drip {
  background: var(--lvx-yellow);
}

.lvx-route--visit {
  background: var(--lvx-sage);
}

.lvx-route__top {
  align-items: start;
  display: flex;
  justify-content: space-between;
  padding: 24px 24px 0;
}

.lvx-route__index {
  border: 2px solid currentColor;
  font-family: "Courier Prime", monospace;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 4px 8px;
}

.lvx-route__glyph {
  font-family: "Playfair Display", serif;
  font-size: 4.8rem;
  line-height: 0.8;
}

.lvx-route__body {
  align-self: end;
  padding: 32px 24px 28px;
}

.lvx-route h3 {
  color: inherit;
  font-size: clamp(1.8rem, 3vw, 3rem);
  line-height: 1;
  margin: 0;
}

.lvx-route p {
  font-size: 0.95rem;
  line-height: 1.7;
  margin: 14px 0 24px;
}

.lvx-route__cta {
  font-family: "Courier Prime", monospace;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.lvx-shelf {
  background: var(--lvx-manila);
  border-block: 3px solid var(--lvx-ink);
  padding-block: clamp(76px, 10vw, 130px);
}

.lvx-shelf__header {
  align-items: end;
  display: flex;
  gap: 28px;
  justify-content: space-between;
  margin-bottom: 38px;
}

.lvx-product-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lvx-product-card {
  background: var(--lvx-paper);
  border: var(--lvx-line);
  color: var(--lvx-ink);
  display: block;
  min-width: 0;
  text-decoration: none;
}

.lvx-product-card__image {
  aspect-ratio: 1 / 1;
  background: #fff;
  border-bottom: var(--lvx-line);
  overflow: hidden;
}

.lvx-product-card__image img {
  height: 100%;
  object-fit: cover;
  transition: transform 240ms ease;
  width: 100%;
}

.lvx-product-card__body {
  padding: 20px;
}

.lvx-product-card__meta {
  color: var(--lvx-blue);
  font-family: "Courier Prime", monospace;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.lvx-product-card h3 {
  font-size: clamp(1.05rem, 1.7vw, 1.4rem);
  line-height: 1.35;
  margin: 10px 0 18px;
}

.lvx-product-card__foot {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.lvx-product-card__price {
  background: var(--lvx-yellow);
  border: 2px solid var(--lvx-ink);
  font-family: "Courier Prime", monospace;
  font-size: 0.82rem;
  font-weight: 700;
  padding: 5px 9px;
}

.lvx-dripbox {
  background: var(--lvx-blue);
  border-bottom: 3px solid var(--lvx-ink);
  color: var(--lvx-paper);
  padding-block: clamp(72px, 9vw, 120px);
}

.lvx-dripbox__inner {
  align-items: center;
  display: grid;
  gap: clamp(36px, 7vw, 90px);
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
}

.lvx-dripbox__poster {
  background: var(--lvx-paper);
  border: 3px solid var(--lvx-ink);
  box-shadow: 10px 10px 0 var(--lvx-yellow);
  transform: rotate(-1deg);
}

.lvx-dripbox__poster img {
  display: block;
  width: 100%;
}

.lvx-dripbox h2 {
  color: var(--lvx-paper);
  font-size: clamp(2.6rem, 6vw, 5.8rem);
  line-height: 0.93;
  margin: 0;
}

.lvx-dripbox p {
  font-size: 1rem;
  line-height: 1.8;
  margin: 22px 0 28px;
  max-width: 48ch;
}

.lvx-visit {
  background: var(--lvx-sage);
  border-bottom: 3px solid var(--lvx-ink);
  padding-block: clamp(76px, 10vw, 130px);
}

.lvx-visit__inner {
  align-items: end;
  display: grid;
  gap: 36px;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
}

.lvx-visit__panel {
  background: var(--lvx-paper);
  border: var(--lvx-line);
  box-shadow: 8px 8px 0 var(--lvx-ink);
  padding: 28px;
}

.lvx-journal {
  padding-block: clamp(76px, 10vw, 130px);
}

.lvx-journal__grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 38px;
}

.lvx-story-card {
  border-top: 3px solid var(--lvx-ink);
  color: var(--lvx-ink);
  display: block;
  padding-top: 16px;
  text-decoration: none;
}

.lvx-story-card__image {
  aspect-ratio: 16 / 10;
  background: var(--lvx-manila);
  border: var(--lvx-line);
  overflow: hidden;
}

.lvx-story-card__image img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.lvx-story-card time {
  color: var(--lvx-blue);
  display: block;
  font-family: "Courier Prime", monospace;
  font-size: 0.7rem;
  font-weight: 700;
  margin-top: 15px;
}

.lvx-story-card h3 {
  font-size: 1.2rem;
  line-height: 1.4;
  margin: 8px 0 0;
}

/* Collection */
.template-collection .collection-hero {
  background: var(--lvx-blue);
  border-bottom: 3px solid var(--lvx-ink);
  color: var(--lvx-paper);
}

.template-collection .collection-hero__inner {
  padding-block: clamp(52px, 8vw, 96px);
}

.template-collection .collection-hero__title {
  color: var(--lvx-paper);
  font-size: clamp(2.8rem, 7vw, 6.6rem);
  line-height: 0.92;
  margin: 0;
  max-width: 13ch;
}

.lvx-collection-intro {
  font-size: 1rem;
  line-height: 1.75;
  margin: 18px 0 0;
  max-width: 56ch;
}

.template-collection .collection-filters {
  margin-top: 26px;
}

.template-collection .collection {
  padding-block: clamp(48px, 7vw, 90px);
}

.template-collection .product-grid {
  row-gap: 44px;
}

.template-collection .product-card-wrapper {
  background: var(--lvx-paper) !important;
  border: var(--lvx-line);
}

.lvx-collection-guide {
  border-top: 3px solid var(--lvx-ink);
  margin-top: 70px;
  padding-top: 24px;
}

.lvx-collection-guide summary {
  color: var(--lvx-blue);
  cursor: pointer;
  font-family: "Courier Prime", monospace;
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  list-style: none;
  text-transform: uppercase;
}

.lvx-collection-guide summary::-webkit-details-marker {
  display: none;
}

.lvx-collection-guide summary::after {
  content: " ＋";
}

.lvx-collection-guide[open] summary::after {
  content: " −";
}

.lvx-collection-guide .rte {
  background: var(--lvx-manila);
  border: var(--lvx-line);
  margin-top: 20px;
  padding: clamp(20px, 4vw, 42px);
}

.lvx-kombucha-gate {
  background: var(--lvx-yellow);
  border: var(--lvx-line);
  box-shadow: var(--lvx-shadow);
  margin-block: 42px 80px;
  padding: clamp(24px, 5vw, 50px);
}

/* Product */
.template-product .product {
  gap: clamp(28px, 5vw, 76px) !important;
}

.template-product .product__media-wrapper,
.template-product .product__info-wrapper,
.template-product .product__description-wrapper {
  border-radius: 0 !important;
  box-shadow: none !important;
}

.template-product .product__media-wrapper {
  background: #fff !important;
  border: var(--lvx-line) !important;
}

.template-product .product__info-wrapper {
  background: var(--lvx-paper) !important;
  border-top: 5px solid var(--lvx-yellow) !important;
  padding: clamp(22px, 4vw, 44px) !important;
}

.template-product .product__title {
  color: var(--lvx-ink) !important;
  font-size: clamp(2rem, 4.5vw, 4.3rem) !important;
  line-height: 1.02 !important;
}

.template-product .price {
  color: var(--lvx-blue) !important;
  font-family: "Courier Prime", monospace !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
}

.template-product .product-form__submit {
  background: var(--lvx-yellow) !important;
  color: var(--lvx-ink) !important;
}

.template-product .product__description-wrapper {
  background: var(--lvx-manila) !important;
  border: var(--lvx-line) !important;
  margin-top: 32px;
}

.template-product .leaven-sticky-bar {
  background: var(--lvx-paper) !important;
  border-top: 3px solid var(--lvx-ink) !important;
}

@media (min-width: 990px) {
  .template-product .product {
    align-items: start !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(380px, 0.85fr) !important;
    gap: 44px !important;
  }

  .template-product .product__media-wrapper,
  .template-product .product__info-wrapper {
    margin: 0 !important;
    max-width: none !important;
    width: auto !important;
  }

  .template-product .product__media-wrapper {
    grid-column: 1;
  }

  .template-product .product__info-wrapper {
    grid-column: 2;
  }

  .template-product .product__description-wrapper {
    grid-column: 1 / -1;
    width: auto !important;
  }

  .template-product .leaven-sticky-bar {
    display: none !important;
  }
}

.template-product .leaven-sticky-bar__btn--cart {
  background: var(--lvx-yellow) !important;
  color: var(--lvx-ink) !important;
}

.template-product .related-products {
  display: none !important;
}

/* Cart */
.template-cart #cart-template {
  background: var(--lvx-paper) !important;
  border: var(--lvx-line) !important;
  border-radius: 0 !important;
  box-shadow: var(--lvx-shadow) !important;
  max-width: 980px !important;
}

.template-cart .leaven-shipping-progress__fill {
  background: var(--lvx-blue) !important;
}

.lvx-cart-recovery {
  border-top: 3px solid var(--lvx-ink);
  margin: 70px auto 0;
  max-width: 980px;
  padding-top: 30px;
}

.lvx-cart-recovery__grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, 1fr);
}

.lvx-cart-recovery__card {
  background: var(--lvx-manila);
  border: var(--lvx-line);
  color: var(--lvx-ink);
  padding: 24px;
  text-decoration: none;
}

.lvx-cart-recovery__card:nth-child(2) {
  background: var(--lvx-yellow);
}

.lvx-cart-recovery__card h3 {
  margin: 0 0 8px;
}

.lvx-cart-recovery__card p {
  line-height: 1.6;
  margin: 0;
}

/* Footer */
body .footer {
  background: var(--lvx-blue) !important;
  border-top: 3px solid var(--lvx-ink) !important;
  color: var(--lvx-paper) !important;
}

body .footer h2,
body .footer h3,
body .footer a {
  color: var(--lvx-paper) !important;
}

body .footer .field__input {
  width: 100% !important;
}

/* Add-to-cart note: the workshop follows the customer into the buying flow. */
.lvx-cart-notification {
  background: var(--lvx-paper) !important;
  border: 2px solid var(--lvx-ink) !important;
  box-shadow: 5px 7px 0 var(--lvx-yellow);
}

.lvx-cart-notification__kicker {
  color: var(--lvx-blue);
  font-family: "Courier Prime", monospace;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  margin: 0 0 8px;
}

.lvx-cart-notification .cart-notification__heading {
  font-family: "Noto Sans TC", system-ui, sans-serif !important;
  font-style: normal !important;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

@media (max-width: 1100px) {
  body #easystore-section-header .header {
    grid-template-areas: "left-icon heading icons" !important;
    grid-template-columns: 48px 1fr auto !important;
    height: 68px;
    min-height: 68px;
  }

  body #easystore-section-header .header__heading-link {
    justify-self: center;
  }

  body #easystore-section-header .header__inline-menu {
    display: none !important;
  }

  body #easystore-section-header .header__icons {
    justify-self: end;
  }
}

@media (max-width: 820px) {
  .lvx-hero {
    display: grid;
    min-height: 0;
  }

  .lvx-hero__art {
    height: auto;
    min-height: 320px;
    object-fit: cover;
    object-position: 74% center;
    position: relative;
  }

  .lvx-hero__inner {
    min-height: 0;
  }

  .lvx-hero__content {
    background: transparent;
    border: 0;
    box-shadow: none;
    margin: 0;
    padding: 48px 0 58px;
  }

  .lvx-hero h1 {
    font-size: clamp(3.2rem, 16vw, 5.4rem);
  }

  .lvx-proof__grid {
    grid-template-columns: 1fr;
  }

  .lvx-proof__item + .lvx-proof__item {
    border-left: 0;
    border-top: 2px dashed var(--lvx-ink);
  }

  .lvx-routes__header,
  .lvx-shelf__header {
    align-items: start;
    flex-direction: column;
  }

  .lvx-routes__grid {
    grid-template-columns: 1fr;
  }

  .lvx-route {
    min-height: 300px;
  }

  .lvx-product-grid,
  .lvx-journal__grid {
    grid-template-columns: 1fr;
  }

  .lvx-dripbox__inner,
  .lvx-visit__inner {
    grid-template-columns: 1fr;
  }

  .lvx-dripbox__poster {
    margin-right: 10px;
  }
}

@media (max-width: 560px) {
  .lvx-shell {
    padding-inline: 16px;
  }

  body .lv-announce {
    font-size: 0.61rem !important;
    line-height: 1.45;
    white-space: normal !important;
  }

  body #easystore-section-header .header {
    gap: 8px !important;
    padding-inline: 12px !important;
  }

  .lvx-wordmark strong {
    font-size: 1.35rem;
  }

  .lvx-wordmark small {
    font-size: 0.5rem;
  }

  .lvx-hero__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .lvx-hero__actions .lvx-button {
    width: 100%;
  }

  .lvx-cart-recovery__grid {
    grid-template-columns: 1fr;
  }
}

/* Studio depth pass — one room, quiet IP, commerce first */
body::before {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");
  content: "";
  inset: 0;
  opacity: 0.025;
  pointer-events: none;
  position: fixed;
  z-index: 9999;
}

h1,
h2,
.h1,
.h2 {
  font-family: "Playfair Display", "Noto Serif TC", "Songti TC", "PMingLiU", Georgia, serif !important;
  font-style: italic !important;
  letter-spacing: -0.045em;
}

h3,
h4,
.h3,
.h4 {
  font-family: "Noto Sans TC", system-ui, sans-serif !important;
  font-style: normal !important;
}

.lvx-button,
body .button,
body button.button,
body a.button {
  transition: background-color 120ms steps(2, end), color 120ms steps(2, end);
}

.lvx-button:hover,
body .button:hover,
body button.button:hover,
body a.button:hover {
  background: var(--lvx-ink) !important;
  box-shadow: var(--lvx-shadow) !important;
  color: var(--lvx-paper) !important;
  transform: none;
}

.lvx-studio-routes {
  background:
    linear-gradient(rgba(0, 80, 158, 0.055) 1px, transparent 1px),
    var(--lvx-paper);
  background-size: 100% 32px;
  padding-block: clamp(78px, 10vw, 140px);
}

.lvx-studio-routes__heading {
  align-items: end;
  display: flex;
  gap: 32px;
  justify-content: space-between;
  margin-bottom: 48px;
}

.lvx-route-board {
  display: grid;
  gap: clamp(18px, 2.4vw, 30px);
  grid-template-columns: minmax(0, 1.18fr) minmax(0, 1fr) minmax(0, 0.88fr);
  padding: 28px 54px 54px 0;
  position: relative;
}

.lvx-route-board__rule {
  background: var(--lvx-red);
  bottom: 8px;
  left: 34px;
  position: absolute;
  top: 0;
  width: 1px;
}

.lvx-route {
  --lvx-rest-transform: rotate(-0.45deg);
  --lvx-start-transform: translateY(12px) rotate(-1deg);
  align-self: start;
  background: #fffdf7;
  border: 1px solid rgba(26, 26, 26, 0.78);
  box-shadow: 4px 6px 0 rgba(26, 26, 26, 0.92);
  color: var(--lvx-ink);
  min-height: 340px;
  overflow: visible;
  transform: var(--lvx-rest-transform);
  transition: background-color 120ms steps(2, end);
}

.lvx-route:nth-of-type(2) {
  --lvx-rest-transform: translateY(22px) rotate(0.55deg);
  --lvx-start-transform: translateY(34px) rotate(1deg);
  background: #f2ecdf;
}

.lvx-route:nth-of-type(3) {
  --lvx-rest-transform: translateY(5px) rotate(-0.25deg);
  --lvx-start-transform: translateY(17px) rotate(-0.7deg);
  background: #eef2e9;
}

.lvx-route:hover {
  background: var(--lvx-yellow);
  box-shadow: 4px 6px 0 rgba(26, 26, 26, 0.92);
  transform: var(--lvx-rest-transform);
}

.lvx-route__pin {
  background: var(--lvx-blue);
  border-radius: 50%;
  box-shadow: 1px 1px 0 var(--lvx-ink);
  height: 11px;
  left: 50%;
  position: absolute;
  top: 12px;
  width: 11px;
}

.lvx-route:nth-of-type(2) .lvx-route__pin {
  background: var(--lvx-red);
}

.lvx-route:nth-of-type(3) .lvx-route__pin {
  background: var(--lvx-sage);
}

.lvx-route__top {
  padding: 30px 22px 0;
}

.lvx-route__index {
  border: 0;
  border-bottom: 2px solid currentColor;
  padding: 2px 0;
}

.lvx-route__glyph {
  color: var(--lvx-blue);
  font-size: 4.1rem;
}

.lvx-route__body {
  padding: 24px 22px 26px;
}

.lvx-route h3 {
  font-size: clamp(1.6rem, 2.7vw, 2.65rem);
}

.lvx-tempo-cameo {
  bottom: 0;
  margin: 0;
  opacity: 0.86;
  position: absolute;
  right: -3px;
  transform: rotate(2deg);
  width: clamp(62px, 7vw, 94px);
  z-index: 2;
}

.lvx-tempo-cameo img {
  display: block;
  height: auto;
  width: 100%;
}

.lvx-product-card {
  border: 1px solid rgba(26, 26, 26, 0.82);
  box-shadow: 3px 5px 0 rgba(26, 26, 26, 0.9);
}

.lvx-product-card__image {
  border-bottom: 1px solid rgba(26, 26, 26, 0.82);
}

.lvx-product-card__image img,
.lvx-product-card:hover .lvx-product-card__image img {
  transform: none;
  transition: none;
}

.lvx-bench {
  background:
    linear-gradient(90deg, rgba(0, 80, 158, 0.06) 1px, transparent 1px),
    linear-gradient(rgba(0, 80, 158, 0.06) 1px, transparent 1px),
    #f0eadf;
  background-size: 28px 28px;
  border-bottom: 3px solid var(--lvx-ink);
  padding-block: clamp(76px, 9vw, 120px);
}

.lvx-bench__grid {
  align-items: center;
  display: grid;
  gap: clamp(36px, 7vw, 100px);
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.lvx-bench__notes {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.lvx-bench-note {
  --lvx-rest-transform: rotate(-0.6deg);
  --lvx-start-transform: translateY(10px) rotate(-1.2deg);
  background: #fffdf7;
  border: 1px solid rgba(26, 26, 26, 0.8);
  box-shadow: 4px 6px 0 rgba(26, 26, 26, 0.88);
  min-height: 142px;
  padding: 22px;
  transform: var(--lvx-rest-transform);
}

.lvx-bench-note:nth-child(2) {
  --lvx-rest-transform: rotate(0.8deg);
  --lvx-start-transform: translateY(10px) rotate(1.4deg);
  background: var(--lvx-yellow);
  transform: var(--lvx-rest-transform);
}

.lvx-bench-note:nth-child(3) {
  --lvx-rest-transform: rotate(-0.2deg);
  --lvx-start-transform: translateY(10px) rotate(-0.8deg);
  background: #e5ecdf;
  grid-column: 1 / -1;
  transform: var(--lvx-rest-transform);
}

.lvx-bench-note span {
  color: var(--lvx-blue);
  display: block;
  font-family: "Courier Prime", monospace;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  margin-bottom: 14px;
}

.lvx-bench-note strong {
  font-size: 1.05rem;
  line-height: 1.55;
}

.lvx-dripbox {
  background: var(--lvx-paper);
  padding-inline: clamp(12px, 3vw, 36px);
}

.lvx-dripbox__inner {
  background:
    linear-gradient(90deg, transparent 0 94%, rgba(255, 222, 0, 0.07) 94% 100%),
    var(--lvx-blue);
  background-size: 36px 100%;
  border: 2px solid var(--lvx-ink);
  box-shadow: 6px 8px 0 var(--lvx-ink);
  max-width: calc(var(--lvx-page) - 48px);
  padding: clamp(34px, 6vw, 82px);
}

.lvx-dripbox__poster {
  box-shadow: 7px 9px 0 var(--lvx-yellow);
}

.lvx-visit {
  background: #e7eadf;
}

.lvx-visit__inner {
  align-items: center;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
}

.lvx-visit__photo {
  --lvx-rest-transform: rotate(-0.55deg);
  --lvx-start-transform: translateY(12px) rotate(-1deg);
  background: var(--lvx-paper);
  border: 1px solid rgba(26, 26, 26, 0.84);
  box-shadow: 5px 7px 0 rgba(26, 26, 26, 0.9);
  margin: 0;
  padding: 12px 12px 18px;
  transform: var(--lvx-rest-transform);
}

.lvx-visit__photo img {
  display: block;
  height: auto;
  width: 100%;
}

.lvx-visit__photo figcaption {
  font-family: "Courier Prime", monospace;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 12px 6px 0;
  text-transform: uppercase;
}

.lvx-visit__copy .lvx-button {
  margin-top: 28px;
}

.lvx-journal__layout {
  align-items: start;
  display: grid;
  gap: clamp(28px, 5vw, 68px);
  grid-template-columns: minmax(0, 1.22fr) minmax(280px, 0.78fr);
}

.lvx-story-card--lead {
  border-top-width: 1px;
}

.lvx-story-card--lead h3 {
  font-size: clamp(1.5rem, 2.5vw, 2.25rem);
}

.lvx-journal__slips {
  display: grid;
  gap: 24px;
  padding-top: 18px;
}

.lvx-story-slip {
  --lvx-rest-transform: rotate(0.35deg);
  --lvx-start-transform: translateY(10px) rotate(0.8deg);
  background: #f2ecdf;
  border: 1px solid rgba(26, 26, 26, 0.8);
  box-shadow: 3px 5px 0 rgba(26, 26, 26, 0.88);
  color: var(--lvx-ink);
  display: block;
  padding: 24px;
  text-decoration: none;
  transform: var(--lvx-rest-transform);
}

.lvx-story-slip:nth-child(2) {
  --lvx-rest-transform: rotate(-0.5deg);
  --lvx-start-transform: translateY(10px) rotate(-1deg);
  background: #fff7c9;
}

.lvx-story-slip time {
  color: var(--lvx-blue);
  font-family: "Courier Prime", monospace;
  font-size: 0.68rem;
  font-weight: 700;
}

.lvx-story-slip h3 {
  line-height: 1.5;
  margin: 12px 0 22px;
}

/* Only physical objects are placed. Text and buy paths never wait for JS. */
[data-lvx-place],
[data-lvx-cue] {
  opacity: 1;
}

.lvx-ready [data-lvx-place] {
  opacity: 0;
  transform: var(--lvx-start-transform, translateY(10px));
}

.lvx-ready [data-lvx-place].lvx-placed {
  animation: lvx-place 360ms steps(2, end) forwards;
}

.lvx-ready [data-lvx-cue] {
  opacity: 0;
  transform: translateY(8px) rotate(-4deg);
}

.lvx-ready [data-lvx-cue].lvx-cued {
  animation: lvx-cue 420ms steps(2, end) forwards;
}

@keyframes lvx-place {
  to {
    opacity: 1;
    transform: var(--lvx-rest-transform, none);
  }
}

@keyframes lvx-cue {
  55% {
    opacity: 0.86;
    transform: translateY(0) rotate(4deg);
  }

  to {
    opacity: 0.86;
    transform: translateY(0) rotate(2deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .lvx-ready [data-lvx-place],
  .lvx-ready [data-lvx-cue] {
    animation: none !important;
    opacity: 1;
    transform: var(--lvx-rest-transform, none);
  }
}

@media (max-width: 820px) {
  .lvx-studio-routes__heading {
    align-items: start;
    flex-direction: column;
  }

  .lvx-route-board {
    grid-template-columns: 1fr;
    padding: 20px 30px 54px 12px;
  }

  .lvx-route,
  .lvx-route:nth-of-type(2),
  .lvx-route:nth-of-type(3) {
    min-height: 0;
  }

  .lvx-route {
    --lvx-rest-transform: rotate(-0.45deg);
    --lvx-start-transform: translateY(10px) rotate(-0.9deg);
  }

  .lvx-route:nth-of-type(2) {
    --lvx-rest-transform: rotate(0.55deg);
    --lvx-start-transform: translateY(10px) rotate(0.9deg);
  }

  .lvx-route:nth-of-type(3) {
    --lvx-rest-transform: rotate(-0.25deg);
    --lvx-start-transform: translateY(10px) rotate(-0.7deg);
  }

  .lvx-tempo-cameo {
    right: -2px;
    width: 64px;
  }

  .lvx-bench__grid,
  .lvx-visit__inner,
  .lvx-journal__layout {
    grid-template-columns: 1fr;
  }

  .lvx-product-grid {
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lvx-product-card__body {
    padding: 14px;
  }

  .lvx-product-card__foot {
    align-items: start;
    flex-direction: column;
    gap: 12px;
  }
}

@media (max-width: 560px) {
  .lvx-studio-routes,
  .lvx-shelf,
  .lvx-bench,
  .lvx-dripbox,
  .lvx-visit,
  .lvx-journal {
    padding-block: 64px;
  }

  .lvx-bench__notes {
    grid-template-columns: 1fr;
  }

  .lvx-bench-note:nth-child(3) {
    grid-column: auto;
  }

  .lvx-product-card h3 {
    font-size: 0.98rem;
  }

  .lvx-product-card__meta {
    font-size: 0.58rem;
  }

  .lvx-product-card__price {
    font-size: 0.7rem;
  }
}


/* LEAVEN VISUAL DEPTH · 2026-07-29 */
body .lv-announce {
  font-size: 12px !important;
  letter-spacing: 0.13em !important;
  line-height: 1.5 !important;
  padding: 10px 20px !important;
}

@media (min-width: 1101px) {
  body #easystore-section-header .header__menu-item,
  body #easystore-section-header .list-menu__item {
    font-size: 15px !important;
    line-height: 1.35 !important;
    padding: 10px 12px !important;
  }

  body #easystore-section-header .header__submenu .header__menu-item {
    font-size: 14px !important;
  }
}

.lvx-live-signal {
  align-items: center;
  background: var(--lvx-blue);
  border: 2px solid var(--lvx-ink);
  color: var(--lvx-yellow);
  display: inline-flex;
  font-family: "Courier Prime", "Noto Sans TC", monospace;
  font-size: 0.72rem;
  font-weight: 700;
  gap: 9px;
  letter-spacing: 0.08em;
  margin-bottom: 18px;
  padding: 7px 10px;
  text-decoration: none;
  text-transform: uppercase;
  transform: rotate(-1deg);
}

.lvx-live-signal__dot {
  background: var(--lvx-yellow);
  border: 1px solid var(--lvx-ink);
  border-radius: 50%;
  height: 9px;
  width: 9px;
}

.lvx-route__stamp {
  background: var(--lvx-paper);
  border: 2px solid var(--lvx-ink);
  box-shadow: 3px 3px 0 var(--lvx-yellow);
  display: block;
  height: 96px;
  overflow: hidden;
  transform: rotate(2deg);
  width: 96px;
}

.lvx-route:nth-of-type(2) .lvx-route__stamp {
  box-shadow: 3px 3px 0 var(--lvx-red);
  transform: rotate(-2deg);
}

.lvx-route:nth-of-type(3) .lvx-route__stamp {
  box-shadow: 3px 3px 0 var(--lvx-sage);
}

.lvx-route__stamp img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.lvx-arrivals {
  background: var(--lvx-blue);
  border-block: 3px solid var(--lvx-ink);
  color: var(--lvx-paper);
  padding-block: clamp(72px, 9vw, 118px);
}

.lvx-arrivals__header {
  align-items: end;
  display: flex;
  gap: 30px;
  justify-content: space-between;
  margin-bottom: 40px;
}

.lvx-arrivals__header .lvx-section-heading {
  color: var(--lvx-paper);
  max-width: 14ch;
}

.lvx-arrivals__status {
  background: var(--lvx-yellow);
  border: 2px solid var(--lvx-ink);
  box-shadow: 4px 4px 0 var(--lvx-ink);
  color: var(--lvx-ink);
  font-family: "Courier Prime", "Noto Sans TC", monospace;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 9px 12px;
  transform: rotate(1deg);
}

.lvx-arrivals__grid {
  display: grid;
  gap: clamp(18px, 2.4vw, 30px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lvx-arrival-card {
  background: var(--lvx-paper);
  border: 2px solid var(--lvx-ink);
  box-shadow: 6px 7px 0 var(--lvx-ink);
  color: var(--lvx-ink);
  display: block;
  text-decoration: none;
  transform: rotate(-0.45deg);
}

.lvx-arrival-card:nth-child(2) {
  transform: translateY(16px) rotate(0.55deg);
}

.lvx-arrival-card:nth-child(3) {
  transform: rotate(-0.2deg);
}

.lvx-arrival-card__screen {
  aspect-ratio: 4 / 3;
  background: #fff;
  border-bottom: 2px solid var(--lvx-ink);
  overflow: hidden;
  position: relative;
}

.lvx-arrival-card__screen img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.lvx-arrival-card__channel {
  background: var(--lvx-ink);
  color: var(--lvx-yellow);
  font-family: "Courier Prime", monospace;
  font-size: 0.68rem;
  font-weight: 700;
  left: 10px;
  letter-spacing: 0.09em;
  padding: 5px 8px;
  position: absolute;
  top: 10px;
}

.lvx-arrival-card__body {
  padding: 22px;
}

.lvx-arrival-card__body h3 {
  font-size: clamp(1.25rem, 2vw, 1.8rem);
  line-height: 1.25;
  margin: 8px 0 18px;
}

.lvx-arrival-card__foot {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.lvx-arrival-card__price {
  background: var(--lvx-yellow);
  border: 2px solid var(--lvx-ink);
  font-family: "Courier Prime", monospace;
  font-size: 0.8rem;
  font-weight: 700;
  padding: 5px 8px;
}

@media (max-width: 820px) {
  .lvx-arrivals__header {
    align-items: start;
    flex-direction: column;
  }

  .lvx-arrivals__grid {
    grid-template-columns: 1fr;
  }

  .lvx-arrival-card,
  .lvx-arrival-card:nth-child(2),
  .lvx-arrival-card:nth-child(3) {
    transform: none;
  }

  .lvx-route__stamp {
    height: 82px;
    width: 82px;
  }
}

@media (max-width: 560px) {
  body .lv-announce {
    font-size: 11px !important;
    overflow: hidden;
    padding-inline: 12px !important;
    text-overflow: ellipsis;
  }

  .lvx-live-signal {
    font-size: 0.65rem;
    line-height: 1.35;
  }

  .lvx-arrivals {
    padding-block: 64px;
  }
}

/* LEAVEN HEADER SINGLE-ROW PATCH · 2026-07-29 */
@media (min-width: 1101px) {
  body #easystore-section-header .header {
    gap: 16px !important;
    grid-template-columns: 140px minmax(0, 1fr) 160px !important;
  }
  body #easystore-section-header .header__inline-menu > ul { flex-wrap: nowrap !important; }
  body #easystore-section-header .header__menu-item,
  body #easystore-section-header .list-menu__item { white-space: nowrap !important; }
}

/* LEAVEN HEADER ICON WIDTH PATCH · 2026-07-29 */
@media (min-width: 1101px) {
  body #easystore-section-header .header { grid-template-columns: 140px minmax(0, 1fr) 220px !important; }
  body #easystore-section-header .header__icons,
  body #easystore-section-header .header__icon { white-space: nowrap !important; }
}


/* LEAVEN DOUBLE FEATURE + BEAN REEL · 2026-07-29 */
.lvx-cinema { background: var(--lvx-ink); border-bottom: 3px solid var(--lvx-ink); color: var(--lvx-paper); overflow: hidden; padding: clamp(72px, 9vw, 116px) 0 0; } .lvx-cinema__header { align-items: end; display: flex; gap: 32px; justify-content: space-between; margin-bottom: 38px; } .lvx-cinema__header .lvx-section-heading { color: var(--lvx-paper); max-width: 13ch; } .lvx-cinema__header > p { color: rgba(255, 255, 255, 0.74); font-size: 1rem; line-height: 1.7; margin: 0; max-width: 36rem; } .lvx-double-feature { display: grid; gap: clamp(18px, 2.5vw, 34px); grid-template-columns: repeat(2, minmax(0, 1fr)); } .lvx-film { background: var(--lvx-paper); border: 2px solid var(--lvx-paper); box-shadow: 8px 8px 0 var(--lvx-blue); color: var(--lvx-ink); } .lvx-film--godfather { box-shadow: 8px 8px 0 var(--lvx-red); } .lvx-film__screen { aspect-ratio: 16 / 9; background: #000; border-bottom: 2px solid var(--lvx-ink); overflow: hidden; } .lvx-film__screen iframe { border: 0; height: 100%; width: 100%; } .lvx-film__body { align-items: end; display: grid; gap: 9px 18px; grid-template-columns: minmax(0, 1fr) auto; padding: 20px 22px 22px; } .lvx-film__cue { color: var(--lvx-blue); font-family: "Courier Prime", "Noto Sans TC", monospace; font-size: 0.7rem; font-weight: 700; grid-column: 1 / -1; letter-spacing: 0.08em; } .lvx-film--godfather .lvx-film__cue { color: var(--lvx-red); } .lvx-film__body h3 { font-size: clamp(1.2rem, 2.2vw, 1.8rem); line-height: 1.2; margin: 0; } .lvx-film__link { border-bottom: 2px solid currentColor; color: inherit; font-family: "Courier Prime", "Noto Sans TC", monospace; font-size: 0.78rem; font-weight: 700; text-decoration: none; white-space: nowrap; } .lvx-reel { border-top: 2px solid var(--lvx-paper); margin-top: clamp(52px, 7vw, 78px); overflow: hidden; padding: 14px 0 15px; } .lvx-reel__track { animation: lvx-reel-drift 28s linear infinite; display: flex; width: max-content; } .lvx-reel:hover .lvx-reel__track, .lvx-reel:focus-within .lvx-reel__track { animation-play-state: paused; } .lvx-reel__group { display: flex; flex: none; gap: 12px; padding-right: 12px; } .lvx-reel a { border: 1px solid rgba(255, 255, 255, 0.64); color: var(--lvx-paper); font-family: "Courier Prime", "Noto Sans TC", monospace; font-size: 0.76rem; font-weight: 700; letter-spacing: 0.06em; padding: 8px 13px; text-decoration: none; white-space: nowrap; } .lvx-reel a::before { color: var(--lvx-yellow); content: "▶"; margin-right: 8px; } @keyframes lvx-reel-drift { to { transform: translateX(-50%); } } @media (max-width: 820px) { .lvx-cinema__header { align-items: start; flex-direction: column; } .lvx-double-feature { display: flex; margin-right: calc(50% - 50vw); overflow-x: auto; padding-bottom: 12px; scroll-snap-type: x mandatory; scrollbar-width: none; } .lvx-double-feature::-webkit-scrollbar { display: none; } .lvx-film { flex: 0 0 min(88vw, 620px); scroll-snap-align: start; } } @media (max-width: 560px) { .lvx-cinema { padding-top: 64px; } .lvx-cinema__header > p { font-size: 0.92rem; } .lvx-film__body { align-items: start; grid-template-columns: 1fr; } .lvx-film__link { justify-self: start; } } @media (prefers-reduced-motion: reduce) { .lvx-reel { overflow-x: auto; } .lvx-reel__track { animation: none; } .lvx-reel__group[aria-hidden="true"] { display: none; } }


/* LEAVEN PHASE 3 EXPERIENCE · 2026-07-29 */ @media (min-width:1101px){body #easystore-section-header .header__submenu.list-menu--disclosure{display:flex;flex-direction:column;min-width:340px!important;width:max-content!important;max-width:min(390px,calc(100vw - 32px))}body #easystore-section-header .header__submenu .header__menu-item{line-height:1.45!important;overflow-wrap:anywhere;padding:12px 22px!important;white-space:normal!important}}.lvx-hero{background:var(--lvx-yellow);min-height:min(760px,78vh);overflow:hidden}.lvx-hero::after{background:linear-gradient(90deg,rgba(255,222,0,.98) 0,rgba(255,222,0,.88) 36%,rgba(255,222,0,.08) 64%,transparent 100%);content:"";inset:0;pointer-events:none;position:absolute;z-index:1}.lvx-hero__film{background:var(--lvx-ink);height:100%;inset:0 0 0 auto;overflow:hidden;position:absolute;width:min(49vw,760px);z-index:0}.lvx-hero__film iframe{border:0;height:100%;left:50%;min-height:100%;min-width:100%;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.lvx-hero__inner{min-height:min(760px,78vh)}.lvx-hero__content{background:rgba(248,245,237,.94);max-width:610px}.lvx-route__stamp{align-items:center;display:flex;justify-content:center;padding:8px}.lvx-route__stamp svg{color:var(--lvx-ink);display:block;height:100%;width:100%}.lvx-visit__photo img{aspect-ratio:4/3;object-fit:cover}.lvx-cinema{overflow:clip}.lvx-card-note{border-top:1px solid rgba(26,26,26,.18);color:rgba(26,26,26,.72);font-size:.86rem;line-height:1.6;margin:14px 16px 0;padding:13px 0 18px}.lvx-card-note strong{color:var(--lvx-blue);display:block;font-family:"Courier Prime","Noto Sans TC",monospace;font-size:.65rem;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}@media (min-width:990px){#main-image-wrapper-main-product.product__media-list{display:flex!important;flex-wrap:nowrap!important;gap:0!important;overflow-x:auto!important;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;width:100%}#main-image-wrapper-main-product.product__media-list::-webkit-scrollbar{display:none}#main-image-wrapper-main-product .product__media-item{flex:0 0 100%!important;margin:0!important;max-width:100%!important;scroll-snap-align:start;width:100%!important}#main-image-wrapper-main-product .product__media{margin:0 auto;max-width:100%}.product slider-component .slider-buttons{align-items:center;display:flex!important;justify-content:center;margin-top:14px}.lvx-double-feature{align-items:start;grid-template-columns:minmax(0,1.28fr) minmax(300px,.72fr);min-height:118vh}.lvx-double-feature .lvx-film:first-child{position:sticky;top:112px}.lvx-film--godfather{margin-top:42vh}}@media (max-width:989px){.lvx-hero{min-height:760px}.lvx-hero::after{background:linear-gradient(180deg,transparent 0,rgba(255,222,0,.08) 38%,rgba(255,222,0,.94) 58%,var(--lvx-yellow) 100%)}.lvx-hero__film{height:55%;inset:0 0 auto;width:100%}.lvx-hero__inner{align-items:end;min-height:760px;padding-bottom:34px}.lvx-hero__content{margin:0;width:100%}}@media (max-width:560px){.lvx-hero{min-height:700px}.lvx-hero__inner{min-height:700px;padding-bottom:22px}.lvx-hero__content{padding:24px 22px}.lvx-route__stamp{height:78px;width:78px}}@media (prefers-reduced-motion:reduce){#main-image-wrapper-main-product.product__media-list{scroll-behavior:auto}}

/* LEAVEN PHASE 3 POLISH · 2026-07-29 */ @media (min-width:1101px){body #easystore-section-header .header__submenu>li:nth-child(1){order:3}body #easystore-section-header .header__submenu>li:nth-child(2){order:1}body #easystore-section-header .header__submenu>li:nth-child(3){order:2}} @media (min-width:990px){#main-image-wrapper-main-product.product__media-list{align-items:stretch;aspect-ratio:1/1;height:auto!important}#main-image-wrapper-main-product .product__media-item{height:100%!important;overflow:hidden}#main-image-wrapper-main-product .product__media-item>img{height:auto!important;margin:auto;max-height:100%!important;max-width:100%!important;object-fit:contain;width:auto!important}#main-image-wrapper-main-product .product__media-item>iframe{margin:auto;max-width:100%}}

/* LEAVEN ORIGINAL BLEND HERO · 2026-07-29 */ .lvx-hero__film{inset:0;width:100%}.lvx-hero__film iframe{height:56.25vw;min-height:100%;min-width:177.78vh;width:100vw}

/* LEAVEN G2 SCROLL SCRUB · 2026-07-29 */ .lvx-scroll-cinema{--lvx-scrub:0;height:320vh;overflow:clip;padding:0;position:relative}.lvx-scroll-cinema__sticky{align-content:center;background:var(--lvx-ink);display:grid;min-height:100vh;padding:clamp(24px,5vw,72px);position:sticky;top:0}.lvx-scroll-cinema__intro{align-items:end;display:flex;gap:32px;justify-content:space-between;margin:0 auto 24px;max-width:1180px;width:100%}.lvx-scroll-cinema__intro h2{color:var(--lvx-paper);font-size:clamp(2.3rem,5.2vw,5rem);line-height:.96;margin:0;max-width:12ch}.lvx-scroll-cinema__intro>p:last-child{color:rgba(255,255,255,.72);line-height:1.7;margin:0;max-width:24rem}.lvx-scroll-cinema__screen{aspect-ratio:16/9;background:#000;border:2px solid var(--lvx-paper);box-shadow:8px 8px 0 var(--lvx-blue);margin:0 auto;max-height:62vh;max-width:1180px;overflow:hidden;position:relative;width:100%}.lvx-scroll-cinema__screen iframe{border:0;height:100%;pointer-events:none;width:100%}.lvx-scroll-cinema__progress{background:rgba(248,245,237,.28);bottom:0;height:6px;left:0;position:absolute;right:0}.lvx-scroll-cinema__progress span{background:var(--lvx-yellow);display:block;height:100%;transform:scaleX(var(--lvx-scrub));transform-origin:left center}.lvx-scroll-cinema__footer{align-items:center;display:flex;font-family:"Courier Prime","Noto Sans TC",monospace;font-size:.74rem;font-weight:700;justify-content:space-between;letter-spacing:.06em;margin:20px auto 0;max-width:1180px;width:100%}.lvx-scroll-cinema__footer a{border-bottom:2px solid currentColor;color:var(--lvx-paper);text-decoration:none}@media (max-width:820px){.lvx-scroll-cinema{height:270vh}.lvx-scroll-cinema__sticky{padding:22px 14px}.lvx-scroll-cinema__intro{align-items:start;display:block}.lvx-scroll-cinema__intro h2{font-size:clamp(2.2rem,11vw,3.7rem)}.lvx-scroll-cinema__intro>p:last-child{font-size:.86rem;margin-top:14px}.lvx-scroll-cinema__screen{max-height:none}.lvx-scroll-cinema__footer{font-size:.63rem}}

/* LEAVEN G2 SCRUB POSTER FALLBACK · 2026-07-29 */ .lvx-scroll-cinema__screen{background:#000 url("https://i.ytimg.com/vi/WfJ3zGeCBkU/maxresdefault.jpg") center/cover no-repeat}


/* PHASE 3.1 · FILM-ONLY HERO + G2 PARALLAX WINDOW */ .lvx-home .lvx-hero{aspect-ratio:16/9;background:#000;min-height:0!important}.lvx-home .lvx-hero::after{display:none}.lvx-home .lvx-hero__film{height:100%!important;inset:0!important;width:100%!important}.lvx-home .lvx-hero__film::after,.lvx-g2-parallax__window::after{background:linear-gradient(180deg,rgba(0,0,0,.96),rgba(0,0,0,0));content:"";height:72px;inset:0 0 auto;pointer-events:none;position:absolute;z-index:2}.lvx-home .lvx-hero__film iframe{height:56.25vw!important;min-height:100%!important;min-width:177.78vh!important;pointer-events:none;transform:translate(-50%,-50%) scale(1.14)!important;width:100vw!important}.lvx-g2-parallax{background:var(--lvx-ink);height:185vh;overflow:clip;perspective:1100px;position:relative;view-timeline-name:--lvx-g2-scene;view-timeline-axis:block}.lvx-g2-parallax__runway{display:grid;height:100vh;inset:0;place-items:center;position:sticky;top:0}.lvx-g2-parallax__window{animation:lvx-g2-glide linear both;animation-range:entry 0% exit 100%;animation-timeline:--lvx-g2-scene;aspect-ratio:16/9;background:#000;border:2px solid var(--lvx-paper);box-shadow:12px 14px 0 var(--lvx-blue);overflow:hidden;position:relative;transform-style:preserve-3d;width:min(68vw,940px)}.lvx-g2-parallax__window iframe{border:0;height:114%;pointer-events:none;transform:translate(-6.15%,-6.15%);width:114%}@keyframes lvx-g2-glide{0%{transform:translate3d(-18vw,9vh,-150px) rotateY(9deg) rotateZ(-1deg) scale(.88)}50%{transform:translate3d(0,0,0) rotateY(0) rotateZ(0) scale(1)}100%{transform:translate3d(18vw,-9vh,-150px) rotateY(-9deg) rotateZ(1deg) scale(.88)}}@media (max-width:820px){.lvx-home .lvx-hero{aspect-ratio:16/9}.lvx-home .lvx-hero__film::after,.lvx-g2-parallax__window::after{height:52px}.lvx-g2-parallax{height:145vh;perspective:760px}.lvx-g2-parallax__window{box-shadow:7px 8px 0 var(--lvx-blue);width:86vw}@keyframes lvx-g2-glide{0%{transform:translate3d(-11vw,6vh,-80px) rotateY(6deg) rotateZ(-.6deg) scale(.92)}50%{transform:translate3d(0,0,0) rotateY(0) rotateZ(0) scale(1)}100%{transform:translate3d(11vw,-6vh,-80px) rotateY(-6deg) rotateZ(.6deg) scale(.92)}}}@media (prefers-reduced-motion:reduce){.lvx-g2-parallax{height:100vh}.lvx-g2-parallax__window{animation:none;transform:none}}

/* PHASE 3.2 · NATIVE HERO + FRAME-BY-FRAME G2 SCROLL */ .lvx-home .lvx-hero{aspect-ratio:16/9;background:#000;min-height:0!important}.lvx-home .lvx-hero::after{display:none}.lvx-home .lvx-hero__film{height:100%!important;inset:0!important;width:100%!important}.lvx-home .lvx-hero__film::after{display:none!important}.lvx-home .lvx-hero__film video{display:block;height:100%;object-fit:cover;width:100%}.lvx-g2-sequence{background:var(--lvx-ink);height:500vh;overflow:clip;position:relative}.lvx-g2-sequence__sticky{display:grid;height:100svh;inset:0;place-items:center;position:sticky;top:0}.lvx-g2-sequence__canvas{aspect-ratio:16/9;display:block;height:auto;max-height:86svh;max-width:1120px;width:min(76vw,1120px)}@media (max-width:820px){.lvx-g2-sequence{height:430vh}.lvx-g2-sequence__canvas{max-height:72svh;width:92vw}}
/* PHASE 3.3 · WELCOME + FULL-VIEWPORT G2 */ .lvx-home .lvx-hero::after{background:linear-gradient(180deg,rgba(255,222,0,0),rgba(255,222,0,.72) 58%,#ffde00 100%);content:"";display:block!important;height:42%;inset:auto 0 0;pointer-events:none;position:absolute;z-index:1}.lvx-hero__welcome{bottom:clamp(18px,3.2vw,58px);color:var(--lvx-ink);left:clamp(18px,5vw,88px);position:absolute;z-index:2}.lvx-hero__welcome strong{font-family:"Noto Serif TC","Times New Roman",serif;font-size:clamp(2.5rem,6.4vw,7.4rem);font-weight:700;letter-spacing:-.05em;line-height:.86}.lvx-g2-sequence__canvas{height:100svh;max-height:none;max-width:none;width:100vw}@media (max-width:820px){.lvx-hero__welcome{bottom:18px}.lvx-hero__welcome strong{font-size:clamp(2.4rem,12vw,4.2rem)}.lvx-g2-sequence__canvas{height:100svh;width:100vw}}
/* PHASE 3.4 · MOBILE WELCOME TUNING */ .lvx-home .lvx-hero::after{background:linear-gradient(180deg,rgba(255,222,0,0),rgba(255,222,0,.72) 64%,#ffde00 100%);height:34%}.lvx-hero__welcome strong{font-size:clamp(2rem,5.5vw,6.4rem);white-space:nowrap}@media (max-width:820px){.lvx-hero__welcome strong{font-size:clamp(1.8rem,8.8vw,3.4rem)}}
/* PHASE 3.5 · DESKTOP FIRST-VIEW HERO */ @media (min-width:821px){.lvx-home .lvx-hero{aspect-ratio:auto;height:calc(100svh - 114px);min-height:600px!important}}


/*
 * LEAVEN STOREFRONT SYSTEM v4.0
 * 2026-07-29 · taste, hierarchy, conversion, accessibility, performance
 *
 * Surface modes:
 * - Home: Experience + Persuade
 * - Collection / PDP / Cart: Persuade
 * - Blog / Article: Read
 * - Store locator: Persuade + Operate
 */

:root {
  --leaven-blue: #00509e;
  --leaven-blue-deep: #003f7d;
  --leaven-yellow: #ffde00;
  --leaven-paper: #f8f5ed;
  --leaven-paper-deep: #eee7da;
  --leaven-sage: #8ca982;
  --leaven-ink: #1a1a1a;
  --leaven-muted: #625f58;
  --leaven-red: #a8342f;
  --leaven-line: rgba(26, 26, 26, 0.22);
  --leaven-page: min(1320px, calc(100vw - 64px));
  --leaven-readable: 68ch;
  --leaven-radius-sm: 4px;
  --leaven-radius-md: 10px;
  --leaven-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

html {
  background: var(--leaven-paper);
  color: var(--leaven-ink);
  scroll-padding-top: 126px;
}

body {
  background: var(--leaven-paper);
  color: var(--leaven-ink);
  font-family: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body,
button,
input,
select,
textarea {
  font-family: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

a,
button,
input,
select,
summary,
[tabindex] {
  -webkit-tap-highlight-color: rgba(255, 222, 0, 0.28);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid var(--leaven-yellow) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 1px var(--leaven-ink) !important;
}

.page-width,
.lvx-shell {
  width: var(--leaven-page);
}

.lvx-kicker,
.lvx-product-card__meta,
.lvx-route__index,
.lvx-arrival-card__channel,
.lvx-arrivals__status {
  font-family: "Courier Prime", "Noto Sans TC", monospace;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  line-height: 1.4;
}

.lvx-section-heading {
  font-family: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(2rem, 4.4vw, 4.4rem);
  font-style: normal;
  font-weight: 700;
  letter-spacing: -0.055em;
  line-height: 1.08;
}

.lvx-section-copy {
  color: var(--leaven-muted);
  font-size: clamp(1rem, 1.2vw, 1.12rem);
  line-height: 1.75;
}

/* Shared chrome */

.lv-announce {
  min-height: 38px;
}

.lv-announce-track {
  align-items: center;
  font-size: 0.78rem;
  letter-spacing: 0.07em;
  line-height: 1.35;
}

.header-wrapper {
  background: color-mix(in srgb, var(--leaven-paper) 94%, white 6%);
}

.header {
  min-height: 76px;
  width: var(--leaven-page);
}

.header__heading-logo {
  height: auto;
  max-width: 118px;
}

.header__inline-menu .header__menu-item,
.header__link-label {
  font-family: "Courier Prime", "Noto Sans TC", monospace !important;
  font-size: 0.94rem !important;
  font-weight: 700;
  letter-spacing: 0.045em !important;
  line-height: 1.25;
}

.header__inline-menu .list-menu--inline {
  column-gap: clamp(14px, 1.65vw, 28px);
}

.header__submenu {
  border: 1px solid var(--leaven-ink) !important;
  border-radius: 0 !important;
  box-shadow: 6px 6px 0 var(--leaven-yellow) !important;
  min-width: 360px !important;
  padding: 10px !important;
}

.header__submenu .header__menu-item {
  align-items: center;
  min-height: 44px;
  padding: 10px 12px !important;
  white-space: normal;
}

.header__submenu .header__menu-item:hover {
  background: var(--leaven-yellow);
  text-decoration: none;
}

.header__icon {
  min-height: 44px;
  min-width: 44px;
}

.menu-drawer {
  background: var(--leaven-paper);
}

.menu-drawer__menu-item {
  border-bottom: 1px solid var(--leaven-line);
  font-size: 1.08rem !important;
  min-height: 52px;
}

/* Homepage: keep the authored film moments, reduce decorative repetition */

.lvx-home .lvx-hero {
  background: var(--leaven-ink);
  border-bottom: 1px solid var(--leaven-ink);
}

.lvx-home .lvx-hero__welcome {
  bottom: clamp(26px, 5vh, 64px);
  left: clamp(20px, 4.5vw, 84px);
  right: clamp(20px, 4.5vw, 84px);
}

.lvx-home .lvx-hero__welcome strong {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2.6rem, 5vw, 6rem);
  font-style: normal;
  font-weight: 900;
  letter-spacing: -0.055em;
  line-height: 0.9;
}

.lvx-studio-routes {
  padding-block: clamp(76px, 9vw, 132px);
}

.lvx-studio-routes__heading {
  align-items: end;
  gap: 48px;
  margin-bottom: clamp(54px, 6vw, 88px);
}

.lvx-studio-routes__heading .lvx-section-copy {
  max-width: 33rem;
}

.lvx-route-board {
  align-items: stretch;
  gap: 0;
}

.lvx-route-board__rule,
.lvx-route__pin {
  display: none;
}

.lvx-route {
  background: transparent;
  border: 0;
  border-left: 1px solid var(--leaven-line);
  box-shadow: none;
  display: flex;
  flex-direction: column;
  min-height: 390px;
  padding: 28px clamp(24px, 3vw, 44px) 34px;
  transform: none !important;
  transition: background-color 220ms var(--leaven-ease-out), color 220ms var(--leaven-ease-out);
}

.lvx-route:last-child {
  border-right: 1px solid var(--leaven-line);
}

.lvx-route:hover {
  background: var(--leaven-yellow);
  box-shadow: none;
}

.lvx-route__top {
  align-items: start;
}

.lvx-route__stamp {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--leaven-blue);
  display: flex;
  height: 62px;
  justify-content: center;
  padding: 0;
  width: 62px;
}

.lvx-route__stamp svg {
  height: 100%;
  width: 100%;
}

.lvx-route__body {
  display: flex;
  flex: 1;
  flex-direction: column;
}

.lvx-route__body h3 {
  font-family: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(1.55rem, 2vw, 2.15rem);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.2;
}

.lvx-route__body p {
  color: var(--leaven-muted);
  font-size: 1rem;
  line-height: 1.75;
}

.lvx-route:hover .lvx-route__body p {
  color: var(--leaven-ink);
}

.lvx-route__cta {
  border-bottom: 1px solid currentColor;
  margin-top: auto;
  width: fit-content;
}

.lvx-arrivals {
  padding-block: clamp(84px, 10vw, 148px);
}

.lvx-arrivals__header {
  margin-bottom: clamp(40px, 5vw, 70px);
}

.lvx-arrival-card {
  border: 0;
  box-shadow: none;
  transform: none !important;
}

.lvx-arrival-card__screen {
  background: var(--leaven-paper);
  border: 1px solid rgba(248, 245, 237, 0.34);
}

.lvx-arrival-card__body {
  padding: 22px 0 0;
}

.lvx-arrival-card__body h3 {
  font-family: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(1.18rem, 1.6vw, 1.55rem);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.35;
}

.lvx-arrival-card__channel {
  background: var(--leaven-yellow);
  color: var(--leaven-ink);
}

.lvx-g2-sequence {
  background: #082846;
  contain: layout paint;
}

.lvx-g2-sequence__canvas {
  background: #082846;
}

.lvx-bench,
.lvx-dripbox,
.lvx-visit,
.lvx-journal {
  border-top: 1px solid var(--leaven-line);
  padding-block: clamp(82px, 10vw, 150px);
}

.lvx-bench-note,
.lvx-dripbox__inner,
.lvx-visit__photo,
.lvx-story-card,
.lvx-story-slip {
  border-radius: var(--leaven-radius-sm);
}

.lvx-bench-note,
.lvx-story-slip {
  box-shadow: none;
}

.lvx-dripbox__inner {
  box-shadow: 8px 8px 0 var(--leaven-ink);
}

.lvx-button,
.button,
button,
input[type="submit"] {
  transition-duration: 180ms !important;
  transition-timing-function: var(--leaven-ease-out) !important;
}

/* Collection mode: put products inside the first viewport */

body.template-collection .collection-hero {
  background: var(--leaven-blue) !important;
  border-bottom: 1px solid var(--leaven-ink);
  min-height: 340px;
}

body.template-collection .collection-hero__inner {
  align-items: end;
  display: grid;
  gap: 36px;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 0.4fr);
  min-height: 340px;
  padding-block: 56px 44px !important;
  width: var(--leaven-page);
}

body.template-collection .collection-hero__text-wrapper {
  margin: 0 !important;
  max-width: 800px;
  padding: 0 !important;
}

body.template-collection .collection-hero__title {
  color: var(--leaven-paper);
  font-family: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: clamp(2.6rem, 5.4vw, 5.7rem) !important;
  font-style: normal !important;
  font-weight: 700;
  letter-spacing: -0.065em;
  line-height: 0.98 !important;
  margin: 0 !important;
  max-width: 12ch;
  text-wrap: balance;
}

body.template-collection .collection-hero__description {
  color: rgba(248, 245, 237, 0.84);
  font-size: 1rem;
  line-height: 1.7;
  margin-top: 24px;
  max-width: 50ch;
}

body.template-collection .collection-filters {
  align-self: end;
  color: var(--leaven-paper);
  margin: 0 !important;
}

body.template-collection .collection-filters__sort {
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(248, 245, 237, 0.7);
  border-radius: 0;
  color: var(--leaven-paper);
  min-height: 48px;
}

body.template-collection #CollectionProductGrid {
  padding-block: clamp(58px, 6vw, 92px);
}

body.template-collection .collection {
  padding-inline: 0;
  width: var(--leaven-page);
}

body.template-collection .product-grid {
  column-gap: clamp(22px, 2.5vw, 40px);
  row-gap: clamp(52px, 6vw, 88px);
}

body.template-collection .product-card-wrapper {
  height: 100%;
}

body.template-collection .product-card-wrapper > a {
  display: flex;
  flex-direction: column;
  height: 100%;
}

body.template-collection .card.card--product {
  background: #f1ece2;
  border: 0 !important;
  border-radius: var(--leaven-radius-md) !important;
  box-shadow: none !important;
  overflow: hidden;
}

body.template-collection .card__inner,
body.template-collection .media {
  background: #f1ece2;
}

body.template-collection .media img {
  transition: transform 420ms var(--leaven-ease-out);
}

@media (hover: hover) and (pointer: fine) {
  body.template-collection .product-card-wrapper > a:hover .media img {
    transform: scale(1.025);
  }
}

body.template-collection .card-information {
  flex: 1;
  padding: 18px 2px 0 !important;
}

body.template-collection .card-information__text {
  color: var(--leaven-ink);
  font-family: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 1rem !important;
  font-style: normal !important;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.55;
}

body.template-collection .price {
  color: var(--leaven-blue);
  font-family: "Courier Prime", "Noto Sans TC", monospace;
  font-size: 0.95rem;
  font-weight: 700;
  margin-top: 10px;
}

body.template-collection .lvx-card-note {
  border-top: 1px solid var(--leaven-line);
  color: var(--leaven-muted);
  font-size: 0.9rem;
  line-height: 1.65;
  margin: 16px 0 0;
  padding: 14px 2px 0;
}

body.template-collection add-to-cart-button .badge {
  align-items: center;
  background: var(--leaven-ink);
  border: 0;
  color: white;
  display: flex;
  height: 44px;
  justify-content: center;
  min-height: 44px;
  min-width: 44px;
  width: 44px;
}

body.template-collection .lvx-collection-guide {
  margin-top: clamp(70px, 8vw, 120px);
}

/* Product mode: clear buying hierarchy, no nested stage cards */

body.template-product .product-section {
  max-width: none;
  padding: clamp(38px, 5vw, 72px) max(32px, calc((100vw - 1320px) / 2));
}

body.template-product .product {
  align-items: start;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  column-gap: clamp(44px, 5vw, 84px);
  margin: 0 auto;
  max-width: 1320px;
}

body.template-product .product__media-wrapper,
body.template-product .product__info-wrapper {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.template-product .product__media-list {
  background: #f0eadf;
  border: 0 !important;
  border-radius: var(--leaven-radius-md);
  box-shadow: none !important;
  overflow: hidden;
}

body.template-product .product__media-item {
  background: #f0eadf;
}

body.template-product .product__info-container {
  max-width: 560px;
  padding: clamp(12px, 2vw, 30px) 0 0;
}

body.template-product .product-wrapper_color {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.template-product .product__title {
  border: 0 !important;
  color: var(--leaven-ink);
  font-family: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: clamp(1.85rem, 3vw, 3.25rem) !important;
  font-style: normal !important;
  font-weight: 700;
  letter-spacing: -0.055em;
  line-height: 1.18 !important;
  margin: 0 0 26px !important;
  padding: 0 0 24px !important;
  position: relative;
}

body.template-product .product__title::after {
  background: var(--leaven-yellow);
  bottom: 0;
  content: "";
  height: 6px;
  left: 0;
  position: absolute;
  width: 92px;
}

body.template-product .price--large {
  color: var(--leaven-blue);
  font-family: "Courier Prime", "Noto Sans TC", monospace;
  font-size: clamp(1.25rem, 2vw, 1.65rem) !important;
  font-weight: 700;
  letter-spacing: 0.03em;
}

body.template-product .product-form__quantity {
  margin-top: 34px;
}

body.template-product .quantity {
  min-height: 48px;
}

body.template-product .quantity__button {
  min-height: 48px;
  min-width: 48px;
}

body.template-product .product-form__buttons {
  margin-top: 28px;
}

body.template-product .product-form__submit {
  background: var(--leaven-yellow) !important;
  border: 1px solid var(--leaven-ink) !important;
  border-radius: var(--leaven-radius-sm) !important;
  box-shadow: 5px 5px 0 var(--leaven-ink) !important;
  color: var(--leaven-ink) !important;
  font-family: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700;
  min-height: 58px;
}

@media (hover: hover) and (pointer: fine) {
  body.template-product .product-form__submit:hover {
    box-shadow: 2px 2px 0 var(--leaven-ink) !important;
    transform: translate(3px, 3px);
  }
}

body.template-product .leaven-trust-badges {
  border-block: 1px solid var(--leaven-line);
  display: grid;
  gap: 0;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 38px;
  padding-block: 22px;
}

body.template-product .leaven-trust-badge {
  border-right: 1px solid var(--leaven-line);
  min-width: 0;
  padding-inline: 12px;
}

body.template-product .leaven-trust-badge:last-child {
  border-right: 0;
}

body.template-product .leaven-trust-badge__icon {
  height: 28px;
  width: 28px;
}

body.template-product .leaven-trust-badge__text {
  font-size: 0.72rem;
  line-height: 1.45;
}

body.template-product .product__description-wrapper {
  border-top: 1px solid var(--leaven-line);
  grid-column: 1 / -1;
  margin-top: clamp(70px, 8vw, 120px);
  padding: clamp(56px, 7vw, 96px) 0 0;
}

body.template-product .product__description,
body.template-product .product__description-wrapper .rte {
  font-size: 1.05rem;
  line-height: 1.85;
  margin-inline: auto;
  max-width: var(--leaven-readable);
}

body.template-product .leaven-sticky-bar {
  background: color-mix(in srgb, var(--leaven-paper) 94%, white 6%);
  border-top: 1px solid var(--leaven-ink);
  box-shadow: 0 -10px 28px rgba(26, 26, 26, 0.09);
}

body.template-product .leaven-sticky-bar__inner {
  width: var(--leaven-page);
}

body.template-product .leaven-sticky-bar__btn {
  min-height: 48px;
}

/* Blog listing mode: editorial rhythm, content-sized cards */

body.template-blog .main-blog {
  padding-block: clamp(68px, 7vw, 108px);
  width: var(--leaven-page);
}

body.template-blog .title--primary {
  color: var(--leaven-blue);
  font-family: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: clamp(2.5rem, 5vw, 5.2rem) !important;
  font-style: normal !important;
  font-weight: 700;
  letter-spacing: -0.06em;
  line-height: 1;
  margin: 0 0 clamp(48px, 6vw, 82px) !important;
  text-align: left;
}

body.template-blog .blog-articles {
  align-items: start;
  display: grid;
  gap: clamp(42px, 5vw, 72px) clamp(28px, 3vw, 48px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.template-blog .blog-articles__article {
  min-width: 0;
}

body.template-blog .blog-articles__article:first-child {
  grid-column: span 2;
}

body.template-blog .article-card {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  height: auto !important;
  overflow: visible !important;
  transform: none !important;
}

body.template-blog .article-content {
  display: block;
}

body.template-blog .article-card__image-wrapper {
  background: #eee7da;
  border-radius: var(--leaven-radius-md);
  overflow: hidden;
}

body.template-blog .article-card__image {
  aspect-ratio: 4 / 3;
}

body.template-blog .article-card__image img {
  transition: transform 420ms var(--leaven-ease-out);
}

@media (hover: hover) and (pointer: fine) {
  body.template-blog .article-content:hover .article-card__image img {
    transform: scale(1.025);
  }
}

body.template-blog .article-card__info {
  min-height: 0 !important;
  padding: 20px 2px 0 !important;
}

body.template-blog .article-card__header {
  margin: 0;
}

body.template-blog .article-card__title {
  color: var(--leaven-blue);
  font-family: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: clamp(1.2rem, 1.7vw, 1.55rem) !important;
  font-style: normal !important;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.45;
}

body.template-blog .article-card__info,
body.template-blog .article-card__header,
body.template-blog .article-card__excerpt {
  height: auto !important;
}

body.template-blog .article-card__excerpt {
  color: var(--leaven-muted);
  display: -webkit-box;
  font-size: 0.95rem;
  line-height: 1.7;
  margin-top: 12px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

body.template-blog .article-read-more {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid currentColor !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--leaven-blue) !important;
  display: inline-block;
  font-size: 0.76rem !important;
  margin-top: 18px;
  padding: 0 0 3px !important;
  transform: none !important;
}

/* Article mode: let the story breathe */

body.template-article .article-template > *:first-child {
  padding-top: clamp(58px, 7vw, 100px);
}

body.template-article .article-template__title {
  color: var(--leaven-blue);
  font-family: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: clamp(2.25rem, 5vw, 4.8rem) !important;
  font-style: normal !important;
  font-weight: 700;
  letter-spacing: -0.06em;
  line-height: 1.12 !important;
  max-width: 18ch;
  text-align: left !important;
  text-wrap: balance;
}

body.template-article .article-template__meta {
  color: var(--leaven-muted);
  text-align: left !important;
}

body.template-article .article-template__content {
  font-size: 1.06rem !important;
  line-height: 1.9 !important;
  margin-inline: auto;
  max-width: 760px !important;
}

body.template-article .article-template__content p,
body.template-article .article-template__content li {
  max-width: var(--leaven-readable);
}

body.template-article .article-template__content h2,
body.template-article .article-template__content h3 {
  font-family: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-style: normal !important;
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.3;
  text-wrap: balance;
}

body.template-article .article-template__content img {
  height: auto;
  max-width: 100%;
}

body.template-article .article-template__content a {
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

/* Cart mode */

body.template-cart .cart__warnings {
  padding-block: clamp(70px, 8vw, 120px);
}

body.template-cart .cart__empty-text,
body.template-cart .title--primary {
  font-family: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: clamp(2rem, 4.5vw, 4.5rem) !important;
  font-style: normal !important;
  font-weight: 700;
  letter-spacing: -0.055em;
  line-height: 1.1;
}

body.template-cart .lvx-cart-recovery {
  border-top: 1px solid var(--leaven-line);
  padding-block: clamp(54px, 6vw, 88px);
  width: var(--leaven-page);
}

/* Footer: readable utility, not a miniature poster */

.footer {
  border-top: 1px solid var(--leaven-ink) !important;
  padding-top: clamp(60px, 7vw, 100px);
}

.footer__content-top,
.footer__content-bottom-wrapper {
  width: var(--leaven-page);
}

.footer-block__heading {
  font-family: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 1rem !important;
  font-style: normal !important;
  font-weight: 700;
  letter-spacing: 0.01em !important;
  line-height: 1.4;
}

.footer-block__details-content,
.footer-block__details-content a,
.footer__copyright {
  font-size: 0.88rem !important;
  line-height: 1.7;
}

.footer-block__details-content a {
  min-height: 36px;
}

/* Responsive adaptation */

@media (max-width: 1100px) {
  :root {
    --leaven-page: min(100% - 40px, 960px);
  }

  .header__inline-menu .header__menu-item,
  .header__link-label {
    font-size: 0.84rem !important;
  }

  .header__inline-menu .list-menu--inline {
    column-gap: 12px;
  }

  body.template-blog .blog-articles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  :root {
    --leaven-page: calc(100vw - 32px);
  }

  html {
    scroll-padding-top: 120px;
  }

  body {
    font-size: 16px;
  }

  .lv-announce {
    min-height: 54px;
  }

  .lv-announce-track {
    font-size: 0.72rem;
    line-height: 1.45;
  }

  .header {
    min-height: 68px;
    width: 100%;
  }

  .header__heading-logo {
    max-width: 96px;
  }

  .lvx-home .lvx-hero__welcome {
    bottom: 20px;
    left: 16px;
    right: 16px;
  }

  .lvx-home .lvx-hero__welcome strong {
    font-size: clamp(2rem, 9.2vw, 3.35rem);
    letter-spacing: -0.07em;
    white-space: nowrap;
  }

  .lvx-studio-routes {
    padding-block: 72px 84px;
  }

  .lvx-studio-routes__heading {
    align-items: start;
    display: grid;
    gap: 22px;
    margin-bottom: 42px;
  }

  .lvx-section-heading {
    font-size: clamp(2rem, 10vw, 3.35rem);
  }

  .lvx-route-board {
    display: block;
  }

  .lvx-route {
    border-left: 0;
    border-top: 1px solid var(--leaven-line);
    min-height: 0;
    padding: 28px 0 32px;
  }

  .lvx-route:last-child {
    border-bottom: 1px solid var(--leaven-line);
    border-right: 0;
  }

  .lvx-route__stamp {
    height: 50px;
    width: 50px;
  }

  .lvx-route__body p {
    max-width: 34ch;
  }

  .lvx-route__cta {
    margin-top: 20px;
  }

  .lvx-arrivals {
    padding-block: 76px 88px;
  }

  .lvx-arrivals__grid {
    gap: 34px;
  }

  .lvx-arrival-card__body {
    padding-top: 16px;
  }

  .lvx-g2-sequence {
    height: 360vh;
  }

  .lvx-bench,
  .lvx-dripbox,
  .lvx-visit,
  .lvx-journal {
    padding-block: 76px;
  }

  body.template-collection .collection-hero,
  body.template-collection .collection-hero__inner {
    min-height: 290px;
  }

  body.template-collection .collection-hero__inner {
    display: flex;
    flex-direction: column;
    gap: 20px;
    justify-content: flex-end;
    padding-block: 48px 34px !important;
    width: var(--leaven-page);
  }

  body.template-collection .collection-hero__title {
    font-size: clamp(2.4rem, 12.5vw, 4rem) !important;
    max-width: 10ch;
  }

  body.template-collection .collection-hero__description {
    margin-top: 18px;
  }

  body.template-collection .collection-filters {
    width: 100%;
  }

  body.template-collection .collection-filters__sort {
    width: 100%;
  }

  body.template-collection #CollectionProductGrid {
    padding-block: 42px 70px;
  }

  body.template-collection .product-grid {
    column-gap: 14px;
    row-gap: 46px;
  }

  body.template-collection .card-information__text {
    font-size: 0.92rem !important;
    line-height: 1.5;
  }

  body.template-collection .lvx-card-note {
    font-size: 0.84rem;
  }

  body.template-product .product-section {
    padding: 20px 16px 70px;
  }

  body.template-product .product {
    display: block;
  }

  body.template-product .product__media-list {
    border-radius: var(--leaven-radius-sm);
  }

  body.template-product .product__info-container {
    max-width: none;
    padding-top: 34px;
  }

  body.template-product .product__title {
    font-size: clamp(1.7rem, 7.3vw, 2.5rem) !important;
    margin-bottom: 22px !important;
  }

  body.template-product .leaven-trust-badges {
    gap: 0;
    grid-template-columns: repeat(2, 1fr);
    padding-block: 0;
  }

  body.template-product .leaven-trust-badge {
    border-bottom: 1px solid var(--leaven-line);
    min-height: 96px;
    padding-block: 16px;
  }

  body.template-product .leaven-trust-badge:nth-child(2) {
    border-right: 0;
  }

  body.template-product .leaven-trust-badge:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  body.template-product .product__description-wrapper {
    margin-top: 68px;
    padding-top: 48px;
  }

  body.template-product .leaven-sticky-bar {
    padding-bottom: env(safe-area-inset-bottom);
  }

  body.template-product .leaven-sticky-bar__inner {
    gap: 10px;
    width: calc(100vw - 20px);
  }

  body.template-product .leaven-sticky-bar__title {
    max-width: 44vw;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.template-blog .main-blog {
    padding-block: 58px 82px;
  }

  body.template-blog .title--primary {
    font-size: clamp(2.5rem, 13vw, 4rem) !important;
    margin-bottom: 44px !important;
  }

  body.template-blog .blog-articles {
    display: block;
  }

  body.template-blog .blog-articles__article {
    margin-bottom: 52px;
  }

  body.template-blog .article-card__image {
    aspect-ratio: 4 / 3;
  }

  body.template-article .article-template__title {
    font-size: clamp(2.15rem, 10.5vw, 3.5rem) !important;
  }

  body.template-article .article-template__content {
    font-size: 1rem !important;
    line-height: 1.85 !important;
  }

  .footer__content-top,
  .footer__content-bottom-wrapper {
    width: var(--leaven-page);
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }

  .lvx-g2-sequence {
    height: 100svh !important;
  }
}



/* LEAVEN STOREFRONT SYSTEM v4.0.1 · post-live specificity fixes */
body.template-collection .product-card-wrapper{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
body.template-product .product-section .product-wrapper_color .product__title{font-family:"Noto Sans TC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-size:clamp(1.85rem,3vw,3.25rem)!important;font-weight:700!important}
body.template-product .es-star-rating .rating-desc{display:none!important}
body.template-blog .article-card .article-read-more{display:inline-block!important;width:fit-content!important}


/* LEAVEN STOREFRONT SYSTEM v4.0.1 · post-live specificity fixes */
body.template-collection .product-card-wrapper{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
body.template-product .product-section .product-wrapper_color .product__title{font-family:"Noto Sans TC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-size:clamp(1.85rem,3vw,3.25rem)!important;font-weight:700!important}
body.template-product .es-star-rating .rating-desc{display:none!important}
body.template-blog .article-card .article-read-more{display:inline-block!important;width:fit-content!important}

/* LEAVEN STOREFRONT SYSTEM v4.0.2
 * EasyStore keeps html at approximately 10px. These explicit px values
 * preserve readable typography across public mobile and desktop surfaces.
 */
.lvx-kicker,
.lvx-product-card__meta,
.lvx-route__index,
.lvx-arrival-card__channel,
.lvx-arrivals__status { font-size: 12px; }
.lvx-section-heading { font-size: clamp(32px, 4.4vw, 70px); }
.lvx-section-copy { font-size: clamp(16px, 1.2vw, 18px); }
.lv-announce-track { font-size: 12px !important; }
.header__inline-menu .header__menu-item,
.header__link-label { font-size: 15px !important; }
.menu-drawer__menu-item { font-size: 16px !important; }
.lvx-home .lvx-hero__welcome strong { font-size: clamp(40px, 5vw, 96px); }
.lvx-route__body h3 { font-size: clamp(20px, 2vw, 28px); }
.lvx-route__body p { font-size: 16px; }
.lvx-route__cta { font-size: 14px; }
.lvx-arrival-card__title { font-size: clamp(18px, 2.1vw, 24px); }
body.template-collection .collection-hero__title { font-size: clamp(40px, 5.4vw, 80px) !important; }
body.template-collection .collection-hero__description { font-size: 15px; }
body.template-collection .card-information__text { font-size: 16px !important; }
body.template-collection .price { font-size: 15px; }
body.template-collection .lvx-card-note { font-size: 14px; }
body.template-product .product__title,
body.template-product .product-section .product-wrapper_color .product__title { font-size: clamp(28px, 3vw, 48px) !important; }
body.template-product .price--large { font-size: clamp(18px, 2vw, 24px) !important; }
body.template-product .product-form__submit { font-size: 16px !important; }
body.template-product .leaven-trust-badge__text { font-size: 11px; }
body.template-product .product__description,
body.template-product .product__description-wrapper .rte { font-size: 17px; }
body.template-product .product__description-wrapper .rte p,
body.template-product .product__description-wrapper .rte li,
body.template-product .product__description-wrapper .rte strong { font-size: 16px !important; }
body.template-product .leaven-sticky-bar__btn { font-size: 14px !important; }
body.template-product .leaven-sticky-bar__title,
body.template-product .leaven-sticky-bar__price { font-size: 12px !important; }
body.template-product .slider-counter { font-size: 14px !important; }
body.template-blog .title--primary { font-size: clamp(40px, 5vw, 80px) !important; }
body.template-blog .article-card__title { font-size: clamp(20px, 2.2vw, 25px) !important; }
body.template-blog .article-card__excerpt { font-size: 15px; }
body.template-blog .article-read-more { font-size: 12px !important; }
body.template-article .article-template__title { font-size: clamp(36px, 5vw, 72px) !important; }
body.template-article .article-template__content { font-size: 17px !important; }
body.template-cart .cart__empty-text,
body.template-cart .title--primary { font-size: clamp(36px, 4.5vw, 64px) !important; }
.footer-block__heading { font-size: 16px !important; }
.footer-block__details-content,
.footer-block__details-content a,
.footer__copyright { font-size: 14px !important; }

@media (max-width: 1100px) {
  .header__inline-menu .header__menu-item,
  .header__link-label { font-size: 14px !important; }
}

@media (max-width: 820px) {
  .lv-announce { min-height: 42px; }
  .lv-announce-track { font-size: 12px !important; }
  .lvx-home .lvx-hero__welcome strong { font-size: clamp(30px, 9.2vw, 34px); }
  .lvx-section-heading { font-size: clamp(32px, 10vw, 42px); }
  body.template-collection .collection-hero__title { font-size: clamp(36px, 12.5vw, 50px) !important; }
  body.template-collection .card-information__text { font-size: 15px !important; }
  body.template-collection .lvx-card-note { font-size: 13px; }
  body.template-product .product__title,
  body.template-product .product-section .product-wrapper_color .product__title { font-size: clamp(28px, 7.3vw, 36px) !important; }
  body.template-blog .title--primary { font-size: clamp(40px, 13vw, 52px) !important; }
  body.template-article .article-template__title { font-size: clamp(32px, 10.5vw, 42px) !important; }
  body.template-article .article-template__content { font-size: 16px !important; }
}

/* LEAVEN STOREFRONT SYSTEM v4.0.3
 * Retire legacy high-specificity 0.8rem header/button rules.
 */
body #easystore-section-header .header__inline-menu .header__menu-item,
body #easystore-section-header .header__inline-menu .list-menu__item {
  font-size: 15px !important;
}

body #easystore-section-header .menu-drawer .menu-drawer__menu-item,
body #easystore-section-header .menu-drawer .list-menu__item {
  font-size: 16px !important;
}

body .button,
body button.button,
body a.button {
  font-size: 15px !important;
}

.lvx-arrival-card__price {
  font-size: 14px;
}

@media (max-width: 1100px) {
  body #easystore-section-header .header__inline-menu .header__menu-item,
  body #easystore-section-header .header__inline-menu .list-menu__item {
    font-size: 14px !important;
  }
}

/* LEAVEN STOREFRONT SYSTEM v4.0.4
 * Keep the promotional bar legible without allowing it to consume the first screen.
 */
@media (max-width: 820px) {
  body .lv-announce {
    align-items: center;
    display: flex !important;
    min-height: 54px !important;
    overflow: hidden;
    padding-block: 8px !important;
  }

  body .lv-announce-track {
    display: -webkit-box !important;
    font-size: 12px !important;
    line-height: 1.3;
    max-height: 32px;
    min-width: 0;
    overflow: hidden;
    white-space: normal !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
}

/* LEAVEN STOREFRONT SYSTEM v4.0.5
 * Prevent closed EasyStore referral UI from affecting page width and finish
 * cart/mobile touch-target polish.
 */
#referralMobileModal > details:not([open]) > .referral-modal-overlay,
#referralMobileModal > details:not([open]) > .referral-modal__dialog {
  display: none !important;
}

body.template-product .leaven-trust-badge__text {
  font-size: 12px;
}

.footer-block__details-content a {
  min-height: 44px;
}

@media (max-width: 820px) {
  body.template-cart cart-items.page-width,
  body.template-cart #main-cart-footer.page-width {
    margin-inline: auto !important;
    padding-inline: 0 !important;
    width: calc(100vw - 32px) !important;
  }
}

/* LEAVEN STOREFRONT SYSTEM v4.0.6
 * EasyStore nests .page-width inside the cart form. Keep it scoped to its
 * actual parent instead of applying the global viewport-sized page width.
 */
body.template-cart cart-items.page-width,
body.template-cart #main-cart-footer.page-width {
  margin-inline: 0 !important;
  max-width: 100% !important;
  padding-inline: 0 !important;
  width: 100% !important;
}

/* LEAVEN STOREFRONT SYSTEM v4.0.7 · footer touch targets */
.footer-block__details-content a {
  align-items: center;
  display: flex;
  min-height: 44px !important;
}

/* LEAVEN STOREFRONT SYSTEM v4.0.8
 * Finish downstream homepage and utility typography that legacy rem values
 * reduced to 5–11px under the EasyStore root-size convention.
 */
.lvx-arrival-card__body h3 {
  font-size: clamp(18px, 1.6vw, 24px) !important;
}

.lvx-text-link {
  font-size: 14px !important;
}

.lvx-home .lvx-button {
  font-size: 15px !important;
}

.lvx-bench-note span,
.lvx-story-card time,
.lvx-story-slip time,
.lvx-visit__photo figcaption {
  font-size: 12px !important;
}

.lvx-bench-note strong {
  font-size: 16px !important;
}

.lvx-dripbox__inner .lvx-kicker {
  font-size: 12px !important;
}

.lvx-dripbox__inner p:not(.lvx-kicker) {
  font-size: 16px !important;
}

.lvx-wordmark small {
  font-size: 8px !important;
}

.footer__copyright .copyright__content > div {
  font-size: 12px !important;
  line-height: 1.6;
}

.es-psr-app-swiper_date {
  font-size: 12px !important;
}

/*
 * LEAVEN GUEST JOURNEY v5.0
 * 2026-07-30 · continuity, next scenes, Chinese-first utility, dead-end repair
 */

/* Primary content never waits for JavaScript. */
.lvx-ready [data-lvx-place],
.lvx-ready [data-lvx-cue] {
  animation: none !important;
  opacity: 1 !important;
  transform: var(--lvx-rest-transform, none) !important;
}

/* Match the buying decision order: drip bags, whole beans, then store-only kombucha. */
@media (min-width: 1101px) {
  body #easystore-section-header .header__submenu > li:nth-child(1) {
    order: 3;
  }

  body #easystore-section-header .header__submenu > li:nth-child(2) {
    order: 2;
  }

  body #easystore-section-header .header__submenu > li:nth-child(3) {
    order: 1;
  }
}

/* Keep the authored sequence, but remove the five-screen scroll trap. */
.lvx-g2-sequence {
  height: 340vh;
}

.lvx-g2-sequence__guide {
  background: linear-gradient(90deg, rgba(8, 40, 70, 0.9), rgba(8, 40, 70, 0));
  bottom: max(36px, calc(env(safe-area-inset-bottom) + 24px));
  color: var(--leaven-paper);
  left: clamp(22px, 4.5vw, 76px);
  max-width: min(430px, calc(100vw - 44px));
  opacity: var(--lvx-g2-guide-opacity, 1);
  padding: 14px clamp(38px, 5vw, 74px) 16px 18px;
  pointer-events: none;
  position: absolute;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.52);
  transition: opacity 120ms linear;
  width: 100%;
  z-index: 2;
}

.lvx-g2-sequence__guide::after {
  background: var(--leaven-yellow);
  bottom: 0;
  content: "";
  height: 3px;
  left: 18px;
  position: absolute;
  right: 38px;
  transform: scaleX(var(--lvx-g2-progress, 0));
  transform-origin: left center;
}

.lvx-g2-sequence__guide h2 {
  color: inherit;
  font-family: "Noto Serif TC", "Times New Roman", serif;
  font-size: clamp(2rem, 4.6vw, 4.8rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1;
  margin: 5px 0 10px;
}

.lvx-g2-sequence__guide > p:last-child {
  color: rgba(248, 245, 237, 0.82);
  font-size: clamp(0.78rem, 1vw, 0.96rem);
  line-height: 1.65;
  margin: 0;
}

.lvx-g2-sequence__kicker {
  color: var(--leaven-yellow);
  font-family: "Courier Prime", "Noto Sans TC", monospace;
  font-size: clamp(0.62rem, 0.8vw, 0.76rem);
  font-weight: 700;
  letter-spacing: 0.12em;
  margin: 0;
}

.lvx-arrivals__copy {
  color: rgba(248, 245, 237, 0.78);
  margin-top: 20px;
  max-width: 46rem;
}

.lvx-home .lvx-section-heading {
  font-family: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-style: normal !important;
}

.lvx-g2-exit {
  background: #082846;
  color: var(--leaven-paper);
  padding-block: clamp(56px, 7vw, 100px);
}

.lvx-g2-exit__inner {
  align-items: end;
  border-top: 1px solid rgba(248, 245, 237, 0.34);
  display: grid;
  gap: 44px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding-top: clamp(36px, 5vw, 64px);
}

.lvx-g2-exit .lvx-kicker,
.lvx-g2-exit .lvx-section-heading,
.lvx-g2-exit .lvx-text-link {
  color: var(--leaven-paper);
}

.lvx-g2-exit .lvx-section-heading {
  max-width: 9ch;
}

.lvx-g2-exit__actions {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.lvx-g2-exit .lvx-button {
  background: var(--leaven-yellow);
  color: var(--leaven-ink);
}

/* Generic third-party review chrome breaks the authored journey. */
body.template-index #list-review-section,
body.template-product #sr-input-wrapper {
  display: none !important;
}

/* Collection endings prevent catalogue dead ends. */
.lvx-collection-next {
  align-items: end;
  border-top: 1px solid var(--leaven-line);
  display: grid;
  gap: 32px;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-top: clamp(72px, 8vw, 118px);
  padding-top: clamp(42px, 5vw, 70px);
}

.lvx-collection-next h2 {
  color: var(--leaven-blue);
  font-family: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(28px, 3.4vw, 48px);
  letter-spacing: -0.045em;
  line-height: 1.15;
  margin: 8px 0 0;
  max-width: 16ch;
}

.lvx-collection-next__actions {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.lvx-kombucha-gate {
  max-width: 760px;
}

.lvx-kombucha-gate__actions {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
  margin-top: 30px;
}

/* Product context and media lead into a single buying decision. */
.lvx-product-context {
  color: var(--leaven-muted);
  font-family: "Courier Prime", "Noto Sans TC", monospace;
  font-size: 12px;
  letter-spacing: 0.06em;
  margin: 0 auto 28px;
  max-width: 1320px;
  text-transform: uppercase;
}

.lvx-product-context a {
  color: var(--leaven-blue);
  text-decoration: none;
}

body.template-product .product-section {
  width: 100% !important;
}

body.template-product .product {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(380px, 0.92fr) !important;
  width: 100% !important;
}

body.template-product .product__media-wrapper,
body.template-product .product__info-wrapper {
  max-width: none !important;
  min-width: 0 !important;
  width: auto !important;
}

body.template-product .product__media-list,
body.template-product .product__media-item {
  min-height: min(64vw, 680px);
}

body.template-product .product__media-item {
  align-items: center;
  display: flex;
  justify-content: center;
}

body.template-product .product__media-item > img {
  display: block;
  height: min(64vw, 680px) !important;
  max-height: 680px;
  object-fit: contain;
  width: 100% !important;
}

body.template-product .product__media-item > iframe {
  aspect-ratio: 16 / 9;
  border: 0;
  display: block;
  height: auto !important;
  width: 100% !important;
}

body.template-product .leaven-trust-badges {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.template-product .leaven-trust-badge {
  align-items: flex-start;
  border: 0;
  display: flex;
  gap: 6px;
  padding: 12px 16px;
  text-align: left;
}

body.template-product .leaven-trust-badge__text {
  color: var(--leaven-muted);
  font-family: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 13px !important;
  letter-spacing: 0;
  line-height: 1.55;
  text-transform: none;
}

body.template-product .leaven-cross-sell {
  border-top: 1px solid var(--leaven-line);
}

body.template-product .leaven-cross-sell__header {
  color: var(--leaven-blue);
  font-family: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(24px, 3vw, 40px);
  letter-spacing: -0.035em;
  text-align: left;
  text-transform: none;
}

body.template-product .leaven-cross-sell__subtitle {
  font-size: 13px;
  letter-spacing: 0.04em;
  text-align: left;
}

.leaven-article-bridge {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  border-top: 1px solid var(--leaven-line) !important;
  box-shadow: none !important;
  padding: clamp(34px, 5vw, 60px) 0 0 !important;
}

.leaven-article-bridge h2 {
  font-family: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-style: normal !important;
}

/* Chinese-first editorial and cart utility labels. */
body.template-blog .title--primary {
  margin-bottom: 18px !important;
}

.lvx-blog-intro {
  color: var(--leaven-muted);
  font-size: 16px;
  line-height: 1.75;
  margin: 0 0 clamp(48px, 6vw, 82px);
  max-width: 48rem;
}

body.template-cart .cart__checkout-button,
body.template-cart button[name="checkout"] {
  font-family: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  letter-spacing: 0.03em !important;
  text-transform: none !important;
}

/* Footer is a quiet utility ending, not another independent poster. */
.footer::before {
  opacity: 0.35;
}

.footer-block__heading {
  border-bottom: 0 !important;
  text-transform: none !important;
}

.leaven-map-btn {
  font-family: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
}

.leaven-newsletter {
  border-radius: var(--leaven-radius-sm) !important;
  box-shadow: none !important;
}

@media (max-width: 820px) {
  .lvx-g2-sequence {
    height: 300vh;
  }

  .lvx-g2-sequence__guide {
    background: linear-gradient(90deg, rgba(8, 40, 70, 0.92), rgba(8, 40, 70, 0.18));
    bottom: max(24px, calc(env(safe-area-inset-bottom) + 18px));
    left: 18px;
    max-width: calc(100vw - 36px);
    padding: 12px 22px 14px 14px;
  }

  .lvx-g2-sequence__guide::after {
    left: 14px;
    right: 22px;
  }

  .lvx-g2-sequence__guide h2 {
    font-size: clamp(1.85rem, 9vw, 3.2rem);
    margin-bottom: 8px;
  }

  .lvx-g2-sequence__guide > p:last-child {
    font-size: 0.76rem;
    max-width: 28em;
  }

  .lvx-g2-exit__inner,
  .lvx-collection-next {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .lvx-g2-exit__actions,
  .lvx-collection-next__actions {
    width: 100%;
  }

  .lvx-g2-exit .lvx-button,
  .lvx-collection-next .lvx-button {
    justify-content: center;
    width: 100%;
  }

  body.template-product .product__media-list,
  body.template-product .product__media-item {
    min-height: calc(100vw - 32px);
  }

  body.template-product .product {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.template-product .product__media-item > img {
    height: calc(100vw - 32px) !important;
  }

  body.template-product .leaven-trust-badges {
    grid-template-columns: 1fr;
  }
}



/* LEAVEN FOOTER FIRST ROUND · keep only social follow */
.footer__content-top .grid > .grid__item:not(:first-child) { display: none !important; }
.footer__content-bottom,
.footer .leaven-newsletter { display: none !important; }
