/* Dawn (Pyxis) theme. Mirrors the Shopify Dawn 15 styles the live store uses. */
*, *::before, *::after { box-sizing: inherit; }
html { box-sizing: border-box; font-size: calc(var(--font-body-scale) * 62.5%); height: 100%; }
body {
  display: grid; grid-template-rows: auto auto 1fr auto; grid-template-columns: 100%; min-height: 100%;
  margin: 0; font-size: 1.5rem; letter-spacing: .06rem; line-height: calc(1 + .8 / var(--font-body-scale));
  font-family: var(--font-body-family); font-weight: 400; color: var(--color-foreground); background: var(--color-background);
  -webkit-font-smoothing: antialiased;
}
@media screen and (min-width: 750px) { body { font-size: 1.6rem; } }
img { max-width: 100%; height: auto; }
a { color: inherit; }
h1, h2, h3, h4, h5, .h0, .h1, .h2, .h3, .h4, .h5 {
  font-family: var(--font-heading-family); font-weight: 400; letter-spacing: calc(var(--font-heading-scale) * .06rem);
  color: var(--color-foreground); line-height: calc(1 + .3 / max(1, var(--font-heading-scale))); word-break: break-word;
}
.h0 { font-size: calc(var(--font-heading-scale) * 4rem); }
@media (min-width: 750px) { .h0 { font-size: calc(var(--font-heading-scale) * 5.2rem); } }
h1, .h1 { font-size: calc(var(--font-heading-scale) * 3rem); }
@media (min-width: 750px) { h1, .h1 { font-size: calc(var(--font-heading-scale) * 4rem); } }
h2, .h2 { font-size: calc(var(--font-heading-scale) * 2rem); }
@media (min-width: 750px) { h2, .h2 { font-size: calc(var(--font-heading-scale) * 2.4rem); } }
h3, .h3 { font-size: calc(var(--font-heading-scale) * 1.7rem); }
@media (min-width: 750px) { h3, .h3 { font-size: calc(var(--font-heading-scale) * 1.8rem); } }
h4, .h4 { font-size: calc(var(--font-heading-scale) * 1.5rem); }
h5, .h5 { font-size: calc(var(--font-heading-scale) * 1.2rem); }
@media (min-width: 750px) { h5, .h5 { font-size: calc(var(--font-heading-scale) * 1.3rem); } }
.caption, .caption-with-letter-spacing { font-size: 1.2rem; letter-spacing: .07rem; line-height: calc(1 + .7 / var(--font-body-scale)); }
.caption-with-letter-spacing { letter-spacing: .13rem; text-transform: uppercase; }
.caption-large { font-size: 1.3rem; line-height: calc(1 + .5 / var(--font-body-scale)); letter-spacing: .04rem; }
.light { opacity: .7; }
.center { text-align: center; }
.right { text-align: right; }
.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; }
.list-unstyled { margin: 0; padding: 0; list-style: none; }
.full-unstyled-link { text-decoration: none; color: currentColor; display: block; }
.underlined-link, .link { color: rgba(18,18,18,.75); text-underline-offset: .3rem; text-decoration-thickness: .1rem; transition: text-decoration-thickness ease 100ms; }
.underlined-link:hover, .link:hover { color: var(--color-foreground); text-decoration-thickness: .2rem; }
.skip-to-content-link:focus { z-index: 9999; position: inherit; overflow: auto; width: auto; height: auto; clip: auto; }
[hidden] { display: none !important; }

.page-width { max-width: var(--page-width); margin: 0 auto; padding: 0 1.5rem; }
@media (min-width: 750px) { .page-width { padding: 0 5rem; } }
.page-width--narrow { max-width: 72.6rem; }
.section--padding { padding-top: 2.7rem; padding-bottom: 2.7rem; }
@media (min-width: 750px) { .section--padding { padding-top: 3.6rem; padding-bottom: 3.6rem; } }
.section--padding-small { padding-top: 1.5rem; padding-bottom: 3.6rem; }
.element-margin-top { margin-top: 5rem; }

/* ---------- buttons & fields ---------- */
.button, .shopify-challenge__button, .customer button {
  display: inline-flex; justify-content: center; align-items: center; border: 0; padding: 0 3rem; cursor: pointer;
  font: inherit; font-size: 1.5rem; text-decoration: none; color: var(--color-button-text); background: var(--color-button);
  min-width: 12rem; min-height: 4.5rem; border-radius: var(--buttons-radius); letter-spacing: .1rem; line-height: calc(1 + .2 / var(--font-body-scale));
  position: relative; transition: box-shadow ease .1s;
}
.button:hover { box-shadow: 0 0 0 .2rem var(--color-button); }
.button--secondary { color: var(--color-button); background: transparent; box-shadow: 0 0 0 .1rem var(--color-button); }
.button--secondary:hover { box-shadow: 0 0 0 .2rem var(--color-button); }
.button--tertiary { color: var(--color-foreground); background: transparent; font-size: 1.2rem; padding: 1rem 1.5rem; min-width: 9rem; min-height: 3.5rem; box-shadow: 0 0 0 .1rem rgba(18,18,18,.2); }
.button--full-width { display: flex; width: 100%; }
.button:disabled, .button[aria-disabled=true] { cursor: not-allowed; opacity: .5; }
.field { position: relative; width: 100%; display: flex; }
.field__input, .select__select, .customer .field input {
  flex-grow: 1; text-align: left; padding: 1.5rem; margin: 0; font: inherit; font-size: 1.6rem; letter-spacing: .04rem;
  color: var(--color-foreground); background: var(--color-background); border: 0; border-radius: 0;
  box-shadow: 0 0 0 .1rem rgba(18,18,18,.55); height: 4.5rem; width: 100%; -webkit-appearance: none; appearance: none;
}
.field__input:focus, .select__select:focus { box-shadow: 0 0 0 .2rem rgba(18,18,18,.75); outline: none; }
.field__input { padding: 2.2rem 1.5rem .8rem; }
.field__label { font-size: 1.6rem; left: 1.5rem; top: 1rem; margin-bottom: 0; pointer-events: none; position: absolute; transition: top .1s ease, font-size .1s ease; color: rgba(18,18,18,.75); letter-spacing: .1rem; line-height: 1.5; }
.field__input:focus ~ .field__label, .field__input:not(:placeholder-shown) ~ .field__label { font-size: 1rem; top: .3em; letter-spacing: .04rem; }
.field__input::placeholder { opacity: 0; }
.field + .field { margin-top: 2rem; }
.text-area { min-height: 10rem; resize: none; font-family: inherit; }
textarea.field__input { height: auto; }
.field__button { align-items: center; background: transparent; border: 0; color: currentColor; cursor: pointer; display: flex; height: 4.4rem; justify-content: center; overflow: hidden; padding: 0; position: absolute; right: 0; top: 0; width: 4.4rem; }
.field__button .icon { height: 1.4rem; width: 1.4rem; }
.select { position: relative; display: flex; }
.select__select { padding: 0 4rem 0 1.5rem; cursor: pointer; background: var(--color-background) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708z' fill='%23121212'/%3E%3C/svg%3E") no-repeat right 1.5rem center / 1rem; }
.form__label { display: block; margin-bottom: .6rem; }
.form__message { font-size: 1.4rem; line-height: 1; margin-top: 1rem; }
.form__message--error { color: #b00020; }
.hp-field { position: absolute; left: -9999px; }
.icon { display: block; height: 2rem; width: 2rem; }

/* ---------- announcement + header ---------- */
.utility-bar { border-bottom: .1rem solid rgba(18,18,18,.08); }
.announcement-bar { text-align: center; }
.announcement-bar__message { margin: 0; padding: 1rem 0; font-size: 1.2rem; letter-spacing: .1rem; min-height: 1.8rem; }
.header-wrapper { background: var(--color-background); border-bottom: .1rem solid rgba(18,18,18,.08); z-index: 10; }
.sticky-header .header-wrapper { position: sticky; top: 0; }
.header { display: grid; grid-template-areas: 'left-icon heading icons'; grid-template-columns: 1fr 2fr 1fr; align-items: center; padding-top: 1rem; padding-bottom: 1rem; }
@media (min-width: 990px) {
  .header { padding-top: 2rem; padding-bottom: 2rem; }
  .header--logo-left-menu-inline { grid-template-areas: 'heading navigation icons'; grid-template-columns: auto auto 1fr; column-gap: 2rem; }
  .header--logo-center-menu-below { grid-template-areas: 'left-icon heading icons' 'navigation navigation navigation'; grid-template-columns: 1fr auto 1fr; }
  .header--logo-center-menu-below .header__inline-menu { justify-self: center; }
  .header__icon--menu { display: none; }
}
.header__heading { margin: 0; line-height: 0; grid-area: heading; justify-self: center; }
@media (min-width: 990px) { .header--logo-left-menu-inline .header__heading { justify-self: start; } }
.header__heading-link { display: inline-block; padding: .75rem; text-decoration: none; }
.header__heading-logo { height: auto; max-width: 100%; }
.header__icons { display: flex; grid-area: icons; justify-self: end; padding-right: .8rem; }
.header__icon { color: var(--color-foreground); height: 4.4rem; width: 4.4rem; padding: 0; display: flex; align-items: center; justify-content: center; background: none; border: 0; cursor: pointer; position: relative; }
.header__icon--menu { grid-area: left-icon; justify-self: start; }
@media (min-width: 990px) { .header__icon--menu { display: none; } }
.header__icon--cart .icon { height: 4rem; width: 4rem; margin: 0 -1.2rem; }
.cart-count-bubble { position: absolute; background: var(--color-button); color: var(--color-button-text); height: 1.7rem; width: 1.7rem; border-radius: 100%; display: flex; justify-content: center; align-items: center; font-size: .9rem; bottom: .8rem; left: 2.2rem; line-height: 1; }
.header__inline-menu { display: none; grid-area: navigation; margin-left: -1.2rem; }
@media (min-width: 990px) { .header__inline-menu { display: block; } }
.list-menu { list-style: none; padding: 0; margin: 0; }
.list-menu--inline { display: inline-flex; flex-wrap: wrap; }
.list-menu__item { display: flex; align-items: center; line-height: calc(1 + .3 / var(--font-body-scale)); }
.header__menu-item { padding: 1.2rem; text-decoration: none; color: rgba(18,18,18,.75); cursor: pointer; font-size: 1.4rem; }
.header__menu-item:hover span, .header__menu-item:hover { text-decoration: underline; text-underline-offset: .3rem; color: var(--color-foreground); }
.header__menu-item.link--active span, .link--active { text-decoration: underline; text-underline-offset: .3rem; color: var(--color-foreground); }
details > summary { list-style: none; }
details > summary::-webkit-details-marker { display: none; }
.header-menu { position: relative; }
.header-menu summary .icon-caret { height: .6rem; width: 1rem; margin-left: .6rem; }
.header-menu[open] .icon-caret { transform: rotate(180deg); }
.header__submenu { position: absolute; top: 100%; left: 0; min-width: 20rem; background: var(--color-background); border: .1rem solid rgba(18,18,18,.1); padding: 2rem 0; z-index: 3; }
.header__submenu .header__menu-item { padding: .95rem 3.5rem .95rem 2rem; }
.search-modal { position: fixed; inset: 0 0 auto 0; background: var(--color-background); z-index: 20; border-bottom: .1rem solid rgba(18,18,18,.08); box-shadow: 0 1rem 3rem rgba(0,0,0,.08); }
.search-modal__content { padding-top: 2rem; padding-bottom: 2rem; }
.search-modal__form { display: flex; gap: 1rem; align-items: center; }
.search__button { background: none; border: 0; cursor: pointer; padding: 1rem; }
.search-modal__close, .menu-drawer__close { background: none; border: 0; font-size: 3rem; cursor: pointer; line-height: 1; padding: .5rem 1rem; color: var(--color-foreground); }
.predictive-search ul { list-style: none; margin: 1.5rem 0 0; padding: 0; }
.predictive-search li a { display: flex; gap: 1.5rem; align-items: center; padding: .8rem 0; text-decoration: none; }
.predictive-search img { width: 5rem; height: 5rem; object-fit: contain; }
.menu-drawer { position: fixed; inset: 0; background: rgba(18,18,18,.4); z-index: 30; }
.menu-drawer__inner { background: var(--color-background); width: min(40rem, 90vw); height: 100%; overflow-y: auto; padding: 2rem 0; }
.menu-drawer__close { margin-left: 1.5rem; }
.menu-drawer__menu { list-style: none; padding: 0; margin: 1rem 0; }
.menu-drawer__menu-item { display: block; padding: 1.1rem 3rem; text-decoration: none; font-size: 1.8rem; cursor: pointer; }
.menu-drawer__menu-item--child { font-size: 1.6rem; padding-left: 4.5rem; color: rgba(18,18,18,.75); }

/* ---------- media + cards + grid ---------- */
.media { display: block; position: relative; overflow: hidden; background: rgba(18,18,18,.04); }
.media--transparent { background: transparent; }
.media > img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: contain; display: block; }
.grid { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; column-gap: .8rem; row-gap: .8rem; }
@media (min-width: 750px) { .grid { column-gap: 1.2rem; row-gap: 1.2rem; } }
.grid__item { width: calc(25% - .6rem * 3 / 4); max-width: calc(50% - .4rem); flex-grow: 1; flex-shrink: 0; }
.grid--1-col .grid__item { max-width: 100%; width: 100%; }
.grid--2-col-tablet-down .grid__item { width: calc(50% - .4rem); }
@media (min-width: 750px) {
  .grid--2-col-tablet .grid__item { width: calc(50% - .6rem); max-width: calc(50% - .6rem); }
  .grid--3-col-desktop .grid__item, .grid--4-col-desktop .grid__item { width: calc(33.33% - .8rem); max-width: calc(33.33% - .8rem); }
}
@media (min-width: 990px) {
  .grid--4-col-desktop .grid__item { width: calc(100% / var(--grid-desktop-columns) - 1.2rem * (var(--grid-desktop-columns) - 1) / var(--grid-desktop-columns)); max-width: calc(100% / var(--grid-desktop-columns) - 1.2rem * (var(--grid-desktop-columns) - 1) / var(--grid-desktop-columns)); }
}
.product-grid { margin-top: 1rem; }
.card-wrapper { color: inherit; height: 100%; position: relative; text-decoration: none; }
.card { position: relative; text-decoration: none; height: 100%; display: flex; flex-direction: column; border-radius: var(--card-radius); }
.card__inner { position: relative; border-radius: var(--card-radius); overflow: hidden; }
.card__media .media img:nth-child(2) { opacity: 0; transition: opacity .3s ease; }
@media (hover: hover) { .card-wrapper:hover .card__media .media img:nth-child(2) { opacity: 1; } }
.card__content { display: grid; grid-template-rows: minmax(0, 1fr) max-content minmax(0, 1fr); padding: 1.3rem 0 1rem; }
.card__information { grid-row-start: 2; }
.card__heading { margin: 0 0 .5rem; font-size: 1.4rem; line-height: calc(1 + .3 / var(--font-body-scale)); }
.card__heading a::after { content: ''; position: absolute; inset: 0; z-index: 1; }
.card-wrapper:hover .card__heading a { text-decoration: underline; text-underline-offset: .3rem; }
.card__badge { position: absolute; left: 1rem; bottom: 1rem; z-index: 2; }
.badge { border: 1px solid transparent; border-radius: 4rem; display: inline-block; font-size: 1.2rem; letter-spacing: .1rem; line-height: 1; padding: .5rem 1.3rem .6rem; text-align: center; color: #fff; }
.badge--sale { background: var(--color-sale-badge); }
.badge--soldout { background: var(--color-soldout-badge); }
.card--collection .card__heading { font-size: 1.8rem; }

/* ---------- price ---------- */
.price { font-size: 1.6rem; letter-spacing: .1rem; line-height: calc(1 + .5 / var(--font-body-scale)); color: var(--color-foreground); }
.price > * { display: inline-block; vertical-align: top; }
.price-item { margin: 0 1rem 0 0; }
.price--on-sale .price-item--regular { text-decoration: line-through; color: rgba(18,18,18,.75); font-size: 1.3rem; }
.card .price { font-size: 1.5rem; }

/* ---------- banner ---------- */
.banner { display: flex; position: relative; flex-direction: column; }
.banner__media { width: 100%; }
.banner--small .banner__media { min-height: 28rem; }
.banner--medium .banner__media { min-height: 34rem; }
.banner--large .banner__media { min-height: 39rem; }
@media (min-width: 750px) { .banner--small .banner__media { min-height: 42rem; } .banner--medium .banner__media { min-height: 56rem; } .banner--large .banner__media { min-height: 72rem; } }
.banner--adapt .banner__media { padding-bottom: 56.25%; }
.banner__media img { object-fit: cover; }
.banner__content { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 2; }
.banner__box { background: var(--color-background); padding: 4rem 3.5rem; text-align: center; max-width: 71rem; }
.banner__heading { margin: 0 0 1rem; }
.title-wrapper { margin-bottom: 3rem; }
.title { margin: 3rem 0 2rem; }
.title-wrapper .title { margin: 0; }
.collection__view-all { margin-top: 3rem; }

/* ---------- product page ---------- */
.product { display: flex; flex-direction: column; gap: 3rem; }
@media (min-width: 750px) { .product { flex-direction: row; align-items: flex-start; } .product__media-wrapper { width: 50%; flex-shrink: 0; } .product__info-wrapper { flex: 1; min-width: 0; } }
.product__media-main { position: relative; }
.product__media-item { display: none; }
.product__media-item.is-active { display: block; }
.product__media-item .media img { object-fit: contain; }
.thumbnail-list { display: flex; gap: .8rem; margin-top: 1rem; overflow-x: auto; padding: .2rem; scrollbar-width: thin; }
.thumbnail-list li { flex-shrink: 0; }
.thumbnail { width: 7rem; height: 7rem; padding: .3rem; border: .1rem solid rgba(18,18,18,.1); background: var(--color-background); cursor: pointer; }
.thumbnail.is-active { border-color: var(--color-foreground); box-shadow: 0 0 0 .1rem var(--color-foreground); }
.thumbnail img { width: 100%; height: 100%; object-fit: contain; }
@media (min-width: 750px) { .product__info-wrapper { padding-left: 2rem; } }
@media (min-width: 990px) { .product__media-wrapper { width: 55%; } .product__info-wrapper { padding-left: 2rem; } }
.product__text { margin: 0 0 1rem; opacity: .75; }
.product__title h1 { margin: 0 0 1.5rem; font-size: calc(var(--font-heading-scale) * 2.4rem); }
@media (min-width: 750px) { .product__title h1 { font-size: calc(var(--font-heading-scale) * 3rem); } }
.product__price .price { font-size: 1.8rem; }
.product__tax { display: block; margin-top: .5rem; opacity: .75; }
.product__tax a { color: inherit; }
.product-form { margin: 2.5rem 0; }
.product-form__input { border: 0; padding: 0; margin: 0 0 1.5rem; }
.product-form__input--pill input[type=radio] { clip: rect(0, 0, 0, 0); overflow: hidden; position: absolute; height: 1px; width: 1px; }
.product-form__input--pill label { border: .1rem solid rgba(18,18,18,.55); border-radius: 4rem; color: var(--color-foreground); display: inline-block; margin: .7rem .5rem .2rem 0; padding: 1rem 2rem; font-size: 1.4rem; letter-spacing: .1rem; cursor: pointer; transition: border var(--duration-short, .1s) ease; }
.product-form__input--pill label:hover { border-color: var(--color-foreground); }
.product-form__input--pill input:checked + label { background: var(--color-foreground); color: var(--color-background); }
.product-form__input--pill input.is-unavailable + label { text-decoration: line-through; opacity: .6; }
.product-form__quantity { margin-bottom: 2rem; }
.quantity { display: inline-flex; border: .1rem solid rgba(18,18,18,.55); width: 14rem; min-height: 4.5rem; }
.quantity__input { width: 100%; text-align: center; border: 0; font: inherit; font-size: 1.6rem; background: transparent; -moz-appearance: textfield; }
.quantity__input::-webkit-outer-spin-button, .quantity__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.quantity__button { width: 4.5rem; flex-shrink: 0; border: 0; background: transparent; cursor: pointer; font-size: 1.8rem; color: var(--color-foreground); }
.product-form__buttons { display: grid; gap: 1rem; max-width: 44rem; }
.product__description { margin: 2.5rem 0; }
.share-button__button { background: none; border: 0; cursor: pointer; font: inherit; padding: 0; }
.related-products__heading { margin: 0 0 3rem; }

/* ---------- rich text ---------- */
.rte { word-break: break-word; }
.rte img { height: auto; max-width: 100%; }
.rte ul, .rte ol { padding-left: 2rem; }
.rte li { margin-bottom: .4rem; }
.rte table { table-layout: fixed; border-collapse: collapse; width: 100%; }
.rte table td, .rte table th { border: .1rem solid rgba(18,18,18,.15); padding: .8rem 1rem; text-align: left; vertical-align: top; }
.rte blockquote { margin: 1.5rem 0; padding: .5rem 0 .5rem 2rem; border-left: .2rem solid rgba(18,18,18,.25); }
.rte a { color: rgba(18,18,18,.75); text-underline-offset: .3rem; }
.contact-map { position: relative; padding-bottom: 45%; height: 0; overflow: hidden; border-radius: .75rem; margin: 2rem 0; }
.contact-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.contact-table td { border: 0 !important; border-bottom: 1px solid #e2e8f0 !important; padding: 1rem !important; }
.contact-table td:first-child { font-weight: 700; width: 30%; }
.contact__fields { display: grid; gap: 2rem; margin-bottom: 2rem; }
@media (min-width: 750px) { .contact__fields { grid-template-columns: 1fr 1fr; } }
.contact .field + .field { margin-top: 2rem; }
.contact__button { margin-top: 3rem; }
.form-status { margin-bottom: 2rem; }

/* ---------- collection ---------- */
.collection-hero__inner { padding-top: 3rem; }
.collection-hero__title { margin: 2.5rem 0; }
.collection-hero__description { max-width: 66.67%; margin-bottom: 1rem; }
@media (max-width: 749px) { .collection-hero__description { max-width: 100%; } }
.facets-container { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1.5rem; margin-bottom: 1rem; }
.facets__tags { display: flex; flex-wrap: wrap; gap: .8rem; align-items: center; }
.facets__label { font-size: 1.4rem; opacity: .75; margin-right: .5rem; }
.facet-pill { display: inline-block; padding: .6rem 1.4rem; border: .1rem solid rgba(18,18,18,.25); border-radius: 4rem; font-size: 1.3rem; text-decoration: none; }
.facet-pill.is-active, .facet-pill:hover { border-color: var(--color-foreground); }
.facet-pill.is-active { background: var(--color-foreground); color: var(--color-background); }
.sorting { display: flex; align-items: center; gap: 1rem; margin-left: auto; }
.sorting .select__select { height: 3.8rem; font-size: 1.4rem; }
.facet-filters__label { font-size: 1.4rem; opacity: .85; white-space: nowrap; }
.product-count { margin: 0 0 0 1rem; font-size: 1.4rem; opacity: .75; white-space: nowrap; }
.pagination-wrapper { margin-top: 4rem; }
.pagination__list { display: flex; justify-content: center; flex-wrap: wrap; gap: .5rem; }
.pagination__item { display: inline-flex; justify-content: center; align-items: center; min-width: 4.4rem; height: 4.4rem; text-decoration: none; }
.pagination__item--current { text-decoration: underline; text-underline-offset: .4rem; }

/* ---------- blog ---------- */
.blog-articles { display: grid; gap: 4rem 2rem; }
@media (min-width: 750px) { .blog-articles { grid-template-columns: 1fr 1fr; } }
.article-card__title { margin: 1.5rem 0 .5rem; }
.article-card__excerpt { margin: 1rem 0; opacity: .8; }
.article-template__hero-container { max-width: 130rem; margin: 0 auto; }
.article-template__title { margin: 3rem 0 1rem; }
.article-template__content { margin-top: 3rem; margin-bottom: 3rem; }
.article-template__tags { margin-bottom: 2rem; }
.circle-divider::after { content: '\2022'; margin: 0 1.3rem 0 1.5rem; }

/* ---------- cart ---------- */
.title-wrapper-with-link { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; margin: 3rem 0 2rem; }
.title-wrapper-with-link .title { margin: 0; }
.cart-items { width: 100%; border-spacing: 0; border-collapse: separate; }
.cart-items thead th { text-align: left; padding-bottom: 1.8rem; opacity: .85; font-weight: 400; border-bottom: .1rem solid rgba(18,18,18,.08); }
.cart-item td { padding-top: 3rem; vertical-align: top; }
.cart-item__media { width: 10rem; padding-right: 1.5rem; }
.cart-item__image { width: 10rem; height: auto; }
.cart-item__name { text-decoration: none; display: block; margin-bottom: .5rem; }
.product-option { font-size: 1.4rem; opacity: .75; }
.product-option dd { margin: 0; }
.cart-item__quantity-wrapper { display: flex; gap: 1rem; flex-wrap: wrap; }
.cart__footer { display: flex; justify-content: flex-end; padding: 4rem 0; }
.cart__blocks { width: 100%; max-width: 38rem; }
.totals { display: flex; justify-content: flex-end; align-items: baseline; gap: 2rem; }
.totals__total { margin: 0; font-size: 1.6rem; }
.totals__total-value { font-size: 1.8rem; margin: 0; }
.tax-note { display: block; margin: 2rem 0; text-align: right; opacity: .75; }
.cart__ctas { display: grid; gap: 1rem; }
.cart__empty-text { margin: 4.5rem 0 2rem; }
@media (max-width: 749px) { .small-hide { display: none !important; } }
@media (min-width: 750px) { .medium-hide, .large-up-hide { display: none !important; } }

/* ---------- footer ---------- */
.footer { background: var(--color-footer-bg); color: var(--color-footer-text); border-top: .1rem solid rgba(18,18,18,.08); }
.footer__content-top { padding-top: 3.6rem; padding-bottom: 3.6rem; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2rem; }
.footer-block__heading { font-size: 1.8rem; margin: 0 0 2rem; }
.footer-block--newsletter { max-width: 36rem; width: 100%; }
.newsletter-form .field__input { padding-right: 5rem; }
.list-social { display: flex; gap: 1.5rem; list-style: none; padding: 0; margin: 0; align-self: center; }
.footer__content-bottom { border-top: .1rem solid rgba(18,18,18,.08); padding: 2.5rem 0; }
.footer__content-bottom-wrapper { display: flex; flex-direction: column; align-items: center; gap: 1.5rem; }
.list-payment { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; list-style: none; padding: 0; margin: 0; }
.payment-icon { display: inline-block; font-size: 1rem; letter-spacing: .05rem; border: .1rem solid rgba(18,18,18,.2); border-radius: .4rem; padding: .3rem .7rem; opacity: .85; }
.footer__copyright { text-align: center; }
.copyright__content { font-size: 1.1rem; }
.copyright__content a { color: currentColor; text-decoration: none; }
.policies { display: inline; }
.policies li { display: inline-flex; justify-content: center; align-items: center; }
.policies li::before { content: '\00B7'; padding: 0 .8rem; }

/* ---------- misc ---------- */
.cookie-banner { position: fixed; left: 1.5rem; right: 1.5rem; bottom: 1.5rem; z-index: 40; background: var(--color-background); border: .1rem solid rgba(18,18,18,.15); box-shadow: 0 1rem 3rem rgba(0,0,0,.12); padding: 1.8rem 2rem; max-width: 52rem; font-size: 1.4rem; }
.cookie-banner p { margin: 0 0 1.2rem; }
.cookie-banner__buttons { display: flex; gap: 1rem; }
.cookie-banner .button { min-height: 4rem; min-width: 10rem; font-size: 1.4rem; }
.template-404 .title { margin-top: 1rem; }
.template-404 { padding-top: 8rem; padding-bottom: 8rem; }
.shopify-policy__container { max-width: 65ch; }
.shopify-policy__title h1 { margin-bottom: 3rem; }
.placeholder { background: rgba(18,18,18,.06); }
.break { word-break: break-word; }
