/* Brambleyard Goods — base theme styles (Dawn-family structure) */
:root {
  --font-body-family: Assistant, -apple-system, 'Segoe UI', sans-serif;
  --font-heading-family: Lora, Georgia, serif;
  --color-base-text: 32, 38, 34; --color-base-background-1: 252, 250, 245; --color-base-background-2: 243, 239, 230;
  --color-base-accent-1: 32, 59, 51; --color-base-accent-2: 181, 101, 29; --color-sale: 154, 59, 31;
  --page-width: 120rem; --grid-desktop-horizontal-spacing: 16px; --grid-mobile-horizontal-spacing: 10px;
  --buttons-radius: 4px; --inputs-radius: 4px; --card-radius: 8px; --badge-corner-radius: 40px;
  --duration-short: .1s; --duration-default: .2s; --duration-long: .5s;
}
*, *::before, *::after { box-sizing: border-box; }
html { font-size: 62.5%; -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--font-body-family); font-size: 1.6rem; line-height: 1.6; letter-spacing: .03rem; color: rgb(var(--color-base-text)); background: rgb(var(--color-base-background-1)); min-height: 100vh; display: grid; grid-template-rows: auto auto auto 1fr auto; }
body.overflow-hidden { overflow: hidden; }
h0, .h0, h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5 { font-family: var(--font-heading-family); font-weight: 500; letter-spacing: .06rem; line-height: 1.25; margin: 0 0 1rem; word-break: break-word; }
.h0 { font-size: clamp(3.6rem, 5vw, 5.6rem); } h1, .h1 { font-size: clamp(3rem, 4vw, 4rem); } h2, .h2 { font-size: clamp(2.2rem, 3vw, 2.8rem); }
h3, .h3 { font-size: 2rem; } h4, .h4 { font-size: 1.7rem; } h5, .h5 { font-size: 1.5rem; }
p { margin: 0 0 1.2rem; } a { color: inherit; } img { max-width: 100%; height: auto; display: block; }
.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 { margin-top: 4rem; margin-bottom: 4rem; }
.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; }
.skip-to-content-link:focus { z-index: 9999; position: inherit; overflow: auto; width: auto; height: auto; clip: auto; }
.list-unstyled, .list-menu, ul[role="list"] { margin: 0; padding: 0; list-style: none; }
.caption, .caption-large { font-size: 1.3rem; letter-spacing: .07rem; line-height: 1.5; }
.caption-with-letter-spacing { font-size: 1.1rem; letter-spacing: .13rem; text-transform: uppercase; }
.light { opacity: .7; } .center { text-align: center; } .right { text-align: right; }
.color-scheme-1 { background: rgb(var(--color-base-background-1)); }
.color-scheme-2 { background: rgb(var(--color-base-background-2)); }
.color-scheme-3 { background: rgb(var(--color-base-accent-1)); color: #fcfaf5; }
.color-scheme-4 { background: rgb(var(--color-base-accent-2)); color: #fff; }

/* buttons + fields */
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 4.5rem; min-width: 12rem; padding: 0 3rem; border: 0; border-radius: var(--buttons-radius); font: inherit; font-size: 1.5rem; letter-spacing: .1rem; text-decoration: none; cursor: pointer; background: rgb(var(--color-base-accent-1)); color: #fcfaf5; transition: box-shadow var(--duration-short) ease; }
.button:hover { box-shadow: 0 0 0 .2rem rgb(var(--color-base-accent-1)); }
.button--secondary { background: transparent; color: rgb(var(--color-base-accent-1)); box-shadow: inset 0 0 0 1px rgb(var(--color-base-accent-1)); }
.button--tertiary { background: none; color: inherit; min-width: 0; min-height: 0; padding: .4rem .8rem; font-size: 1.3rem; text-decoration: underline; }
.button--full-width { width: 100%; }
.button[disabled], .button:disabled { opacity: .5; cursor: not-allowed; }
.button + .button { margin-left: 1rem; }
.field { position: relative; display: flex; width: 100%; }
.field__input, .select__select, .text-area { flex-grow: 1; font: inherit; font-size: 1.6rem; padding: 1.5rem; min-height: 4.5rem; border: 1px solid rgba(var(--color-base-text), .55); border-radius: var(--inputs-radius); background: #fff; color: inherit; width: 100%; }
.field__input:focus { outline: 2px solid rgba(var(--color-base-accent-1), .6); outline-offset: 1px; }
.field__label { position: absolute; left: 1.5rem; top: -.9rem; font-size: 1.2rem; padding: 0 .4rem; background: #fff; color: rgba(var(--color-base-text), .75); pointer-events: none; }
.field__button { position: absolute; right: 0; top: 0; height: 100%; width: 4.4rem; background: none; border: 0; cursor: pointer; color: inherit; }
.field-currency { position: absolute; left: .8rem; top: 50%; transform: translateY(-50%); font-size: 1.4rem; opacity: .7; }
.facets__price .field__input { padding-left: 2.2rem; }
.form__message { margin-top: 1rem; font-size: 1.4rem; } .form__message--error { color: rgb(var(--color-sale)); }
.text-area { min-height: 10rem; resize: vertical; }

/* announcement + header */
.utility-bar { font-size: 1.3rem; }
.utility-bar__grid { display: flex; align-items: center; justify-content: space-between; gap: 2rem; min-height: 3.8rem; }
.announcement-bar__message { margin: 0; font-family: var(--font-body-family); font-size: 1.3rem; letter-spacing: .1rem; }
.localization-wrapper { display: flex; align-items: center; gap: .8rem; }
.localization-form__label { font-size: 1.2rem; }
.localization-selector { font: inherit; font-size: 1.3rem; padding: .3rem .6rem; border-radius: 3px; border: 1px solid rgba(255,255,255,.6); background: transparent; color: inherit; }
.localization-selector option { color: #222; }
.header-wrapper { position: sticky; top: 0; z-index: 40; }
.header-wrapper--border-bottom { border-bottom: 1px solid rgba(var(--color-base-text), .08); }
.header { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 2rem; padding-top: 1.6rem; padding-bottom: 1.6rem; }
.header__heading { margin: 0; } .header__heading-link { text-decoration: none; } .header__heading-link .h2 { margin: 0; font-size: 2.4rem; }
.header__inline-menu { display: none; } @media (min-width: 990px) { .header__inline-menu { display: block; } }
.list-menu--inline { display: inline-flex; flex-wrap: wrap; }
.header__menu-item { display: flex; align-items: center; gap: .6rem; padding: 1.2rem; text-decoration: none; cursor: pointer; font-size: 1.5rem; }
.header__menu-item:hover span { text-decoration: underline; text-underline-offset: .3rem; }
.mega-menu { position: static; } .mega-menu summary { list-style: none; } .mega-menu summary::-webkit-details-marker { display: none; }
.mega-menu__content { position: absolute; left: 0; right: 0; top: 100%; padding: 3rem 0; border-bottom: 1px solid rgba(var(--color-base-text), .1); box-shadow: 0 10px 20px rgba(0,0,0,.05); }
.mega-menu__list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem 3rem; }
.mega-menu__link { text-decoration: none; font-size: 1.4rem; } .mega-menu__link:hover { text-decoration: underline; }
.mega-menu__link--level-2 { font-weight: 700; }
.header__icons { display: flex; align-items: center; gap: 1rem; justify-self: end; }
.header__icon { position: relative; display: flex; align-items: center; justify-content: center; width: 4.4rem; height: 4.4rem; color: inherit; }
.cart-count-bubble { position: absolute; bottom: .6rem; right: .2rem; min-width: 1.8rem; height: 1.8rem; border-radius: 1rem; background: rgb(var(--color-base-accent-2)); color: #fff; font-size: 1.1rem; display: flex; align-items: center; justify-content: center; padding: 0 .4rem; }
predictive-search { position: relative; display: block; width: 26rem; }
predictive-search .search__input { min-height: 4rem; padding: .8rem 4rem .8rem 1.2rem; font-size: 1.4rem; }
.predictive-search { display: none; position: absolute; top: calc(100% + .4rem); right: 0; width: 42rem; max-width: 92vw; background: #fff; border: 1px solid rgba(var(--color-base-text), .15); border-radius: 6px; box-shadow: 0 12px 30px rgba(0,0,0,.12); z-index: 50; padding: 1.2rem; }
predictive-search[open] .predictive-search { display: block; }
.predictive-search__heading { margin: .8rem 0; opacity: .7; border-bottom: 1px solid rgba(var(--color-base-text), .1); padding-bottom: .4rem; }
.predictive-search__item { display: flex; align-items: center; gap: 1.2rem; padding: .6rem; text-decoration: none; border-radius: 4px; }
.predictive-search__item:hover { background: rgb(var(--color-base-background-2)); }
.predictive-search__image { width: 5rem; height: 5rem; object-fit: cover; border-radius: 4px; }
.predictive-search__item-heading { margin: 0; font-family: var(--font-body-family); font-weight: 600; }
.predictive-search__item--term { justify-content: space-between; margin-top: .6rem; border-top: 1px solid rgba(var(--color-base-text), .1); }

/* banner + sections */
.banner { position: relative; display: flex; min-height: 52rem; overflow: hidden; }
.banner__media { position: absolute; inset: 0; } .banner__media img { width: 100%; height: 100%; object-fit: cover; }
.banner__content { position: relative; z-index: 1; display: flex; align-items: flex-end; width: 100%; padding-top: 4rem; padding-bottom: 4rem; }
.banner__box { max-width: 62rem; padding: 4rem 3.5rem; border-radius: var(--card-radius); }
.banner__text { font-size: 1.8rem; } .banner__buttons { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2rem; } .banner__buttons .button + .button { margin-left: 0; }
.banner .button--secondary { color: #fcfaf5; box-shadow: inset 0 0 0 1px #fcfaf5; }
.title-wrapper, .title-wrapper-with-link { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 3rem; }
.collection__view-all { margin-top: 3rem; }
.image-with-text__grid { display: grid; grid-template-columns: 1fr; gap: 0; } @media (min-width: 750px) { .image-with-text__grid { grid-template-columns: 1fr 1fr; } }
.image-with-text__media-item img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4 / 3; }
.image-with-text__content { padding: 4rem; background: rgb(var(--color-base-background-2)); height: 100%; display: flex; flex-direction: column; justify-content: center; }
.multicolumn-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(24rem, 1fr)); gap: 3rem; }
.multicolumn-card { padding: 2.4rem; border-radius: var(--card-radius); background: rgb(var(--color-base-background-2)); }
.multicolumn-card .icon { width: 3.2rem; height: 3.2rem; color: rgb(var(--color-base-accent-1)); fill: currentColor; margin-bottom: 1rem; }

/* grids + cards */
.grid { display: flex; flex-wrap: wrap; gap: var(--grid-mobile-horizontal-spacing); margin: 0; padding: 0; list-style: none; }
.grid__item { width: calc(50% - var(--grid-mobile-horizontal-spacing) / 2); flex-grow: 1; flex-shrink: 0; max-width: calc(50% - var(--grid-mobile-horizontal-spacing) / 2); }
.grid__item[hidden] { display: none; }
@media (min-width: 750px) { .grid { gap: var(--grid-desktop-horizontal-spacing); } .grid--3-col-desktop .grid__item { width: calc(33.333% - var(--grid-desktop-horizontal-spacing) * 2 / 3); max-width: calc(33.333% - var(--grid-desktop-horizontal-spacing) * 2 / 3); } .grid--4-col-desktop .grid__item { width: calc(25% - var(--grid-desktop-horizontal-spacing) * 3 / 4); max-width: calc(25% - var(--grid-desktop-horizontal-spacing) * 3 / 4); } .grid--2-col-tablet .grid__item, .grid--1-col .grid__item { width: 100%; max-width: 100%; } }
.grid--1-col .grid__item { width: 100%; max-width: 100%; }
.product.grid { flex-wrap: nowrap; } @media (max-width: 749px) { .product.grid { flex-direction: column; } .product .grid__item { max-width: 100%; width: 100%; } }
.card-wrapper { position: relative; height: 100%; }
.card { position: relative; display: flex; flex-direction: column; height: 100%; text-decoration: none; }
.card__inner { position: relative; overflow: hidden; border-radius: var(--card-radius); aspect-ratio: 1 / 1; }
.card__media .media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity var(--duration-long) ease, transform var(--duration-long) ease; }
.card__media .media img + img { opacity: 0; }
.card-wrapper:hover .media--hover-effect img:first-child { opacity: 0; } .card-wrapper:hover .media--hover-effect img + img { opacity: 1; transform: scale(1.03); }
.card__inner > img { width: 100%; height: 100%; object-fit: cover; }
.card__badge { position: absolute; left: 1rem; bottom: 1rem; }
.card__content { padding: 1.2rem 0; }
.card__heading { margin: 0 0 .4rem; font-family: var(--font-body-family); font-weight: 600; font-size: 1.6rem; }
.card__heading a { text-decoration: none; } .card__heading a::after { content: ''; position: absolute; inset: 0; z-index: 1; }
.card__caption { margin: 0; opacity: .7; }
.card__swatches { display: flex; gap: .5rem; margin-top: .6rem; }
.swatch { display: block; width: 1.6rem; height: 1.6rem; border-radius: 50%; background: var(--swatch-background); box-shadow: 0 0 0 1px rgba(0,0,0,.15); }
.rating-wrapper { display: flex; align-items: center; gap: .5rem; margin: .3rem 0; }
.rating { display: inline-flex; gap: .1rem; } .rating-text, .rating-count { margin: 0; font-size: 1.3rem; }
.icon-star { fill: rgba(var(--color-base-text), .18); } .icon-star--full { fill: #d99a1e; } .icon-star--half { fill: #e8c071; }
.badge { display: inline-block; padding: .5rem 1.3rem .6rem; border-radius: var(--badge-corner-radius); font-size: 1.2rem; letter-spacing: .1rem; line-height: 1; }

/* price */
.price { font-size: 1.6rem; letter-spacing: .1rem; line-height: 1.5; display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.price--large { font-size: 2rem; }
.price__container { display: inline-flex; }
.price .price__sale, .price--on-sale .price__regular { display: none; }
.price--on-sale .price__sale { display: flex; flex-direction: row-reverse; gap: 1rem; align-items: baseline; }
.price--on-sale .price-item--sale { color: rgb(var(--color-sale)); font-weight: 700; }
.price__sale s { opacity: .65; font-size: .85em; }
.price .badge { display: none; } .price--on-sale.price--show-badge .price__badge-sale, .price--sold-out.price--show-badge .price__badge-sold-out { display: inline-block; }
.price--sold-out.price--on-sale .price__badge-sale { display: none; }

/* breadcrumbs */
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .6rem; margin: 2rem auto 0; padding: 0; list-style: none; font-size: 1.3rem; }
.breadcrumbs li + li::before { content: '/'; margin-right: .6rem; opacity: .5; }

/* collection + facets */
.collection-hero__inner { display: grid; grid-template-columns: 1fr; gap: 2rem; padding-top: 3rem; } @media (min-width: 750px) { .collection-hero__inner { grid-template-columns: 1fr 1fr; align-items: center; } }
.collection-hero__image-container img { border-radius: var(--card-radius); aspect-ratio: 16 / 7; object-fit: cover; }
.collection-hero__description { max-width: 60rem; font-size: 1.7rem; }
.facets-vertical { display: flex; gap: 4rem; } @media (max-width: 749px) { .facets-vertical { flex-direction: column; } }
.facets-wrapper { flex: 0 0 24rem; }
.facets__disclosure-vertical { border-bottom: 1px solid rgba(var(--color-base-text), .1); padding: 1.2rem 0; }
.facets__summary { cursor: pointer; font-weight: 600; }
.facets__list { margin-top: 1rem; } .facets__item { padding: .4rem 0; }
.facet-checkbox { display: flex; gap: .8rem; align-items: center; font-size: 1.4rem; cursor: pointer; }
.facet-checkbox input { width: 1.6rem; height: 1.6rem; accent-color: rgb(var(--color-base-accent-1)); }
.facets__price { display: flex; gap: 1rem; margin-top: 1.4rem; }
.product-grid-container { flex: 1; }
.facet-filters { display: flex; justify-content: space-between; align-items: center; margin-bottom: 2rem; gap: 2rem; }
.facet-filters__field { display: flex; align-items: center; gap: 1rem; }
.facet-filters__label { margin: 0; font-family: var(--font-body-family); font-size: 1.4rem; }
.facet-filters__sort { min-height: 3.8rem; padding: .6rem 1rem; font-size: 1.4rem; }

/* product */
.product { gap: 4rem; margin-top: 2rem; }
.product__media-wrapper { flex: 0 0 55%; max-width: 55%; } .product__info-wrapper { flex: 1; max-width: 45%; }
@media (max-width: 749px) { .product__media-wrapper, .product__info-wrapper { max-width: 100%; } }
.product__media-list { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.product__media-item { width: 100% !important; max-width: 100% !important; } .product__media-item:first-child { grid-column: 1 / -1; }
.product__media img { width: 100%; border-radius: var(--card-radius); background: rgb(var(--color-base-background-2)); }
.product__column-sticky { position: sticky; top: 9rem; }
.product__text { margin: 0 0 .6rem; } .product__title h1 { margin-bottom: .8rem; }
.product__rating-link { display: inline-flex; gap: .6rem; align-items: center; text-decoration: none; font-size: 1.4rem; margin-bottom: 1.4rem; }
.product__tax { margin-top: .4rem; } .product__sku { font-size: 1.3rem; opacity: .75; margin: .6rem 0 0; } .product__inventory { font-size: 1.4rem; font-weight: 600; color: rgb(var(--color-base-accent-1)); }
.product-form__input { border: 0; margin: 0 0 1.8rem; padding: 0; }
.product-form__input .form__label { font-size: 1.4rem; margin-bottom: .8rem; padding: 0; }
.product-form__input--pill input[type="radio"] { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.product-form__input--pill input[type="radio"] + label { display: inline-block; margin: .6rem .6rem .2rem 0; padding: 1rem 2rem; border: 1px solid rgba(var(--color-base-text), .55); border-radius: 4rem; font-size: 1.4rem; cursor: pointer; transition: border var(--duration-short) ease; }
.product-form__input--pill input[type="radio"] + label[style]::before { content: ''; display: inline-block; width: 1.2rem; height: 1.2rem; border-radius: 50%; background: var(--swatch-background); margin-right: .6rem; vertical-align: -.1rem; box-shadow: 0 0 0 1px rgba(0,0,0,.2); }
.product-form__input--pill input[type="radio"]:checked + label { background: rgb(var(--color-base-text)); color: #fff; }
.product-form__input--pill input[type="radio"].disabled + label { text-decoration: line-through; opacity: .55; border-style: dashed; }
.product-form__variants.no-js { display: none; }
.quantity { position: relative; display: inline-flex; width: 14rem; min-height: 4.5rem; border: 1px solid rgba(var(--color-base-text), .55); border-radius: var(--inputs-radius); }
.quantity__input { width: 100%; text-align: center; font: inherit; font-size: 1.6rem; border: 0; padding: 0 .5rem; background: transparent; -moz-appearance: textfield; color: inherit; }
.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; font-size: 1.8rem; border: 0; background: transparent; cursor: pointer; color: inherit; }
.product-form__quantity { margin-bottom: 1.8rem; } .product-form__buttons { max-width: 44rem; }
.product__description { margin: 3rem 0; font-size: 1.6rem; } .product__description ul { padding-left: 2rem; }
.product__accordion details { border-top: 1px solid rgba(var(--color-base-text), .1); }
.product__accordion details:last-child { border-bottom: 1px solid rgba(var(--color-base-text), .1); }
.product__accordion summary, .accordion summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; padding: 1.5rem 0; }
.product__accordion summary::-webkit-details-marker, .accordion summary::-webkit-details-marker { display: none; }
.accordion__title { margin: 0; } .accordion__content { padding: 0 0 1.5rem; }
.product__share { margin-top: 2rem; } .share-button__button { background: none; border: 0; text-decoration: underline; cursor: pointer; font: inherit; }
.size-guide__table, .shipping-rates { width: 100%; border-collapse: collapse; font-size: 1.4rem; font-variant-numeric: tabular-nums; }
.size-guide__table caption { text-align: left; font-weight: 600; padding-bottom: .6rem; }
.size-guide__table th, .size-guide__table td, .shipping-rates th, .shipping-rates td { padding: .8rem 1rem; border-bottom: 1px solid rgba(var(--color-base-text), .12); text-align: left; }
.size-guide__table thead th { background: rgb(var(--color-base-background-2)); text-transform: uppercase; font-size: 1.15rem; letter-spacing: .1rem; }

/* reviews */
.spr-container { border-top: 1px solid rgba(var(--color-base-text), .1); padding-top: 4rem; }
.spr-header { display: grid; gap: 2rem; grid-template-columns: 1fr; } @media (min-width: 750px) { .spr-header { grid-template-columns: 1fr 1fr 1fr; align-items: start; } }
.spr-summary { display: flex; flex-direction: column; gap: .4rem; } .spr-summary-average { font-size: 2.4rem; font-family: var(--font-heading-family); }
.spr-histogram { width: 100%; border-collapse: collapse; font-size: 1.3rem; } .spr-histogram th { text-align: left; font-weight: 400; white-space: nowrap; padding-right: 1rem; }
.spr-histogram td { padding: .3rem .4rem; } .spr-histogram-bar { height: .8rem; border-radius: 1rem; background: linear-gradient(90deg, #d99a1e var(--pct), rgba(var(--color-base-text), .1) var(--pct)); min-width: 14rem; }
.spr-reviews { display: grid; gap: 2.4rem; margin-top: 3rem; } @media (min-width: 990px) { .spr-reviews { grid-template-columns: 1fr 1fr; } }
.spr-review { padding: 2rem; border-radius: var(--card-radius); background: rgb(var(--color-base-background-2)); }
.spr-review-header-title { font-size: 1.7rem; margin: .6rem 0; } .spr-review-header-byline { font-size: 1.3rem; opacity: .8; }
.spr-badge { display: inline-block; padding: .1rem .6rem; border-radius: 3px; background: rgba(var(--color-base-accent-1), .12); font-size: 1.1rem; }
.spr-review-content-body { margin: 1rem 0 .4rem; } .spr-review-footer { font-size: 1.25rem; opacity: .75; }
.spr-review-reportreview { background: none; border: 0; text-decoration: underline; cursor: pointer; font: inherit; color: inherit; }

/* FAQ + newsletter */
.collapsible-content__grid { max-width: 80rem; } .collapsible-content__heading { margin-bottom: 2rem; }
.accordion { border-top: 1px solid rgba(var(--color-base-text), .12); } .accordion:last-child { border-bottom: 1px solid rgba(var(--color-base-text), .12); }
.accordion .icon-caret, .product__accordion .icon-caret { transition: transform var(--duration-default) ease; } details[open] > summary .icon-caret { transform: rotate(180deg); }
.newsletter { padding: 6rem 0; } .newsletter__wrapper { max-width: 64rem; } .newsletter-form { max-width: 44rem; margin: 2rem auto 0; }
.newsletter-form__button { width: auto; padding: 0 1.6rem; font: inherit; font-weight: 600; }
.related-products__heading { margin-bottom: 2.4rem; }

/* cart drawer + cart page */
.drawer { position: fixed; z-index: 1000; inset: 0; display: flex; justify-content: flex-end; visibility: hidden; background: rgba(0,0,0,0); transition: visibility var(--duration-default) ease, background var(--duration-default) ease; }
.drawer.active { visibility: visible; background: rgba(0,0,0,.5); }
.drawer__overlay { position: absolute; inset: 0; }
.drawer__inner { position: relative; height: 100%; width: 40rem; max-width: calc(100vw - 3rem); padding: 0 1.5rem; background: rgb(var(--color-base-background-1)); display: flex; flex-direction: column; transform: translateX(100%); transition: transform var(--duration-default) ease; }
.drawer.active .drawer__inner { transform: translateX(0); }
.drawer__header { display: flex; justify-content: space-between; align-items: center; padding: 1.5rem 0; }
.drawer__heading { margin: 0; } .drawer__close { background: none; border: 0; cursor: pointer; width: 4.4rem; height: 4.4rem; color: inherit; }
.drawer__contents { flex-grow: 1; overflow: auto; }
.drawer__inner-empty { display: none; } .drawer.is-empty .drawer__inner-empty { display: block; padding-top: 4rem; } .drawer.is-empty .drawer__contents, .drawer.is-empty .drawer__footer { display: none; }
.drawer__footer { border-top: 1px solid rgba(var(--color-base-text), .1); padding: 1.5rem 0; } .cart__ctas { display: flex; gap: 1rem; margin-top: 1rem; } .cart__ctas .button { flex: 1; min-width: 0; }
.cart-items { width: 100%; border-collapse: separate; border-spacing: 0 2rem; }
.cart-items thead th { text-align: left; font-weight: 400; opacity: .75; padding-bottom: 1rem; border-bottom: 1px solid rgba(var(--color-base-text), .1); }
.cart-item__media { width: 10rem; vertical-align: top; } .cart-item__image { width: 9rem; height: 9rem; object-fit: cover; border-radius: 6px; }
.cart-item__details { padding: 0 1.5rem; vertical-align: top; font-size: 1.4rem; } .cart-item__name { display: block; margin-bottom: .4rem; text-decoration: none; font-family: var(--font-body-family); font-weight: 600; }
.cart-item__details dl { margin: .4rem 0; } .product-option { display: flex; gap: .4rem; } .product-option dd { margin: 0; }
.cart-item__quantity { vertical-align: top; } .cart-item__quantity-wrapper { display: flex; flex-direction: column; align-items: flex-start; gap: .4rem; } .cart-quantity { width: 12rem; min-height: 4rem; }
.cart-item__totals { vertical-align: top; font-weight: 600; white-space: nowrap; }
.drawer .cart-items thead { display: none; } .drawer .cart-item { display: grid; grid-template-columns: 8rem 1fr; gap: .6rem 1rem; padding: 1rem 0; border-bottom: 1px solid rgba(var(--color-base-text), .08); }
.drawer .cart-item__details { padding: 0; } .drawer .cart-item__quantity { grid-column: 2; } .drawer .cart-item__totals { grid-column: 2; text-align: left; }
cart-items.is-empty .cart__contents, cart-items.is-empty + * , .cart__warnings { display: none; } cart-items.is-empty .cart__warnings { display: block; text-align: center; padding: 6rem 0; }
.cart__footer { display: flex; justify-content: flex-end; } .cart__blocks { width: 100%; max-width: 40rem; display: flex; flex-direction: column; gap: 2rem; }
.cart-totals { margin: 0; } .totals__row { display: flex; justify-content: space-between; padding: .5rem 0; font-size: 1.5rem; } .totals__row dt, .totals__row dd { margin: 0; }
.totals__row--grand { border-top: 1px solid rgba(var(--color-base-text), .15); margin-top: .6rem; padding-top: 1rem; font-size: 1.8rem; font-weight: 700; }
.totals__row--discount dd { color: rgb(var(--color-sale)); } .discounts__discount { display: inline-block; padding: 0 .6rem; border-radius: 3px; background: rgba(var(--color-sale), .1); font-size: 1.2rem; }
.cart__discount .field { gap: 1rem; } .cart__discount .button { min-width: 0; }
.template-search__header { margin-top: 4rem; margin-bottom: 3rem; } .template-search__search { max-width: 47.8rem; margin: 2rem auto; } .template-search__status { text-align: center; }

/* footer */
.footer { border-top: 1px solid rgba(var(--color-base-text), .1); padding: 5rem 0 3rem; margin-top: 4rem; }
.footer__blocks-wrapper { display: grid; grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr)); gap: 3rem; }
.footer-block__heading { font-size: 1.8rem; } .footer-block__details-content .list-menu__item { display: block; padding: .3rem 0; text-decoration: none; font-size: 1.4rem; }
.footer__content-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2rem; margin-top: 4rem; padding-top: 2rem; border-top: 1px solid rgba(var(--color-base-text), .08); }
.list-payment { display: flex; gap: .8rem; } .list-payment__item { padding: .2rem .8rem; border: 1px solid rgba(var(--color-base-text), .2); border-radius: 3px; font-size: 1.2rem; }
.copyright__content { display: block; font-size: 1.2rem; }
.template-404 { padding: 8rem 0; }
@media (prefers-reduced-motion: reduce) { .motion-reduce { transition: none !important; animation: none !important; } }
