/** Shopify CDN: Minification failed

Line 1193:0 Unexpected "}"

**/
/* Edit Suits redesign 2026
   Layout: a strict two-column split system. Every block is image|text or image|image,
   alternating sides, edge to edge. All classes are prefixed esr- so they never collide
   with Dawn's own (.media, .button, .grid ...). */

@font-face { font-family: "Roobert"; src: url("Roobert-SemiBold.woff2") format("woff2"), url("Roobert-SemiBold.woff") format("woff"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Roobert"; src: url("Roobert-Light.woff2") format("woff2"), url("Roobert-Light.woff") format("woff"); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: "Teodor"; src: url("Teodor-Light.woff2") format("woff2"); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: "Teodor"; src: url("Teodor-LightItalic.woff2") format("woff2"); font-weight: 300; font-style: italic; font-display: swap; }
@font-face { font-family: "Teodor"; src: url("Teodor-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Teodor"; src: url("Teodor-RegularItalic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }

:root {
  --esr-white: #FFFFFF;
  --esr-paper: #F6F3EE;
  --esr-ink: #383838;
  --esr-muted: #898989;
  --esr-accent: #A09279;
  --esr-line: rgba(56, 56, 56, .14);
  --esr-display: "Teodor", "Didot", Georgia, serif;
  --esr-body: Roobert, "Helvetica Neue", Arial, sans-serif;
  --esr-gutter: clamp(16px, 4vw, 64px);
  --esr-maxw: 1600px;
}

/* ---------- base ---------- */
.esr { color: var(--esr-ink); font-family: var(--esr-body) !important; font-weight: 300; font-size: 1.6rem; line-height: 1.6; letter-spacing: 0; }
.esr *, .esr *::before, .esr *::after { box-sizing: border-box; }
.esr img { display: block; max-width: 100%; }
.esr h1, .esr h2, .esr h3, .esr .esr-h1, .esr .esr-h2 { font-family: var(--esr-display) !important; font-weight: 400; line-height: 1.05; margin: 0; letter-spacing: -.01em; text-wrap: balance; color: var(--esr-ink); }
.esr .esr-h1 { font-size: clamp(4rem, 5.4vw, 7.2rem); font-weight: 300; }
.esr .esr-h2 { font-size: clamp(3.2rem, 3.8vw, 5.4rem); font-weight: 300; }
.esr h3 { font-size: 2rem; }
.esr p { margin: 0; max-width: 62ch; }
.esr a { color: inherit; }
.esr :focus-visible { outline: 2px solid var(--esr-ink); outline-offset: 3px; }
.esr .esr-eyebrow { font-size: 1.15rem; letter-spacing: .2em; text-transform: uppercase; font-weight: 500; color: var(--esr-muted); }

/* buttons */
.esr .esr-btn, .esr-mobile-cta .esr-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; background: var(--esr-ink); color: var(--esr-white); text-decoration: none; font-family: var(--esr-body) !important; font-weight: 500; font-size: 1.2rem; letter-spacing: .16em; text-transform: uppercase; padding: 16px 28px; border: 1px solid var(--esr-ink); transition: background .2s, color .2s; cursor: pointer; }
.esr .esr-btn:hover { background: transparent; color: var(--esr-ink); }
.esr .esr-btn--ghost { background: transparent; color: var(--esr-ink); }
.esr .esr-btn--ghost:hover { background: var(--esr-ink); color: var(--esr-white); }
.esr .esr-link { font-size: 1.2rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 500; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 3px; }
.esr .esr-ctas { display: flex; flex-wrap: wrap; gap: 14px 20px; align-items: center; }

/* The "Subscribe It" app injects `* { font-family: Roobert-Light !important }` at runtime.
   These rules out-rank it (same !important, higher specificity) inside the redesign. */
.esr, .esr * { font-family: var(--esr-body) !important; }

/* neutralise Dawn base styles inside the redesign */
.esr blockquote { font-style: normal; border: 0; padding: 0; color: inherit; margin: 0; }
.esr ul, .esr ol { margin: 0; padding: 0; }
.esr address { font-style: normal; }
.esr figure { margin: 0; }

/* ---------- split system ---------- */
.esr .esr-split { max-width: var(--esr-maxw); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; background: var(--esr-white); }
.esr .esr-split > * { min-width: 0; }
.esr .esr-media { position: relative; overflow: hidden; background: var(--esr-paper); margin: 0; }
/* model photos are 2:3; boxes keep that shape (or taller), so any crop trims the sides, never head or shoes */
.esr .esr-media img { width: 100%; height: auto; min-height: 100%; aspect-ratio: 2 / 3; object-fit: cover; }
.esr [data-esr-showrooms] .esr-media img { aspect-ratio: auto; height: 100%; }
.esr .esr-media__cap { position: absolute; left: 24px; right: 24px; bottom: 22px; display: flex; justify-content: space-between; align-items: end; color: #fff; text-shadow: 0 1px 14px rgba(0, 0, 0, .35); pointer-events: none; }
.esr .esr-media__cap strong { font-family: var(--esr-display) !important; font-weight: 400; font-size: 2.6rem; line-height: 1; }
.esr .esr-media__cap span { font-size: 1.1rem; letter-spacing: .18em; text-transform: uppercase; }
.esr .esr-media__link { position: absolute; inset: 0; z-index: 1; }
.esr .esr-text { display: flex; flex-direction: column; justify-content: center; gap: 32px; padding: clamp(40px, 6vw, 104px) clamp(24px, 6vw, 104px); }
.esr .esr-bg-paper .esr-text, .esr .esr-text.esr-bg-paper { background: var(--esr-paper); }
.esr .esr-bg-ink .esr-text { background: var(--esr-ink); color: var(--esr-white); }
.esr .esr-bg-ink .esr-text h2, .esr .esr-bg-ink .esr-text .esr-h2 { color: var(--esr-white); }
.esr .esr-bg-ink .esr-btn { background: var(--esr-white); color: var(--esr-ink); border-color: var(--esr-white); }
.esr .esr-bg-ink .esr-btn:hover { background: transparent; color: var(--esr-white); }
.esr .esr-img-right .esr-media { order: 2; }
.esr .esr-lead { font-size: 1.8rem; color: var(--esr-muted); }
.esr .esr-rte p + p { margin-top: 12px; }
.esr .esr-mills { font-family: var(--esr-display) !important; font-size: 2rem; line-height: 1.5; color: var(--esr-ink); }
.esr .esr-pull { margin: 0; border-left: 1px solid var(--esr-line); padding-left: 20px; display: grid; gap: 10px; }
.esr .esr-pull p { font-family: var(--esr-display) !important; font-size: 1.8rem; line-height: 1.35; }
.esr .esr-pull cite { font-style: normal; font-size: 1.15rem; letter-spacing: .16em; text-transform: uppercase; color: var(--esr-muted); }

/* steps */
.esr .esr-steps { list-style: none; margin: 0; padding: 0; counter-reset: esr-s; }
.esr .esr-steps li { display: grid; grid-template-columns: 56px 1fr; gap: 4px 16px; padding: 22px 0; border-top: 1px solid var(--esr-line); }
.esr .esr-steps li:last-child { border-bottom: 1px solid var(--esr-line); }
.esr .esr-steps li::before { counter-increment: esr-s; content: counter(esr-s, decimal-leading-zero); font-family: var(--esr-display) !important; font-style: italic; font-size: 2.6rem; line-height: 1; grid-row: span 2; }
.esr .esr-steps b { font-weight: 500; letter-spacing: .12em; text-transform: uppercase; font-size: 1.3rem; }
.esr .esr-steps p { color: var(--esr-muted); font-size: 1.5rem; }

/* appointment list */
.esr .esr-appts { display: grid; }
.esr .esr-appt { display: grid; grid-template-columns: 1fr auto; gap: 4px 20px; padding: 20px 0; border-top: 1px solid var(--esr-line); }
.esr .esr-appt:last-child { border-bottom: 1px solid var(--esr-line); }
.esr .esr-appt h3 { font-size: 2.2rem; }
.esr .esr-appt .esr-dur { font-size: 1.2rem; letter-spacing: .14em; text-transform: uppercase; align-self: center; font-variant-numeric: tabular-nums; }
.esr .esr-appt p { grid-column: 1 / -1; font-size: 1.5rem; color: var(--esr-muted); }

/* ---------- proof strip ---------- */
.esr .esr-proof { max-width: var(--esr-maxw); margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 40px; padding: 26px var(--esr-gutter); background: var(--esr-white); }
.esr .esr-proof__rating { display: flex; gap: 12px; align-items: center; text-decoration: none; font-size: 1.45rem; color: var(--esr-muted); white-space: nowrap; }
.esr .esr-proof__rating b { color: var(--esr-ink); font-weight: 500; }
.esr .esr-stars { display: inline-block; line-height: 1; }
.esr .esr-reviews__stars { margin: 0 0 6px; font-size: 3.6rem; line-height: 1; letter-spacing: 0; }
.esr .esr-proof__rating .esr-stars { font-size: 1.2rem; }
.esr .esr-stars__track { position: relative; display: inline-block; letter-spacing: 0; color: #D9D4CA; white-space: nowrap; }
.esr .esr-stars__fill { position: absolute; left: 0; top: 0; overflow: hidden; white-space: nowrap; color: var(--esr-accent); letter-spacing: 0; }
.esr .esr-room-ov .esr-stars__track { color: rgba(255, 255, 255, 0.38); }
.esr .esr-room-ov .esr-stars__fill { color: #FFFFFF; }
.esr .esr-press { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 40px; }
.esr .esr-press li { display: flex; align-items: center; }
.esr .esr-press img { height: 28px; width: auto; filter: grayscale(1) brightness(.55); opacity: .75; }

/* ---------- collection switcher ---------- */
.esr .esr-cats { list-style: none; margin: 0; padding: 0; }
.esr .esr-cats li + li { border-top: 1px solid var(--esr-line); }
.esr .esr-cats a { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 14px 0; text-decoration: none; font-family: var(--esr-display) !important; font-size: clamp(2.4rem, 2.4vw, 3.4rem); line-height: 1.15; color: var(--esr-muted); transition: color .2s, padding .3s; }
.esr .esr-cats a small { font-family: var(--esr-body) !important; font-size: 1.1rem; letter-spacing: .18em; text-transform: uppercase; white-space: nowrap; }
.esr .esr-cats a.is-on, .esr .esr-cats a:hover, .esr .esr-cats a:focus-visible { color: var(--esr-ink); padding-left: 14px; box-shadow: inset 2px 0 0 var(--esr-ink); }
.esr .esr-swap img { transition: opacity .35s; }
.esr .esr-th { display: none; }

/* ---------- craft details ---------- */
.esr .esr-craft { list-style: none; margin: 0; padding: 0; }
.esr .esr-craft li + li { border-top: 1px solid var(--esr-line); }
.esr .esr-craft button { all: unset; box-sizing: border-box; width: 100%; cursor: default; display: grid; grid-template-columns: 130px 1fr; gap: 16px; padding: 14px 0; align-items: baseline; transition: padding .3s; }
.esr .esr-craft b { font-weight: 500; font-size: 1.2rem; letter-spacing: .16em; text-transform: uppercase; color: var(--esr-ink); }
.esr .esr-craft span { font-size: 1.5rem; color: var(--esr-muted); }



/* ---------- reviews ---------- */
.esr .esr-quote { margin: 0; display: grid; gap: 12px; }
.esr .esr-quote p { font-family: var(--esr-display) !important; font-size: clamp(2rem, 1.9vw, 2.6rem); line-height: 1.35; }
.esr .esr-quote cite { font-style: normal; font-size: 1.2rem; letter-spacing: .16em; text-transform: uppercase; color: var(--esr-muted); }
.esr .esr-review[hidden] { display: none; }
.esr .esr-review-nav { display: flex; gap: 8px; align-items: center; }
.esr .esr-review-nav button { width: 44px; height: 44px; border: 1px solid var(--esr-line); background: transparent; color: var(--esr-ink); font-size: 1.8rem; cursor: pointer; }
.esr .esr-review-nav button:hover { border-color: var(--esr-ink); }
.esr .esr-review-nav .esr-count { font-size: 1.3rem; color: var(--esr-muted); margin-left: 8px; font-variant-numeric: tabular-nums; }

/* ---------- showrooms ---------- */
.esr .esr-tabs { display: flex; gap: 6px; flex-wrap: wrap; }
.esr .esr-tabs button { font: 500 1.2rem/1 var(--esr-body) !important; letter-spacing: .14em; text-transform: uppercase; padding: 12px 16px; border: 1px solid var(--esr-line); background: transparent; color: var(--esr-muted); cursor: pointer; }
.esr .esr-tabs button[aria-selected="true"] { border-color: var(--esr-ink); background: var(--esr-ink); color: var(--esr-white); }
.esr .esr-stores { display: grid; grid-template-columns: 1fr; border-top: 1px solid var(--esr-line); }
.esr .esr-stores[hidden] { display: none; }
.esr .esr-store { display: grid; grid-template-columns: minmax(150px, 38%) 1fr; gap: 6px 24px; align-items: baseline; padding: 18px 0; border-bottom: 1px solid var(--esr-line); outline-offset: -2px; }
.esr .esr-store h3 { font-size: 2rem; line-height: 1.2; color: var(--esr-muted); transition: color .2s; }
.esr .esr-store.is-on h3, .esr .esr-store:hover h3 { color: var(--esr-ink); }
.esr .esr-store__info { display: grid; gap: 6px; min-width: 0; }
.esr .esr-store address { font-style: normal; font-size: 1.45rem; line-height: 1.45; color: var(--esr-ink); }
.esr .esr-store .esr-addr { text-decoration: none; justify-self: start; }
.esr .esr-store .esr-addr:hover address { text-decoration: underline; text-underline-offset: 3px; }
.esr .esr-store__meta { display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: 1.2rem; color: var(--esr-muted); max-width: none; }
.esr .esr-store .esr-tel { color: var(--esr-muted); text-decoration: none; font-variant-numeric: tabular-nums; }
.esr .esr-store .esr-gr { color: var(--esr-muted); text-decoration: none; }
.esr .esr-store .esr-tel:hover, .esr .esr-store .esr-gr:hover { color: var(--esr-ink); text-decoration: underline; text-underline-offset: 3px; }
.esr .esr-store .esr-gr i { font-style: normal; color: var(--esr-accent); }
.esr .esr-care { font-size: 1.35rem; color: var(--esr-muted); }

/* ---------- journal ---------- */
.esr .esr-posts { list-style: none; margin: 0; padding: 0; }
.esr .esr-posts li { border-top: 1px solid var(--esr-line); }
.esr .esr-posts li:last-child { border-bottom: 1px solid var(--esr-line); }
.esr .esr-posts a { display: flex; gap: 18px; justify-content: space-between; padding: 16px 0; text-decoration: none; font-size: 1.65rem; }
.esr .esr-posts a:hover span:first-child { text-decoration: underline; text-underline-offset: 4px; }
.esr .esr-posts a span:last-child { color: var(--esr-muted); white-space: nowrap; }

/* ---------- sticky mobile CTA ---------- */
.esr-mobile-cta { display: none; }@media screen and (max-width: 989px) {
  .esr .esr-split { grid-template-columns: 1fr; }
  .esr .esr-img-right .esr-media { order: 0; }
  .esr .esr-split--pair { grid-template-columns: 1fr 1fr; }
  .esr .esr-split--pair .esr-media__cap { left: 14px; right: 14px; bottom: 14px; flex-direction: column; align-items: flex-start; gap: 4px; }
  .esr .esr-split--pair .esr-media__cap strong { font-size: 1.9rem; }
  .esr [data-esr-showrooms] .esr-media img { aspect-ratio: 4 / 3; height: auto; }
  .esr .esr-text { padding: 44px var(--esr-gutter) 52px; gap: 24px; }
  .esr .esr-h1 { font-size: 3.8rem; }
  .esr .esr-store { grid-template-columns: 1fr; gap: 6px; padding: 16px 0; }
  .esr .esr-store h3 { color: var(--esr-ink); }
  .esr .esr-proof { justify-content: center; }
  .esr .esr-press { justify-content: center; gap: 12px 26px; }
  .esr .esr-press img { height: 26px; }
  .esr .esr-th { display: block; width: 56px; height: 70px; object-fit: cover; flex: none; }
  /* collection list becomes 2-column image tiles */
  .esr .esr-cats { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; margin: 0 calc(-1 * var(--esr-gutter)); }
  .esr .esr-cats li + li { border-top: 0; }
  .esr .esr-cats li:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .esr .esr-cats li:last-child:nth-child(odd) { justify-self: center; width: calc(50% - 1px); }
  .esr .esr-cats a { position: relative; display: block; aspect-ratio: 2 / 3; padding: 0; overflow: hidden; color: #fff; background: var(--esr-paper); }
  .esr .esr-cats a .esr-th { position: absolute; inset: 0; width: 100%; height: 100%; }
  .esr .esr-cats a::after { content: ""; position: absolute; inset: 50% 0 0; background: linear-gradient(transparent, rgba(0, 0, 0, .35)); }
  .esr .esr-cats a span { position: absolute; left: 14px; right: 14px; bottom: 32px; z-index: 1; font-size: 1.9rem; line-height: 1.1; text-shadow: 0 1px 14px rgba(0, 0, 0, .35); }
  .esr .esr-cats a small { position: absolute; left: 14px; bottom: 14px; z-index: 1; font-size: 1rem; }
  .esr .esr-cats a.is-on, .esr .esr-cats a:hover { padding-left: 0; box-shadow: none; color: #fff; }
  .esr .esr-hide-mobile { display: none; }
  .esr .esr-cats-split .esr-media { display: none; }
  .esr .esr-craft button { grid-template-columns: 56px 1fr; gap: 2px 16px; padding: 12px 0; align-items: center; }
  .esr .esr-craft button .esr-th { grid-row: span 2; }
  .esr .esr-craft button.is-on, .esr .esr-craft button:hover { padding-left: 0; box-shadow: none; }
  .esr .esr-craft b { color: var(--esr-ink); }
  .esr-mobile-cta { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px)); background: var(--esr-white); border-top: 1px solid var(--esr-line); transition: transform .25s; }
  .esr-mobile-cta .esr-btn { flex: 1; }
  .esr-mobile-cta.is-away { transform: translateY(110%); }}@media (prefers-reduced-motion: reduce) { .esr *, .esr-mobile-cta { transition: none !important; }}
/* ---------- header + announcement (restyle of the existing Dawn header; menus, country
   switcher, search, account and cart are untouched) ---------- */
.announcement-bar { background: #383838; }
.announcement-bar, .announcement-bar__message, .announcement-bar a { color: #FFFFFF; font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important; font-size: 1.25rem; letter-spacing: .08em; }
.header-wrapper { background: #FFFFFF; border-bottom: 1px solid rgba(56, 56, 56, .14); }
.header__inline-menu .header__menu-item { font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important; font-size: 1.4rem; letter-spacing: .04em; color: #383838; }
.header__inline-menu .header__menu-item:hover span { text-decoration: none; color: #898989; }
.header__inline-menu a.header__menu-item[href*="/pages/booking"] {
  background: #383838; color: #FFFFFF; padding: 11px 18px; margin-left: 8px;
  font-size: 1.15rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; transition: background .2s, color .2s;
}
.header__inline-menu a.header__menu-item[href*="/pages/booking"] span { color: inherit; text-decoration: none; }
.header__inline-menu a.header__menu-item[href*="/pages/booking"]:hover { background: #FFFFFF; color: #383838; box-shadow: inset 0 0 0 1px #383838; }
.es-country-selector__toggle { font-size: 1.25rem; letter-spacing: .08em; color: #383838; }
.header .header__inline-menu > .list-menu--inline { align-items: center; height: 100%; }
.header .header__inline-menu > .list-menu--inline > li { display: flex; align-items: center; }
/* display-font children (the `.esr *` guard above would otherwise reset them to the body font) */
.esr .esr-cats a span, .esr .esr-media__cap strong, .esr h1 *, .esr h2 *, .esr h3 * { font-family: var(--esr-display) !important; }

/* "one of one" mark overlay */
.esr .esr-media__mark { position: absolute; z-index: 1; width: clamp(44px, 4.6vw, 76px); color: #FFFFFF; opacity: .92; pointer-events: none; filter: drop-shadow(0 1px 10px rgba(0, 0, 0, .18)); }
.esr .esr-media__mark svg { display: block; width: 100%; height: auto; }
.esr .esr-mark--top-left { top: clamp(20px, 3vw, 40px); left: clamp(20px, 3vw, 40px); }
.esr .esr-mark--top-right { top: clamp(20px, 3vw, 40px); right: clamp(20px, 3vw, 40px); }
.esr .esr-mark--bottom-left { bottom: clamp(20px, 3vw, 40px); left: clamp(20px, 3vw, 40px); }
.esr .esr-mark--bottom-right { bottom: clamp(20px, 3vw, 40px); right: clamp(20px, 3vw, 40px); }
.esr .esr-mark--center { left: 50%; top: 50%; width: min(62%, 440px); transform: translate(-50%, -50%); opacity: .9; filter: none; }

/* announcement bar: bold segment renders in Roobert SemiBold (beats the Subscribe It app's global Roobert-Light) */
.announcement-bar .esr-announce, .announcement-bar .esr-announce * { font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important; font-weight: 400; letter-spacing: .06em; }
.announcement-bar .esr-announce strong, .announcement-bar .esr-announce b { font-weight: 600 !important; }
.announcement-bar .esr-announce__link { color: inherit; text-decoration: none; }
.announcement-bar .esr-announce__link:hover { text-decoration: underline; text-underline-offset: 3px; }

/* header booking button (desktop), like the mockup */
.esr-header-cta { display: inline-flex; align-items: center; margin-right: 12px; padding: 11px 18px; background: #383838; color: #FFFFFF !important; text-decoration: none; font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important; font-size: 1.15rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; white-space: nowrap; transition: background .2s, color .2s; }
.esr-header-cta:hover { background: #FFFFFF; color: #383838 !important; box-shadow: inset 0 0 0 1px #383838; }
@media screen and (max-width: 989px) { .esr-header-cta { display: none; } }
/* keep the 7-item menu on one line */
.header .header__inline-menu > .list-menu--inline { flex-wrap: nowrap; white-space: nowrap; gap: 0; }
.header .header__inline-menu .header__menu-item { padding: 1.2rem clamp(.6rem, 1vw, 1.2rem); font-size: 1.35rem; }
@media screen and (min-width: 990px) and (max-width: 1240px) { .header .header__inline-menu .header__menu-item { font-size: 1.2rem; padding-left: .6rem; padding-right: .6rem; } .esr-header-cta { padding: 10px 12px; letter-spacing: .1em; } }
/* header to mockup spec: 59px bar, grey #898989 links (ink on hover/open), Roobert Light 13.6px */
.header-wrapper .header { padding-top: 0; padding-bottom: 0; min-height: 59px; align-items: center; }
.header .header__inline-menu .header__menu-item,
.header .header__inline-menu .header__menu-item span,
.header .header__inline-menu summary.header__menu-item { color: #898989 !important; font-size: 1.36rem; letter-spacing: .04em; font-weight: 300; }
.header .header__inline-menu .header__menu-item:hover,
.header .header__inline-menu .header__menu-item:hover span,
.header .header__inline-menu details[open] > summary.header__menu-item,
.header .header__inline-menu details[open] > summary.header__menu-item span { color: #383838 !important; }
.header .header__inline-menu summary .icon-caret { color: #898989; width: 8px; }
.header .header__inline-menu a.header__menu-item[href*="/pages/booking"],
.header .header__inline-menu a.header__menu-item[href*="/pages/booking"] span { color: #FFFFFF !important; }
/* dropdown panels */
.header .header__submenu { background: #FFFFFF; border: 1px solid rgba(56, 56, 56, .14); box-shadow: 0 12px 32px rgba(56, 56, 56, .08); border-radius: 0; padding: 10px 0; min-width: 220px; }
.header .header__submenu .header__menu-item { color: #898989 !important; font-size: 1.36rem; padding: 9px 20px; }
.header .header__submenu .header__menu-item:hover { color: #383838 !important; background: #F6F3EE; text-decoration: none; }
.announcement-bar .announcement-bar__message { padding-top: 9px; padding-bottom: 9px; min-height: 0; }

/* referral banner: dark grey (#383838) with white text */
.announcement-bar { background: #383838 !important; }
.announcement-bar, .announcement-bar__message, .announcement-bar a, .announcement-bar .esr-announce * { color: #FFFFFF !important; }

/* header layout to mockup: logo · menu ............ UK · £ · EN  ACCOUNT  [search] [cart]  BOOK APPOINTMENT */
.header-wrapper .header { max-width: 1600px; padding: 10px clamp(16px, 4vw, 64px) !important; min-height: 64px; }
.header__icons { display: flex; align-items: center; gap: 4px; }
.esr-header-cta { order: 10; margin: 0 0 0 14px; }
.header__icons-localization { margin-right: 10px; }
.es-country-selector__toggle { display: inline-flex; align-items: center; gap: 6px; font-size: 1.28rem !important; letter-spacing: .08em; color: #383838 !important; }
.esr-cc i { font-style: normal; color: #898989; margin: 0 6px; }
.header__icon--account { width: auto !important; padding: 0 8px; }
.header__icon--account svg { display: none; }
.esr-account-label { font-size: 1.2rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: #383838; border-bottom: 1px solid currentColor; padding-bottom: 3px; }
.header .header__inline-menu summary.header__menu-item { padding-right: 2.4rem; }
.header .header__inline-menu summary .icon-caret { right: .8rem; }
@media screen and (max-width: 989px) { .esr-account-label { display: none; } .header__icon--account svg { display: block; } .header__icon--account { width: 4.4rem !important; } }
/* responsive header steps (the full mockup header needs ~1400px) */
@media screen and (min-width: 1280px) and (max-width: 1599px) {
  .header .header__inline-menu .header__menu-item { font-size: 1.25rem; padding-left: .7rem; padding-right: .7rem; }
  .header .header__inline-menu summary.header__menu-item { padding-right: 2rem; }
  .esr-account-label { display: none; }
  .header__icon--account svg { display: block; }
  .header__icon--account { width: 4.4rem !important; padding: 0; }
}
@media screen and (min-width: 990px) and (max-width: 1279px) {
  .header .header__inline-menu { display: none !important; }
  .header header-drawer { display: flex !important; align-items: center; }
  .header .header__icon--menu { display: flex !important; }
  .esr-account-label { display: none; }
  .header__icon--account svg { display: block; }
  .header__icon--account { width: 4.4rem !important; padding: 0; }
}
@media screen and (min-width: 990px) and (max-width: 1279px) {
  .header.header--middle-left { grid-template-areas: "drawer heading icons" !important; grid-template-columns: auto auto 1fr !important; }
  .header header-drawer { grid-area: drawer; margin-right: 12px; }
  .header .header__heading, .header .header__heading-link { grid-area: heading; }
  .header .header__icons { grid-area: icons; justify-self: end; }
}

/* dark text panels: readable secondary text and links */
.esr .esr-bg-ink .esr-lead, .esr .esr-bg-ink .esr-rte, .esr .esr-bg-ink p { color: #D6D3CE; }
.esr .esr-bg-ink .esr-link { color: #FFFFFF; }
.esr .esr-bg-ink .esr-text h1, .esr .esr-bg-ink .esr-text .esr-h1, .esr .esr-bg-ink .esr-text h1 * { color: #FFFFFF; }
.esr .esr-bg-ink .esr-text .esr-btn--ghost { color: #FFFFFF; border-color: #FFFFFF; background: transparent; }
/* account: text label on wide screens, icon below 1600px (beats Dawn's `.header__icon span { display:flex }`) */
.header .header__icon--account .esr-account-label { display: inline-flex; align-items: center; height: auto; }
@media screen and (max-width: 1599px) { .header .header__icon--account .esr-account-label { display: none; } .header .header__icon--account svg { display: block; } .header .header__icon--account { width: 4.4rem !important; padding: 0; } }

/* ---------- price tables ---------- */
.esr .esr-pfull { max-width: var(--esr-maxw); margin: 0 auto; padding: clamp(48px, 7vw, 112px) clamp(16px, 6vw, 104px); display: grid; gap: 32px; }
.esr .esr-pfull.esr-bg-paper { background: var(--esr-paper); }
.esr .esr-pfull.esr-bg-white { background: var(--esr-white); }
.esr .esr-pfull__head { display: grid; gap: 16px; max-width: 760px; }
.esr .esr-ptable-wrap { width: 100%; overflow-x: auto; }
.esr .esr-ptable { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.esr .esr-ptable th, .esr .esr-ptable td { text-align: left; padding: 15px 16px 15px 0; border-bottom: 1px solid var(--esr-line); vertical-align: baseline; }
.esr .esr-ptable thead th { font-size: 1.1rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 500; color: var(--esr-muted); padding-top: 0; }
.esr .esr-ptable tbody th { font-family: var(--esr-display) !important; font-weight: 400; font-size: 2rem; color: var(--esr-ink); white-space: nowrap; }
.esr .esr-ptable td { font-size: 1.6rem; color: var(--esr-ink); white-space: nowrap; }
.esr .esr-ptable td small { font-size: 1.1rem; letter-spacing: .1em; text-transform: uppercase; color: var(--esr-muted); margin-right: 2px; }
.esr .esr-ptable tbody tr:hover th, .esr .esr-ptable tbody tr:hover td { background: rgba(160, 146, 121, .06); }
.esr .esr-ptable--single td { text-align: right; padding-right: 0; }
.esr .esr-ptable--single thead th:last-child { text-align: right; padding-right: 0; }
.esr .esr-pnote { display: grid; gap: 10px; max-width: 760px; font-size: 1.45rem; color: var(--esr-muted); }
.esr .esr-pnote p { max-width: none; }
.esr .esr-pnote strong { color: var(--esr-ink); font-weight: 500; }
@media screen and (max-width: 749px) {
  /* multi-column tables become one card per fabric */
  .esr .esr-ptable:not(.esr-ptable--single) thead { display: none; }
  .esr .esr-ptable:not(.esr-ptable--single), .esr .esr-ptable:not(.esr-ptable--single) tbody, .esr .esr-ptable:not(.esr-ptable--single) tr { display: block; width: 100%; }
  .esr .esr-ptable:not(.esr-ptable--single) tr { padding: 14px 0 10px; border-bottom: 1px solid var(--esr-line); }
  .esr .esr-ptable:not(.esr-ptable--single) th, .esr .esr-ptable:not(.esr-ptable--single) td { display: flex; justify-content: space-between; border: 0; padding: 4px 0; }
  .esr .esr-ptable:not(.esr-ptable--single) tbody th { font-size: 2.2rem; padding-bottom: 8px; }
  .esr .esr-ptable:not(.esr-ptable--single) td { justify-content: flex-start; align-items: baseline; gap: 5px; }
  .esr .esr-ptable:not(.esr-ptable--single) td::before { content: attr(data-label); font-size: 1.3rem; color: var(--esr-muted); margin-right: auto; }
  .esr .esr-ptable tbody th { white-space: normal; }
}

/* header type to mockup: Roobert Light with antialiased smoothing (Dawn renders subpixel = heavier),
   and only one underline under ACCOUNT (Dawn's .link underline + our border = double) */
.announcement-bar, .header-wrapper, .header-wrapper * { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.header .header__inline-menu .header__menu-item,
.header .header__inline-menu .header__menu-item span,
.header .header__submenu .header__menu-item,
.header .header__submenu .header__menu-item span { font-family: Roobert-Light, Roobert, "Helvetica Neue", Arial, sans-serif !important; font-weight: 300; }
.header .header__icon--account, .header .header__icon--account:hover { text-decoration: none !important; }
.header .header__icon--account .esr-account-label { text-decoration: none !important; font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important; font-weight: 400; }

/* price tables inside a split (half width): compact, "from" stated once in the intro.
   Desktop only - on phones the table stacks, so td:last-child is the last ROW. */
@media screen and (min-width: 750px) {
  .esr .esr-split .esr-ptable:not(.esr-ptable--single) td small { display: none; }
  .esr .esr-split .esr-ptable:not(.esr-ptable--single) th,
  .esr .esr-split .esr-ptable:not(.esr-ptable--single) td { padding-right: 12px; }
  .esr .esr-split .esr-ptable:not(.esr-ptable--single) th:last-child,
  .esr .esr-split .esr-ptable:not(.esr-ptable--single) td:last-child { padding-right: 0; text-align: right; }
  .esr .esr-split .esr-ptable:not(.esr-ptable--single) tbody th { font-size: 1.8rem; white-space: normal; }
  .esr .esr-split .esr-ptable:not(.esr-ptable--single) thead th { letter-spacing: .1em; }
}
@media screen and (max-width: 749px) {
  .esr .esr-split .esr-ptable:not(.esr-ptable--single) td small { display: inline; }
}

/* ================= collection pages ================= */
/* sub-collection link row */
.esr .esr-subcols { max-width: var(--esr-maxw); margin: 0 auto; padding: 28px var(--esr-gutter) 8px; display: flex; align-items: center; gap: 24px; }
.esr .esr-subcols .esr-eyebrow { flex: none; margin: 0; }
.esr .esr-subcols ul { list-style: none; display: flex; gap: 10px; overflow-x: auto; scrollbar-width: none; padding: 2px; }
.esr .esr-subcols ul::-webkit-scrollbar { display: none; }
.esr .esr-subcols li { flex: none; }
.esr .esr-subcols a { display: flex; align-items: center; gap: 12px; padding: 6px 18px 6px 6px; border: 1px solid var(--esr-line); text-decoration: none; font-size: 1.35rem; letter-spacing: .02em; color: var(--esr-ink); white-space: nowrap; transition: border-color .2s, background .2s; }
.esr .esr-subcols a:hover, .esr .esr-subcols a[aria-current] { border-color: var(--esr-ink); }
.esr .esr-subcols__img { width: 40px; height: 40px; overflow: hidden; background: var(--esr-paper); flex: none; }
.esr .esr-subcols__img img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
@media screen and (max-width: 749px) {
  .esr .esr-subcols { flex-direction: column; align-items: flex-start; gap: 12px; padding-top: 22px; padding-right: 0; }
  .esr .esr-subcols ul { width: 100%; padding-right: var(--esr-gutter); }
}

/* breadcrumbs (app block) sit quietly above the grid */
.esr-tpl-collection .shopify-app-block { max-width: 1600px; margin: 0 auto; padding: 0 clamp(16px, 4vw, 64px); }

/* product grid */
.esr-pgrid { max-width: 1600px; margin: 0 auto; padding-left: clamp(16px, 4vw, 64px) !important; padding-right: clamp(16px, 4vw, 64px) !important; padding-top: 12px !important; font-family: Roobert, "Helvetica Neue", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
.esr-pgrid *:not(svg):not(path) { font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important; }
.esr-pgrid .facets-container, .esr-pgrid .facets-wrapper { padding: 0 !important; margin: 0 !important; }
.esr-pgrid .facets-vertical-sort, .esr-pgrid .facets-container-drawer { border-bottom: 1px solid rgba(56,56,56,.14); padding-bottom: 14px !important; margin-bottom: 28px !important; }
.esr-pgrid .mobile-facets__open, .esr-pgrid .facet-filters__label, .esr-pgrid .facet-filters__sort, .esr-pgrid .product-count__text { font-size: 1.2rem !important; letter-spacing: .14em; text-transform: uppercase; color: #383838; font-weight: 500; }
.esr-pgrid .mobile-facets__open-wrapper, .esr-pgrid .facet-filters__field .select { border: 0 !important; box-shadow: none !important; }
.esr-pgrid .mobile-facets__open-wrapper::after, .esr-pgrid .select::after, .esr-pgrid .select::before { display: none !important; }
.esr-pgrid .product-count__text { color: #898989; }
.esr-pgrid #product-grid, .esr-pgrid .product-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 44px 20px !important; margin: 0 !important; padding: 0 !important; }
.esr-pgrid .product-grid > .grid__item { width: auto !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
@media screen and (max-width: 1199px) { .esr-pgrid #product-grid, .esr-pgrid .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media screen and (max-width: 749px) { .esr-pgrid #product-grid, .esr-pgrid .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 10px !important; } }

/* cards: full-length photo at its own 9:16 ratio (never cropped through the shoes), text below */
.esr-pgrid .card-wrapper { cursor: pointer; }
.esr-pgrid .card, .esr-pgrid .card__inner { --ratio-percent: 177.8% !important; border-radius: 0 !important; box-shadow: none !important; background: transparent !important; }
.esr-pgrid .card__inner { background: #F6F3EE !important; }
.esr-pgrid .card__media .media { border-radius: 0 !important; }
.esr-pgrid .card__media img { object-fit: cover; object-position: center top; transition: opacity .35s ease !important; transform: none !important; }
.esr-pgrid .card__inner > .card__content { display: none; }
.esr-pgrid .card > .card__content { padding: 14px 0 0 !important; }
.esr-pgrid .card__heading { font-size: 1.45rem !important; line-height: 1.4; font-weight: 400; letter-spacing: .01em; color: #383838; margin: 0; display: block; }
.esr-pgrid .card__heading a { text-decoration: none !important; }
.esr-pgrid .card-wrapper:hover .card__heading a { text-decoration: underline !important; text-underline-offset: 3px; text-decoration-thickness: 1px !important; }
.esr-pgrid .card__heading .price { margin-top: 4px; }
.esr-pgrid .price, .esr-pgrid .price-item { font-size: 1.35rem !important; letter-spacing: .02em; color: #383838; font-weight: 400; }
.esr-pgrid .price .price-item--regular::before { content: "from "; font-size: 1.05rem; letter-spacing: .12em; text-transform: uppercase; color: #898989; }
.esr-pgrid .card-information .caption-with-letter-spacing { font-size: 1.2rem !important; letter-spacing: .02em !important; text-transform: none !important; color: #898989; margin-top: 2px; }
.esr-pgrid .card__badge .badge { border-radius: 0; background: #383838; color: #fff; font-size: 1.05rem; letter-spacing: .12em; text-transform: uppercase; }
@media screen and (max-width: 749px) {
  .esr-pgrid .card__heading { font-size: 1.3rem !important; }
  .esr-pgrid .slick-dots { bottom: 8px; }
}
/* pagination */
.esr-pgrid .pagination-wrapper { margin-top: 56px; }
.esr-pgrid .pagination__item { border-radius: 0; font-size: 1.3rem; color: #383838; }
.esr-pgrid .pagination__item--current { box-shadow: inset 0 0 0 1px #383838; }
.esr-pgrid .pagination__item::after { display: none !important; }

/* long-form SEO text */
.esr .esr-media--sticky { align-self: start; position: sticky; top: 0; }
.esr .esr-seo .esr-rte { font-size: 1.5rem; color: var(--esr-ink); }
.esr .esr-seo .esr-rte h2, .esr .esr-seo .esr-rte h3 { font-family: var(--esr-display) !important; font-weight: 400; font-size: 2.4rem; line-height: 1.15; margin: 32px 0 10px; }
.esr .esr-seo .esr-rte h2 strong, .esr .esr-seo .esr-rte h3 strong { font-weight: 400; }
.esr .esr-seo .esr-rte p { margin: 0 0 14px; }
.esr .esr-seo .esr-rte ol, .esr .esr-seo .esr-rte ul { padding-left: 20px; margin: 0 0 14px; }
.esr .esr-seo .esr-rte li { margin-bottom: 8px; }
.esr .esr-seo__more summary { list-style: none; cursor: pointer; display: inline-block; margin-top: 6px; }
.esr .esr-seo__more summary::-webkit-details-marker { display: none; }
.esr .esr-seo__more summary .esr-link::before { content: attr(data-more); }
.esr .esr-seo__more[open] summary .esr-link::before { content: attr(data-less); }
.esr .esr-seo__more[open] summary { order: 2; }
.esr .esr-seo__more[open] { display: flex; flex-direction: column; align-items: flex-start; }
.esr .esr-seo__more > .esr-rte { margin-top: 8px; }

/* hero: trim ~14% of empty backdrop (more from the top than the bottom) so head and shoes stay in frame,
   and sit the copy higher so heading + Book button land above the fold */
@media screen and (min-width: 990px) {
  .esr .esr-hero { height: calc(min(50vw, 800px) * 1.5 * .92); }
  .esr .esr-hero .esr-media { height: 100%; }
  .esr .esr-hero .esr-media img { aspect-ratio: auto; height: 100%; min-height: 0; object-position: 50% 30%; }
  .esr .esr-hero .esr-text { padding-bottom: calc(clamp(40px, 6vw, 104px) + 80px); }
}
.esr-pgrid .product-grid-container, .esr-pgrid .collection { padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; max-width: none !important; }
.esr-pgrid .mobile-facets__open, .esr-pgrid .facet-filters__sort { border: 1px solid rgba(56,56,56,.14) !important; border-radius: 0 !important; height: auto !important; min-height: 0 !important; padding: 11px 18px !important; background: #FFFFFF !important; box-shadow: none !important; }
.esr-pgrid .facet-filters__sort { padding-right: 36px !important; background: #FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23383838'/%3E%3C/svg%3E") no-repeat right 14px center !important; -webkit-appearance: none; appearance: none; }
.esr-pgrid .mobile-facets__open:hover, .esr-pgrid .facet-filters__sort:hover { border-color: #383838 !important; }
.esr-pgrid .facet-filters__field .icon-caret { display: none; }
.esr-pgrid .card__heading.h5 { display: block !important; }
.esr-pgrid .card__heading .price { display: block !important; position: static !important; margin: 4px 0 0 !important; text-align: left !important; float: none !important; }
.esr-pgrid .card__heading .price__container { display: block; text-align: left; }
/* pricing (split tables): "from" stacked above every price so it is always clear without widening the table */
.esr .esr-split .esr-ptable:not(.esr-ptable--single) td small { display: block; font-size: 1rem; letter-spacing: .14em; line-height: 1.2; margin: 0 0 2px; }
.esr .esr-ptable td small { color: #A09279; }
.esr-pgrid .facet-filters__sort { min-width: 210px; text-overflow: clip; }

/* compact collection header: no image, products start above the fold */
.esr .esr-chead { padding: clamp(32px, 4vw, 56px) 0 clamp(24px, 3vw, 36px); }
.esr .esr-chead__inner { max-width: var(--esr-maxw); margin: 0 auto; padding: 0 var(--esr-gutter); display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 24px 64px; align-items: end; }
.esr .esr-chead__title { font-size: clamp(3.6rem, 4.4vw, 6rem); }
.esr .esr-chead__intro { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.esr .esr-chead__intro .esr-rte { font-size: 1.5rem; line-height: 1.6; color: var(--esr-ink); }
.esr .esr-chead__intro .esr-rte p { margin: 0 0 8px; max-width: 64ch; }
.esr .esr-chead__intro .esr-rte p:last-child { margin-bottom: 0; }
.esr .esr-chead__subs { max-width: var(--esr-maxw); margin: clamp(24px, 3vw, 36px) auto 0; padding: 0 var(--esr-gutter); list-style: none; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.esr .esr-chead__subs::-webkit-scrollbar { display: none; }
.esr .esr-chead__subs li { flex: none; }
.esr .esr-chead__subs a { display: block; padding: 9px 16px; border: 1px solid rgba(56,56,56,.18); background: #FFFFFF; font-size: 1.3rem; letter-spacing: .02em; color: var(--esr-ink); text-decoration: none; white-space: nowrap; transition: border-color .2s; }
.esr .esr-chead__subs a:hover, .esr .esr-chead__subs a[aria-current] { border-color: var(--esr-ink); }
@media screen and (max-width: 749px) {
  .esr .esr-chead__inner { grid-template-columns: 1fr; gap: 12px; }
  .esr .esr-chead__intro .esr-rte { font-size: 1.4rem; }
  .esr .esr-chead__subs { padding-right: var(--esr-gutter); }
}
.esr .esr-chead.esr-bg-paper { background: var(--esr-paper); } .esr .esr-chead.esr-bg-white { background: #FFFFFF; } .esr-tpl-collection .esr-chead + * { margin-top: 0; }
/* split: natural-ratio photo (landscape showroom shots), centred in its column, never cropped */
.esr .esr-media.esr-media--natural { display: flex; align-items: center; }
.esr .esr-media.esr-media--natural img { aspect-ratio: auto; height: auto; min-height: 0; object-fit: contain; }
/* category header: title top-aligned with the intro */
.esr .esr-chead__inner { align-items: start; }
.esr .esr-chead__title { line-height: 1; margin-top: -.08em; }
/* product cards: title sits close under the photo */
.esr-pgrid .card > .card__content { padding: 10px 0 0 !important; }
.esr-pgrid .card > .card__content .card__information { padding: 0 !important; margin: 0 !important; }
/* split: full-length model cropped at mid-thigh (top 57% of a 2:3 photo), head room kept */
.esr .esr-media.esr-media--thigh img { aspect-ratio: 960 / 820; min-height: 100%; height: auto; object-fit: cover; object-position: 50% 0; }

/* ================= footer (mockup) ================= */
.esr-footer { background: #FFFFFF; border-top: 1px solid rgba(56,56,56,.14); color: #383838; font-family: Roobert, "Helvetica Neue", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
.esr-footer * { font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important; }
.esr-footer__inner { max-width: 1600px; margin: 0 auto; padding: 64px clamp(16px, 4vw, 64px) 48px; display: grid; grid-template-columns: 1.4fr repeat(5, 1fr); gap: 32px; font-size: 1.4rem; }
.esr-footer__logo { display: inline-block; color: #383838; }
.esr-footer__logo svg { width: 178px; height: auto; display: block; }
.esr-footer__brand p { margin: 14px 0 0; max-width: 32ch; color: #898989; line-height: 1.6; }
.esr-footer h4 { margin: 0 0 12px; font-weight: 500; font-size: 1.15rem; letter-spacing: .2em; text-transform: uppercase; color: #383838; }
.esr-footer__links { display: grid; gap: 6px; }
.esr-footer__links p { margin: 0; line-height: 1.5; }
.esr-footer a { color: #898989; text-decoration: none; transition: color .2s; }
.esr-footer a:hover { color: #383838; }
.esr-footer__legal { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 32px; padding-top: 20px; border-top: 1px solid rgba(56,56,56,.14); color: #898989; font-size: 1.25rem; }
.esr-footer__regions { flex: 1; text-align: center; }
@media screen and (max-width: 1100px) { .esr-footer__inner { grid-template-columns: repeat(3, 1fr); } .esr-footer__brand { grid-column: 1 / -1; } }
@media screen and (max-width: 749px) {
  .esr-footer__inner { grid-template-columns: 1fr 1fr; padding-top: 48px; padding-bottom: 110px; gap: 32px 20px; }
  .esr-footer__legal { flex-direction: column; }
  .esr-footer__regions { text-align: left; }
}

/* category header, cleaned up: breadcrumb on top, title | intro, plain text links to sub-collections */
.esr-tpl-collection [id$="__breadcrumbs"] { background: #F6F3EE; }
.esr-tpl-collection [id$="__breadcrumbs"] .shopify-app-block { padding-top: 22px; }
.esr-tpl-collection [id$="__breadcrumbs"] * { font-size: 1.15rem !important; letter-spacing: .06em; color: #898989 !important; }
.esr-tpl-collection [id$="__breadcrumbs"] a:hover { color: #383838 !important; }
.esr .esr-chead { padding-top: clamp(20px, 2.4vw, 32px); padding-bottom: 0; }
.esr .esr-chead__subs { margin-top: clamp(28px, 3vw, 40px); padding-top: 0; padding-bottom: 0; gap: 0 28px; border-top: 0; position: relative; }
.esr .esr-chead__subs::before { content: ""; position: absolute; left: var(--esr-gutter); right: var(--esr-gutter); top: 0; border-top: 1px solid rgba(56,56,56,.14); }
.esr .esr-chead__subs a { padding: 16px 0; border: 0; background: transparent; font-size: 1.35rem; letter-spacing: .02em; color: #898989; border-bottom: 1px solid transparent; }
.esr .esr-chead__subs a:hover { color: #383838; border-color: transparent; }
.esr .esr-chead__subs a[aria-current] { color: #383838; border-bottom-color: #383838; }
.esr-pgrid { padding-top: 28px !important; }
.esr-tpl-collection [id$="__breadcrumbs"] .ba-breadcrumb { margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; }
.esr .esr-media.esr-media--square img { aspect-ratio: 1 / 1; min-height: 100%; height: auto; object-fit: cover; }
.esr-footer__social { list-style: none; margin: 0; padding: 0; display: flex; gap: 18px; align-items: center; }
.esr-footer__social a { display: inline-flex; color: #898989; }
.esr-footer__social a:hover { color: #383838; }
.esr-footer__social svg { width: 20px; height: 20px; fill: currentColor; }
.esr .esr-chead--subs { padding-top: 28px; } .esr .esr-chead--subs .esr-chead__subs { margin-top: 0; }
/* homepage local SEO topics (market-specific, e.g. Zürich) */
.esr .esr-topics { gap: 0; }
.esr .esr-topic { padding: 22px 0; border-top: 1px solid var(--esr-line); }
.esr .esr-topic:last-child { border-bottom: 1px solid var(--esr-line); }
.esr .esr-topic__title { font-family: var(--esr-body) !important; font-size: 1.2rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; margin: 0 0 10px; color: var(--esr-ink); }

/* font weights to the mockup: light body copy with antialiased smoothing everywhere in the redesign */
.esr, .esr-footer, body .booking_section_overlay { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* product grid: 2 large columns on desktop and tablet (images bigger), 2 on phones */
.esr-pgrid #product-grid, .esr-pgrid .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 56px 24px !important; }
@media screen and (max-width: 749px) { .esr-pgrid #product-grid, .esr-pgrid .product-grid { gap: 32px 10px !important; } }
.esr-pgrid .card__heading { font-size: 1.6rem !important; }

/* ================= product pages (all product templates) — CSS only, markup + scripts untouched ================= */
.esr-tpl-product main { -webkit-font-smoothing: antialiased; }
.esr-tpl-product main .shopify-section:not(.booking_section_overlay *) { color: #383838; }
.esr-tpl-product #MainContent [id*="__main"].shopify-section { background: #FFFFFF; }
.esr-tpl-product [id^="MainProduct-"] { max-width: 1600px !important; margin: 0 auto; padding: 0 !important; }
.esr-tpl-product .toplineProduct { max-width: 1600px; margin: 0 auto; padding: 18px clamp(16px, 4vw, 64px) !important; display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 1.15rem; letter-spacing: .06em; }
.esr-tpl-product .toplineProduct, .esr-tpl-product .toplineProduct * { font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important; color: #898989; }
.esr-tpl-product .toplineProduct a:hover { color: #383838; }
.esr-tpl-product .breadcrumbs__list { margin: 0; padding: 0; }

/* gallery | info split */
.esr-tpl-product [class*="productType"].product { display: grid !important; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 6px; margin: 0 !important; align-items: start; }
.esr-tpl-product [class*="productType"] .product__media-wrapper { width: auto !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
.esr-tpl-product .product__media-list.masonry-grid { gap: 6px !important; margin: 0 !important; }
.esr-tpl-product .product__media-item, .esr-tpl-product .product__media-item .media { border-radius: 0 !important; background: #F6F3EE; }
.esr-tpl-product .product__media-item img { object-fit: cover; object-position: center top; }
.esr-tpl-product .gallery_switcher { padding: 14px clamp(16px, 4vw, 64px) 0; }

/* info panel on paper, sticky */
.esr-tpl-product .product__info-wrapper { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; background: #F6F3EE; position: sticky; top: 0; align-self: start; min-height: 100vh; }
.esr-tpl-product .product__info-container { max-width: 560px; padding: clamp(32px, 4vw, 64px) clamp(24px, 4vw, 64px) !important; margin: 0 !important; }
.esr-tpl-product .product__info-container > * { margin-top: 0 !important; margin-bottom: 22px !important; }
.esr-tpl-product .product__info-container, .esr-tpl-product .product__info-container *:not(svg):not(path) { font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important; }
.esr-tpl-product .product__title { display: grid !important; grid-template-columns: 1fr; gap: 12px; margin-bottom: 8px !important; }
.esr-tpl-product .product__title h1 { font-family: "Teodor", Didot, Georgia, serif !important; font-weight: 300; font-size: clamp(3.2rem, 3vw, 4.4rem); line-height: 1.08; letter-spacing: -.01em; color: #383838; margin: 0; }
.esr-tpl-product .product__title .price_block { order: 2; text-align: left; }
.esr-tpl-product .product__title .price, .esr-tpl-product .product__title .price-item { font-size: 1.7rem !important; font-weight: 300; letter-spacing: .02em; color: #383838; }
.esr-tpl-product .secondaryTitle h3 { font-size: 1.15rem !important; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: #898989; margin: 0; }
.esr-tpl-product .product__description { font-size: 1.5rem; line-height: 1.7; font-weight: 300; color: #383838; }
.esr-tpl-product .product__description p { margin: 0 0 12px; }
/* made-to-measure note + booking button */
.esr-tpl-product #measurements_block_product { background: #FFFFFF !important; border: 1px solid rgba(56,56,56,.14); border-radius: 0 !important; padding: 22px !important; }
.esr-tpl-product #measurements_block_product p { font-size: 1.4rem; line-height: 1.6; font-weight: 300; margin: 0 0 16px; padding: 0 !important; color: #383838; }
.esr-tpl-product #measurements_block_product b { font-weight: 500; }
.esr-tpl-product .bookCTA.button, .esr-tpl-product .product-form__submit.button {
  border-radius: 0 !important; min-height: 56px; width: 100%; box-shadow: none !important;
  font-size: 1.2rem !important; font-weight: 500 !important; letter-spacing: .16em; text-transform: uppercase;
}
.esr-tpl-product .bookCTA.button { background: #383838 !important; color: #FFFFFF !important; border: 1px solid #383838 !important; }
.esr-tpl-product .bookCTA.button:hover { background: transparent !important; color: #383838 !important; }
.esr-tpl-product .product-form__submit.button { background: transparent !important; color: #383838 !important; border: 1px solid #383838 !important; }
.esr-tpl-product .product-form__submit.button:hover { background: #383838 !important; color: #FFFFFF !important; }
.esr-tpl-product .button::before, .esr-tpl-product .button::after { box-shadow: none !important; border-radius: 0 !important; }
.esr-tpl-product .personaliseBtn { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; font-size: 1.2rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: #383838; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 3px; }
.esr-tpl-product .delivery_guaranty { font-size: 1.3rem; color: #898989; }
/* variant / size pickers */
.esr-tpl-product variant-radios fieldset, .esr-tpl-product .product-form__input { border: 0; padding: 0; margin: 0 0 16px; }
.esr-tpl-product .product-form__input .form__label { font-size: 1.15rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: #898989; }
.esr-tpl-product .product-form__input input[type="radio"] + label { border-radius: 0 !important; border: 1px solid rgba(56,56,56,.18) !important; background: #FFFFFF; color: #383838; font-size: 1.4rem; padding: 10px 16px; margin: 0 6px 6px 0; }
.esr-tpl-product .product-form__input input[type="radio"]:checked + label { background: #383838 !important; color: #FFFFFF !important; border-color: #383838 !important; }
.esr-tpl-product .select__select { border-radius: 0 !important; }

/* product info accordion (style details / product info) */
.esr-tpl-product .product-info--accordion { max-width: 1600px !important; margin: 0 auto; padding: clamp(40px, 5vw, 80px) clamp(16px, 4vw, 64px) !important; }
.esr-tpl-product .product-info--accordion, .esr-tpl-product .product-info--accordion * { font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important; }
.esr-tpl-product .product-info--accordion-item { border-top: 1px solid rgba(56,56,56,.14); }
.esr-tpl-product .product-info--accordion-item:last-child { border-bottom: 1px solid rgba(56,56,56,.14); }
.esr-tpl-product .product-info--accordion-item-title { font-family: "Teodor", Didot, Georgia, serif !important; font-weight: 400; font-size: 2.4rem; padding: 22px 0; color: #383838; text-transform: none; letter-spacing: 0; }
.esr-tpl-product .product-info--accordion .option_title { font-size: 1.15rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: #898989; }
.esr-tpl-product .product-info--accordion .option_title small { display: block; font-size: 1.6rem; letter-spacing: 0; text-transform: none; color: #383838; font-weight: 400; margin-top: 4px; }
.esr-tpl-product .product-info--accordion p { font-size: 1.4rem; line-height: 1.6; font-weight: 300; color: #383838; }
.esr-tpl-product .product-info--accordion img { border-radius: 0 !important; background: #F6F3EE; }
.esr-tpl-product .product-info--accordion .slider-button { border-radius: 0; border: 1px solid rgba(56,56,56,.14); background: #FFFFFF; }

/* privileges strip -> quiet three-up on paper */
.esr-tpl-product .previlegies { background: #F6F3EE; }
.esr-tpl-product .previlegies > div { max-width: 1600px !important; margin: 0 auto; padding: clamp(40px, 5vw, 72px) clamp(16px, 4vw, 64px) !important; }
.esr-tpl-product .previlegies, .esr-tpl-product .previlegies * { font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important; }
.esr-tpl-product .previlegies--item h3 { font-size: 1.15rem !important; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: #898989; display: flex; align-items: center; gap: 10px; }
.esr-tpl-product .previlegies--item h2 { font-family: "Teodor", Didot, Georgia, serif !important; font-weight: 300; font-size: clamp(2.2rem, 2vw, 2.8rem); line-height: 1.2; color: #383838; }

/* recommendations: same cards as the collection grid */
.esr-tpl-product product-recommendations, .esr-tpl-product .product-recommendations { max-width: 1600px; margin: 0 auto; padding-left: clamp(16px, 4vw, 64px) !important; padding-right: clamp(16px, 4vw, 64px) !important; }
.esr-tpl-product .product-recommendations h2, .esr-tpl-product .product-recommendations .h2 { font-family: "Teodor", Didot, Georgia, serif !important; font-weight: 300; font-size: clamp(2.8rem, 3vw, 4rem); text-transform: none; letter-spacing: -.01em; }
.esr-tpl-product .product-recommendations .card, .esr-tpl-product .product-recommendations .card__inner { border-radius: 0 !important; box-shadow: none !important; }
/* before slick starts: lay the cards out exactly as the carousel will (one row of 3, 20px side margins), so nothing wraps or jumps */
@media screen and (min-width: 750px) {
  .esr-tpl-product product-recommendations .product-grid:not(.slick-initialized) { display: flex !important; flex-wrap: nowrap !important; overflow: hidden; gap: 0 !important; column-gap: 0 !important; }
  .esr-tpl-product product-recommendations .product-grid:not(.slick-initialized) > .grid__item { flex: 0 0 33.3333% !important; width: 33.3333% !important; max-width: 33.3333% !important; padding: 0 20px !important; margin: 0 !important; box-sizing: border-box; }
}
.esr-tpl-product .product-recommendations .card__heading, .esr-tpl-product .product-recommendations .price { font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important; font-size: 1.45rem; font-weight: 400; }

@media screen and (max-width: 989px) {
  .esr-tpl-product [class*="productType"].product { grid-template-columns: 1fr; }
  .esr-tpl-product .product__info-wrapper { position: static; min-height: 0; }
  .esr-tpl-product .product__info-container { max-width: none; padding: 32px 16px !important; }
  .esr-tpl-product .toplineProduct { flex-direction: column; align-items: flex-start; }
}
.esr-tpl-product .product__title > a { display: none !important; }
.esr .esr-howstrip { max-width: 1600px; margin: 0 auto; padding: clamp(48px, 5vw, 88px) var(--esr-gutter); }
.esr .esr-howstrip__steps { list-style: none; margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 32px; }
.esr .esr-howstrip__steps li { border-top: 1px solid var(--esr-line); padding-top: 20px; display: grid; gap: 6px; }
.esr .esr-howstrip__steps span { font-family: var(--esr-display) !important; font-style: italic; font-size: 2rem; color: var(--esr-ink); }
.esr .esr-howstrip__steps b { font-size: 1.2rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; }
.esr .esr-howstrip__steps p { font-size: 1.45rem; color: var(--esr-muted); margin: 0; }
@media screen and (max-width: 749px) { .esr .esr-howstrip__steps { grid-template-columns: 1fr; gap: 20px; } }
.esr-tpl-product .previlegies--item h2, .esr-tpl-product .previlegies--item h3 { padding-left: 0 !important; margin-left: 0 !important; } .esr-tpl-product .previlegies--item { padding-left: 0 !important; }
.esr-tpl-product .product__info-container .product__title h1, .esr-tpl-product .product__info-container .product__title h1 * { font-family: "Teodor", Didot, Georgia, serif !important; font-weight: 300; }
/* product info panel: full height, no inner scroll (the theme's .stickyInfo capped it at 100vh with overflow) */
.esr-tpl-product .product__info-wrapper, .esr-tpl-product .product__info-wrapper.stickyInfo, .esr-tpl-product .product__info-container { position: relative !important; top: auto !important; max-height: none !important; height: auto !important; overflow: visible !important; }
.esr-tpl-product [class*="productType"].product { align-items: stretch; }
@media screen and (min-width: 990px) { .esr .esr-hero .esr-media--anchor-bottom img { object-position: 50% 100% !important; } }
/* product gallery: two columns, every photo at its full height (never cropped), next photo starts right under the previous one */
@media screen and (min-width: 750px) {
  .esr-tpl-product .product__media-list.masonry-grid { margin: 0 -3px !important; }
  .esr-tpl-product .product__media-list .masonry-grid__item { width: 50% !important; height: auto !important; min-height: 0 !important; padding: 0 3px 6px !important; margin: 0 !important; }
  .esr-tpl-product .product__media-list .masonry-grid__item .media,
  .esr-tpl-product .product__media-list .masonry-grid__item .product__media { height: auto !important; min-height: 0 !important; padding-top: 0 !important; }
  .esr-tpl-product .product__media-list .masonry-grid__item .media img,
  .esr-tpl-product .product__media-list .masonry-grid__item .product__media img { position: static !important; width: 100% !important; height: auto !important; object-fit: contain !important; display: block; }
}
@media screen and (min-width: 750px) {
  /* the zoom opener holds a second copy of the photo: keep it as an overlay on top of the first, not below it */
  .esr-tpl-product .product__media-list .masonry-grid__item > modal-opener { position: absolute !important; top: 0; left: 3px; right: 3px; bottom: 6px; display: block; }
  .esr-tpl-product .product__media-list .masonry-grid__item > modal-opener .product__media { height: 100% !important; }
  .esr-tpl-product .product__media-list .masonry-grid__item > modal-opener .product__media img { height: 100% !important; object-fit: cover !important; }
}
/* the zoom opener is only a click target over the photo: transparent, so it never hides the photo below */
.esr-tpl-product .product__media-list .masonry-grid__item > modal-opener .product__media { background: transparent !important; }
.esr-tpl-product .product__media-list .masonry-grid__item > modal-opener .product__media img { opacity: 0 !important; }
/* product gallery: plain 2-column grid (all photos are 9:16), Masonry's absolute positions + slide animation switched off */
@media screen and (min-width: 750px) {
  .esr-tpl-product .product__media-list.masonry-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; align-items: start; height: auto !important; margin: 0 !important; position: static !important; }
  .esr-tpl-product .product__media-list.masonry-grid > .masonry-grid__item { position: relative !important; left: auto !important; top: auto !important; transform: none !important; transition: none !important; width: auto !important; padding: 0 !important; }
  .esr-tpl-product .product__media-list .masonry-grid__item > modal-opener { left: 0; right: 0; bottom: 0; }
}
/* product pages: no fixed-height frame (the theme capped the product at 800px with its own scrolling photo column,
   which cut off the photos and the buttons); the page scrolls naturally, the info panel is sticky */
@media screen and (min-width: 990px) {
  .esr-tpl-product [class*="productType"].product { height: auto !important; max-height: none !important; overflow: visible !important; }
  .esr-tpl-product [class*="productType"] .product__media-wrapper { height: auto !important; max-height: none !important; overflow: visible !important; }
  .esr-tpl-product .product__info-wrapper, .esr-tpl-product .product__info-wrapper.stickyInfo { position: sticky !important; top: 0; align-self: start; }
}
/* product pages: the List / Grid gallery switcher is removed (it no longer works with the fixed 2-column gallery) */
.esr-tpl-product .gallery_switcher { display: none !important; }

/* ===== Fabric catalogue (/apps/fabric-catalog, app proxy) — brought into the redesign.
   The app ships its own inline CSS scoped to #fcx; "html body #fcx" outranks it without touching the app. ===== */
html body #fcx { --ink: #383838; --strong: #383838; --btn: #383838; --hair: rgba(56,56,56,.12); --hair2: rgba(56,56,56,.2); --muted: #898989; --alt: #F6F3EE; --radius: 0; --fcw: 1600px;
  font: 300 15px/1.6 Roobert, "Helvetica Neue", Arial, sans-serif; color: #383838; background: #FFFFFF; }
html body #fcx .wrap { max-width: 1600px; padding: 0 clamp(16px, 4vw, 64px); }
html body #fcx .crumbs { text-transform: none; letter-spacing: .02em; font-size: 12px; color: #898989; margin: 22px 0 18px; }
html body #fcx .crumbs a:hover { color: #383838; }
html body #fcx h1 { font-family: "Teodor", Didot, Georgia, serif !important; font-weight: 300 !important; font-size: clamp(36px, 4vw, 56px); line-height: 1.06; letter-spacing: -.01em; text-transform: none; color: #383838; margin: 0 0 14px; }
html body #fcx .lede { font-size: 16px; line-height: 1.65; color: #383838; max-width: 60ch; }
html body #fcx .count { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #898989; margin: 26px 0 14px; }

/* filters: stone bar, square fields */
html body #fcx .facets { background: #F6F3EE; border: 0; margin-top: 30px; }
html body #fcx .filters { max-width: 1600px; padding: 22px clamp(16px, 4vw, 64px); gap: 14px 14px; }
html body #fcx .field { max-width: none; flex: 1 1 150px; gap: 7px; }
html body #fcx .flabel { font-size: 10.5px; font-weight: 500; letter-spacing: .16em; color: #898989; }
html body #fcx .field select, html body #fcx .field input { min-width: 0; max-width: none; width: 100%; height: 44px; padding: 0 34px 0 14px; border: 1px solid rgba(56,56,56,.18); border-radius: 0; background-color: #FFFFFF; color: #383838; font-size: 14px; font-weight: 300;
  -webkit-appearance: none; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23383838' stroke-width='1.2'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; }
html body #fcx .field input { background-image: none; padding-right: 14px; }
html body #fcx .field select:focus, html body #fcx .field input:focus { outline: none; border-color: #383838; }
html body #fcx .fbtn { height: 44px; padding: 0 28px; border-radius: 0; background: #383838; border: 1px solid #383838; font-size: 12px; font-weight: 500; letter-spacing: .16em; }
html body #fcx .fbtn:hover { background: transparent; color: #383838; }
html body #fcx .fclear { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #383838; border-bottom: 1px solid currentColor; padding-bottom: 2px; }
html body #fcx .active-filters { max-width: 1600px; padding: 0 clamp(16px, 4vw, 64px) 20px; }
html body #fcx .pill { border-radius: 0; background: #FFFFFF; border-color: rgba(56,56,56,.18); font-size: 13px; }

/* table: hairlines, no box, no zebra */
html body #fcx .tablewrap { border: 0; border-radius: 0; margin-bottom: 40px; }
html body #fcx th { background: #FFFFFF; font-size: 10.5px; font-weight: 500; letter-spacing: .16em; color: #898989; padding: 14px 14px; border-bottom: 1px solid #383838; box-shadow: none; }
html body #fcx td { padding: 18px 14px; border-bottom: 1px solid rgba(56,56,56,.12); font-size: 14px; }
html body #fcx tr:nth-child(even) td { background: transparent; }
html body #fcx th, html body #fcx td { border-left: 0 !important; border-right: 0 !important; border-top: 0 !important; }
html body #fcx table { border: 0 !important; box-shadow: none !important; }
html body #fcx tbody tr:hover td { background: #FBFAF8; }
html body #fcx .swatch { width: 96px; height: 96px; border: 0; background: #F6F3EE; }
html body #fcx .noimg { width: 96px; height: 96px; border: 0; background: #F6F3EE; color: #B3AEA6; }
html body #fcx .code { font-family: Roobert, "Helvetica Neue", Arial, sans-serif; font-size: 13px; letter-spacing: .04em; }
html body #fcx .spec { color: #898989; font-size: 13px; }
html body #fcx .price { font-size: 14px; color: #383838; font-variant-numeric: tabular-nums; }
html body #fcx .pr .pl { font-size: 10px; letter-spacing: .14em; color: #898989; }
html body #fcx .stocktag { border-radius: 0; font-size: 10px; letter-spacing: .12em; border-color: rgba(56,56,56,.18); }
html body #fcx .stocktag.on { color: #383838; border-color: rgba(56,56,56,.18); background: #F6F3EE; }
html body #fcx .stock { font-size: 10px; letter-spacing: .14em; }
html body #fcx .stock::before { background: #7BD998; }

/* pager, detail page, buttons */
html body #fcx .pager { margin: 10px 0 72px; gap: 6px; }
html body #fcx .pager a, html body #fcx .pager span { border-radius: 0; border-color: rgba(56,56,56,.18); min-width: 44px; text-align: center; font-size: 13px; }
html body #fcx .pager a:hover { border-color: #383838; }
html body #fcx .pager span[aria-current] { background: #383838; border-color: #383838; }
html body #fcx .btn { border-radius: 0; background: #383838; border: 1px solid #383838; font-size: 12px; font-weight: 500; letter-spacing: .16em; padding: 15px 30px; }
html body #fcx .btn:hover { background: transparent; color: #383838; }
html body #fcx .detail img, html body #fcx .aisuit img { border: 0; background: #F6F3EE; }
html body #fcx .dl th { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; font-weight: 500; }
html body #fcx .buy .price { font-family: "Teodor", Didot, Georgia, serif !important; font-size: 28px; font-weight: 300; }
html body #fcx .brandmark { border-color: rgba(56,56,56,.18); }
html body #fcx .faq summary { font-family: "Teodor", Didot, Georgia, serif !important; font-size: 20px; letter-spacing: 0; color: #383838; }
html body #fcx .faq p { font-size: 14px; color: #383838; }

/* phones: each fabric becomes a card (swatch | details) instead of a sideways-scrolling table */
@media screen and (max-width: 760px) {
  html body #fcx .filters { padding: 18px 16px; }
  html body #fcx .field { flex: 1 1 calc(50% - 7px); }
  html body #fcx .tablewrap { overflow: visible; }
  html body #fcx table { min-width: 0; table-layout: auto; }
  html body #fcx colgroup, html body #fcx thead { display: none; }
  html body #fcx tbody tr { display: grid; grid-template-columns: 96px minmax(0, 1fr); column-gap: 16px; row-gap: 2px; padding: 18px 0; border-bottom: 1px solid rgba(56,56,56,.12); }
  html body #fcx tbody td { display: block; padding: 0; border: 0; font-size: 13px; max-width: none !important; }
  html body #fcx tbody td:first-child { grid-row: 1 / span 9; }
  html body #fcx tbody td:empty { display: none; }
  html body #fcx tbody tr:hover td { background: transparent; }
  html body #fcx tbody td:last-child { margin-top: 10px; }
  html body #fcx .pg { min-width: 0; max-width: 220px; }
}

/* Showrooms in the one-column layout (phones, tablets, narrow windows): each showroom shows its own photo to the right of its details */
.esr .esr-store__thumb { display: none; }
@media screen and (max-width: 989px) {
  .esr .esr-store:has(.esr-store__thumb) { grid-template-columns: minmax(0, 1fr) 112px !important; column-gap: 16px; row-gap: 6px; align-items: start; }
  .esr .esr-store:has(.esr-store__thumb) > h3 { grid-column: 1; }
  .esr .esr-store:has(.esr-store__thumb) > .esr-store__info { grid-column: 1; }
  .esr .esr-store__thumb { display: block; grid-column: 2; grid-row: 1 / span 2; width: 112px; height: 112px; object-fit: cover; background: #F6F3EE; }
}

/* ===== Locations page (Redesign: locations) ===== */
.esr .esr-locs { max-width: 1600px; margin: 0 auto; padding: clamp(40px, 5vw, 80px) clamp(16px, 4vw, 64px) clamp(56px, 6vw, 96px); }
.esr .esr-locs__head { max-width: 760px; margin-bottom: clamp(36px, 4vw, 64px); }
.esr .esr-locs__lede { margin: 18px 0 0; font-size: 1.7rem; line-height: 1.65; font-weight: 300; color: var(--esr-ink); }
.esr .esr-locs__group + .esr-locs__group { margin-top: clamp(48px, 5vw, 80px); }
.esr .esr-locs__country { font-family: var(--esr-body) !important; font-size: 1.15rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--esr-muted); padding-bottom: 14px; margin: 0 0 28px; border-bottom: 1px solid var(--esr-line); }
.esr .esr-locs__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 24px; }
.esr .esr-loc { display: flex; flex-direction: column; min-width: 0; }
.esr .esr-loc__media { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #F6F3EE; margin-bottom: 20px; }
.esr .esr-loc__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.esr .esr-loc:hover .esr-loc__media img { transform: scale(1.02); }
.esr .esr-loc__name { font-size: clamp(2.4rem, 2vw, 2.8rem); font-weight: 300; margin: 0 0 8px; }
.esr .esr-loc__addr, .esr .esr-loc__addr address { font-style: normal; font-size: 1.5rem; line-height: 1.5; color: var(--esr-ink); text-decoration: none; }
.esr a.esr-loc__addr:hover address { text-decoration: underline; text-underline-offset: 3px; }
.esr .esr-loc__meta { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 10px 0 0; font-size: 1.35rem; color: var(--esr-muted); }
.esr .esr-loc__meta a { color: var(--esr-muted); text-decoration: none; font-variant-numeric: tabular-nums; }
.esr .esr-loc__meta a:hover { color: var(--esr-ink); }
.esr .esr-loc__rating i { font-style: normal; color: var(--esr-ink); }
.esr .esr-loc__ctas { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 24px; margin-top: 22px; }
@media screen and (max-width: 989px) { .esr .esr-locs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media screen and (max-width: 599px) { .esr .esr-locs__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; } .esr .esr-loc__ctas .esr-btn { flex: 1; } }

/* Homepage AND the city homepages (page.seo-*) in the one-column layout (phones, tablets, narrow windows):
   transparent header over the hero photo;
   turns solid as soon as the page scrolls. --esr-header-h is measured by es-redesign.js. */
@media screen and (max-width: 989px) {
  :is(body.esr-tpl-index, body[data-template^="page.seo-"]) .section-header { margin-bottom: calc(-1 * var(--esr-header-h, 65px)); }
  :is(body.esr-tpl-index, body[data-template^="page.seo-"]) .section-header sticky-header { transition: background-color .25s ease, border-color .25s ease, box-shadow .25s ease; }
  :is(body.esr-tpl-index, body[data-template^="page.seo-"]):not(.esr-scrolled) .section-header sticky-header,
  :is(body.esr-tpl-index, body[data-template^="page.seo-"]):not(.esr-scrolled) .section-header sticky-header.gradient { background: transparent !important; border-bottom-color: transparent !important; box-shadow: none !important; }
  :is(body.esr-tpl-index, body[data-template^="page.seo-"]).esr-scrolled .section-header sticky-header { background: #FFFFFF !important; border-bottom-color: var(--esr-line, rgba(56,56,56,.12)) !important; }
  :is(body.esr-tpl-index, body[data-template^="page.seo-"]):not(.esr-scrolled) .section-header sticky-header::after,
  :is(body.esr-tpl-index, body[data-template^="page.seo-"]):not(.esr-scrolled) .section-header .header::after { opacity: 0; }
}

/* ===== Mobile menu drawer: same items as the desktop menu, redesign type ===== */
.menu-drawer .menu-drawer__navigation { padding: 8px 24px 24px !important; }
.menu-drawer .esr-mnav { margin: 0; padding: 0; list-style: none; }
.menu-drawer .esr-mnav > li { position: relative; display: block; padding: 0 !important; margin: 0 !important; border-bottom: 1px solid rgba(56,56,56,.12); font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important; font-size: 1.8rem !important; font-weight: 400; line-height: 1.3; letter-spacing: 0; color: #383838; }
.menu-drawer .esr-mnav > li.toggleParent { padding: 18px 40px 18px 0 !important; cursor: pointer; }
.menu-drawer .esr-mnav > li > a { display: block; padding: 18px 0 !important; color: #383838; text-decoration: none; font-size: inherit !important; }
.menu-drawer .esr-mnav > li > a[aria-current="page"] { text-decoration: underline; text-underline-offset: 4px; }
.menu-drawer .esr-mnav .toggle_sub { position: absolute !important; right: 0 !important; top: 18px !important; margin: 0 !important; width: 24px; height: 24px; display: grid; place-items: center; transition: transform .2s; }
.menu-drawer .esr-mnav .toggle_sub svg { width: 12px; height: 12px; }
/* the theme already flips .toggle_sub when open */
.menu-drawer .esr-mnav li > ul { list-style: none; margin: 14px 0 2px !important; padding: 0 0 0 14px !important; border-left: 1px solid rgba(56,56,56,.12); }
.menu-drawer .esr-mnav li > ul > li { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.menu-drawer .esr-mnav li > ul a { display: block; padding: 8px 0 !important; font-size: 1.55rem !important; font-weight: 300; color: #383838; text-decoration: none; }
.menu-drawer .esr-mnav__secondary { list-style: none; margin: 22px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 4px 16px; }
.menu-drawer .esr-mnav__secondary a { display: block; padding: 8px 0; font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important; font-size: 1.15rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: #898989; text-decoration: none; }
.menu-drawer .esr-mnav__secondary a:hover { color: #383838; }
.menu-drawer .esr-mnav__cta { display: flex; align-items: center; justify-content: center; margin: 12px 0 8px; padding: 16px 20px; background: #383838; border: 1px solid #383838; color: #FFFFFF !important; text-decoration: none; font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important; font-size: 1.2rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; }
.menu-drawer .menu-drawer__utility-links { padding: 18px 24px 28px !important; border-top: 1px solid rgba(56,56,56,.12); }

/* one-column layouts: a "sticky" photo must scroll with the page, otherwise it slides over the text below it */
@media screen and (max-width: 989px) {
  .esr .esr-media--sticky { position: relative !important; top: auto !important; }
}
/* transparent header: white logo + icons, with a soft fade behind them so white stays legible on the light hero */
@media screen and (max-width: 989px) {
  :is(body.esr-tpl-index, body[data-template^="page.seo-"]):not(.esr-scrolled) .section-header sticky-header { background: linear-gradient(to bottom, rgba(20,20,20,.28), rgba(20,20,20,0)) !important; }
  :is(body.esr-tpl-index, body[data-template^="page.seo-"]):not(.esr-scrolled) .section-header .header__heading-link,
  :is(body.esr-tpl-index, body[data-template^="page.seo-"]):not(.esr-scrolled) .section-header .header__heading-link *,
  :is(body.esr-tpl-index, body[data-template^="page.seo-"]):not(.esr-scrolled) .section-header .header__icon,
  :is(body.esr-tpl-index, body[data-template^="page.seo-"]):not(.esr-scrolled) .section-header .header__icon *,
  :is(body.esr-tpl-index, body[data-template^="page.seo-"]):not(.esr-scrolled) .section-header header-drawer summary,
  :is(body.esr-tpl-index, body[data-template^="page.seo-"]):not(.esr-scrolled) .section-header header-drawer summary * { color: #FFFFFF !important; }
  :is(body.esr-tpl-index, body[data-template^="page.seo-"]):not(.esr-scrolled) .section-header .header__heading-link svg path { fill: currentColor !important; }
  :is(body.esr-tpl-index, body[data-template^="page.seo-"]):not(.esr-scrolled) .section-header .cart-count-bubble { background: #FFFFFF !important; color: #383838 !important; }
  :is(body.esr-tpl-index, body[data-template^="page.seo-"]) .section-header .header__heading-link, :is(body.esr-tpl-index, body[data-template^="page.seo-"]) .section-header .header__icon { transition: color .25s ease; }
  /* menu open: drawer is white, so go back to dark */
  :is(body.esr-tpl-index, body[data-template^="page.seo-"]):not(.esr-scrolled) .section-header header-drawer details[open] summary,
  :is(body.esr-tpl-index, body[data-template^="page.seo-"]):not(.esr-scrolled) .section-header header-drawer details[open] summary * { color: #383838 !important; }
}

/* mobile drawer: country selector follows the links (it was pinned to the bottom, under the fold) */
.menu-drawer .menu-drawer__inner-container { overflow-y: auto; }
.menu-drawer .menu-drawer__navigation-container { height: auto !important; min-height: 0 !important; display: block !important; }
.menu-drawer .menu-drawer__utility-links { margin-top: 0 !important; padding: 6px 24px 32px !important; border-top: 0 !important; background: transparent !important; }
.menu-drawer .mobile_menu-localization .es-country-selector__toggle { display: flex; width: 100%; justify-content: space-between; padding: 14px 16px; border: 1px solid rgba(56,56,56,.18); font-size: 1.3rem !important; letter-spacing: .08em; }

/* Price tables (tablet/desktop): mill names sit on the same line as the prices (bottom-aligned, "from" stacked above),
   and the price columns share the width evenly with the same left alignment */
@media screen and (min-width: 750px) {
  .esr .esr-ptable:not(.esr-ptable--single) { table-layout: fixed; }
  .esr .esr-ptable:not(.esr-ptable--single) thead th:first-child { width: 34%; }
  .esr .esr-ptable tbody th { text-align: left !important; word-spacing: normal !important; letter-spacing: 0 !important; }
  .esr .esr-ptable:not(.esr-ptable--single) tbody th,
  .esr .esr-ptable:not(.esr-ptable--single) tbody td { vertical-align: bottom; }
  .esr .esr-ptable:not(.esr-ptable--single) tbody th { line-height: 1.15; padding-bottom: 16px; }
  .esr .esr-ptable:not(.esr-ptable--single) td { line-height: 1.2; padding-bottom: 16px; }
  .esr .esr-split .esr-ptable:not(.esr-ptable--single) th:last-child,
  .esr .esr-split .esr-ptable:not(.esr-ptable--single) td:last-child { text-align: left; }
  .esr .esr-ptable:not(.esr-ptable--single) thead th { white-space: normal; vertical-align: bottom; }
}

/* ===== Product pages: selling points bar (replaces the old "previlegies" row) ===== */
.esr .esr-usp { background: #F6F3EE; }
.esr .esr-usp__list { list-style: none; margin: 0 auto; max-width: 1600px; padding: clamp(40px, 5vw, 72px) clamp(16px, 4vw, 64px); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px clamp(24px, 4vw, 64px); }
.esr .esr-usp__list li { display: grid; grid-template-columns: 36px minmax(0, 1fr); column-gap: 18px; align-items: start; }
.esr .esr-usp__list svg { width: 32px; height: 32px; color: #8A8378; grid-row: 1 / span 2; margin-top: 2px; }
.esr .esr-usp__label { margin: 0 0 8px; font-family: var(--esr-body) !important; font-size: 1.1rem; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--esr-muted); }
.esr .esr-usp__line { margin: 0; font-family: var(--esr-display) !important; font-size: clamp(2rem, 1.6vw, 2.4rem); font-weight: 300; line-height: 1.3; color: var(--esr-ink); max-width: 32ch; }
@media screen and (max-width: 989px) {
  .esr .esr-usp__list { grid-template-columns: minmax(0, 1fr); gap: 26px; }
}

/* Collections on phones: one product per row, whole photo (no cropped shoes) */
@media screen and (max-width: 749px) {
  .esr-pgrid #product-grid, .esr-pgrid .product-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 40px !important; }
  .esr-pgrid .card__heading { font-size: 1.6rem !important; }
}
/* collection cards on phones: the image slider reserved 30px under the photo for its dots, cutting off the shoes —
   dots now sit on the photo */
@media screen and (max-width: 749px) {
  .esr-pgrid .mobile_media_slider { padding-bottom: 0 !important; }
  .esr-pgrid .mobile_media_slider .slick-list { height: auto !important; }
  .esr-pgrid .mobile_media_slider .slick-dots { position: absolute; left: 0; right: 0; bottom: 10px; margin: 0; }
}

/* Menu order (theme-side, the shared Shopify menu is untouched): Pricing before Fabrics — desktop and mobile */
.header__inline-menu > ul > li:has(> a[href*="#fabrics"]),
.header__inline-menu > ul > li:has(> a[href*="#fabrics"]) ~ li:not(:has(> a[href*="/pages/pricing"])) { order: 1; }
.menu-drawer .esr-mnav { display: flex; flex-direction: column; }
.menu-drawer .esr-mnav > li:has(> a[href*="#fabrics"]),
.menu-drawer .esr-mnav > li:has(> a[href*="#fabrics"]) ~ li:not(:has(> a[href*="/pages/pricing"])) { order: 1; }

/* mobile menu: tapped item gives feedback before the menu closes */
.menu-drawer .esr-mnav a, .menu-drawer .esr-mnav__secondary a { transition: background-color .15s ease, color .15s ease; }
.menu-drawer .esr-mnav a.is-pressed, .menu-drawer .esr-mnav__secondary a.is-pressed { background: #F6F3EE; color: #383838; }
.menu-drawer .esr-mnav > li > a.is-pressed { margin: 0 -24px !important; padding-left: 24px !important; padding-right: 24px !important; }
.menu-drawer .esr-mnav__cta.is-pressed { background: #000; }


/* Press logos on phones/tablets: tidy rows (3 + 2, centred), each logo centred in an equal cell */
@media screen and (max-width: 989px) {
  .esr .esr-press { display: flex !important; flex-wrap: wrap; justify-content: center; align-items: center; gap: 22px 0 !important; margin: 0; padding: 0; width: 100%; }
  .esr .esr-press li { flex: 0 0 33.333%; display: flex; justify-content: center; align-items: center; height: 30px; margin: 0; }
  .esr .esr-press img { max-width: 80%; max-height: 24px; width: auto; height: auto !important; object-fit: contain; }
}

/* Locations: countries with one showroom share a row (e.g. Singapore + Zürich); multi-showroom countries span the row */
.esr .esr-locs__groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 24px; row-gap: clamp(48px, 5vw, 80px); }
.esr .esr-locs__groups > .esr-locs__group { margin: 0 !important; min-width: 0; }
.esr .esr-locs__groups > .esr-locs__group--multi { grid-column: 1 / -1; }
.esr .esr-locs__groups > .esr-locs__group:not(.esr-locs__group--multi) .esr-locs__grid { grid-template-columns: minmax(0, 1fr); }
@media screen and (max-width: 989px) { .esr .esr-locs__groups { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media screen and (max-width: 599px) { .esr .esr-locs__groups { grid-template-columns: minmax(0, 1fr); } }

/* FAQ items (esr-split "FAQ item" blocks) */
.esr .esr-faq { border-top: 1px solid var(--esr-line); }
.esr .esr-faq:last-of-type { border-bottom: 1px solid var(--esr-line); }
.esr .esr-faq + .esr-ctas, .esr .esr-faq:first-of-type { margin-top: 8px; }
.esr .esr-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 0; font-size: 1.6rem; font-weight: 500; line-height: 1.4; }
.esr .esr-faq summary::-webkit-details-marker { display: none; }
.esr .esr-faq summary::after { content: "+"; font-size: 2.2rem; font-weight: 300; line-height: 1; flex: none; transition: transform .2s; }
.esr .esr-faq[open] summary::after { transform: rotate(45deg); }
.esr .esr-faq .esr-rte { padding: 0 0 20px; color: var(--esr-muted); font-size: 1.5rem; }
.esr .esr-faq .esr-rte p { margin: 0 0 .6em; }

/* category header: more room under the intro / link */
.esr .esr-chead { padding-bottom: clamp(40px, 5vw, 72px); }
.esr .esr-chead__subs { margin-bottom: 0; }

/* gifts collection: 3 columns from tablet up */
@media screen and (min-width: 750px) {
  body[data-template="collection.gift-experience-coll"] .esr-pgrid #product-grid,
  body[data-template="collection.gift-experience-coll"] .esr-pgrid .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

/* filter button: readable hover (theme default turned the text white on white) */
.esr-pgrid .mobile-facets__open:hover, .facets-wrapper .mobile-facets__open:hover { color: #383838 !important; background: #F6F3EE !important; border-color: #383838 !important; }
.esr-pgrid .mobile-facets__open:hover *, .facets-wrapper .mobile-facets__open:hover * { color: #383838 !important; }
.esr-pgrid .mobile-facets__open:hover line, .esr-pgrid .mobile-facets__open:hover circle, .facets-wrapper .mobile-facets__open:hover line, .facets-wrapper .mobile-facets__open:hover circle { stroke: #383838 !important; }

/* ================= journal: list + article ================= */
.esr .esr-blog { max-width: var(--esr-maxw); margin: 0 auto; padding: clamp(40px, 5vw, 80px) var(--esr-gutter) clamp(56px, 6vw, 96px); }
.esr .esr-blog__head { display: grid; gap: 14px; margin-bottom: clamp(32px, 4vw, 56px); max-width: 860px; }
.esr .esr-blog__intro { font-size: 1.6rem; line-height: 1.6; color: var(--esr-ink); }
.esr .esr-blog__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(36px, 4vw, 56px) clamp(16px, 2vw, 28px); }
.esr .esr-card { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.esr .esr-card__media { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--esr-paper); }
.esr .esr-card__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; transition: transform .6s ease; }
.esr .esr-card:hover .esr-card__media img { transform: scale(1.03); }
.esr .esr-card__body { display: grid; gap: 8px; }
.esr .esr-card__title { font-family: var(--esr-display) !important; font-weight: 400; font-size: clamp(2.2rem, 2vw, 2.8rem); line-height: 1.15; margin: 0; }
.esr .esr-card__title a { color: inherit; text-decoration: none; }
.esr .esr-card__title a:hover { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.esr .esr-card__excerpt { font-size: 1.45rem; line-height: 1.6; color: var(--esr-muted); margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.esr .esr-card__meta { font-size: 1.2rem; letter-spacing: .06em; color: var(--esr-muted); margin: 0; }
/* feature: newest article spans the full row, image | text */
.esr .esr-card--feature { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(20px, 4vw, 64px); align-items: center; background: var(--esr-paper); }
.esr .esr-card--feature .esr-card__media { aspect-ratio: 3 / 2; }
.esr .esr-card--feature .esr-card__body { padding: 24px clamp(20px, 4vw, 56px) 24px 0; gap: 14px; }
.esr .esr-card--feature .esr-card__title { font-size: clamp(3rem, 3.4vw, 4.6rem); }
.esr .esr-card--feature .esr-card__excerpt { -webkit-line-clamp: 5; font-size: 1.55rem; }
.esr .esr-blog__pages { display: flex; justify-content: space-between; align-items: center; margin-top: 56px; padding-top: 24px; border-top: 1px solid var(--esr-line); font-size: 1.3rem; }
.esr .esr-blog--related { padding-top: 0; }
.esr .esr-blog--related > .esr-h2 { margin-bottom: 32px; }
@media screen and (max-width: 989px) {
  .esr .esr-blog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .esr .esr-card--feature { grid-template-columns: 1fr; }
  .esr .esr-card--feature .esr-card__body { padding: 0 20px 24px; }
}
@media screen and (max-width: 749px) {
  .esr .esr-blog__grid { grid-template-columns: 1fr; }
}

.esr .esr-article { max-width: var(--esr-maxw); margin: 0 auto; padding: clamp(32px, 4vw, 64px) var(--esr-gutter) clamp(40px, 5vw, 72px); }
.esr .esr-article__head { max-width: 860px; margin: 0 auto clamp(28px, 3vw, 44px); display: grid; gap: 14px; text-align: center; justify-items: center; }
.esr .esr-article__back { font-size: 1.2rem; letter-spacing: .14em; text-transform: uppercase; color: var(--esr-muted); text-decoration: none; }
.esr .esr-article__back:hover { color: var(--esr-ink); }
.esr .esr-article__title { font-size: clamp(3.6rem, 4.6vw, 6.4rem); }
.esr .esr-article__meta { font-size: 1.3rem; letter-spacing: .06em; color: var(--esr-muted); margin: 0; }
.esr .esr-article__hero { max-width: 1100px; margin: 0 auto clamp(32px, 4vw, 56px); background: var(--esr-paper); }
.esr .esr-article__hero img { display: block; width: 100%; height: auto; }
.esr .esr-article__body { max-width: 720px; margin: 0 auto; font-size: 1.7rem; line-height: 1.75; color: var(--esr-ink); font-weight: 300; }
.esr .esr-article__body > * + * { margin-top: 1.1em; }
.esr .esr-article__body h2, .esr .esr-article__body h3 { font-family: var(--esr-display) !important; font-weight: 400; line-height: 1.15; margin-top: 1.8em; }
.esr .esr-article__body h2 { font-size: clamp(2.8rem, 2.6vw, 3.4rem); }
.esr .esr-article__body h3 { font-size: clamp(2.2rem, 2vw, 2.6rem); }
.esr .esr-article__body h4, .esr .esr-article__body h5 { font-size: 1.3rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 500; margin-top: 1.8em; }
.esr .esr-article__body a { color: var(--esr-ink); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.esr .esr-article__body img { display: block; width: 100%; height: auto; margin: 1.6em 0; }
.esr .esr-article__body ul, .esr .esr-article__body ol { padding-left: 1.2em; }
.esr .esr-article__body li + li { margin-top: .4em; }
.esr .esr-article__body blockquote { margin: 1.6em 0; padding: 0 0 0 24px; border-left: 2px solid var(--esr-ink); font-family: var(--esr-display); font-size: 2.2rem; line-height: 1.4; }
.esr .esr-article__body table { width: 100%; border-collapse: collapse; font-size: 1.45rem; }
.esr .esr-article__body th, .esr .esr-article__body td { border-bottom: 1px solid var(--esr-line); padding: 10px 8px; text-align: left; }
.esr .esr-article__cta { max-width: 1100px; margin: clamp(48px, 6vw, 88px) auto 0; padding: clamp(28px, 4vw, 48px); background: var(--esr-paper); display: flex; justify-content: space-between; align-items: center; gap: 24px 48px; flex-wrap: wrap; }
.esr .esr-article__cta > div:first-child { max-width: 620px; display: grid; gap: 10px; }
.esr .esr-article__cta p { margin: 0; color: var(--esr-ink); font-size: 1.5rem; line-height: 1.6; }

/* wardrobe guide: the legacy masonry gallery overflowed by ~16px (horizontal scroll) */
body[data-template^="article.blog-wardrobe"] main { overflow-x: clip; }
body[data-template^="article.blog-wardrobe"] .masonry { max-width: 100%; }

/* ================= help centre (/a/help, third-party app) — CSS only ================= */
.BtdShopifyPageBody { -webkit-font-smoothing: antialiased; color: #383838; }
.BtdShopifyPageBody .BtdShopifyContainer { max-width: 1600px !important; margin: 0 auto !important; padding: 0 clamp(16px, 4vw, 64px) !important; }
.BtdShopifyPageBody .BtdShopifyHeroArea { background: #F6F3EE !important; padding: clamp(48px, 6vw, 96px) 0 clamp(40px, 5vw, 72px) !important; min-height: 0 !important; }
.BtdShopifyPageBody .BtdShopifyHeroAreaInner { min-height: 0 !important; padding: 0 !important; }
.BtdShopifyPageBody .BtdShopifySearchSection { align-items: flex-start !important; text-align: left !important; max-width: 860px; }
.BtdShopifyPageBody .BtdShopifySearchTitle { font-family: "Teodor", "Didot", Georgia, serif !important; font-weight: 300 !important; font-size: clamp(4rem, 5.4vw, 7.2rem) !important; line-height: 1.05 !important; letter-spacing: -.01em; color: #383838 !important; margin: 0 0 12px !important; }
.BtdShopifyPageBody .BtdShopifySearchSubTitle { font-size: 1.6rem !important; font-weight: 300 !important; color: #383838 !important; margin: 0 0 28px !important; letter-spacing: 0 !important; text-transform: none !important; }
.BtdShopifyPageBody .BtdShopifySearchWrapper { width: 100% !important; max-width: 640px !important; margin: 0 !important; }
.BtdShopifyPageBody .BtdShopifySearchInput { width: 100% !important; height: 56px !important; border: 1px solid rgba(56,56,56,.25) !important; border-radius: 0 !important; background: #FFFFFF !important; box-shadow: none !important; padding: 0 20px 0 48px !important; font-size: 1.5rem !important; color: #383838 !important; }
.BtdShopifyPageBody .BtdShopifySearchInput:focus { border-color: #383838 !important; outline: none !important; }
.BtdShopifyPageBody .BtdShopifyContentArea { padding: clamp(40px, 5vw, 72px) 0 clamp(56px, 6vw, 96px) !important; background: #FFFFFF !important; }
.BtdShopifyPageBody .BtdShopifyTabContentWrapper { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: clamp(20px, 2.4vw, 36px) !important; margin: 0 !important; }
.BtdShopifyPageBody .BtdShopifyTabContent { width: auto !important; max-width: none !important; margin: 0 !important; background: #FFFFFF !important; border: 0 !important; border-top: 1px solid #383838 !important; border-radius: 0 !important; box-shadow: none !important; padding: 22px 0 0 !important; display: flex; flex-direction: column; }
.BtdShopifyPageBody .BtdShopifyTabContentHeader { display: flex !important; align-items: baseline !important; gap: 12px !important; padding: 0 !important; margin: 0 0 14px !important; border: 0 !important; background: none !important; }
.BtdShopifyPageBody .BtdShopifyTabContentHeaderImage { display: none !important; }
.BtdShopifyPageBody .BtdShopifyTabContentHeaderTitle, .BtdShopifyPageBody .BtdShopifyTabContentHeaderTitleLink { font-family: "Teodor", "Didot", Georgia, serif !important; font-weight: 400 !important; font-size: clamp(2.4rem, 2.2vw, 3rem) !important; line-height: 1.1 !important; color: #383838 !important; text-decoration: none !important; margin: 0 !important; }
.BtdShopifyPageBody .bd-badge { background: transparent !important; color: #898989 !important; font-size: 1.2rem !important; letter-spacing: .08em; padding: 0 !important; min-width: 0 !important; height: auto !important; border-radius: 0 !important; }
.BtdShopifyPageBody .BtdShopifyTabContentBody { padding: 0 !important; flex: 1; }
.BtdShopifyPageBody .BtdShopifyTabContentListItem { border-bottom: 1px solid rgba(56,56,56,.14) !important; margin: 0 !important; padding: 0 !important; }
.BtdShopifyPageBody .BtdShopifyTabContentListItemLink { display: flex !important; gap: 10px; padding: 13px 0 !important; font-size: 1.45rem !important; line-height: 1.45 !important; color: #383838 !important; text-decoration: none !important; background: none !important; }
.BtdShopifyPageBody .BtdShopifyTabContentListItemLink:hover { text-decoration: underline !important; text-underline-offset: 3px; }
.BtdShopifyPageBody .BtdShopifyTabContentListItemLink .BtdShopifyIcon { display: none !important; }
.BtdShopifyPageBody .BtdShopifyTabContentFooter { padding: 18px 0 0 !important; background: none !important; border: 0 !important; text-align: left !important; }
.BtdShopifyPageBody .BtdShopifySmallButton, .BtdShopifyPageBody .BtdShopifyPrimaryButton { background: transparent !important; color: #383838 !important; border: 0 !important; border-bottom: 1px solid #383838 !important; border-radius: 0 !important; padding: 0 0 3px !important; font-size: 1.2rem !important; font-weight: 500 !important; letter-spacing: .16em !important; text-transform: uppercase !important; box-shadow: none !important; }
.BtdShopifyPageBody ~ * .cannotfind, .cannotfind { max-width: 1600px; margin: 0 auto; padding: 0 clamp(16px, 4vw, 64px) clamp(56px, 6vw, 96px); font-size: 1.5rem; color: #383838; }
.cannotfind a { color: #383838; text-decoration: underline; text-underline-offset: 3px; }
@media screen and (max-width: 989px) { .BtdShopifyPageBody .BtdShopifyTabContentWrapper { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media screen and (max-width: 749px) { .BtdShopifyPageBody .BtdShopifyTabContentWrapper { grid-template-columns: 1fr !important; } }

/* Journal lives in the footer only: hide it in the top navigation and the mobile menu (shared menu left untouched) */
.header__inline-menu > ul > li:has(> a[href*="/blogs/news"]), .header__inline-menu > ul > li:has(> a[href$="#journal"]), .menu-drawer .esr-mnav > li:has(> a[href$="#journal"]),
.header__inline-menu > ul > li:has(> header-menu a[href*="/blogs/news"]),
.menu-drawer .esr-mnav > li:has(> a[href*="/blogs/news"]) { display: none !important; }

/* heroes with an uncropped (natural) photo: the block takes the photo's height instead of the fixed hero height */
@media screen and (min-width: 990px) {
  .esr .esr-hero:has(.esr-media--natural) { height: auto; }
  .esr .esr-hero:has(.esr-media--natural) .esr-media { height: auto; }
  .esr .esr-hero:has(.esr-media--natural) .esr-media img { height: auto; }
  .esr .esr-hero:has(.esr-media--natural) .esr-text { padding-top: clamp(24px, 3vw, 56px); padding-bottom: clamp(24px, 3vw, 56px); }
}

/* about page: founder portrait shown small, centred on the warm panel */
[id*="esr_about_founders"] .esr-media { background: #F6F3EE; display: flex; align-items: center; justify-content: center; padding: clamp(24px, 4vw, 56px); }
[id*="esr_about_founders"] .esr-media img { width: min(100%, 300px) !important; height: auto !important; }

/* ================= account: login / register / reset (CSS only — forms and scripts untouched) ================= */
.account-template { background: #F6F3EE !important; padding: clamp(40px, 6vw, 104px) 16px !important; -webkit-font-smoothing: antialiased; color: #383838; }
.account-template .customer.login, .account-template .customer.register { max-width: 1040px !important; margin: 0 auto !important; padding: 0 !important; display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0; align-items: stretch; }
.account-template .account-forms { order: 1; width: auto !important; background: #FFFFFF; padding: clamp(32px, 4.5vw, 64px) !important; }
.account-template .note { order: 2; width: auto !important; background: #383838; color: #FFFFFF; padding: clamp(32px, 4.5vw, 64px) !important; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 18px; }
.account-template h1, .account-template h2.h1, .account-template .note h2 { font-family: "Teodor", Didot, Georgia, serif !important; font-weight: 300 !important; font-size: clamp(3.4rem, 3.6vw, 4.8rem) !important; line-height: 1.05 !important; letter-spacing: -.01em; text-transform: none !important; margin: 0 0 20px !important; text-align: left !important; color: inherit; }
.account-template h1 small, .account-template h2 small, .account-template .caption-with-letter-spacing { display: block; font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important; font-size: 1.15rem !important; font-weight: 500 !important; letter-spacing: .2em !important; text-transform: uppercase; color: #898989; margin: 0 0 14px; }
.account-template .note .caption-with-letter-spacing { color: rgba(255,255,255,.65); }
.account-template .note p, .account-template .note { font-size: 1.5rem; line-height: 1.6; font-weight: 300; }
.account-template .note p, .account-template .note .rte, .account-template .note div { margin: 0; color: rgba(255,255,255,.88) !important; }
.account-template p { font-size: 1.45rem; line-height: 1.6; font-weight: 300; color: inherit; text-align: left; }
.account-template .field { margin: 0 0 16px !important; }
.account-template .field input { border: 1px solid rgba(56,56,56,.22) !important; border-radius: 0 !important; background: #FFFFFF !important; height: 54px !important; box-shadow: none !important; font-size: 1.5rem !important; color: #383838 !important; }
.account-template .field input:focus { border-color: #383838 !important; outline: none !important; }
.account-template .field::before, .account-template .field::after { display: none !important; }
.account-template .field label { color: #898989 !important; font-size: 1.4rem; }
.account-template .account-forms a { color: #383838; text-decoration: underline; text-underline-offset: 3px; font-size: 1.35rem; }
.account-template .account-forms button, .account-template .account-forms .button:not(.button--secondary), .account-template input[type="submit"] { width: 100%; height: 56px !important; min-height: 0 !important; margin-top: 22px; background: #383838 !important; color: #FFFFFF !important; border: 1px solid #383838 !important; border-radius: 0 !important; box-shadow: none !important; font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important; font-size: 1.2rem !important; font-weight: 500 !important; letter-spacing: .16em !important; text-transform: uppercase; cursor: pointer; transition: background .2s, color .2s; }
.account-template .account-forms button:hover, .account-template input[type="submit"]:hover { background: transparent !important; color: #383838 !important; }
.account-template .account-forms button::before, .account-template .account-forms button::after, .account-template .button::before, .account-template .button::after { display: none !important; }
.account-template .note .button, .account-template .note a.button--secondary { margin-top: 8px; display: inline-flex; align-items: center; justify-content: center; height: 54px; padding: 0 28px; background: transparent !important; color: #FFFFFF !important; border: 1px solid #FFFFFF !important; border-radius: 0 !important; box-shadow: none !important; font-size: 1.2rem !important; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; text-decoration: none; }
.account-template .note .button:hover { background: #FFFFFF !important; color: #383838 !important; }
.account-template .reset_buttons { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 8px; }
.account-template .reset_buttons button { width: auto; flex: 1; margin-top: 0; }
.account-template .form__message { font-size: 1.3rem; }
@media screen and (max-width: 749px) {
  .account-template .customer.login, .account-template .customer.register { grid-template-columns: 1fr; }
  .account-template .note { order: 2; }
}

/* city pages: showroom block kept compact (less padding, image follows the text height) */
@media screen and (min-width: 750px) {
  [id*="esr_city_showroom"] .esr-text { padding-top: clamp(32px, 3.5vw, 56px) !important; padding-bottom: clamp(32px, 3.5vw, 56px) !important; gap: 14px; }
  [id*="esr_city_showroom"] .esr-text .esr-h2 { margin-bottom: 0; }
}

/* category header + sub-collection strip: one consistent gap under the intro link and under the strip */
.esr .esr-chead { padding-bottom: clamp(32px, 3.5vw, 48px); }
.esr .esr-chead.esr-chead--subs { padding-top: 0 !important; padding-bottom: clamp(32px, 3.5vw, 48px) !important; }
.esr .esr-chead { padding-bottom: clamp(24px, 2.6vw, 36px); }
.esr .esr-chead.esr-chead--subs { padding-bottom: clamp(16px, 1.8vw, 24px) !important; }
.esr .esr-chead--subs .esr-chead__subs a { padding-top: 8px !important; padding-bottom: 8px !important; }

/* ================= search page ================= */
.esr-tpl-search main { -webkit-font-smoothing: antialiased; color: #383838; }
.esr-tpl-search .template-search { padding: 0 !important; }
.esr-tpl-search .template-search__header { background: #F6F3EE; text-align: left !important; padding: clamp(40px, 5vw, 80px) clamp(16px, 4vw, 64px) clamp(32px, 4vw, 56px) !important; margin: 0 0 clamp(28px, 3vw, 44px) !important; display: block !important; }
.esr-tpl-search .esr-search__head, .esr-tpl-search .template-search__search { max-width: 1600px; margin: 0 auto !important; }
.esr-tpl-search .esr-search__head { display: grid; gap: 12px; margin-bottom: 28px !important; }
.esr-tpl-search .esr-search__head .esr-h1 { font-size: clamp(3.6rem, 4.6vw, 6.4rem); word-break: break-word; }
.esr-tpl-search .esr-search__count { margin: 0; font-size: 1.5rem; font-weight: 300; color: #383838; }
.esr-tpl-search .template-search__search { max-width: 720px !important; margin-left: max(0px, calc((100% - 1600px) / 2)) !important; }
.esr-tpl-search .template-search__search .field { border: 0 !important; box-shadow: none !important; }
.esr-tpl-search .template-search__search .field::before, .esr-tpl-search .template-search__search .field::after { display: none !important; }
.esr-tpl-search .template-search__search .search__input { height: 60px !important; border: 1px solid rgba(56,56,56,.25) !important; border-radius: 0 !important; background: #FFFFFF !important; box-shadow: none !important; padding: 0 56px 0 20px !important; font-size: 1.6rem !important; color: #383838 !important; }
.esr-tpl-search .template-search__search .search__input:focus { border-color: #383838 !important; outline: none !important; }
.esr-tpl-search .template-search__search .field__label { left: 20px !important; color: #898989 !important; font-size: 1.5rem !important; }
.esr-tpl-search .template-search__search .search__button { right: 6px !important; height: 60px !important; }
.esr-tpl-search .template-search__search .page_back { display: none !important; }
.esr-tpl-search .template-search__header > p[role="status"] { max-width: 1600px; margin: 18px auto 0; font-size: 1.5rem; font-weight: 300; }
.esr-tpl-search .product-count-vertical, .esr-tpl-search #ProductCountDesktop { display: none !important; }
.esr-tpl-search .esr-pgrid--search { max-width: 1600px; margin: 0 auto; padding: 0 clamp(16px, 4vw, 64px) clamp(48px, 6vw, 96px) !important; }
.esr-pgrid.esr-pgrid--search #product-grid ul.product-grid, .esr-pgrid.esr-pgrid--search .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 44px 20px !important; }
@media screen and (max-width: 989px) { .esr-pgrid.esr-pgrid--search .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media screen and (max-width: 749px) { .esr-pgrid.esr-pgrid--search .product-grid { gap: 32px 10px !important; } }
.esr-tpl-search .pagination-wrapper { margin-top: 48px; }
.esr-tpl-search .pagination__item { border-radius: 0 !important; }
.esr-tpl-search .pagination__item--current { background: #383838 !important; color: #FFFFFF !important; }
.esr-pgrid.esr-pgrid--search #product-grid { display: block !important; }
.esr-tpl-search .template-search__search .field { position: relative; display: block !important; }
.esr-tpl-search .template-search__search .search__input { width: 100% !important; padding: 0 84px 0 52px !important; }
.esr-tpl-search .template-search__search .field__label { left: 52px !important; }
.esr-tpl-search .template-search__search .search__button { left: 6px !important; right: auto !important; top: 0 !important; }
.esr-tpl-search .template-search__search .input--clear_search_field { position: absolute !important; right: 18px; top: 50%; transform: translateY(-50%); background: none; border: 0; padding: 0; font-size: 1.15rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: #383838; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; z-index: 2; }

/* legacy "See more" buttons (masonry / galleries) in the redesign style */
.view_more_button .button { border-radius: 0 !important; background: #383838 !important; color: #FFFFFF !important; border: 1px solid #383838 !important; box-shadow: none !important; font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important; font-size: 1.2rem !important; font-weight: 500 !important; letter-spacing: .16em !important; text-transform: uppercase !important; padding: 16px 28px !important; min-height: 0 !important; height: auto !important; transition: background .2s, color .2s; }
.view_more_button .button:hover { background: transparent !important; color: #383838 !important; }
.view_more_button .button::before, .view_more_button .button::after { display: none !important; }

/* journal article: wider reading column */
.esr .esr-article__body { max-width: 860px; }
.esr .esr-article__head { max-width: 980px; }
.esr .esr-article__hero { max-width: 1240px; }
.esr .esr-article__cta { max-width: 1240px; }

/* ================= outfit builder (versatile wardrobe) ================= */
.esr .esr-ob { max-width: var(--esr-maxw); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: stretch; }
.esr .esr-ob.esr-bg-paper { background: #F6F3EE; }
.esr .esr-ob__stage { background: #E9E2D9; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: clamp(24px, 4vw, 56px) 16px; }
.esr .esr-ob__look { margin: 0; width: min(100%, 320px); aspect-ratio: 9 / 20; }
.esr .esr-ob__look img { width: 100%; height: 100%; object-fit: contain; display: block; transition: opacity .2s; }
.esr .esr-ob__caption { margin: 0; font-size: 1.2rem; letter-spacing: .12em; text-transform: uppercase; color: #383838; text-align: center; min-height: 1.4em; }
.esr .esr-ob__panel { display: flex; flex-direction: column; gap: 22px; padding: clamp(32px, 5vw, 88px) clamp(20px, 5vw, 88px); }
.esr .esr-ob__group { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.esr .esr-ob__group legend { width: 100%; padding: 0; margin: 0 0 10px; font-size: 1.15rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: #898989; }
.esr .esr-ob__chip { position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px 9px 10px; border: 1px solid rgba(56,56,56,.2); background: #FFFFFF; cursor: pointer; font-size: 1.35rem; color: #383838; transition: border-color .15s; }
.esr .esr-ob__chip input { position: absolute; opacity: 0; pointer-events: none; }
.esr .esr-ob__chip:hover { border-color: #383838; }
.esr .esr-ob__chip:has(input:checked) { border-color: #383838; box-shadow: inset 0 0 0 1px #383838; }
.esr .esr-ob__chip:has(input:focus-visible) { outline: 2px solid #383838; outline-offset: 2px; }
.esr .esr-ob__sw { width: 18px; height: 18px; border-radius: 50%; background: var(--sw); box-shadow: inset 0 0 0 1px rgba(0,0,0,.18); flex: none; }
.esr .esr-ob__sum { margin: 0; font-family: var(--esr-display) !important; font-size: clamp(2rem, 1.8vw, 2.4rem); line-height: 1.3; color: #383838; }
@media screen and (max-width: 989px) {
  .esr .esr-ob { grid-template-columns: 1fr; }
  .esr .esr-ob__look { width: min(60vw, 240px); }
}

/* journal headings use the light Teodor cut like the rest of the site (Regular read as bold) */
.esr .esr-article__body h1, .esr .esr-article__body h2, .esr .esr-article__body h3, .esr .esr-article__body h2 strong, .esr .esr-article__body h3 strong,
.esr .esr-card__title, .esr .esr-blog--related > .esr-h2, .esr .esr-article__cta .esr-h2, .esr .esr-article__body blockquote { font-weight: 300 !important; }

/* ---------- Lookbook (AW26/27) ---------- */
.esr .esr-lb { max-width: var(--esr-maxw); margin: 0 auto; padding: 0 clamp(8px, 1.5vw, 20px) clamp(32px, 4vw, 64px); }
.esr .esr-lb__banner { text-align: left; padding: clamp(40px, 6vw, 96px) 0 clamp(24px, 3vw, 44px); max-width: 760px; margin: 0; }
.esr .esr-lb__title { font-family: var(--esr-display, inherit); font-weight: 300; letter-spacing: -0.01em; font-size: clamp(2.2rem, 5.5vw, 4.2rem); line-height: 1.04; margin: 10px 0 0; }
.esr .esr-lb__intro { margin-top: 16px; margin-left: 0; color: var(--esr-muted); font-size: 1.02rem; line-height: 1.6; }
/* two up on every screen, tight gutters */
.esr .esr-lb__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.esr .esr-lb__look { display: block; padding: 0; margin: 0; }
.esr .esr-lb__media { margin: 0; }
.esr .esr-lb__media img, .esr .esr-lb__ph { width: 100%; height: auto; display: block; aspect-ratio: 2 / 3; object-fit: cover; background: #EFEBE4; }
.esr .esr-lb__info { max-width: none; padding: 10px 2px 4px; }
.esr .esr-lb__look-title { font-weight: 400; font-size: clamp(1.05rem, 1.5vw, 1.35rem); line-height: 1.2; margin: 0 0 6px; }
.esr .esr-lb__spec { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 8px; margin: 6px 0 0; color: var(--esr-muted); font-size: 0.86rem; }
.esr .esr-lb__spec span + span::before { content: "/"; margin-right: 8px; color: var(--esr-line, #D9D4CA); }
.esr .esr-lb__spec .esr-lb__price { color: var(--esr-ink); }
@media (max-width: 599px) {
  .esr .esr-lb { padding-left: 6px; padding-right: 6px; }
  .esr .esr-lb__grid { gap: 6px; }
  .esr .esr-lb__info { padding: 8px 2px 2px; }
  .esr .esr-lb__spec { font-size: 0.8rem; }
}
  .esr .esr-lb__info { max-width: none; }
}


/* ===== Cart: notification drawer + cart page, in the redesign language ===== */
/* --- added-to-cart drawer --- */
.cart-notification-wrapper { border: 0; }
.cart-notification { background: #FFFFFF !important; border: 0 !important; border-left: 1px solid var(--esr-line, rgba(56,56,56,.12)) !important;
  border-radius: 0 !important; box-shadow: -18px 0 48px rgba(56,56,56,.08) !important; padding: 28px clamp(20px, 3vw, 36px) 32px !important; }
.cart-notification__header { align-items: center; margin-bottom: 26px; }
.cart-notification__heading { font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important; font-size: 1.15rem !important;
  letter-spacing: .14em; text-transform: uppercase; font-weight: 500; color: var(--esr-muted, #8A8378); }
.cart-notification__heading .icon-checkmark { color: var(--esr-accent, #A09279); }
.cart-notification__close { color: var(--esr-ink, #383838); }
.cart-notification-product { padding: 0 0 22px; border-bottom: 1px solid var(--esr-line, rgba(56,56,56,.12)); }
.cart-notification-product__image { border-radius: 0 !important; background: var(--esr-paper, #F6F3EE); }
.cart-notification-product__name { font-family: var(--esr-display, inherit) !important; font-weight: 400 !important;
  font-size: 1.75rem !important; line-height: 1.2; color: var(--esr-ink, #383838); }
.cart-notification .product-option, .cart-notification .price { font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important;
  font-size: 1.3rem; color: var(--esr-muted, #8A8378); font-variant-numeric: tabular-nums; }
.cart-notification__links { margin-top: 26px; display: grid; gap: 14px; }
.cart-notification__links .button, .cart-notification__links .button--primary {
  border-radius: 0 !important; background: var(--esr-ink, #383838) !important; border: 1px solid var(--esr-ink, #383838) !important;
  color: #FFFFFF !important; font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important; font-size: 1.15rem !important;
  letter-spacing: .14em; text-transform: uppercase; font-weight: 500; padding: 16px 20px !important; box-shadow: none !important; }
.cart-notification__links .continue-shopping { font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important;
  font-size: 1.15rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 500; color: var(--esr-ink, #383838);
  text-decoration: underline; text-underline-offset: 4px; text-align: center; }

/* --- cart page --- */
.esr-tpl-cart .cart__items, .esr-tpl-cart .cart__footer { max-width: var(--esr-maxw, 1600px); margin: 0 auto; }
.esr-tpl-cart .cart-item { border-bottom: 1px solid var(--esr-line, rgba(56,56,56,.12)); padding: 24px 0; }
.esr-tpl-cart .cart-item__image-container, .esr-tpl-cart .cart-item__image { border-radius: 0 !important; background: var(--esr-paper, #F6F3EE); }
.esr-tpl-cart .cart-item__name { font-family: var(--esr-display, inherit) !important; font-weight: 400 !important;
  font-size: 1.9rem !important; line-height: 1.2; color: var(--esr-ink, #383838); text-decoration: none; }
.esr-tpl-cart .cart-item__name:hover { text-decoration: underline; text-underline-offset: 4px; }
.esr-tpl-cart .cart-item__details .product-option, .esr-tpl-cart .cart-item__customization {
  font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important; font-size: 1.25rem !important; color: var(--esr-muted, #8A8378); }
.esr-tpl-cart .cart-item__price-wrapper, .esr-tpl-cart .cart-item__totals, .esr-tpl-cart .totals__total-value,
.esr-tpl-cart .cart-item__final-price { font-variant-numeric: tabular-nums; color: var(--esr-ink, #383838); }
.esr-tpl-cart .quantity, .esr-tpl-cart .quantity__input, .esr-tpl-cart .quantity__button {
  border-radius: 0 !important; box-shadow: none !important; }
.esr-tpl-cart .quantity { border: 1px solid var(--esr-line, rgba(56,56,56,.12)); }
.esr-tpl-cart .cart__footer { border-top: 1px solid var(--esr-line, rgba(56,56,56,.12)); padding-top: 28px; }
.esr-tpl-cart .totals__subtotal, .esr-tpl-cart .totals__subtotal-value {
  font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important; letter-spacing: .06em; color: var(--esr-ink, #383838); }
.esr-tpl-cart .cart__checkout-button, .esr-tpl-cart .cart__update-button {
  border-radius: 0 !important; font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important; font-size: 1.15rem !important;
  letter-spacing: .14em; text-transform: uppercase; font-weight: 500; padding: 18px 22px !important; box-shadow: none !important; }
.esr-tpl-cart .cart__checkout-button { background: var(--esr-ink, #383838) !important; border: 1px solid var(--esr-ink, #383838) !important; color: #FFFFFF !important; }
.esr-tpl-cart .cart__update-button { background: transparent !important; border: 1px solid var(--esr-ink, #383838) !important; color: var(--esr-ink, #383838) !important; }
.esr-tpl-cart .cart__empty-text, .esr-tpl-cart .title-wrapper h1, .esr-tpl-cart .cart__empty-text + * {
  font-family: var(--esr-display, inherit) !important; font-weight: 300 !important; }
@media screen and (max-width: 749px) {
  .cart-notification { padding: 22px 18px 26px !important; }
  .esr-tpl-cart .cart-item { padding: 18px 0; }
  .esr-tpl-cart .cart-item__name { font-size: 1.7rem !important; }
}

/* ===== Cart page: headings and controls (the item rows were already done) ===== */
.esr-tpl-cart .cart_heading { border-radius: 0 !important; }
/* "Final check!" is the eyebrow; "SHOPPING BAG" the display heading */
.esr-tpl-cart .cart_heading h3 { font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important;
  font-size: 1.15rem !important; letter-spacing: .16em; text-transform: uppercase; font-weight: 500;
  color: var(--esr-muted, #8A8378); margin: 0 0 10px; }
.esr-tpl-cart .cart_heading h1 { font-family: var(--esr-display, inherit) !important; font-weight: 300 !important;
  font-size: clamp(2.8rem, 4vw, 4.2rem) !important; line-height: 1.05; letter-spacing: -0.01em;
  text-transform: none !important; color: var(--esr-ink, #383838); margin: 0 0 8px; }
.esr-tpl-cart .cart_heading .onlyCustomisable h2,
.esr-tpl-cart .cart__login-title { font-family: var(--esr-display, inherit) !important; font-weight: 300 !important;
  font-size: clamp(1.8rem, 2.4vw, 2.4rem) !important; line-height: 1.2; color: var(--esr-ink, #383838); }
/* controls: square, hairline, redesign type */
.esr-tpl-cart .cart-item__quantity-wrapper select,
.esr-tpl-cart .coupon input, .esr-tpl-cart .coupon select, .esr-tpl-cart input[type="text"], .esr-tpl-cart select {
  border-radius: 0 !important; border: 1px solid var(--esr-line, rgba(56,56,56,.14)) !important;
  background-color: #FFFFFF !important; box-shadow: none !important;
  font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important; color: var(--esr-ink, #383838); }
.esr-tpl-cart .coupon .button, .esr-tpl-cart .cart__ctas .button, .esr-tpl-cart .button--secondary,
.esr-tpl-cart .button--full-width { border-radius: 0 !important; box-shadow: none !important;
  font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important; font-size: 1.15rem !important;
  letter-spacing: .14em; text-transform: uppercase; font-weight: 500; }
.esr-tpl-cart .cart__ctas .button--secondary, .esr-tpl-cart a.button--secondary {
  background: transparent !important; border: 1px solid var(--esr-ink, #383838) !important; color: var(--esr-ink, #383838) !important; }

/* ===== Category header adopts the lookbook banner treatment =====
   White ground, single left-aligned column, smaller display title and a muted
   intro - reads more premium than the old two-column 60px headline. */
.esr .esr-chead, .esr .esr-chead.esr-bg-paper, .esr .esr-chead.esr-bg-white { background: #FFFFFF; }
.esr .esr-chead__inner { grid-template-columns: 1fr; gap: 14px; align-items: start; }
.esr .esr-chead__title { font-family: var(--esr-display, inherit); font-weight: 300; letter-spacing: -0.01em;
  font-size: clamp(2.2rem, 5.5vw, 4.2rem); line-height: 1.04; margin-top: 0; max-width: 20ch; }
.esr .esr-chead__intro { max-width: 760px; gap: 10px; }
.esr .esr-chead__intro .esr-rte { font-size: 1.02rem; line-height: 1.6; color: var(--esr-muted); }
.esr .esr-chead__intro .esr-rte p { max-width: 72ch; }
@media screen and (max-width: 749px) {
  .esr .esr-chead__intro .esr-rte { font-size: 1.05rem; }
}

/* ===== Cart drawer (the slide-in) =====
   The base theme sets .drawer__inner to width:100vw with no desktop cap, so the
   panel filled the whole window on desktop. Constrain it and dress the chrome. */
.cart-drawer .drawer__inner { background: #FFFFFF; border: 0; border-left: 1px solid var(--esr-line, rgba(56,56,56,.12));
  padding: 0; border-radius: 0; }
@media screen and (min-width: 750px) {
  .cart-drawer .drawer__inner { width: min(42rem, 92vw); margin-left: auto;
    box-shadow: -18px 0 48px rgba(56,56,56,.10); }
}
.cart-drawer .cart-drawer__overlay { background: rgba(20,20,20,.28); }
.cart-drawer .drawer__header { padding: 24px clamp(18px, 2vw, 28px) 16px;
  border-bottom: 1px solid var(--esr-line, rgba(56,56,56,.12)); margin: 0; }
.cart-drawer .drawer__heading { font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important;
  font-size: 1.15rem !important; letter-spacing: .16em; text-transform: uppercase; font-weight: 500;
  color: var(--esr-muted, #8A8378); margin: 0; }
.cart-drawer .drawer__close { color: var(--esr-ink, #383838); }
.cart-drawer .drawer__contents { padding: 0 clamp(18px, 2vw, 28px); }
.cart-drawer .drawer__footer { padding: 18px clamp(18px, 2vw, 28px) 26px;
  border-top: 1px solid var(--esr-line, rgba(56,56,56,.12)); background: #FFFFFF; }
.cart-drawer .cart-item { padding: 18px 0; border-bottom: 1px solid var(--esr-line, rgba(56,56,56,.12)); }
.cart-drawer .cart-item:last-child { border-bottom: 0; }
.cart-drawer .cart-item img, .cart-drawer .cart-notification-product__image { border-radius: 0 !important;
  background: var(--esr-paper, #F6F3EE); }
.cart-drawer .cart-item__name, .cart-drawer .cart-notification-product__name {
  font-family: var(--esr-display, inherit) !important; font-weight: 400 !important;
  font-size: 1.6rem !important; line-height: 1.2; color: var(--esr-ink, #383838); }
.cart-drawer .price, .cart-drawer .totals__subtotal-value, .cart-drawer .cart-item__price-wrapper {
  font-variant-numeric: tabular-nums; color: var(--esr-ink, #383838); }
.cart-drawer .totals__subtotal { font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important;
  letter-spacing: .06em; color: var(--esr-ink, #383838); }
.cart-drawer .button, .cart-drawer .button--primary, .cart-drawer .cart__checkout-button {
  border-radius: 0 !important; background: var(--esr-ink, #383838) !important;
  border: 1px solid var(--esr-ink, #383838) !important; color: #FFFFFF !important;
  font-family: Roobert, "Helvetica Neue", Arial, sans-serif !important; font-size: 1.15rem !important;
  letter-spacing: .14em; text-transform: uppercase; font-weight: 500; padding: 16px 20px !important;
  box-shadow: none !important; }
.cart-drawer .cart-drawer__empty-content .button { width: 100%; }
.cart-drawer input, .cart-drawer select, .cart-drawer textarea { border-radius: 0 !important; box-shadow: none !important;
  border: 1px solid var(--esr-line, rgba(56,56,56,.14)) !important; }

/* Collection banner: tighten the vertical rhythm (was ~25px top / 27px bottom) */
.esr .esr-chead { padding-top: clamp(14px, 1.6vw, 22px); padding-bottom: clamp(14px, 1.8vw, 24px); }
.esr .esr-chead.esr-chead--subs { padding-top: clamp(10px, 1.2vw, 16px) !important;
  padding-bottom: clamp(8px, 1.1vw, 14px) !important; }
.esr .esr-chead__inner { gap: 10px; }
.esr .esr-chead__intro { gap: 8px; }
.esr .esr-chead__intro .esr-rte p { margin: 0 0 6px; }
.esr .esr-chead__subs { margin-top: clamp(16px, 1.8vw, 24px); }
.esr .esr-chead--subs .esr-chead__subs a { padding-top: 6px !important; padding-bottom: 6px !important; }

/* Collection banner: one consistent vertical rhythm for the stacked rows
   (was 10px title->intro, 8px intro->link, 6px between paragraphs) */
.esr .esr-chead__inner { gap: 12px; }
.esr .esr-chead__intro { gap: 12px; }
.esr .esr-chead__intro .esr-rte p { margin: 0 0 12px; }
.esr .esr-chead__intro .esr-rte p:last-child { margin-bottom: 0; }
.esr .esr-chead__title { margin-bottom: 0; }
