/* Small local additions; the captured theme remains responsible for the storefront. */
:root { --site-font-scale: 1; }
html { font-size: calc(var(--font-body-scale, 1) * 62.5% * var(--site-font-scale)); }
[hidden] { display: none !important; }
.site-dialog-open { overflow: hidden; }
.site-dialog { position: fixed; inset: 0; box-sizing: border-box; width: min(58rem, calc(100vw - 3.2rem)); max-height: calc(100dvh - 4rem); margin: auto; padding: 2.4rem; border: 0; border-radius: 1.6rem; color: #312725; background: #fff; box-shadow: 0 1.2rem 6rem #0003; font: inherit; text-align: right; }
.site-dialog::backdrop { background: #211b2670; }
.site-dialog__header { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.site-dialog__header h2 { margin: 0; font-size: 2.4rem; }
.site-dialog__close { display: grid; flex: 0 0 4.4rem; place-items: center; width: 4.4rem; height: 4.4rem; padding: 0; border: 0; border-radius: 50%; background: #f4f0f5; color: #312725; font: inherit; font-size: 3rem; cursor: pointer; }
.site-contrast body, .site-contrast .gradient, .site-contrast .site-dialog, .site-contrast .card, .site-contrast .site-search__input { background: #000 !important; color: #fff !important; }
.site-button { min-height: 4.8rem; cursor: pointer; }
.site-button:disabled { opacity: .55; cursor: not-allowed; }
.site-status { margin: 1.6rem 0 0; line-height: 1.6; font-size: 1.5rem; width: 100%; }
.site-status--error { color: #a31725; }
.site-search, .site-account { padding-top: 4.8rem; padding-bottom: 6.4rem; min-height: 42rem; }
.section-pad { padding-top: 4.8rem; padding-bottom: 4.8rem; }
.site-text-button { min-height: 4.4rem; border: 0; padding: .4rem .8rem; background: transparent; color: inherit; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; font: inherit; }
.site-search__form { display: flex; gap: 1rem; margin: 2.4rem 0; }
.site-search__input { flex: 1; min-width: 0; padding: 1rem 1.6rem; min-height: 4.8rem; font: inherit; color: inherit; border: 1px solid #827283; border-radius: .5rem; background: #fff; }
.site-search__filters { display: flex; flex-wrap: wrap; align-items: end; gap: 1.6rem; margin: 0 0 2.4rem; padding: 1.6rem; border: 1px solid #827283; border-radius: .5rem; }
.site-search__filters label { display: flex; flex-direction: column; gap: .6rem; flex: 1 1 16rem; }
.site-search__filters input { width: 100%; box-sizing: border-box; }
.site-search__filters a { display: inline-flex; align-items: center; }
.site-search__content { list-style: none; padding: 0; }
.site-search__content li { padding: 2rem 0; border-bottom: 1px solid #e8e3e9; }
.site-search__content a { color: inherit; font-size: 1.8rem; }
.site-search__content p { margin: .8rem 0 0; line-height: 1.7; }
.site-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3.2rem 2rem; padding: 2rem 0; }
.site-product-card__link { display: block; color: inherit; text-decoration: none; }
.site-product-card__link:hover h2 { text-decoration: underline; text-underline-offset: .2em; }
.site-product-card img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; border-radius: .8rem; background: #fff; }
.site-product-card h2 { font-size: 1.8rem; line-height: 1.5; margin: 1.2rem 0 .6rem; }
.site-product-card p { margin: .6rem 0; }
.site-product-card__sold-out { display: inline-block; padding: .4rem 1rem; background: #eee8ef; border-radius: 2rem; font-size: 1.3rem; }
.site-honeypot { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.newsletter-form { flex-wrap: wrap; }
.site-accessibility-trigger { display: grid; position: fixed; z-index: 20; bottom: 2rem; left: 2rem; place-items: center; width: 5.2rem; height: 5.2rem; padding: 1.1rem; border: 2px solid white; border-radius: 50%; color: #fff; background: #673ab7; box-shadow: 0 .2rem 1rem #0003; cursor: pointer; }
.site-accessibility-trigger svg { width: 100%; height: 100%; fill: currentColor; }
.site-accessibility-controls { display: flex; flex-direction: column; gap: 1.6rem; }
.site-accessibility-controls input[type="range"] { width: 100%; min-height: 3rem; accent-color: #673ab7; }
.site-accessibility-option { display: flex; gap: 1rem; align-items: center; cursor: pointer; min-height: 4.4rem; }
.site-accessibility-option input { width: 2.2rem; height: 2.2rem; accent-color: #673ab7; }
.site-accessibility-statement { color: inherit; }
.site-dialog :focus-visible, .site-accessibility-trigger:focus-visible, .site-search :focus-visible { outline: .3rem solid #5a279c; outline-offset: .4rem; }
.site-contrast { --color-foreground: 255, 255, 255; --color-background: 0, 0, 0; --color-link: 255, 238, 0; }
.site-contrast a, .site-contrast h1, .site-contrast h2, .site-contrast h3, .site-contrast p, .site-contrast label, .site-contrast .price, .site-contrast .site-status--error { color: #ffef00 !important; }
.site-contrast .button, .site-contrast .site-dialog__close { background: #ffef00 !important; color: #000 !important; border-color: #ffef00 !important; }
.site-reduce-motion *, .site-reduce-motion *::before, .site-reduce-motion *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; } }
@media screen and (max-width: 749px) {
  .site-dialog { padding: 2rem 1.6rem; }
  .site-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.4rem 1.6rem; }
  .site-product-card h2 { font-size: 1.6rem; }
  .site-search__form { flex-wrap: wrap; }
  .site-accessibility-trigger { bottom: 1.2rem; left: 1.2rem; width: 4.8rem; height: 4.8rem; }
}
