/** Shopify CDN: Minification failed

Line 148:0 Unexpected "}"

**/
/* LEWIJE modern homepage, bottom bar and footer (see modern_home.py) */
:root { --lw-ink: #222222; --lw-espresso: #3A2A20; --lw-sand: #F4EFEA; --lw-line: rgba(34, 34, 34, .12); --lw-r: 20px; }

/* ---------- pills and chips ---------- */
.lw-pill { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 26px; border-radius: 999px;
  font: 500 12.5px/1 var(--font-body-family); letter-spacing: .12em; text-transform: uppercase; text-decoration: none;
  border: 1px solid transparent; transition: transform .2s ease, background .2s ease; }
.lw-pill:hover { transform: translateY(-1px); }
.lw-pill--solid { background: #fff; color: #222; }
.lw-pill--ghost { background: rgba(255, 255, 255, .14); color: #fff; border-color: rgba(255, 255, 255, .7);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.lw-chip { min-height: 44px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--lw-line); background: transparent;
  color: var(--lw-ink); font: 400 13px/1 var(--font-body-family); letter-spacing: .04em; cursor: pointer; white-space: nowrap; flex: none; }
.lw-chip[aria-pressed="true"] { background: var(--lw-ink); color: #fff; border-color: var(--lw-ink); }
.lw-chip--back::before { content: ""; display: inline-block; width: 6px; height: 6px; margin: 0 8px 1px 0; border-radius: 50%; background: #5FA37A; vertical-align: middle; }

/* keyboard focus */
.lw-pill:focus-visible, .lw-chip:focus-visible, .lw-card__plus:focus-visible, .lw-rail__arrow:focus-visible, .lw-bar__item:focus-visible,
.lw-bento__tile:focus-visible, .lw-rail__all:focus-visible { outline: 2px solid #B08155; outline-offset: 3px; }

/* ---------- homepage header: transparent over the hero, solid once scrolled ---------- */
/* hidden visually, not with display:none: the theme's announcement script throws if its slides have no box */
body.lw-tpl-index .announcement-bar-section { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
body.lw-tpl-index #MainContent > .shopify-section:first-child { margin-top: calc(-1 * var(--header-height, 50px)); }
body.lw-tpl-index .section-header { position: sticky; top: 0; z-index: 30; }
body.lw-tpl-index:not(.lw-past) .section-header .header-wrapper { background: transparent !important; box-shadow: none; }
body.lw-tpl-index:not(.lw-past) .section-header .header-wrapper::before { display: none; }
body.lw-tpl-index:not(.lw-past) .section-header :is(.header__icon, .header__heading-link, .header__menu-item, .list-menu__item, .header__active-menu-item) { color: #fff !important; }
body.lw-tpl-index:not(.lw-past) .section-header .header__heading-logo { filter: brightness(0) invert(1); }
body.lw-tpl-index .section-header:has(details[open]) .header-wrapper { background: #fff !important; }
body.lw-tpl-index .section-header:has(details[open]) :is(.header__icon, .header__heading-link, .header__menu-item, .list-menu__item, .header__active-menu-item) { color: #222 !important; }
body.lw-tpl-index .section-header:has(details[open]) .header__heading-logo { filter: none; }

/* ---------- hero ---------- */
.lw-hero { position: relative; display: grid; grid-template-columns: 1fr; height: 100vh; height: 100svh; min-height: 520px; max-height: 1000px;
  overflow: hidden; background: #1c1612; color: #fff; }
.lw-hero__cell { position: relative; overflow: hidden; min-height: 0; }
.lw-hero__cell--still { display: none; }
.lw-hero__img, .lw-hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lw-hero__video { opacity: 0; transition: opacity .8s ease; }
.lw-hero__video.is-playing { opacity: 1; }
.lw-hero__shade { position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(to bottom, rgba(0, 0, 0, .42), rgba(0, 0, 0, 0) 24%), linear-gradient(to top, rgba(0, 0, 0, .62), rgba(0, 0, 0, 0) 58%); }
.lw-hero__copy { position: absolute; left: 20px; right: 20px; bottom: calc(92px + env(safe-area-inset-bottom)); }
.lw-hero__eyebrow { margin: 0 0 14px; font: 400 12px/1 var(--font-body-family); letter-spacing: .22em; text-transform: uppercase; opacity: .9; }
.lw-hero__headline { margin: 0 0 22px; max-width: 12em; font-family: var(--font-heading-family); font-weight: 400;
  font-size: clamp(30px, 8.8vw, 40px); line-height: 1.04; letter-spacing: -.02em; text-wrap: balance; color: #fff; }
.lw-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; }
@media (min-width: 750px) {
  .lw-hero--split { grid-template-columns: 1fr 1fr; }
  .lw-hero__cell--still { display: block; }
  .lw-hero__copy { left: 56px; right: 56px; bottom: 64px; }
  .lw-hero__headline { max-width: 9em; font-size: clamp(40px, 4.4vw, 72px); line-height: 1.04; } /* two balanced lines, kept inside the left half so it never crosses onto the right photo */
}

/* ---------- ticker ---------- */
.lw-marq { overflow: hidden; background: var(--lw-ink); color: #fff; }
.lw-marq__track { display: flex; width: max-content; animation: lw-marq 48s linear infinite; }
.lw-marq:hover .lw-marq__track { animation-play-state: paused; }
.lw-marq__group { display: flex; flex: none; }
.lw-marq__item { display: inline-flex; align-items: center; flex: none; padding: 13px 0; font: 400 12px/1 var(--font-body-family);
  letter-spacing: .16em; text-transform: uppercase; white-space: nowrap; }
.lw-marq__item::after { content: ""; width: 4px; height: 4px; margin: 0 28px; border-radius: 50%; background: currentColor; opacity: .5; }
.lw-marq__item--offer { color: #E8D3B5; }
.lw-marq__item--back::before { content: ""; width: 6px; height: 6px; margin-right: 10px; border-radius: 50%; background: #5FA37A; }
@keyframes lw-marq { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .lw-marq__track { animation: none; } .lw-marq { overflow-x: auto; } }

/* ---------- product rail ---------- */
.lw-rail { padding: 32px 0 8px; max-width: 1600px; margin: 0 auto; }
.lw-rail__head { display: flex; align-items: baseline; justify-content: space-between; padding: 0 20px; }
.lw-rail__title { margin: 0; font-family: var(--font-heading-family); font-weight: 400; font-size: clamp(26px, 4.4vw, 44px); letter-spacing: -.01em; }
.lw-rail__all { font: 400 13px/1 var(--font-body-family); letter-spacing: .08em; text-transform: uppercase; color: var(--lw-ink); text-decoration: none; }
.lw-rail__filters { display: flex; gap: 8px; padding: 18px 20px 4px; overflow-x: auto; scrollbar-width: none; }
.lw-rail__filters::-webkit-scrollbar { display: none; }
.lw-rail__wrap { position: relative; }
.lw-rail__list { display: flex; gap: 12px; margin: 0; padding: 18px 20px 12px; list-style: none; overflow-x: auto; scroll-snap-type: x proximity;
  scroll-padding-inline: 20px; scrollbar-width: none; overscroll-behavior-x: contain; }
.lw-rail__list::-webkit-scrollbar { display: none; }
.lw-rail__item { flex: 0 0 68%; max-width: 300px; scroll-snap-align: start; }
.lw-rail__item[hidden] { display: none; }
.lw-card { position: relative; }
.lw-card__media { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; border-radius: 16px; background: #E7E7E7; }
.lw-card__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 62%; transition: opacity .35s ease; }
.lw-card__img--alt { opacity: 0; }
@media (hover: hover) { .lw-card__media:hover .lw-card__img--alt { opacity: 1; } }
.lw-card__tag { position: absolute; top: 10px; left: 10px; z-index: 2; padding: 6px 11px; border-radius: 999px; background: rgba(255, 255, 255, .92);
  font: 500 10.5px/1 var(--font-body-family); letter-spacing: .1em; text-transform: uppercase; color: var(--lw-ink); }
.lw-card__tag--back { background: var(--lw-ink); color: #fff; }
.lw-card__fig { position: relative; }
.lw-card__qa { position: absolute; right: 10px; bottom: 10px; z-index: 3; }
.lw-card__plus { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%;
  background: #fff; color: var(--lw-ink); font: 300 26px/1 var(--font-body-family); text-decoration: none; box-shadow: 0 2px 10px rgba(0, 0, 0, .16); cursor: pointer; }
.lw-card__qa .loading__spinner { position: absolute; }
.lw-card__meta { display: flex; justify-content: space-between; gap: 10px; padding: 12px 2px 0; }
.lw-card__name { font: 400 14px/1.3 var(--font-body-family); color: var(--lw-ink); text-decoration: none; }
.lw-card__price { font: 400 14px/1.3 var(--font-body-family); white-space: nowrap; }
.lw-card__price s { opacity: .5; margin-right: 4px; }
.lw-card__dots { display: flex; gap: 10px; padding: 10px 2px 0; }
.lw-card__rating { display: flex; align-items: center; gap: 8px; margin: 0; padding: 10px 2px 0; font: 400 12.5px/1 var(--font-body-family); letter-spacing: .02em; color: var(--lw-ink); }
.lw-stars { font-size: 14px; letter-spacing: 2px; color: transparent; -webkit-text-fill-color: transparent;
  background: linear-gradient(90deg, #C58B3A calc(var(--r) / 5 * 100%), #D9D2CA 0); -webkit-background-clip: text; background-clip: text; }
.lw-card__dot { position: relative; width: 14px; height: 14px; padding: 0; border: 1px solid rgba(0, 0, 0, .22); border-radius: 50%; background-clip: padding-box; cursor: pointer; }
.lw-card__dot::after { content: ""; position: absolute; inset: -15px -5px; } /* a 44px-tall tap target around the small dot */
.lw-card__dot[aria-pressed="true"] { box-shadow: 0 0 0 2px #fff, 0 0 0 3px #222; }
.lw-card.is-swapped .lw-card__img--alt { display: none; }
.lw-rail__arrow { display: none; }
@media (min-width: 750px) {
  .lw-rail { padding: 56px 0 16px; }
  .lw-rail__head, .lw-rail__filters { padding-left: 48px; padding-right: 48px; }
  .lw-rail__list { padding: 24px 48px 12px; gap: 16px; scroll-padding-inline: 48px; }
  .lw-rail__item { flex: 0 0 calc((100% - 96px - 48px) / 4); max-width: none; }
  .lw-rail__arrow { position: absolute; top: 38%; z-index: 4; display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; padding: 0 0 4px;
    border: 0; border-radius: 50%; background: rgba(255, 255, 255, .94); box-shadow: 0 2px 14px rgba(0, 0, 0, .18); color: var(--lw-ink); font-size: 30px; cursor: pointer; }
  .lw-rail__arrow--prev { left: 14px; } .lw-rail__arrow--next { right: 14px; }
}

/* ---------- bento ---------- */
.lw-bento { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; max-width: 1600px; margin: 0 auto; padding: 56px 12px 4px; }
.lw-bento__tile { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 150px; padding: 18px; overflow: hidden;
  border-radius: var(--lw-r); color: var(--lw-ink); text-decoration: none; }
.lw-bento__tile--photo { grid-row: span 2; min-height: 340px; padding: 0; background: #E7E7E7; }
.lw-bento__tile--photo img, .lw-bento__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lw-bento__video { opacity: 0; transition: opacity .6s ease; }
.lw-bento__video.is-playing { opacity: 1; }
.lw-bento__chip { position: absolute; left: 12px; bottom: 12px; padding: 7px 13px; border-radius: 999px; background: rgba(255, 255, 255, .92);
  font: 500 11px/1 var(--font-body-family); letter-spacing: .1em; text-transform: uppercase; }
.lw-bento__tile--craft { background: var(--lw-sand); }
.lw-bento__tile--story { background: #B08155; color: #fff; }
.lw-bento__big { margin: 0; font-family: var(--font-heading-family); font-size: clamp(36px, 11vw, 56px); line-height: 1; letter-spacing: -.02em; }
.lw-bento__big--sm { font-size: clamp(22px, 6vw, 30px); line-height: 1.12; }
.lw-bento__text { margin: 12px 0 0; font: 400 13px/1.45 var(--font-body-family); opacity: .8; }
@media (min-width: 750px) {
  .lw-bento { grid-template-columns: repeat(4, 1fr); gap: 14px; padding: 72px 24px 8px; }
  .lw-bento__tile { min-height: 0; padding: 28px 32px; justify-content: center; gap: 12px; }
  /* portrait film tile beside two text tiles: shows the film whole instead of a zoomed strip */
  .lw-bento__tile--photo { grid-column: 1 / 2; grid-row: 1 / 3; min-height: clamp(320px, 26vw, 440px); padding: 0; }
  .lw-bento__tile--craft { grid-column: 2 / 5; grid-row: 1; }
  .lw-bento__tile--story { grid-column: 2 / 5; grid-row: 2; }
  .lw-bento__big--sm { font-size: clamp(28px, 3.1vw, 48px); }
  .lw-bento__text { margin: 0; max-width: 34em; font-size: 16px; line-height: 1.5; }
}
}
}

/* ---------- footer ---------- */
.lw-wordmark { padding: 40px 16px 8px; text-align: center; }
.lw-wordmark__img { width: 100%; max-width: 1100px; height: auto; margin: 0 auto; opacity: .92; }
.footer .newsletter-form__field-wrapper .field, .footer .newsletter-form__field-wrapper .field::before, .footer .newsletter-form__field-wrapper .field::after { border-radius: 999px; }
.footer .newsletter-form__field-wrapper .field__input { padding-left: 22px; border-radius: 999px; }

/* ---------- product page: same type system and shapes as the homepage (fonts audit 2026-10-10) ----------
   Both pages already use Jost; what differed was scale, tracking, case and corner shape. */
body.lw-tpl-product .product__title h1, body.lw-tpl-product .product__title h2 { font-size: 24px !important; line-height: 1.14 !important; letter-spacing: -.01em !important; }
body.lw-tpl-product .product-savings-price .price-item { font-size: 18px; letter-spacing: .01em; }
body.lw-tpl-product variant-selects .form__label { font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; }
body.lw-tpl-product variant-selects .product-popup-modal__button { text-transform: none; letter-spacing: .02em; }
/* buttons = the homepage pill: uppercase, 500, wide tracking, fully rounded */
body.lw-tpl-product .product-form__submit { height: 52px !important; border-radius: 999px !important; font-size: 13px !important; font-weight: 500 !important;
  letter-spacing: .12em !important; text-transform: uppercase !important; }
body.lw-tpl-product .product-form__submit::before, body.lw-tpl-product .product-form__submit::after { border-radius: 999px !important; }
body.lw-tpl-product .product-form__submit:hover { background: #fff !important; color: #222 !important; }
/* size chips = the homepage chip: pill shaped */
body.lw-tpl-product fieldset.product-form__input--pill input[name^="Size"] + label { border-radius: 999px !important; flex: 1 1 0; min-width: 32px; max-width: 52px; margin-right: 4px !important; padding-left: 0 !important; padding-right: 0 !important; font-size: 13px; letter-spacing: .04em; } /* the chips share the row equally, so seven sizes (36-42) stay on one line from a 290px column up */
body.lw-tpl-product fieldset.product-form__input--pill input[name^="Size"] + label::before,
body.lw-tpl-product fieldset.product-form__input--pill input[name^="Size"] + label::after { border-radius: 999px !important; }
/* "Related products" cards = the homepage card: rounded photo, 14px name */
body.lw-tpl-product [class*="ai-product-card-image-wrapper-"] { border-radius: 16px; overflow: hidden; }
body.lw-tpl-product [class*="ai-product-title-"] { font-size: 14px !important; letter-spacing: .4px !important; font-weight: 400 !important; }
body.lw-tpl-product [class*="ai-product-price-"] { font-size: 14px !important; }
@media (min-width: 750px) {
  body.lw-tpl-product .product__title h1, body.lw-tpl-product .product__title h2 { font-size: 30px !important; }
  body.lw-tpl-product .product-savings-price .price-item { font-size: 20px; }
  body.lw-tpl-product .product__media .media, body.lw-tpl-product .product-media-container { border-radius: 16px; overflow: hidden; }
}

/* ---------- making film band (product pages) ---------- */
.lw-film { display: grid; grid-template-columns: 1fr; gap: 24px; align-items: center; max-width: 1600px; margin: 0 auto; padding: 56px 20px 24px; }
.lw-film__media { position: relative; aspect-ratio: 5 / 6; border-radius: 20px; overflow: hidden; background: #E7E7E7; }
.lw-film__img, .lw-film__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lw-film__video { opacity: 0; transition: opacity .6s ease; }
.lw-film__video.is-playing { opacity: 1; }
.lw-film__eyebrow { margin: 0 0 10px; font: 400 12px/1 var(--font-body-family); letter-spacing: .22em; text-transform: uppercase; opacity: .7; }
.lw-film__title { margin: 0 0 18px; font-family: var(--font-heading-family); font-weight: 400; font-size: clamp(28px, 7.4vw, 36px); line-height: 1.08; letter-spacing: -.01em; }
.lw-film__facts { list-style: none; margin: 0 0 22px; padding: 0; display: grid; gap: 10px; font: 400 15px/1.4 var(--font-body-family); }
.lw-film__facts li::before { content: ""; display: inline-block; width: 18px; height: 1px; margin: 0 12px 4px 0; background: currentColor; opacity: .5; }
.lw-film__link { font: 400 13px/1 var(--font-body-family); letter-spacing: .08em; text-transform: uppercase; color: inherit; text-decoration: underline; text-underline-offset: 6px; }
@media (min-width: 750px) {
  .lw-film { grid-template-columns: minmax(0, 480px) minmax(0, 1fr); gap: 64px; padding: 96px 48px 40px; }
  .lw-film__media { aspect-ratio: 4 / 5; }
  .lw-film__title { font-size: clamp(34px, 3.4vw, 52px); }
  .lw-film__facts { font-size: 17px; }
}

/* ---------- bottom bar (phones only; the .lw-has-bar body class is set in theme.liquid) ---------- */
.lw-bar { display: none; }
@media (max-width: 749px) {
  .lw-bar { position: fixed; left: 12px; right: 12px; bottom: calc(10px + env(safe-area-inset-bottom)); z-index: 40; display: grid; grid-template-columns: repeat(4, 1fr);
    padding: 6px; border-radius: 24px; background: rgba(255, 255, 255, .88); border: 1px solid rgba(0, 0, 0, .06);
    -webkit-backdrop-filter: blur(16px) saturate(1.5); backdrop-filter: blur(16px) saturate(1.5); box-shadow: 0 8px 28px rgba(0, 0, 0, .16); }
  .lw-bar__item { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: 52px; border-radius: 18px;
    color: #6b6258; text-decoration: none; font: 400 11px/1 var(--font-body-family); letter-spacing: .04em; }
  .lw-bar__item svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
  .lw-bar__item.is-active { color: #fff; background: var(--lw-ink); }
  .lw-bar__count { position: absolute; top: 4px; left: calc(50% + 6px); min-width: 16px; height: 16px; padding: 0 4px; border-radius: 8px; background: #B08155; color: #fff;
    font: 600 10px/16px var(--font-body-family); text-align: center; }
  .lw-bar__count[hidden] { display: none; }
  body.lw-has-bar { padding-bottom: calc(86px + env(safe-area-inset-bottom)); }
  body.lw-has-bar .header__icon--search { visibility: hidden; width: 0 !important; min-width: 0; margin: 0; padding: 0; overflow: hidden; }
  body.overflow-hidden .lw-bar, body.overflow-hidden-mobile .lw-bar, body.lw-has-bar:has(header-drawer details[open]) .lw-bar { display: none; }
}

/* ---------- site-wide type system (2026-10-11, "font not matching across site") ----------
   Jost was already used everywhere; what differed was title size, alignment, weight, button shape and product-card type.
   One page-title style, one button, one card, scoped per template so the homepage and product page are untouched. */
body.lw-tpl-page .main-page-title,
.shopify-policy__title h1,
body.lw-tpl-cart .title--primary,
body.lw-tpl-blog .title--primary,
body.lw-tpl-404 .template-404 h1.title,
body.lw-tpl-search .template-search__header h1,
body.lw-tpl-collection [class^="ai-collection-grid__heading-"] {
  font-size: clamp(30px, 2.4vw + 12px, 44px) !important; font-weight: 400 !important; letter-spacing: -.02em !important; line-height: 1.1 !important; text-align: left !important; }
/* headings that sit inside a section (banner, text blocks): same size and weight, keep their own alignment */
body.lw-tpl-page .banner__heading, body.lw-tpl-page .image-with-text__heading, body.lw-tpl-page .rich-text__heading:has(strong) {
  font-size: clamp(30px, 2.4vw + 12px, 44px) !important; font-weight: 400 !important; letter-spacing: -.02em !important; line-height: 1.1 !important; }
body.lw-tpl-page :is(.banner__heading, .image-with-text__heading, .rich-text__heading) strong { font-weight: 400 !important; }
/* section headings inside page copy and policies */
body.lw-tpl-page .rte :is(h2, h3, h4), .shopify-policy__body :is(h2, h3, h4) { font-weight: 400; letter-spacing: -.015em; }
body.lw-tpl-collection [class^="ai-collection-grid__text-"] { text-align: left !important; font-size: 15px !important; max-width: 62ch; }
@media (min-width: 750px) { body.lw-tpl-collection [class^="ai-collection-grid__text-"] { font-size: 16px !important; } }

/* buttons: the homepage pill everywhere (cart, contact, 404, search, and the cart drawer) */
.cart__checkout-button.button,
body:is(.lw-tpl-cart, .lw-tpl-page, .lw-tpl-404, .lw-tpl-search, .lw-tpl-blog, .lw-tpl-collection) main .button:not(.button--tertiary) {
  min-height: 52px; border-radius: 999px !important; font-size: 12.5px !important; font-weight: 500 !important; letter-spacing: .12em !important; text-transform: uppercase !important; }
.cart__checkout-button.button::before, .cart__checkout-button.button::after,
body:is(.lw-tpl-cart, .lw-tpl-page, .lw-tpl-404, .lw-tpl-search, .lw-tpl-blog, .lw-tpl-collection) main .button:not(.button--tertiary)::before,
body:is(.lw-tpl-cart, .lw-tpl-page, .lw-tpl-404, .lw-tpl-search, .lw-tpl-blog, .lw-tpl-collection) main .button:not(.button--tertiary)::after { border-radius: 999px !important; }

/* collection page cards = the homepage card: rounded photo, pill tag, 14px name and price on one row, colour dots below */
body.lw-tpl-collection [class^="ai-collection-grid__image-wrapper-"] { border-radius: 16px !important; overflow: hidden; }
body.lw-tpl-collection [class^="ai-collection-grid__tag-"] { top: 10px !important; left: 10px !important; padding: 6px 11px !important; border: 0 !important; border-radius: 999px !important;
  background: rgba(255, 255, 255, .92) !important; font: 500 10.5px/1 var(--font-body-family) !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--lw-ink) !important; }
body.lw-tpl-collection [class^="ai-collection-grid__content-"] { display: flex !important; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 10px; padding: 12px 2px 0 !important; }
body.lw-tpl-collection [class^="ai-collection-grid__title-"] { margin: 0 !important; font-size: 14px !important; line-height: 1.3 !important; letter-spacing: .4px !important; font-weight: 400 !important; }
body.lw-tpl-collection [class^="ai-collection-grid__title-"] a { font-size: inherit !important; letter-spacing: inherit !important; }
body.lw-tpl-collection [class^="ai-collection-grid__price-"] { display: flex !important; flex-direction: row-reverse; gap: 6px; margin: 0 !important; font-size: 14px !important; line-height: 1.3 !important; letter-spacing: .4px !important; white-space: nowrap; }
body.lw-tpl-collection [class^="ai-collection-grid__compare-at-price-"] { font-size: 14px !important; opacity: .5; }
body.lw-tpl-collection [class^="ai-collection-grid__swatches-"] { flex-basis: 100%; margin: 0 !important; }
/* search results cards: same name and price size, rounded photo */
body.lw-tpl-search .card__heading, body.lw-tpl-search .card__heading a { font-size: 14px !important; letter-spacing: .4px !important; line-height: 1.3 !important; }
body.lw-tpl-search .card .price, body.lw-tpl-search .card .price-item { font-size: 14px !important; letter-spacing: .4px !important; }
body.lw-tpl-search .card--card .card__inner, body.lw-tpl-search .card__media { border-radius: 16px; overflow: hidden; }
body:is(.lw-tpl-collection, .lw-tpl-search) .jdgm-prev-badge__text { font-size: 12.5px !important; }
/* "Related products / Recently viewed" tabs were the only bold section heading left */
body.lw-tpl-product [class^="ai-product-tab-button-"] { font-weight: 400 !important; letter-spacing: -.015em !important; }

/* desktop gallery is two photos per row: when the last VISIBLE photo would sit alone it gets .lw-gal-last (set by the script in blocks/lewije_making_film.liquid) and fills the row */
@media (min-width: 750px) {
  body.lw-tpl-product .product__media-list > .product__media-item.lw-gal-last { flex: 0 0 100% !important; width: 100% !important; max-width: 100% !important; }
}

/* customer reviews band under the product (sections/lewije-reviews.liquid); #reviews is the target of the stars under the title and of /products/x#reviews links */
.lw-reviews { padding: 40px 0 8px; scroll-margin-top: 90px; }
.lw-reviews__title { margin: 0 0 20px; font-size: 22px; font-weight: 400; letter-spacing: -.015em; line-height: 1.15; }
@media (min-width: 750px) { .lw-reviews { padding: 64px 0 16px; scroll-margin-top: 110px; } .lw-reviews__title { font-size: 26px; margin-bottom: 28px; } }
.lw-card__rating { text-decoration: none; color: inherit; }
.lw-card__rating:hover span:last-child { text-decoration: underline; }
/* Judge.me leaves the 248px "Write a review" button at the left of a full-width header; push it to the right edge, in line with the filter icons */
#reviews [class*="jm-review-widget-minimal-header__button-and-filters"] > [class*="jm-action-buttons"] { margin-left: auto; }
.lw-reviews .page-width { max-width: 1200px; }

/* "How to fasten your Bronte": YouTube thumbnails that become a player only on tap (sections/lewije-howto.liquid) */
.lw-howto { padding: 40px 0 8px; scroll-margin-top: 90px; }
.lw-howto .page-width { max-width: 1200px; }
.lw-howto__title { margin: 0 0 8px; font-size: 22px; font-weight: 400; letter-spacing: -.015em; line-height: 1.15; }
.lw-howto__intro { margin: 0 0 22px; font-size: 15px; color: rgba(34, 34, 34, .75); }
.lw-howto__list { display: flex; gap: 16px; margin: 0; padding: 0 0 8px; list-style: none; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
.lw-howto__list::-webkit-scrollbar { display: none; }
.lw-howto__item { flex: 0 0 78%; min-width: 0; scroll-snap-align: start; }
.lw-howto__play { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; padding: 0; border: 0; border-radius: 16px; overflow: hidden; background: #E7E7E7; cursor: pointer; }
.lw-howto__thumb { display: block; width: 100%; height: 100%; object-fit: cover; }
.lw-howto__icon { position: absolute; inset: 0; margin: auto; display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%;
  background: rgba(255, 255, 255, .94); color: var(--lw-ink); box-shadow: 0 2px 12px rgba(0, 0, 0, .2); }
.lw-howto__time { position: absolute; left: 10px; bottom: 10px; padding: 5px 9px; border-radius: 999px; background: rgba(34, 34, 34, .78); color: #fff; font: 500 11px/1 var(--font-body-family); letter-spacing: .06em; }
.lw-howto__step { margin: 12px 0 4px; font: 500 11.5px/1 var(--font-body-family); letter-spacing: .12em; text-transform: uppercase; color: rgba(34, 34, 34, .6); }
.lw-howto__step::before { content: "Step "; }
.lw-howto__name { margin: 0; font: 400 16px/1.3 var(--font-body-family); letter-spacing: .01em; }
.lw-howto__text { margin: 4px 0 0; font-size: 14px; color: rgba(34, 34, 34, .75); }
.lw-howto__frame { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 16px; background: #000; }
.lw-howto__play:focus-visible { outline: 2px solid #B08155; outline-offset: 3px; }
@media (min-width: 750px) {
  .lw-howto { padding: 64px 0 16px; scroll-margin-top: 110px; }
  .lw-howto__title { font-size: 26px; }
  .lw-howto__list { overflow: visible; }
  .lw-howto__item { flex: 1 1 0; }
}

/* pre-order (2026-10-13): no cart on these products; the shopper registers an email + size instead (snippets/lewije-preorder.liquid, the email form in buy-buttons.liquid) */
.lw-card__tag--pre { background: #B08155; color: #fff; }
.lw-pre { margin: 14px 0 0; padding: 14px 16px; border-radius: 16px; background: var(--lw-sand); color: var(--lw-ink); }
.lw-pre__tag { display: inline-block; padding: 6px 12px; border-radius: 999px; background: #B08155; color: #fff; font: 500 10.5px/1 var(--font-body-family); letter-spacing: .12em; text-transform: uppercase; }
.lw-pre__line { margin: 10px 0 0; font: 400 14.5px/1.4 var(--font-body-family); }
.lw-pre__small { margin: 6px 0 0; font: 400 12.5px/1.5 var(--font-body-family); opacity: .75; }
body.lw-preorder .product-form__buttons .product-form__submit { display: none; }
body.lw-preorder .product-form__input input.disabled + label, body.lw-preorder .product-form__input input:disabled + label { text-decoration: none; opacity: 1; }

/* Reviews, empty state (2026-10-16): Judge.me's "Be the first to write a review" block came with ~110px of empty space around it and sat centred under a left-aligned title.
   Compact it into one quiet row between two hairlines: text on the left, button on the right (stacked on phones). Only products without reviews carry .jm-no-reviews-state,
   so Bronte's populated widget is untouched. !important because the widget's own styles are scoped with data-v attributes. */
#reviews .jm-review-widget:has(.jm-no-reviews-state) { padding-block: 0 !important; }
#reviews .jm-review-widget:has(.jm-no-reviews-state) .jm-review-widget-minimal-header { gap: 0 !important; }
#reviews .jm-review-widget:has(.jm-no-reviews-state) .jm-loading-overlay { display: none !important; }
.lw-reviews:has(.jm-no-reviews-state) { padding-bottom: 0; }
.lw-reviews:has(.jm-no-reviews-state) .lw-reviews__title { margin-bottom: 18px; }
#reviews .jm-no-reviews-state { width: 100% !important; max-width: none !important; margin: 0 !important; }
#reviews .jm-no-reviews-state > .jm-stack { display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: space-between !important; gap: 20px !important; width: 100% !important; padding: 22px 0 !important; border-top: 1px solid #e4ded9; border-bottom: 1px solid #e4ded9; }
#reviews .jm-no-reviews-state__text { margin: 0 !important; font-size: 16px; text-align: left !important; flex: 1 1 auto !important; width: auto !important; max-width: none !important; white-space: normal; }
#reviews .jm-no-reviews-state__action-buttons, #reviews .jm-no-reviews-state__action-buttons > .jm-stack { width: auto !important; inline-size: auto !important; max-inline-size: none !important; flex: none !important; margin-left: auto !important; justify-content: flex-end !important; }
#reviews .jm-no-reviews-state .jm-action-buttons__button { width: auto !important; inline-size: auto !important; min-width: 200px; }
@media (max-width: 749px) {
  #reviews .jm-no-reviews-state > .jm-stack { flex-direction: column !important; align-items: stretch !important; gap: 14px !important; padding: 18px 0 22px !important; }
  #reviews .jm-no-reviews-state__action-buttons, #reviews .jm-no-reviews-state__action-buttons > .jm-stack, #reviews .jm-no-reviews-state .jm-action-buttons__button { width: 100% !important; inline-size: 100% !important; margin-left: 0 !important; }
}

/* Product page: the Afterpay line sits right under the price (2026-10-21). It used to hang under the "15% off" notice; with the notice gone it floated ~20px below the price
   (the price block's 15px bottom margin + 4px). Only the price block that is directly followed by the Afterpay line is tightened. */
.product__info-container .product-savings-price:has(+ .lewije-afterpay) { margin-bottom: 0; }
.product__info-container .product-savings-price + .lewije-afterpay { margin-top: 6px; }
/* Product page: the Afterpay line sits right under the price (2026-10-21). It used to hang under the "15% off" notice; with the notice gone it floated ~20px below the price
   (the price block's 15px bottom margin + 4px). Only the price block that is directly followed by the Afterpay line is tightened. */
.product__info-container .product-savings-price:has(+ .lewije-afterpay) { margin-bottom: 0; }
.product__info-container .product-savings-price + .lewije-afterpay { margin-top: 6px; }

/* ---------------------------------------------------------------------------
   Social proof band (2026-10-23). Sits between the pre-order rail and the craft
   bento: products first, then the proof, then the story.
   Sand ground so it reads as a pause between two white sections without adding
   another photo. Asymmetric on desktop - the score column is deliberately much
   narrower than the quotes, so the eye lands on the number and then runs left to
   right through the words. On phones the quotes become a swipe row, the same
   gesture the product rail already teaches.                                    */
.lw-proof { background: var(--lw-sand); }
.lw-proof__inner { max-width: 1600px; margin: 0 auto; padding: 40px 0 44px; }

.lw-proof__score { padding: 0 20px; }
.lw-proof__eyebrow { margin: 0 0 14px; font: 400 12px/1 var(--font-body-family);
  letter-spacing: .22em; text-transform: uppercase; opacity: .7; }
.lw-proof__num { margin: 0; font-family: var(--font-heading-family); font-weight: 400;
  font-size: clamp(54px, 16vw, 76px); line-height: .92; letter-spacing: -.03em; color: var(--lw-espresso); }
.lw-proof__stars { display: inline-block; margin-top: 10px; font-size: 15px; letter-spacing: .14em; }
.lw-proof__meta { margin: 10px 0 0; font: 400 13px/1.4 var(--font-body-family); opacity: .75; }

/* The quote row. No card borders or shadows - a hairline above each quote is
   enough separation and keeps the band quiet next to the product photography. */
.lw-proof__list { list-style: none; display: flex; gap: 14px; margin: 26px 0 0; padding: 0 20px;
  overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 20px;
  scrollbar-width: none; overscroll-behavior-x: contain; }
.lw-proof__list::-webkit-scrollbar { display: none; }
.lw-proof__item { flex: 0 0 76%; max-width: 340px; scroll-snap-align: start; }
.lw-proof__card { margin: 0; height: 100%; }
/* The theme gives every blockquote a 2px rgba(34,34,34,.2) left rule and 15px of
   padding. Rather than fight it with a competing top hairline, the rule is kept as
   the divider between quotes and dialled down to the house hairline so it matches
   the rest of the page instead of out-weighing the words. */
.lw-proof__quote { margin: 0; border-left: 1px solid var(--lw-line); padding-left: 18px;
  font-family: var(--font-heading-family); font-weight: 400;
  font-size: clamp(17px, 4.6vw, 20px); line-height: 1.38; letter-spacing: -.005em; color: var(--lw-espresso); }
.lw-proof__quote::before { content: "\201C"; }
.lw-proof__quote::after  { content: "\201D"; }
.lw-proof__by { margin: 14px 0 0 19px; font: 400 12px/1.5 var(--font-body-family);
  letter-spacing: .04em; opacity: .75; }   /* 19px lines the name up under the quote text, not under the rule */
.lw-proof__prod { display: block; margin-top: 2px; color: inherit; text-decoration: underline;
  text-underline-offset: 4px; text-decoration-thickness: 1px; }

@media (min-width: 750px) {
  /* Score column pinned narrow; the quotes take the rest. 0.8fr vs 2.4fr keeps the
     split clearly uneven rather than reading as a near-half mistake. */
  .lw-proof__inner { display: grid; grid-template-columns: minmax(200px, .8fr) 2.4fr;
    gap: 48px; align-items: start; padding: 72px 24px 76px; }
  .lw-proof__score { padding: 0; }
  .lw-proof__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px;
    margin: 6px 0 0; padding: 0; overflow: visible; }
  .lw-proof__item { flex: none; max-width: none; }
  .lw-proof__quote { font-size: clamp(18px, 1.5vw, 22px); line-height: 1.4; }
}

/* Footer bottom row (2026-10-23, Roshan: "can you aligned currency change with upper lots of white space"): the country selector sat in a 120px-tall column pushed to the bottom
   (4px + 10px + 10px of padding and margins above its label, on top of the row's own 30px), leaving ~55px of empty space under the divider line and the selector not lined up with
   the payment icons. Now: 20px under the line, selector and payment icons share one centred row, 20px above the copyright. Desktop and phone. */
footer.footer .footer__content-bottom { padding-top: 20px; }
footer.footer .footer__content-bottom-wrapper { align-items: flex-end; }
footer.footer .footer__localization { align-items: flex-end; padding-top: 0; padding-bottom: 0; }
footer.footer .footer__localization .localization-form { padding-top: 0; padding-bottom: 0; }
footer.footer .footer__localization .localization-form h2 { margin-top: 0; margin-bottom: 6px; }
footer.footer .footer__localization .localization-selector { margin-top: 0; margin-bottom: 0; }
footer.footer .footer__column--info { justify-content: flex-end; align-items: flex-end; }
footer.footer .footer__payment { margin-top: 0; margin-bottom: 4px; }
footer.footer .footer__payment ul { margin-top: 0; margin-bottom: 0; }
@media (max-width: 749px) {
  footer.footer .footer__content-bottom-wrapper { row-gap: 8px; }
  footer.footer .footer__localization { padding-top: 0; }
  footer.footer .footer__column--info { align-items: center; }
}

/* Red Sale tag on homepage cards (2026-10-24): products whose compare-at price is above their price; replaces "Back in stock" while a sale runs. */
.lw-card__tag--sale { background: #BE3028; color: #fff; }

/* Product page: the Shop Pay Installments line (2026-10-24). Shopify draws it inside a shadow root (a <p> and the round "?" button as siblings), so only the host can be styled:
   making the host a flex row puts the "?" on the same line as the text instead of dropping under it, and font-size / colour are inherited by the text, so it matches the Afterpay
   line above. The wording, the Shop Pay logo and the "?" pop-up are Shopify's and stay untouched. */
.product__info-container .lewije-afterpay ~ div:has(> form.installment) { margin-top: 4px; }
.product__info-container form.installment { margin: 0; }
.product__info-container shopify-payment-terms { display: flex; flex-wrap: nowrap; align-items: center; justify-content: flex-start; gap: 6px; font-size: 11.5px; line-height: 1.45; letter-spacing: 0; color: #6B5C52; }
