/** Shopify CDN: Minification failed

Line 133:0 Unexpected "}"

**/
:root {
  --gh-cream: #f8f4f1;
  --gh-ink: #111111;
  --gh-accent: #b0636b;
  --gh-serif: "Libre Caslon Text", Georgia, "Times New Roman", serif;
  --gh-sans: var(--font-body-family), Inter, Arial, sans-serif;
}

.gh-section { font-family: var(--gh-sans); color: var(--gh-ink); }
.gh-wrap { max-width: 120rem; margin: 0 auto; padding: 0 2rem; }
.gh-eyebrow { font-size: 1.1rem; letter-spacing: .18em; text-transform: uppercase; color: var(--gh-accent); margin: 0 0 1rem; }
.gh-title { font-family: var(--gh-serif); font-weight: 400; line-height: 1.15; margin: 0 0 1.5rem; }
.gh-title em { font-style: italic; }
.gh-btn { display: inline-block; padding: 1.4rem 3rem; background: var(--gh-ink); color: #fff; text-decoration: none; font-size: 1.2rem; letter-spacing: .12em; text-transform: uppercase; }
.gh-btn:hover, .gh-btn:active, .gh-btn:focus, .gh-btn:visited { background: var(--gh-ink); color: #fff; text-decoration: none; }
.gh-btn--light, .gh-btn--light:hover, .gh-btn--light:active, .gh-btn--light:focus, .gh-btn--light:visited { background: #fff; color: var(--gh-ink); }

/* hero */
.gh-hero { position: relative; min-height: 56rem; display: flex; align-items: center; color: #fff; background: #555 center/cover no-repeat; }
.gh-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.gh-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.55), rgba(0,0,0,0) 65%); }
.gh-hero__inner { position: relative; z-index: 1; max-width: 56rem; padding: 6rem 2rem 6rem 6vw; }
.gh-hero .gh-title { font-size: clamp(3.4rem, 5vw, 5.6rem); }
.gh-hero p { font-size: 1.6rem; line-height: 1.6; margin: 0 0 2.5rem; }

/* marquee */
.gh-marquee { overflow: hidden; background: #fff; border-top: 1px solid #e3e0dc; border-bottom: 1px solid #e3e0dc; padding: 13px 0; }
.gh-marquee__track { display: flex; width: max-content; animation: gh-scroll 45s linear infinite; }
.gh-marquee:hover .gh-marquee__track { animation-play-state: paused; }
.gh-marquee__item { display: inline-flex; align-items: center; gap: 9px; padding: 0 26px; font-size: 13px; line-height: 1.5; letter-spacing: .04em; font-weight: 400; white-space: nowrap; color: #565451; }
.gh-marquee__icon { width: 17px; height: 17px; flex: none; color: #2b2f32; }
@keyframes gh-scroll { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .gh-marquee__track { animation: none; } }

/* split */
.gh-split { display: grid; grid-template-columns: 1fr 1fr; align-items: center; background: var(--gh-cream); }
.gh-split--reverse .gh-split__media { order: 2; }
.gh-split__media img, .gh-split__media .placeholder-svg { width: 100%; height: 100%; min-height: 48rem; object-fit: cover; display: block; background: #ddd; }
.gh-split__text { padding: 6rem 7vw; }
.gh-split .gh-title { font-size: clamp(2.8rem, 3.6vw, 4.4rem); }
.gh-split__text p { font-size: 1.6rem; line-height: 1.7; margin: 0 0 2.5rem; max-width: 46rem; }
.gh-quote { font-family: var(--gh-serif); font-style: italic; font-size: 1.8rem; margin: 0 0 2.5rem; }

/* tiles */
.gh-tiles { padding: 7rem 0; text-align: center; }
.gh-tiles__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.6rem; margin-top: 3.5rem; }
.gh-tile { position: relative; display: block; aspect-ratio: 3/4; overflow: hidden; color: #fff; text-decoration: none; background: #ccc; }
.gh-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.gh-tile:hover img { transform: scale(1.05); }
.gh-tile__label { position: absolute; left: 0; right: 0; bottom: 0; padding: 4rem 1.5rem 2rem; background: linear-gradient(transparent, rgba(0,0,0,.6)); }
.gh-tile__label strong { display: block; font-family: var(--gh-serif); font-weight: 400; font-size: 2.2rem; margin-bottom: .4rem; }
.gh-tile__label span { font-size: 1.1rem; letter-spacing: .14em; text-transform: uppercase; }


@media (max-width: 749px) {
  .gh-split { grid-template-columns: 1fr; }
  .gh-split--reverse .gh-split__media { order: 0; }
  .gh-split__media img, .gh-split__media .placeholder-svg { min-height: 30rem; }
  .gh-split__text { padding: 4rem 2rem; }
  .gh-tiles__grid { grid-template-columns: repeat(2, 1fr); }
  .gh-hero { min-height: 46rem; }
  .gh-hero__inner { padding: 4rem 2rem; }
}

/* Dawn's heading colour overrides inherited colour; force white on dark hero */
.gh-hero .gh-title, .gh-hero p { color: #fff; }

/* product page */
.product__title h1, .product__title h2 { font-family: var(--gh-serif); font-weight: 400; letter-spacing: 0; }
.product .price--on-sale .price-item--sale { color: var(--gh-accent); }
.product .badge { background: var(--gh-accent); color: #fff; border: 0; letter-spacing: .1em; }
.product-form__submit { border-radius: 0; }
.product__text.subtitle { font-size: 1.3rem; letter-spacing: .04em; opacity: .75; }
.product .collapsible-content__heading, .product .accordion__title { font-family: var(--gh-serif); }
.related-products .title, .related-products h2 { font-family: var(--gh-serif); font-weight: 400; }

/* collection page */
.collection-hero__title, .title--primary, .collection__title { font-family: var(--gh-serif); font-weight: 400; }
.card__heading, .card-information .price { letter-spacing: 0; }
.card--standard .card__inner, .card .media { border-radius: 0; }
.facets__heading, .facets__summary { text-transform: none; }


/* header menu */
.header__inline-menu .list-menu--inline { gap: 1rem 3rem; justify-content: center; flex-wrap: nowrap; }
.header__menu-item, .header__menu-item span { font-size: 1.2rem; letter-spacing: .14em; text-transform: uppercase; white-space: nowrap; }
.header__menu-item:hover span { text-decoration: none; color: var(--gh-accent); }
.header__submenu .header__menu-item { text-transform: none; letter-spacing: .02em; font-size: 1.4rem; }
.header--top-center .header__inline-menu { margin: 0 auto; }

.footer { border-top: 1px solid rgba(0,0,0,.08); }
.footer-block__heading { font-family: var(--gh-serif); font-weight: 400; font-size: 1.8rem; }
.footer-block__details-content, .footer-block__details-content p { font-size: 1.4rem; line-height: 1.7; }

/* ---------- footer ---------- */
.gh-footer { background: #fff; border-top: 1px solid rgba(0,0,0,.08); padding: 4.8rem 0 3.2rem; }
.gh-footer__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 2rem; padding-bottom: 3.2rem; border-bottom: 1px solid rgba(0,0,0,.1); }
.gh-footer__brand img { display: block; width: min(22rem, 60vw); height: auto; }
.gh-footer__brand p { margin: 1.4rem 0 0; max-width: 56rem; font-size: 1.5rem; line-height: 1.6; color: rgba(0,0,0,.7); }
.gh-footer .footer__list-social { margin: 0; }

.gh-footer__cols { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 4rem; padding: 4rem 0; }
.gh-fcol__title { display: flex; justify-content: space-between; align-items: center; cursor: default; list-style: none; font-family: var(--gh-sans); font-weight: 600; font-size: 1.6rem; margin-bottom: 1.6rem; }
.gh-fcol__title::-webkit-details-marker { display: none; }
.gh-fcol__caret { display: none; transition: transform .2s; }
.gh-fcol__body, .gh-fcol__body p, .gh-fcol__body a { font-size: 1.5rem; line-height: 1.7; color: rgba(0,0,0,.72); }
.gh-fcol__body p { margin: 0 0 1.4rem; }
.gh-fcol__body a { text-decoration: none; }
.gh-fcol__body a:hover { color: var(--gh-accent); }
.gh-fcol__body ul { margin: 0; padding: 0; }
.gh-fcol__body li { margin-bottom: 1rem; }

.gh-footer__bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1.6rem; padding-top: 2.4rem; border-top: 1px solid rgba(0,0,0,.1); font-size: 1.3rem; color: rgba(0,0,0,.6); }
.gh-footer__bottom .gh-cart-payments { margin: 0; }

@media (max-width: 749px) {
  .gh-footer { padding: 3.2rem 0 2.4rem; }
  .gh-footer__brand p { font-size: 14px; line-height: 1.5; color: #565451; }
  .gh-footer__cols { display: block; padding: 0 0 2.4rem; }
  .gh-fcol { border-bottom: 1px solid #e3e0dc; }
  .gh-fcol__title { cursor: pointer; padding: 15px 0; margin: 0; font-size: 14px; font-weight: 400; color: #1c1917; }
  .gh-fcol__caret { display: block; }
  .gh-fcol[open] .gh-fcol__caret { transform: rotate(180deg); }
  .gh-fcol__body, .gh-fcol__body p, .gh-fcol__body a { font-size: 14px; line-height: 1.6; color: #565451; }
  .gh-fcol__body { padding-bottom: 15px; }
  .gh-footer__bottom { justify-content: center; text-align: center; }
}
}

/* buttons keep their colour on hover / click / focus */
.cart__checkout-button:hover, .cart__checkout-button:active, .cart__checkout-button:focus { background: var(--gh-ink); color: #fff; }

/* section headings: small red label + serif heading with italic ending */
.gh-eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: #a32b36; margin: 0 0 6px; line-height: 1.5; }
.gh-eyebrow--center { text-align: center; }
.gh-section-title { font-family: var(--gh-serif) !important; font-weight: 400 !important; font-size: clamp(26px, 5.4vw, 34px) !important; line-height: 1.15; letter-spacing: 0 !important; text-transform: none !important; color: #1c1917; text-align: center; margin: 0; }
.gh-section-title em { font-style: italic; font-weight: inherit; }
@media (min-width: 769px) { .gh-section-title { font-size: clamp(30px, 2.6vw, 42px) !important; } }
.collection__title.title-wrapper { text-align: center; margin-bottom: 50px; }
.collection__title .title-wrapper-with-link, .collection__title .title { justify-content: center; }

/* product card labels: SAVE x% + BEST SELLER, top-left on the image */
.card .card__inner .card__content .card__badge.gh-badges { position: absolute !important; top: 0 !important; left: 8px !important; right: auto !important; bottom: auto !important; height: auto !important; margin: 0 !important; grid-row: 1 !important; align-self: start !important; justify-self: start !important; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; z-index: 2; }
.gh-badge { display: inline-block; font-family: var(--gh-sans); font-size: 9px; font-weight: 700; line-height: 9px; letter-spacing: .12em; text-transform: uppercase; padding: 5px 5px; border-radius: 0; border: 0; }
.gh-badge--save { background: #a32b36; color: #fff; }
.gh-badge--best { background: rgba(255,255,255,.94); color: #1c1917; }
/* Dawn renders a second (hidden) badge row below the image on media cards: keep it hidden */
.card--media > .card__content .card__badge.gh-badges { display: none !important; }

/* product page: labels over the gallery + SAVE label next to the price */
.gh-gallery { position: relative; display: block; }
.gh-badges--product { position: absolute; top: 8px; left: 8px; z-index: 3; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; pointer-events: none; }
.price .price__badge-sale.gh-badge { margin-left: 1rem; }
.price--on-sale .price__badge-sale.gh-badge { display: inline-block; }
.price .badge.gh-badge--save, .price .price__badge-sale.gh-badge--save { background: #a32b36 !important; color: #fff !important; border: 0 !important; font-size: 9px; letter-spacing: .12em; padding: 5px 5px; border-radius: 0; }

/* product page photo: labels at the same size/position as the reference store */
.gh-badges--product { top: 18px; left: 14px; gap: 6px; }
.gh-badges--product .gh-badge { font-size: 10.5px; line-height: 10.5px; letter-spacing: .13em; padding: 6px 11px; }
.gh-badges--product .gh-badge--best { background: #fff; color: #1c1917; }
@media (max-width: 749px) { .gh-badges--product { top: 12px; left: 10px; } }

/* ---------- prices (match reference store) ---------- */
/* sale price first (red), regular price after it (grey, struck through) */
.price--on-sale .price__sale { display: flex; flex-direction: row-reverse; justify-content: flex-start; align-items: baseline; gap: 8px; }
.price--on-sale .price-item--sale { color: #a32b36 !important; font-size: 16px; font-weight: 700; }
.price--on-sale s.price-item--regular, .price--on-sale .price__sale s { color: #86827d !important; font-size: 13px; font-weight: 400; text-decoration: line-through; text-decoration-color: #86827d; }
.card-information .price { margin-top: 5px; }
.card-information .price:not(.price--on-sale) .price-item--regular { color: #1c1917; }
/* product page: larger sale price */
.product__info-container .price--on-sale .price-item--sale { font-size: 26.6px; font-weight: 400; }
.product__info-container .price--on-sale s.price-item--regular { font-size: 16px; }
.product__info-container .price--on-sale .price__sale { gap: 12px; }
/* cart drawer final price */
.cart-drawer .cart-item__final-price, .cart-drawer .cart-item__details .cart-item__final-price { color: #a32b36; }
.cart-drawer .cart-item__old-price { color: #86827d; }

/* ---------- pillars / core values (match reference store) ---------- */
.gh-pillars { padding-block: 48px; background: transparent; }
.gh-pillars__head { text-align: center; margin: 0 auto 44px; max-width: none; }
.gh-pillars__head .gh-eyebrow { margin-bottom: 10px; letter-spacing: .18em; }
.gh-rule { display: block; width: 44px; height: 1px; background: #cfcbc5; margin: 16px auto 0; }
.gh-lede { max-width: 611px; margin: 14px auto 0; font-size: 16px; line-height: 1.65; color: #565451; }
.gh-pillars__grid { display: grid; grid-template-columns: 1fr; gap: 30px; }
.gh-pillar { border-top: 1px solid #cfcbc5; padding-top: 18px; }
.gh-pillar__num { display: block; font-family: var(--gh-serif); font-size: 26px; line-height: 1; color: #a32b36; margin-bottom: 10px; }
.gh-pillar__title { font-family: var(--gh-serif); font-weight: 400; font-size: 19px; line-height: 1.25; margin: 0 0 8px; color: #1c1917; letter-spacing: 0; text-transform: none; }
.gh-pillar__text { margin: 0; font-size: 14.5px; line-height: 1.6; color: #565451; }
@media (min-width: 700px) { .gh-pillars__grid { grid-template-columns: repeat(2, 1fr); gap: 34px; } }
@media (min-width: 769px) { .gh-pillars { padding-block: 72px; } }
@media (min-width: 1024px) { .gh-pillars__grid { grid-template-columns: repeat(4, 1fr); gap: 30px; } }

/* ---------- trust bar (match reference store) ---------- */
.gh-trust { background: #fff; border-top: 1px solid #e3e0dc; }
.gh-trust__grid { display: grid; grid-template-columns: 1fr; gap: 26px; padding-block: 28px; text-align: center; }
.gh-trust__item { display: grid; gap: 4px; justify-items: center; align-content: start; }
.gh-trust__icon { width: 32px; height: 32px; color: #2b2f32; }
.gh-trust__stars { font-size: 17px; line-height: 25.5px; letter-spacing: -1px; color: #1c1917; }
.gh-trust__item strong { font-size: 13px; line-height: 19.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #1c1917; }
.gh-trust__item span { font-size: 13px; line-height: 19.5px; color: #565451; }
@media (min-width: 769px) {
  .gh-trust__grid { grid-template-columns: repeat(3, 1fr); padding-block: 34px; }
  .gh-trust__grid > * + * { border-left: 1px solid #e3e0dc; }
}

/* ---------- cart drawer (match reference store) ---------- */
.cart-drawer .drawer__header { padding: 0 20px; min-height: 70px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #e3e0dc; }
.cart-drawer .drawer__heading { font-family: var(--gh-serif); font-weight: 400; font-size: 17px; line-height: 1.2; margin: 0; color: #1c1917; }
.cart-drawer .drawer__heading span { margin: 0 .25rem; }

/* line items: image left; title, options, then quantity (left) and prices (right) */
.cart-drawer .cart-items, .cart-drawer .cart-items tbody { display: block; }
.cart-drawer .cart-items thead { display: none; }
.cart-drawer .cart-item { display: grid; grid-template-columns: 88px 1fr; column-gap: 16px; position: relative; padding: 16px 20px; border-bottom: 0; }
.cart-drawer .cart-item__media { grid-column: 1; grid-row: 1 / span 2; width: auto; padding: 0; }
.cart-drawer .cart-item__image { width: 100%; height: auto; max-width: none; display: block; }
.cart-drawer .cart-item__details { grid-column: 2; grid-row: 1; width: auto; padding: 0 28px 0 0; display: flex; flex-direction: column; }
.cart-drawer .cart-item__title { order: 1; }
.cart-drawer .cart-item__name { font-family: var(--font-body-family); font-size: 14.45px; font-weight: 400; line-height: 1.35; text-decoration: none; color: #1c1917; }
.cart-drawer .cart-item__details dl { order: 2; margin: 8px 0 0; }
.cart-drawer .cart-item__details dl .product-option { display: block; font-size: 12px; line-height: 1.5; color: #1c1917; }
.cart-drawer .cart-item__details dl .product-option dt { display: inline; font-weight: 700; margin: 0; }
.cart-drawer .cart-item__details dl .product-option dd { display: inline; margin: 0; }
.cart-drawer .cart-item__details > .cart-item__discounted-prices, .cart-drawer .cart-item__details > .product-option { display: none; }
.cart-drawer .cart-item__details .discounts { order: 4; }
.cart-drawer .cart-item__quantity { grid-column: 2; grid-row: 2; justify-self: start; width: auto; padding: 12px 0 0; }
.cart-drawer .cart-item__quantity-wrapper { display: block; }
.cart-drawer .cart-item__quantity-wrapper cart-remove-button { position: absolute; top: 14px; right: 20px; }
.cart-drawer .cart-item__totals { display: block; grid-column: 2; grid-row: 2; justify-self: end; align-self: start; width: auto; padding: 12px 0 0; text-align: right; }
.cart-drawer .cart-item__totals .cart-item__discounted-prices { display: flex; flex-direction: column; align-items: flex-end; }
.cart-drawer .cart-item__totals .cart-item__old-price { color: #040404; font-size: 13px; text-decoration: line-through; }
.cart-drawer .cart-item__totals .price, .cart-drawer .cart-item__totals .gh-cart-final { font-size: 13px; }
.cart-drawer .cart-item__totals .gh-cart-final { color: #c0392b; }
.cart-drawer .cart-item__quantity, .cart-drawer quantity-popover, .cart-drawer .quantity-popover-wrapper, .cart-drawer .quantity-popover-container { position: static; }
.cart-drawer .quantity { border-radius: 0; width: 9.6rem; min-height: 3.6rem; }
.cart-drawer .quantity__button { width: 3.2rem; }
.cart-drawer .quantity__input { font-size: 1.4rem; }

/* footer */
.cart-drawer .drawer__footer { background: #fff; border-top: 1px solid #e3e0dc; padding: 0 20px 8px; }
.cart-drawer .tax-note, .cart-drawer .cart-drawer__footer { display: none; }
.gh-cart-dispatch { display: flex; align-items: center; justify-content: center; gap: .8rem; width: fit-content; margin: 14px auto 6px; padding: .9rem 2rem; border-radius: 99px; background: #f5f5f7; font-size: 14px; color: #1c1917; }
.gh-cart-dispatch svg { color: #2e9e5b; flex: none; }
.gh-cart-totals { display: grid; gap: 7px; padding: 14px 0 4px; }
.gh-cart-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; font-size: 13px; color: #1c1917; }
.gh-cart-row--discount { color: #a32b36; font-weight: 700; }
.gh-cart-row--grand { padding-top: 11px; margin-top: 4px; border-top: 1px solid #e3e0dc; }
.gh-cart-row--grand .gh-cart-total { font-family: var(--gh-serif); font-size: 19px; color: #1c1917; }
.cart-drawer .cart__ctas { margin-top: 10px; }
.cart-drawer .cart__checkout-button { border-radius: 0; background: #1c1917; color: #fff; font-size: 14px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; min-height: 48px; padding: 13px 0; display: flex; align-items: center; justify-content: center; gap: 6px; }
.cart-drawer .cart__checkout-button::before, .cart-drawer .cart__checkout-button::after { display: none; }
.gh-cart-guarantees { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 12px 0 10px; margin: 0; }
.gh-cart-guarantees li { display: grid; justify-items: center; gap: 5px; text-align: center; }
.gh-cart-guarantees svg { width: 14px; height: 14px; color: #2b2f32; }
.gh-cart-guarantees span { font-size: 10.5px; line-height: 1.3; color: #565451; }

/* footer payment icons */
.gh-cart-payments { display: flex; flex-wrap: wrap; justify-content: center; gap: .8rem; margin: 0; padding: 0; }
.gh-cart-payments svg { width: 3.8rem; height: 2.4rem; }
.cart-drawer .cart-item .cart-item__totals { margin: 0 !important; padding: 12px 0 0 !important; }
.cart-drawer .quantity { width: 9rem; }
/* give prices their own column so they can never overlap the stepper */
.cart-drawer .cart-item { grid-template-columns: 88px minmax(0, 1fr) auto; }
.cart-drawer .cart-item__details { grid-column: 2 / span 2; }
.cart-drawer .cart-item__quantity { grid-column: 2; }
.cart-drawer .cart-item .cart-item__totals { grid-column: 3; justify-self: end; margin-left: 12px !important; }

/* ---------- cart tweaks ---------- */
/* 1. smaller close icon, vertically aligned with the heading */
.cart-drawer .drawer__header { align-items: center; }
.cart-drawer .drawer__close { position: static; width: 3.2rem; height: 3.2rem; margin: 0; display: flex; align-items: center; justify-content: center; padding: 0; }
.cart-drawer .drawer__close .svg-wrapper, .cart-drawer .drawer__close svg { width: 1.6rem; height: 1.6rem; }

/* 2. prices sit neatly next to the stepper, vertically centred on it */
.cart-drawer .cart-item .cart-item__totals { margin-left: 20px !important; align-self: center; padding-top: 12px !important; }
.cart-drawer .cart-item__totals .cart-item__discounted-prices { gap: 2px; }

/* 3. order-before notice: straight full-width bar above the divider to the totals */
.cart-drawer .drawer__footer { border-top: 0; }
.cart-drawer .gh-cart-bar { display: block; width: auto; margin: 0 -20px; padding: 9px 20px; border-radius: 0; border-top: 1px solid #e3e0dc; border-bottom: 1px solid #e3e0dc; background: #f5f5f7; text-align: center; font-size: 12px; line-height: 1.4; gap: 0; }
.cart-drawer .gh-cart-bar svg { display: inline-block; vertical-align: -3px; margin-right: 6px; width: 14px; height: 14px; }
/* more room for the price column; notice bar on one line */
.cart-drawer .cart-item { column-gap: 12px; grid-template-columns: 88px minmax(0, 1fr) auto; }
.cart-drawer .quantity { width: 8.4rem; }
.cart-drawer .cart-item .cart-item__totals { margin-left: 0 !important; }
.cart-drawer .gh-cart-bar { white-space: nowrap; font-size: 11.5px; padding: 9px 12px; }

/* ---------- header bag icon + red dot (match reference store) ---------- */
.header__icon--cart .icon, .header__icon--cart .svg-wrapper, .header__icon--cart svg { width: 28px; height: 28px; }
.header__icon--cart { position: relative; }
.header__icon--cart .cart-count-bubble { position: absolute; right: 8px; top: 50%; bottom: auto; left: auto; width: 15px; height: 15px; min-width: 0; padding: 0; border: 2px solid #fff; border-radius: 50%; background: #af2525; color: transparent; font-size: 0; line-height: 0; }
.header__icon--cart .cart-count-bubble span[aria-hidden="true"] { display: none; }

/* ---------- side menu: divider + three check points (match reference store) ---------- */
.gh-drawer-points { margin: 2.4rem 3.2rem 0; padding: 2.4rem 0 0; border-top: 1px solid #cfcbc5; display: grid; gap: 14px; list-style: none; }
.gh-drawer-points li { display: flex; align-items: center; gap: 14px; font-size: 14px; line-height: 1.4; color: #565451; }
.gh-drawer-points svg { flex: none; color: #1c1917; }

/* ---------- product gallery on mobile: full-bleed swipe row + progress bar + zoom icon bottom-right ---------- */
.gh-gallery-progress { display: none; }
@media (max-width: 749px) {
  .gh-gallery { margin-left: -1.5rem; margin-right: -1.5rem; }
  .gh-gallery .product__media-list { padding: 0 !important; margin: 0 !important; column-gap: 3px; scroll-snap-type: x mandatory; scroll-padding: 0; }
  .gh-gallery .product__media-list .product__media-item { flex: 0 0 94%; width: 94% !important; max-width: none !important; min-width: 0; scroll-snap-align: start; padding: 0 !important; }
  .gh-gallery .product__media-list .product__media-item:last-child { margin-right: 0; }
  .gh-gallery .slider-buttons, .gh-gallery .slider-counter { display: none !important; }
  .gh-gallery-progress { display: block; position: relative; width: 61%; height: 2px; margin: 14px auto 0; background: #e3e0dc; border-radius: 2px; }
  .gh-gallery-progress[hidden] { display: none; }
  .gh-gallery-progress__thumb { position: absolute; top: 0; bottom: 0; left: 0; width: 50%; background: #1c1917; border-radius: 2px; }
}
/* zoom icon: bottom-right of the photo (all sizes) */
.gh-gallery .product__media-icon { top: auto !important; left: auto !important; bottom: 12px !important; right: 12px !important; }
.gh-gallery .product__media-toggle, .gh-gallery .product__media-icon + * { }

/* ---------- product page: rating line + title with subtitle (match reference store) ---------- */
.gh-rating { display: flex; align-items: center; gap: 7px; margin: 10px 0 5px; color: #1c1917; font-size: 11.5px; line-height: 1.1; }
.gh-rating__stars { display: flex; align-items: center; gap: 0; color: #ddb967; font-size: 12.5px; line-height: 1; letter-spacing: -1px; }
.gh-rating__half { position: relative; display: inline-block; color: #ddb967; }
.gh-rating__half-fill { position: absolute; width: 50%; overflow: hidden; }
.gh-rating__half-base { color: #ddd; }
.gh-rating__text strong { font-weight: 600; color: #1c1917; }
@media (min-width: 768px) { .gh-rating { font-size: 13px; } .gh-rating__stars { font-size: 14px; } }

.product__info-container .product__title h1 { font-family: var(--gh-serif); font-weight: 400; font-size: clamp(27px, 2.2vw, 33px); line-height: 1.1; letter-spacing: 0; text-transform: none; margin: 8px 0 0; color: #1c1917; }
.product__info-container .product__title .gh-subtitle { display: block; margin-top: 7px; font-family: var(--gh-sans); font-size: 16px; font-weight: 400; line-height: 1.35; letter-spacing: .01em; color: #565451; }

/* ---------- product page price row + bullet points (match reference store) ---------- */
.product__info-container .price--on-sale .price__container { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.product__info-container .price--on-sale .price__sale { display: contents; }
.product__info-container .price--on-sale .price-item--sale { order: 1; font-family: var(--gh-serif); font-size: clamp(26px, 2.6vw, 34px); line-height: 1; font-weight: 400; color: #a32b36 !important; }
.product__info-container .price--on-sale .price__sale > span:has(> s) { order: 2; display: inline-flex; align-items: center; }
.product__info-container .price--on-sale s.price-item--regular { font-family: var(--gh-sans); font-size: 16px; font-weight: 400; color: #86827d !important; line-height: 1; }
.product__info-container .price--on-sale .price__badge-sale { order: 3; margin: 0 0 0 -5px; display: inline-flex; align-items: center; }
.product__info-container .price--on-sale .price__badge-sold-out { display: none; }
.product__info-container .price .price__badge-sale.gh-badge { padding: 5px 9px; font-size: 11px; letter-spacing: .08em; line-height: 1.2; }
.product__info-container .product__tax { display: none; }

.gh-usps { display: grid; gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; }
.gh-usps li { display: flex; align-items: center; gap: 10px; font-size: 14.5px; line-height: 1.35; color: #1c1917; }
.gh-usps svg { flex: none; color: #1c1917; }
/* the SAVE label is a sibling of the price group in this theme: lay out both in one row */
.product__info-container .price.price--on-sale { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.product__info-container .price--on-sale .price__container { display: flex; align-items: center; gap: 14px; }
.product__info-container .price--on-sale .price__regular { display: none; }
.product__info-container .price--on-sale .price__badge-sale { margin-left: -5px; }
.product__info-container .price .price__badge-sale.gh-badge { padding: 5px 9px !important; line-height: 1.2; align-self: center; }

/* SAVE label: optically centred on the price digits */
.product__info-container .price .price__badge-sale.gh-badge { transform: translateY(-3px); }

/* three bullet points: smaller, tighter, normal letter spacing (like the reference store) */
.gh-usps { gap: 6px; margin-top: 14px; }
.gh-usps li { gap: 9px; font-size: 13.5px; line-height: 1.35; letter-spacing: 0; color: #1c1917; }
.gh-usps svg { width: 16px; height: 16px; stroke-width: 1.4; }
.gh-usps span { letter-spacing: 0; }

/* ---------- variant swatches (colour = photo swatch, size = square buttons) ---------- */
.product-form__input--gh-image, .product-form__input--pill { margin: 0 0 18px; border: 0; padding: 0; min-width: 0; }
.product-form__input .form__label { display: block; margin: 0 0 10px; font-size: 14px; line-height: 1.3; letter-spacing: 0; color: #565451; }
.product-form__input .form__label strong { font-weight: 700; color: #1c1917; }

.gh-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.product-form__input--gh-image input[type="radio"] { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.gh-swatch { position: relative; display: block; width: 64px; height: 64px; padding: 4px; box-sizing: border-box; background: #fff; border: 1.5px solid #ddd; border-radius: 0; cursor: pointer; overflow: hidden; transition: border-color .15s; }
.gh-swatch__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gh-swatch__fallback { font-size: 11px; }
.gh-swatch:hover { border-color: #9a9a9a; }
.product-form__input--gh-image input[type="radio"]:checked + .gh-swatch { border: 2px solid #111; }
.product-form__input--gh-image input[type="radio"]:focus-visible + .gh-swatch { outline: 2px solid #111; outline-offset: 2px; }
.product-form__input--gh-image input[type="radio"].disabled + .gh-swatch { opacity: .45; }
.product-form__input--gh-image input[type="radio"].disabled + .gh-swatch::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top right, transparent calc(50% - 1px), #999 50%, transparent calc(50% + 1px)); }

.product-form__input--pill { display: block; }
.product-form__input--pill input[type="radio"] + label { display: inline-flex; align-items: center; justify-content: center; min-width: 56px; height: 40px; margin: 0 8px 8px 0; padding: 0 12px; box-sizing: border-box; background: #fff; border: 1.5px solid #ccc; border-radius: 3px; color: #777; font-size: 14px; letter-spacing: 0; line-height: 1; box-shadow: none; transition: border-color .15s, background .15s, color .15s; }
.product-form__input--pill input[type="radio"] + label:hover { border-color: #888; box-shadow: none; }
.product-form__input--pill input[type="radio"]:checked + label { background: #262626; border-color: #262626; color: #fff; }
.product-form__input--pill input[type="radio"].disabled + label { color: #b5b5b5; border-color: #e3e3e3; background: #fafafa; text-decoration: line-through; }
.product-form__input--pill input[type="radio"]:focus-visible + label { outline: 2px solid #111; outline-offset: 2px; }

/* add to bag button label */
.product-form__submit { text-transform: uppercase; letter-spacing: .1em; font-weight: 700; font-size: 14px; }

/* ---------- low stock pill (only shown when stock is really low) ---------- */
.gh-low-stock { margin: 0 0 14px; }
.gh-low-stock.visibility-hidden { display: none; }
.gh-low-stock__pill { display: inline-flex; align-items: center; gap: 10px; padding: 8px 16px; border-radius: 999px; background: rgba(163, 43, 54, .09); color: #a32b36; font-size: 14px; font-weight: 500; letter-spacing: 0; line-height: 1.2; }
.gh-low-stock__dot { width: 9px; height: 9px; border-radius: 50%; background: #a32b36; opacity: .8; flex: none; }
.product__inventory.gh-low-stock.visibility-hidden, .gh-low-stock:empty { display: none !important; margin: 0 !important; }

/* ---------- size chart link + modal ---------- */
.gh-sizechart-sep { margin: 0 2px; color: #1c1917; }
.gh-sizechart-link { display: none; align-items: center; gap: 6px; padding: 0; background: none; border: 0; color: #1c1917; font: inherit; font-weight: 700; cursor: pointer; text-decoration: none; }
.gh-has-size-chart .gh-sizechart-link { display: inline-flex; }
.gh-sizechart-sep { display: none; }
.gh-has-size-chart .gh-sizechart-sep { display: inline; }
.gh-sizechart-link:hover span { text-decoration: underline; text-underline-offset: 3px; }
.product-form__input--pill .form__label { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }

.gh-sizechart { border: 0; padding: 0; width: min(680px, calc(100vw - 32px)); max-height: calc(100vh - 64px); background: #fff; color: #1c1917; border-radius: 0; box-shadow: 0 20px 60px rgba(0,0,0,.25); overflow: hidden; }
.gh-sizechart::backdrop { background: rgba(0,0,0,.45); }
.gh-sizechart__inner { position: relative; padding: 28px 24px 24px; max-height: calc(100vh - 64px); overflow: auto; }
.gh-sizechart__close { position: absolute; top: 14px; right: 14px; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; background: none; border: 0; cursor: pointer; color: #1c1917; }
.gh-sizechart__title { font-family: var(--gh-serif); font-weight: 400; font-size: 22px; line-height: 1.2; margin: 0 40px 16px 0; letter-spacing: 0; text-transform: none; }
.gh-sizechart__units { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: #86827d; }
.gh-sizechart__units button { background: none; border: 0; padding: 0; font: inherit; letter-spacing: inherit; text-transform: inherit; color: #86827d; cursor: pointer; }
.gh-sizechart__units button.is-active { color: #1c1917; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.gh-sizechart__scroll { overflow-x: auto; }
.gh-sizechart__table { width: 100%; border-collapse: collapse; font-size: 14px; text-align: center; }
.gh-sizechart__table thead th { background: #1c1917; color: #fff; font-weight: 700; padding: 14px 10px; white-space: nowrap; }
.gh-sizechart__table tbody th, .gh-sizechart__table tbody td { padding: 14px 10px; border-bottom: 1px solid #e3e0dc; font-weight: 400; }
.gh-sizechart__table tbody th { font-weight: 700; }
.gh-sizechart__table tbody tr:nth-child(even) { background: #f8f8f8; }
.gh-sizechart__note { margin: 16px 0 0; font-size: 13px; line-height: 1.5; color: #565451; }
@media (max-width: 749px) {
  .gh-sizechart { width: 100vw; max-width: 100vw; margin: auto 0 0; max-height: 88vh; }
  .gh-sizechart__inner { padding: 24px 16px 20px; max-height: 88vh; }
  .gh-sizechart__table { font-size: 13px; }
  .gh-sizechart__table thead th, .gh-sizechart__table tbody th, .gh-sizechart__table tbody td { padding: 12px 8px; }
}
.gh-tape { width: 26px; height: 26px; flex: none; }
.gh-sizechart__title { margin-bottom: 4px; }
.gh-sizechart__sub { margin: 0 40px 16px 0; font-size: 14px; line-height: 1.35; color: #565451; }

/* size chart: notice box + opens at the top of the screen on mobile */
.gh-sizechart__notice { display: flex; align-items: center; gap: 14px; margin: 18px 0 0; padding: 18px 20px; background: #f8f6f3; border: 1px solid #e3e0dc; color: #1c1917; font-size: 15px; font-weight: 600; line-height: 1.35; letter-spacing: 0; }
.gh-sizechart__notice svg { flex: none; color: #a32b36; }
@media (max-width: 749px) {
  .gh-sizechart { margin: 0 0 auto 0; top: 0; max-height: 92vh; }
  .gh-sizechart__inner { max-height: 92vh; }
  .gh-sizechart__notice { padding: 14px 16px; font-size: 14px; gap: 12px; }
}
@media (max-width: 749px) {
  .gh-sizechart__table { font-size: 12.5px; }
  .gh-sizechart__table thead th { white-space: normal; padding: 10px 4px; line-height: 1.25; font-size: 12px; }
  .gh-sizechart__table tbody th, .gh-sizechart__table tbody td { padding: 11px 4px; }
}

/* ---------- photo review slider (match reference store) ---------- */
.gh-reviews { padding-block: 48px; }
@media (min-width: 769px) { .gh-reviews { padding-block: 72px; } }
.gh-reviews__head { text-align: center; margin-bottom: 36px; }
.gh-reviews__rating { display: flex; justify-content: center; margin-top: 14px; }
.gh-reviews__viewport { overflow: hidden; }
.gh-reviews__track { display: flex; gap: 16px; margin: 0; padding: 0 max(2rem, calc((100vw - 120rem) / 2 + 2rem)); overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-left: 2rem; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.gh-reviews__track::-webkit-scrollbar { display: none; }
.gh-review { flex: 0 0 84%; scroll-snap-align: start; background: #f2f2f2; border-radius: 28px; padding: 14px 14px 22px; display: flex; flex-direction: column; box-sizing: border-box; }
@media (min-width: 750px) { .gh-review { flex-basis: calc((100% - 32px) / 3 - 24px); } }
@media (min-width: 1100px) { .gh-review { flex-basis: calc((100% - 48px) / 4 - 24px); } }
.gh-review__photo { aspect-ratio: 1 / 1; overflow: hidden; background: #e8e8e8; }
.gh-review__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gh-review__verified { display: flex; align-items: center; gap: 8px; margin: 16px 6px 0; font-size: 14px; letter-spacing: .04em; color: #3fae7a; }
.gh-review__verified svg { color: #3fae7a; flex: none; }
.gh-review__text { margin: 14px 6px 0; font-size: 16px; line-height: 1.55; color: #1c1917; letter-spacing: 0; }
.gh-review__name { margin: auto 6px 0; padding-top: 22px; font-size: 18px; color: #1c1917; letter-spacing: 0; }
.gh-review__stars { display: flex; gap: 2px; margin: 8px 6px 0; font-size: 24px; line-height: 1; color: #f5c518; }
.gh-review__stars .is-empty { color: #d6d6d6; }
.gh-review__stars .is-half { position: relative; display: inline-block; color: #d6d6d6; }
.gh-review__stars .is-half > span { position: absolute; left: 0; top: 0; width: 50%; overflow: hidden; color: #f5c518; }
.gh-reviews__nav { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 24px; }
.gh-reviews__nav[hidden] { display: none; }
.gh-reviews__progress { display: block; position: relative; width: min(220px, 50vw); height: 2px; margin: 0; background: #e3e0dc; border-radius: 2px; }
.gh-reviews__btn { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid #e3e0dc; border-radius: 50%; color: #1c1917; cursor: pointer; padding: 0; }
.gh-reviews__btn:hover { border-color: #1c1917; }
@media (max-width: 749px) { .gh-reviews__btn { display: none; } }

/* ---------- rotating mini review under the buy button (match reference store) ---------- */
.gh-mini { position: relative; margin: 18px 0 0; min-height: 84px; }
.gh-mini__item { position: absolute; inset: 0 auto auto 0; width: 100%; display: flex; align-items: center; gap: 14px; margin: 0; opacity: 0; visibility: hidden; transition: opacity .6s ease, visibility .6s; }
.gh-mini__item.is-active { position: relative; opacity: 1; visibility: visible; }
.gh-mini__photo { flex: none; width: 74px; height: 74px; overflow: hidden; background: #eee; }
.gh-mini__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gh-mini__body { min-width: 0; }
.gh-mini__stars { display: flex; gap: 0; font-size: 14px; line-height: 1; color: #ddb967; letter-spacing: -1px; }
.gh-mini__stars .is-empty { color: #ddd; }
.gh-mini__stars .is-half { position: relative; display: inline-block; color: #ddd; }
.gh-mini__stars .is-half > span { position: absolute; left: 0; top: 0; width: 50%; overflow: hidden; color: #ddb967; }
.gh-mini__quote { margin: 8px 0 4px; padding: 0; border: 0; font-size: 16px; line-height: 1.3; font-weight: 500; letter-spacing: 0; color: #1c1917; }
.gh-mini__name { margin: 0; font-size: 14px; line-height: 1.3; letter-spacing: 0; color: #86827d; }
@media (prefers-reduced-motion: reduce) { .gh-mini__item { transition: none; } }
.gh-mini__quote { font-style: normal; }
.gh-mini { min-height: 116px; }
.gh-mini__item { align-items: flex-start; }
.gh-mini { min-height: 130px; }

/* ---------- bundle offer box (match reference store) ---------- */
.gh-offer { margin: 18px 0 0; padding: 22px 16px; background: #fff; border: 1px solid #e3e0dc; border-radius: 0; text-align: center; }
.gh-offer__headline { margin: 0 0 8px; font-size: 15px; line-height: 1.5; font-weight: 700; color: #a32b36; letter-spacing: 0; }
.gh-offer__sub { margin: 0 0 16px; font-size: 14px; line-height: 1.5; font-weight: 400; color: #1c1917; letter-spacing: 0; }
.gh-offer__tiers { display: flex; align-items: stretch; }
.gh-offer__tier { flex: 1; padding: 0 8px; }
.gh-offer__rule { width: 1px; background: #e3e0dc; }
.gh-offer__items { margin: 0 0 2px; font-size: 12px; line-height: 1.5; color: #565656; letter-spacing: 0; }
.gh-offer__pct { margin: 0; font-family: var(--gh-serif); font-size: 30px; line-height: 1.5; font-weight: 400; color: #a32b36; letter-spacing: 0; }

/* description as an accordion (open by default) */
.gh-desc { margin-top: 18px; }
.gh-desc .product__description > :first-child { margin-top: 0; }

/* bundle offer box closer to the rotating review */
.gh-mini { min-height: 104px; }
.gh-offer { margin-top: 8px; }

/* ships-by line */
.gh-shipby { display: flex; align-items: center; gap: 10px; margin: 16px 0 0; font-size: 15px; line-height: 1.3; letter-spacing: 0; color: #1c1917; }
.gh-shipby svg { flex: none; color: #565451; }
.gh-shipby strong { font-weight: 700; }

/* ---------- sticky add to bag bar ---------- */
.gh-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: #fff; box-shadow: 0 -4px 18px rgba(0,0,0,.14); transform: translateY(110%); transition: transform .28s ease; padding-bottom: env(safe-area-inset-bottom); }
.gh-sticky.is-visible { transform: translateY(0); }
.gh-sticky[hidden] { display: none; }
.gh-sticky__inner { max-width: 120rem; margin: 0 auto; padding: 14px 20px; display: grid; grid-template-columns: 1fr; gap: 12px; }
.gh-sticky__product { display: flex; align-items: center; gap: 18px; min-width: 0; }
.gh-sticky__photo { flex: none; width: 64px; height: 64px; background: #f3f3f3; overflow: hidden; }
.gh-sticky__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gh-sticky__text { min-width: 0; }
.gh-sticky__title { margin: 0 0 6px; font-size: 15px; line-height: 1.3; letter-spacing: .03em; color: #1c1917; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gh-sticky__price { margin: 0; display: flex; align-items: baseline; gap: 12px; line-height: 1; }
.gh-sticky__now { font-size: 17px; color: #c53030; }
.gh-sticky__was { font-size: 15px; color: #8a8a8a; }
.gh-sticky__reg { font-size: 17px; color: #1c1917; }
.gh-sticky__actions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; align-items: stretch; }
.gh-sticky__select { position: relative; }
.gh-sticky__select select { width: 100%; height: 46px; padding: 0 36px 0 14px; appearance: none; -webkit-appearance: none; background: #fff; border: 1.5px solid #e3e3e3; border-radius: 3px; font: inherit; font-size: 15px; letter-spacing: .03em; color: #1c1917; cursor: pointer; }
.gh-sticky__select svg { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); pointer-events: none; color: #1c1917; }
.gh-sticky__btn { height: 46px; padding: 0 12px; background: #262626; color: #fff; border: 0; border-radius: 3px; font: inherit; font-size: 14px; font-weight: 700; letter-spacing: .25em; text-transform: uppercase; cursor: pointer; }
.gh-sticky__btn:hover, .gh-sticky__btn:active, .gh-sticky__btn:focus { background: #262626; color: #fff; }
.gh-sticky__btn[disabled] { opacity: .5; cursor: not-allowed; }
.gh-sticky__select:only-child, .gh-sticky__actions > .gh-sticky__btn:only-child { grid-column: 1 / -1; }
@media (min-width: 750px) {
  .gh-sticky__inner { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px; padding: 12px 32px; }
  .gh-sticky__actions { grid-template-columns: 240px 220px; }
}

/* sticky bar: more compact so it covers less of the page */
.gh-sticky__inner { padding: 9px 14px 10px; gap: 8px; }
.gh-sticky__product { gap: 12px; }
.gh-sticky__photo { width: 48px; height: 48px; }
.gh-sticky__title { margin: 0 0 4px; font-size: 13.5px; letter-spacing: .02em; }
.gh-sticky__now, .gh-sticky__reg { font-size: 15px; }
.gh-sticky__was { font-size: 13px; }
.gh-sticky__price { gap: 9px; }
.gh-sticky__actions { gap: 10px; }
.gh-sticky__select select { height: 38px; font-size: 13.5px; padding: 0 30px 0 12px; }
.gh-sticky__select svg { right: 12px; }
.gh-sticky__btn { height: 38px; font-size: 12px; letter-spacing: .22em; }
@media (min-width: 750px) {
  .gh-sticky__inner { padding: 8px 28px; gap: 20px; }
  .gh-sticky__actions { grid-template-columns: 220px 200px; }
}

/* ---------- collection tiles (match reference store) ---------- */
.gh-ctiles { padding-block: 48px; }
@media (min-width: 769px) { .gh-ctiles { padding-block: 72px; } }
.gh-ctiles__head { text-align: center; margin: 0 auto 44px; }
.gh-ctiles__head .gh-eyebrow { margin-bottom: 10px; letter-spacing: .18em; }
.gh-ctiles__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
@media (min-width: 769px) { .gh-ctiles__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; } }
.gh-ctile { position: relative; display: block; overflow: hidden; border-radius: 0; text-decoration: none; color: #fff; }
.gh-ctile__media { aspect-ratio: 3 / 4; background: #f3f3f3; }
.gh-ctile__media img, .gh-ctile__media svg { width: 100%; height: 100%; object-fit: cover; display: block; }
.gh-ctile__cap { position: absolute; left: 0; right: 0; bottom: 0; display: grid; gap: 3px; padding: 44px 16px 16px; color: #fff; background: linear-gradient(to top, rgba(0,0,0,.62), rgba(0,0,0,0)); }
.gh-ctile__cap strong { font-family: var(--gh-serif); font-weight: 400; font-size: 19px; line-height: 1.2; letter-spacing: 0; color: #fff; }
.gh-ctile__cap > span { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: #fff; }
.gh-ctile__cap svg { width: 12px; height: 12px; }

/* ---------- text with image on a warm background (match reference store) ---------- */
.gh-feature { background: var(--gh-feature-bg, #f5f3f1); padding-block: 48px; }
@media (min-width: 769px) { .gh-feature { padding-block: 72px; } }
.gh-feature__grid { display: grid; grid-template-columns: 1fr; gap: 32px; align-items: center; }
@media (min-width: 990px) { .gh-feature__grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 72px; padding-inline: 6vw; } .gh-feature--image-left .gh-feature__media { order: -1; } }
.gh-feature__text .gh-eyebrow { margin: 0 0 14px; }
.gh-feature__title { margin: 0 0 22px; font-family: var(--gh-serif); font-weight: 400; font-size: clamp(30px, 3.2vw, 44px); line-height: 1.1; letter-spacing: 0; text-transform: none; color: #1c1917; }
.gh-feature__title em { font-style: italic; font-weight: inherit; }
.gh-feature__body, .gh-feature__body p { font-size: 16px; line-height: 1.7; color: #565451; letter-spacing: 0; }
.gh-feature__body p { margin: 0 0 1.4em; }
.gh-feature__body p:last-child { margin-bottom: 0; }
.gh-feature__body strong { color: #1c1917; font-weight: 700; }
.gh-feature__media { aspect-ratio: 16 / 10; overflow: hidden; background: #e8e5e1; }
.gh-feature__media img, .gh-feature__media svg { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---------- contact page (match reference store) ---------- */
.gh-about { color: #1c1917; }
.gh-about__measure { max-width: 760px; margin-inline: auto; padding-inline: 16px; }
.gh-about__measure--narrow { max-width: 640px; }
@media (min-width: 769px) { .gh-about__measure { padding-inline: 48px; } }
.gh-about__hero { padding: clamp(40px, 7vw, 84px) 0 clamp(30px, 5vw, 52px); text-align: center; }
.gh-about__hero .gh-eyebrow { margin-bottom: 14px; }
.gh-about__title { font-family: var(--gh-serif); font-weight: 400; font-size: clamp(32px, 6.4vw, 58px); line-height: 1.08; letter-spacing: -0.01em; text-transform: none; margin: 0; color: #1c1917; }
.gh-about__title em { font-style: italic; display: block; }
.gh-about__standfirst { margin: 20px auto 0; max-width: 54ch; font-size: clamp(16px, 2vw, 18px); line-height: 1.65; color: #565451; letter-spacing: 0; }

.gh-about__row { padding: clamp(38px, 6vw, 76px) 0; }
.gh-about__split { display: grid; grid-template-columns: 1fr; gap: 28px; align-items: center; }
@media (min-width: 769px) { .gh-about__split { grid-template-columns: 1fr 1fr; gap: 56px; } }
.gh-about__media { aspect-ratio: 3 / 2; overflow: hidden; background: #f3f3f3; }
.gh-about__media img, .gh-about__media svg { width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; display: block; }
.gh-about__body > * + * { margin-top: 14px; }
.gh-about__split-title { font-family: var(--gh-serif); font-weight: 400; font-size: clamp(26px, 5.4vw, 34px); line-height: 1.15; letter-spacing: 0; text-transform: none; margin: 0; color: #1c1917; }
@media (min-width: 769px) { .gh-about__split-title { font-size: clamp(30px, 2.6vw, 42px); } }
.gh-about__split-title em, .gh-about__h2 em { font-style: italic; }
.gh-about__lede p { margin: 0 0 14px; font-size: 16px; line-height: 1.7; color: #565451; letter-spacing: 0; }
.gh-about__lede p:last-child { margin-bottom: 0; }

.gh-about__values { padding: clamp(38px, 6vw, 76px) 0; }
.gh-about__head { text-align: center; margin-bottom: clamp(26px, 4vw, 44px); }
.gh-about__head .gh-eyebrow { margin-bottom: 10px; }
.gh-about__h2 { font-family: var(--gh-serif); font-weight: 400; font-size: clamp(26px, 4vw, 40px); line-height: 1.15; letter-spacing: 0; text-transform: none; margin: 0; color: #1c1917; }
.gh-about__value-list { list-style: none; margin: 0; padding: 0; }
.gh-about__value-list li { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 4px; align-items: start; padding: 22px 0; border-top: 1px solid #e3e0dc; }
.gh-about__value-list li:last-child { border-bottom: 1px solid #e3e0dc; }
@media (min-width: 769px) { .gh-about__value-list li { grid-template-columns: 54px minmax(0, 1fr); padding: 26px 0; } }
.gh-about__value-n { font-family: var(--gh-serif); font-size: 19px; line-height: 1.35; color: #cfcbc5; }
.gh-about__value-title { font-family: var(--gh-sans); font-size: 16px; font-weight: 700; letter-spacing: 0; text-transform: none; margin: 0 0 5px; color: #1c1917; }
.gh-about__value-title a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.gh-about__value-text { margin: 0; font-size: 15.5px; line-height: 1.7; color: #565451; letter-spacing: 0; }

.gh-about__closing { padding: clamp(38px, 6vw, 76px) 0 clamp(36px, 5vw, 60px); text-align: center; }
.gh-about__closing .gh-about__h2 { margin-bottom: 22px; }
.gh-about__prose p { font-size: 16.5px; line-height: 1.75; color: #1c1917; margin: 0 0 16px; letter-spacing: 0; }
@media (min-width: 769px) { .gh-about__prose p { font-size: 17px; } }
.gh-about__prose p:last-child { margin-bottom: 0; }
.gh-about__prose a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.gh-about__signature { margin: 30px 0 0; font-family: var(--gh-serif); font-style: italic; font-size: clamp(20px, 2.8vw, 26px); color: #1c1917; letter-spacing: 0; }
.gh-about__cta { margin: 30px 0 0; }

.gh-about__form { padding: clamp(24px, 4vw, 48px) 0 clamp(52px, 8vw, 96px); }
.gh-about__h2--form { text-align: center; margin-bottom: 28px; }
.gh-form__row { display: grid; grid-template-columns: 1fr; gap: 0 18px; }
@media (min-width: 640px) { .gh-form__row { grid-template-columns: 1fr 1fr; } }
.gh-form__field { margin-bottom: 18px; }
.gh-form label { display: block; margin: 0 0 6px; font-size: 14px; color: #1c1917; letter-spacing: 0; }
.gh-form input[type="text"], .gh-form input[type="email"], .gh-form textarea { width: 100%; box-sizing: border-box; padding: 13px 14px; background: #fff; border: 1px solid #cfcbc5; border-radius: 0; font: inherit; font-size: 15px; letter-spacing: 0; color: #1c1917; box-shadow: none; }
.gh-form input:focus, .gh-form textarea:focus { outline: none; border-color: #1c1917; }
.gh-form__submit { border: 0; cursor: pointer; }
.gh-form__legal { margin: 16px 0 0; font-size: 12px; line-height: 1.5; color: #86827d; letter-spacing: 0; }
.gh-form__legal a { color: inherit; text-decoration: underline; }
.gh-form__status { margin: 0 0 20px; padding: 14px 16px; font-size: 15px; line-height: 1.5; border: 1px solid #e3e0dc; background: #f8f6f3; color: #1c1917; }
.gh-form__status--error { border-color: #a32b36; color: #a32b36; background: #fff; }
.gh-form__status p { margin: 0 0 6px; } .gh-form__status ul { margin: 0; padding-left: 18px; }

/* ---------- collection page (match reference store) ---------- */
.gh-cbanner { position: relative; overflow: hidden; height: var(--gh-cbanner-h-m, 34vh); min-height: 180px; background: #e8e5e1; }
@media (min-width: 769px) { .gh-cbanner { height: var(--gh-cbanner-h-d, 46vh); } }
.gh-cbanner__media { position: absolute; inset: 0; }
.gh-cbanner__media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; display: block; }
.gh-cbanner__scrim { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(to top, rgba(0,0,0,.3) 0%, rgba(0,0,0,0) 70%); }
.gh-cbanner__inner { position: relative; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; }
.gh-cbanner__title { margin: 0 0 10px; font-family: var(--gh-serif); font-weight: 400; font-size: clamp(28px, 6.6vw, 38px); line-height: 1.1; letter-spacing: 0; text-transform: none; color: #fff; text-shadow: 0 1px 14px rgba(0,0,0,.25); }
@media (min-width: 769px) { .gh-cbanner__title { font-size: clamp(36px, 3.2vw, 52px); } }
.gh-cbanner__sub { max-width: 52ch; font-size: 15px; line-height: 1.6; color: #fff; }

.gh-offerbox { padding-top: 26px; }
.gh-offerbox .gh-offer { margin: 0; padding: 22px 16px; }
@media (min-width: 769px) { .gh-offerbox .gh-offer__pct { font-size: 40px; } .gh-offerbox .gh-offer__headline { font-size: 16px; } .gh-offerbox .gh-offer__sub { font-size: 15px; } }

.gh-intro { padding-block: 34px; }
.gh-intro__text { max-width: 62ch; margin-inline: auto; text-align: center; }
.gh-intro__text p { margin: 0 0 10px; font-size: 15px; line-height: 1.7; color: #565451; letter-spacing: 0; }
.gh-intro__text p:last-child { margin-bottom: 0; }
.gh-intro__text strong { color: #1c1917; font-weight: 700; }

/* product cards: serif 2-line title, price, swatches + size range */
.card__heading, .card__heading a { font-family: var(--gh-serif); font-weight: 400; font-size: 15px; line-height: 1.25; letter-spacing: 0; text-transform: none; color: #1c1917; }
.card-information .card__heading { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.5em; margin: 0; }
.gh-card-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 8px; min-height: 18px; }
.gh-card-swatches { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.gh-card-swatch { width: 18px; height: 18px; border-radius: 50%; background: #eee center / cover no-repeat; box-shadow: 0 0 0 1px #fff, 0 0 0 2px #d9d6d1; flex: none; margin: 2px 2px; }
.gh-card-more { font-size: 12px; line-height: 1; color: #86827d; }
.gh-card-sizes { font-size: 12px; line-height: 1; color: #86827d; white-space: nowrap; letter-spacing: 0; }

/* filters in the sidebar: small bold labels with chevrons */
.facets-vertical .facets__summary, .facets-vertical summary { font-size: 13px; font-weight: 700; letter-spacing: 0; text-transform: none; color: #1c1917; }
.facets-vertical .facets__disclosure-vertical { border-top: 0; border-bottom: 1px solid #e3e0dc; }
.product-count__text, .product-count { font-size: 14px; color: #1c1917; letter-spacing: 0; }
.facet-filters__label { font-size: 14px; letter-spacing: 0; }
@media (max-width: 749px) {
  .gh-card-meta { flex-direction: column; align-items: flex-start; gap: 6px; }
  .gh-card-swatch { width: 16px; height: 16px; margin: 2px 1px; }
  .gh-card-swatches { gap: 4px; }
}

/* rich text in the image + text section */
.gh-split__rte p { margin: 0 0 1.4em; font-size: 1.6rem; line-height: 1.7; max-width: 46rem; }
.gh-split__rte p:last-child { margin-bottom: 2.5rem; }
.gh-split__rte strong { color: #1c1917; font-weight: 700; }

/* ---------- product gallery on desktop: thumbnails in a column next to the main photo ---------- */
@media (min-width: 750px) {
  media-gallery[data-desktop-layout="thumbnail"], media-gallery[data-desktop-layout="thumbnail_slider"] { display: grid; grid-template-columns: 84px minmax(0, 1fr); column-gap: 12px; align-items: start; }
  media-gallery .gh-gallery { grid-column: 2; grid-row: 1; }
  media-gallery .gh-gallery-progress, media-gallery > script { display: none !important; }
  media-gallery > .thumbnail-slider { grid-column: 1; grid-row: 1; order: -1; height: 0; min-height: 100%; overflow-y: auto; overflow-x: hidden; scrollbar-width: thin; margin: 0; padding: 0; }
  media-gallery > .thumbnail-slider .slider-button { display: none; }
  media-gallery > .thumbnail-slider .thumbnail-list { display: grid; grid-template-columns: 1fr; grid-auto-flow: row; gap: 10px; margin: 0; padding: 0; overflow: visible; }
  media-gallery > .thumbnail-slider .thumbnail-list__item { width: 100%; max-width: none; flex: none; }
}

/* ---------- product page on wide screens: wider layout, bigger photo, less white space ---------- */
@media (min-width: 990px) {
  product-info .page-width:has(> .product) { max-width: 1440px !important; padding-left: 48px !important; padding-right: 48px !important; }
  product-info .product.product--thumbnail > .product__media-wrapper, product-info .product.product--large > .product__media-wrapper { max-width: 59% !important; width: 59% !important; }
  product-info .product.product--thumbnail > .product__info-wrapper, product-info .product.product--large > .product__info-wrapper { max-width: 41% !important; width: 41% !important; padding-left: 2.4rem !important; box-sizing: border-box; }
}

/* trial box at the bottom of every product description */
.gh-trial { margin: 28px 0 0; padding: 22px 24px; background: #f5f3f1; border: 1px solid #e3e0dc; }
.gh-trial__title { margin: 0 0 6px; font-size: 18px; line-height: 1.3; font-weight: 700; letter-spacing: 0; color: #1c1917; }
.gh-trial__text { margin: 0; font-size: 16px; line-height: 1.65; letter-spacing: 0; color: #565451; }
@media (max-width: 749px) { .gh-trial { padding: 18px 18px; } .gh-trial__title { font-size: 17px; } .gh-trial__text { font-size: 15px; } }

/* ---------- cookie banner (centre of the screen) ---------- */
.gh-cookie { position: fixed; inset: 0; z-index: 2147483000; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(0,0,0,.5); }
.gh-cookie[hidden] { display: none; }
.gh-cookie-open { overflow: hidden; }
.gh-cookie__box { width: min(520px, 100%); max-height: calc(100vh - 32px); overflow: auto; background: #fff; color: #000; padding: 28px 24px 24px; text-align: center; box-shadow: 0 20px 60px rgba(0,0,0,.35); outline: none; }
.gh-cookie__title { margin: 0 0 14px; font-family: var(--gh-sans); font-size: 22px; line-height: 1.25; font-weight: 700; letter-spacing: 0; text-transform: none; color: #000; }
.gh-cookie__text { margin: 0 0 26px; font-size: 17px; line-height: 1.5; letter-spacing: 0; color: #000; }
.gh-cookie__text a { color: #000; text-decoration: underline; text-underline-offset: 3px; }
.gh-cookie__buttons { display: grid; gap: 12px; }
.gh-cookie__btn { display: block; width: 100%; height: 56px; padding: 0 16px; border-radius: 8px; font: inherit; font-size: 17px; letter-spacing: 0; text-transform: uppercase; cursor: pointer; box-sizing: border-box; }
.gh-cookie__btn--primary { background: #000; color: #fff; border: 2px solid #000; }
.gh-cookie__btn--ghost { background: #fff; color: #000; border: 2px solid #000; }
.gh-cookie__btn:hover, .gh-cookie__btn:focus-visible { opacity: .9; }
.gh-cookie__back { background: none; border: 0; padding: 6px; font: inherit; font-size: 15px; color: #000; text-decoration: underline; cursor: pointer; }
.gh-cookie__list { margin: 0 0 22px; padding: 0; text-align: left; border-top: 1px solid #e3e0dc; }
.gh-cookie__list li { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid #e3e0dc; }
.gh-cookie__list strong { display: block; font-size: 16px; margin-bottom: 2px; }
.gh-cookie__list span { font-size: 14px; line-height: 1.4; color: #565451; }
.gh-cookie__switch { position: relative; flex: none; width: 46px; height: 26px; }
.gh-cookie__switch input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.gh-cookie__switch > span:not(.visually-hidden) { position: absolute; inset: 0; background: #cfcbc5; border-radius: 26px; transition: background .2s; pointer-events: none; }
.gh-cookie__switch > span:not(.visually-hidden)::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: transform .2s; }
.gh-cookie__switch input:checked + span { background: #000; }
.gh-cookie__switch input:checked + span::after { transform: translateX(20px); }
.gh-cookie__switch input:disabled + span { opacity: .55; }
.gh-cookie-open .gh-sticky { display: none; }
.gh-footer__cookie { background: none; border: 0; padding: 0; font: inherit; font-size: 13px; color: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

.gh-footer__legal { font-size: 1.2rem; line-height: 1.6; color: rgba(0,0,0,.6); margin: 0 0 1.6rem; text-align: center; }

.gh-sizechart__units[hidden] { display: none; }
