/** Shopify CDN: Minification failed

Line 9171:0 All "@import" rules must come first

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:404 (INDEX:0) */
:root {
  --nr-ivory:      #FAFAF9;
  --nr-dark:       #1C1917;
  --nr-charcoal:   #0C0A09;
  --nr-gold:       #A16207;
  --nr-gold-light: #C8973A;
  --nr-warm-gray:  #78716C;
  --nr-border:     #D6D3D1;
  --nr-bg-warm:    #F5F3F0;
  --nr-font-head:  'Cinzel', Georgia, serif;
  --nr-font-serif: 'Cormorant Garamond', Georgia, serif;
  --nr-font-body:  'Outfit', 'Jost', sans-serif;
  --nr-ease:       cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.nr-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--nr-font-head);
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 0.9rem 2.25rem;
  min-height: 48px;
  min-width: 44px;
  cursor: pointer;
  border: 1px solid transparent;
  transition: background 220ms ease, color 220ms ease, border-color 220ms ease;
}
.nr-btn:focus-visible {
  outline: 2px solid var(--nr-gold-light);
  outline-offset: 3px;
}
.nr-btn--dark {
  background: var(--nr-dark);
  color: var(--nr-ivory);
  border-color: var(--nr-dark);
}
.nr-btn--dark:hover {
  background: var(--nr-charcoal);
  border-color: var(--nr-charcoal);
}

.nr-404 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 6rem 1.5rem 8rem;
  min-height: 60vh;
}

.nr-404__code {
  font-family: var(--nr-font-serif);
  font-size: clamp(7rem, 20vw, 14rem);
  font-weight: 300;
  line-height: 1;
  color: var(--nr-border);
  letter-spacing: -0.02em;
  margin-bottom: 1rem;
}

.nr-404__eyebrow {
  font-family: var(--nr-font-head);
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.38em;
  text-transform: uppercase;
  color: var(--nr-gold);
  margin-bottom: 1rem;
}

.nr-404__heading {
  font-family: var(--nr-font-head);
  font-size: clamp(1.5rem, 4vw, 2.5rem);
  font-weight: 400;
  letter-spacing: 0.06em;
  color: var(--nr-dark);
  margin-bottom: 1.25rem;
}

.nr-404__sub {
  font-family: var(--nr-font-serif);
  font-size: 1.2rem;
  color: var(--nr-warm-gray);
  max-width: 38ch;
  line-height: 1.65;
  margin-bottom: 2.5rem;
}
/* END_SECTION:404 */

/* START_SECTION:article (INDEX:1) */
/* ===== Article Hero ===== */
.art-hero {
  position: relative;
  width: 100%;
  max-height: 520px;
  overflow: hidden;
  background: #ccc5b5;
}
.art-hero__img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  display: block;
}
.art-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(10,8,5,0.10) 0%,
    rgba(10,8,5,0.38) 100%
  );
  pointer-events: none;
}

/* ===== Article Wrapper ===== */
.art-wrap {
  max-width: 780px;
  margin: 0 auto;
  padding: 3rem 1.5rem 2.5rem;
}

/* ===== Breadcrumb ===== */
.art-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem;
  font-size: 0.78rem;
  color: #9a8a70;
  margin-bottom: 1.5rem;
}
.art-breadcrumb__link {
  color: #9a8a70;
  text-decoration: none;
  transition: color 0.15s;
}
.art-breadcrumb__link:hover { color: #4a4030; }
.art-breadcrumb__sep { color: #c8b99a; display: flex; align-items: center; }
.art-breadcrumb__current {
  color: #4a4030;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 280px;
}

/* ===== Tags ===== */
.art-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 1rem;
}
.art-tag {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.72rem;
  background: #f5f0e8;
  border: 1px solid #e0d8cc;
  border-radius: 2rem;
  font-size: 0.73rem;
  font-weight: 500;
  color: #7a6a50;
  text-decoration: none;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.art-tag:hover {
  background: #ede8de;
  border-color: #c8b99a;
  color: #4a4030;
}

/* ===== Article Title ===== */
.art-title {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 600;
  line-height: 1.25;
  color: #1a150e;
  margin: 0 0 1.5rem;
  letter-spacing: -0.01em;
}

/* ===== Meta bar ===== */
.art-meta {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 1rem 0;
  border-top: 1px solid #e8e0d0;
  border-bottom: 1px solid #e8e0d0;
  margin-bottom: 2.5rem;
}
.art-meta__author-avatar {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: #e8e0d0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #9a8a70;
  font-size: 1rem;
}
.art-meta__info {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.art-meta__author {
  font-size: 0.875rem;
  font-weight: 600;
  color: #2a2010;
}
.art-meta__details {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4rem;
  font-size: 0.78rem;
  color: #9a8a70;
}
.art-meta__date,
.art-meta__read {
  display: flex;
  align-items: center;
  gap: 0.3rem;
}
.art-meta__sep { opacity: 0.5; }

/* ===== Prose Content ===== */
.nr-prose {
  font-size: 1rem;
  line-height: 1.8;
  color: #333;
}
.nr-prose h2 {
  font-size: 1.45rem;
  font-weight: 600;
  color: #1a150e;
  margin: 2.5rem 0 0.75rem;
  line-height: 1.3;
  letter-spacing: -0.01em;
}
.nr-prose h3 {
  font-size: 1.15rem;
  font-weight: 600;
  color: #2a2010;
  margin: 2rem 0 0.6rem;
  line-height: 1.35;
}
.nr-prose h4 {
  font-size: 1rem;
  font-weight: 600;
  color: #2a2010;
  margin: 1.5rem 0 0.5rem;
}
.nr-prose p {
  margin: 0 0 1.25rem;
}
.nr-prose a {
  color: #4a4030;
  text-decoration: underline;
  text-decoration-color: #c8b99a;
  text-underline-offset: 3px;
  transition: color 0.15s, text-decoration-color 0.15s;
}
.nr-prose a:hover {
  color: #2a2010;
  text-decoration-color: #4a4030;
}
.nr-prose strong { font-weight: 600; color: #2a2010; }
.nr-prose em { font-style: italic; }
.nr-prose ul,
.nr-prose ol {
  margin: 0 0 1.25rem 1.4rem;
  padding: 0;
}
.nr-prose li { margin-bottom: 0.4rem; }
.nr-prose blockquote {
  margin: 2rem 0;
  padding: 1.25rem 1.5rem;
  border-left: 3px solid #c8b99a;
  background: #f5f0e8;
  border-radius: 0 4px 4px 0;
  font-style: italic;
  color: #5a4a38;
}
.nr-prose blockquote p:last-child { margin-bottom: 0; }
.nr-prose img {
  width: 100%;
  height: auto;
  border-radius: 4px;
  margin: 1.5rem 0;
  display: block;
}
.nr-prose hr {
  border: none;
  border-top: 1px solid #e8e0d0;
  margin: 2.5rem 0;
}
.nr-prose code {
  background: #f5f0e8;
  border: 1px solid #e0d8cc;
  border-radius: 3px;
  padding: 0.1em 0.4em;
  font-size: 0.88em;
  color: #4a4030;
}

/* ===== Divider ===== */
.art-divider {
  height: 1px;
  background: #e8e0d0;
  margin: 2.5rem 0;
}

/* ===== Footer row: back link + share ===== */
.art-footer-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}
.art-back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4a4030;
  text-decoration: none;
  transition: color 0.15s, gap 0.15s;
}
.art-back-link:hover {
  color: #2a2010;
  gap: 0.6rem;
}

.art-share {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}
.art-share__label {
  font-size: 0.78rem;
  font-weight: 600;
  color: #9a8a70;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-right: 0.2rem;
}
.art-share__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: #f5f0e8;
  border: 1px solid #e0d8cc;
  color: #7a6a50;
  font-size: 0.8rem;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.15s;
}
.art-share__btn:hover {
  background: #4a4030;
  border-color: #4a4030;
  color: #fff;
  transform: translateY(-1px);
}
.art-share__copy.copied {
  background: #2d7a4f;
  border-color: #2d7a4f;
  color: #fff;
}

/* ===== Comments ===== */
.art-comments-wrap {
  max-width: 780px;
  margin: 0 auto;
  padding: 0 1.5rem 4rem;
  border-top: 1px solid #e8e0d0;
}
.art-comments__heading {
  font-size: 1.2rem;
  font-weight: 600;
  color: #1a150e;
  margin: 2.5rem 0 1.5rem;
}

/* Comment list */
.art-comments__list { display: flex; flex-direction: column; gap: 1.5rem; margin-bottom: 2rem; }
.art-comment {
  display: flex;
  gap: 0.85rem;
  padding: 1.25rem;
  background: #faf7f2;
  border: 1px solid #e8e0d0;
  border-radius: 6px;
}
.art-comment__avatar {
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 50%;
  background: #e8e0d0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #9a8a70;
  font-size: 0.9rem;
}
.art-comment__body { flex: 1; min-width: 0; }
.art-comment__header {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
  flex-wrap: wrap;
}
.art-comment__author {
  font-size: 0.875rem;
  font-weight: 600;
  color: #2a2010;
}
.art-comment__date {
  font-size: 0.75rem;
  color: #9a8a70;
}
.art-comment__text {
  font-size: 0.9rem;
  line-height: 1.7;
  color: #4a4030;
  margin: 0;
}

/* Comment form */
.art-comment-form { margin-top: 0.5rem; }
.art-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 1rem;
}
.art-form__field { display: flex; flex-direction: column; gap: 0.4rem; margin-bottom: 1rem; }
.art-form__field:last-of-type { margin-bottom: 1.25rem; }
.art-form__label {
  font-size: 0.8rem;
  font-weight: 600;
  color: #4a4030;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.art-form__input {
  width: 100%;
  padding: 0.65rem 0.9rem;
  background: #fff;
  border: 1.5px solid #e0d8cc;
  border-radius: 6px;
  font-size: 0.9rem;
  color: #111;
  font-family: inherit;
  transition: border-color 0.15s, box-shadow 0.15s;
  outline: none;
}
.art-form__input:focus {
  border-color: #4a4030;
  box-shadow: 0 0 0 3px rgba(74, 64, 48, 0.08);
}
.art-form__input::placeholder { color: #b0a090; }
.art-form__textarea { resize: vertical; min-height: 120px; }
.art-form__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.72rem 2rem;
  background: #4a4030;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 0.9rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  letter-spacing: 0.02em;
  transition: background 0.18s, transform 0.15s;
}
.art-form__submit:hover {
  background: #2a2010;
  transform: translateY(-1px);
}
.art-form__submit:active { transform: translateY(0); }

/* ===== Mid-article CTA (Inspiration blog) ===== */
.art-mid-cta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  margin: 2rem 0;
  background: #faf7f2;
  border: 1px solid #e0d8cc;
  border-left: 3px solid #c8b99a;
  border-radius: 0 6px 6px 0;
  text-decoration: none;
  color: #2a2010;
  transition: background 0.15s, border-left-color 0.15s;
}
.art-mid-cta:hover {
  background: #f5f0e8;
  border-left-color: #4a4030;
}
.art-mid-cta__label {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #9a8a70;
  white-space: nowrap;
}
.art-mid-cta__text {
  flex: 1;
  font-size: 0.9rem;
  font-weight: 500;
  color: #4a4030;
}
.art-mid-cta svg {
  flex-shrink: 0;
  color: #9a8a70;
  transition: transform 0.15s, color 0.15s;
}
.art-mid-cta:hover svg {
  transform: translateX(3px);
  color: #4a4030;
}

/* ===== Bottom CTA block (Inspiration blog) ===== */
.art-bottom-cta {
  margin: 2.5rem 0;
  padding: 2.25rem 2rem;
  background: #f5f0e8;
  border: 1px solid #e0d8cc;
  border-radius: 8px;
  text-align: center;
}
.art-bottom-cta__eyebrow {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #9a8a70;
  margin: 0 0 0.6rem;
}
.art-bottom-cta__heading {
  font-size: 1.4rem;
  font-weight: 600;
  color: #1a150e;
  margin: 0 0 0.75rem;
  letter-spacing: -0.01em;
  line-height: 1.3;
}
.art-bottom-cta__body {
  font-size: 0.925rem;
  color: #7a6a50;
  line-height: 1.65;
  margin: 0 auto 1.5rem;
  max-width: 420px;
}
.art-bottom-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.78rem 2.25rem;
  background: #4a4030;
  color: #fff;
  border-radius: 4px;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: none;
  transition: background 0.18s, transform 0.15s;
}
.art-bottom-cta__btn:hover {
  background: #2a2010;
  transform: translateY(-1px);
}
.art-bottom-cta__btn:active { transform: translateY(0); }

/* ===== Responsive ===== */
@media (max-width: 768px) {
  .art-wrap,
  .art-comments-wrap { padding-left: 1rem; padding-right: 1rem; }
  .art-hero__img { height: 300px; }
  .art-hero { max-height: 300px; }
  .art-form__row { grid-template-columns: 1fr; }
  .art-breadcrumb__current { max-width: 160px; }
  .art-footer-row { flex-direction: column; align-items: flex-start; }
}
/* END_SECTION:article */

/* START_SECTION:blog (INDEX:2) */
/* ===== Blog Header ===== */
.blg-header {
  background: #f5f0e8;
  border-bottom: 1px solid #e8e0d0;
  padding: 4rem 2rem;
  text-align: center;
}
.blg-header__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
}
.blg-header__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.73rem;
  font-weight: 700;
  color: #9a8a70;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  margin-bottom: 0.9rem;
}
.blg-header__eyebrow i { font-size: 0.85rem; }
.blg-header__title {
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 600;
  color: #1a150e;
  letter-spacing: -0.02em;
  margin: 0 0 0.75rem;
  line-height: 1.15;
}
.blg-header__sub {
  font-size: 1rem;
  color: #7a6a50;
  max-width: 480px;
  margin: 0 auto;
  line-height: 1.6;
}

/* ===== Wrapper ===== */
.blg-wrap {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 3.5rem 2rem 5rem;
}

/* ===== Tags ===== */
.blg-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 0.85rem;
}
.blg-tag {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.65rem;
  background: #f5f0e8;
  border: 1px solid #e0d8cc;
  border-radius: 2rem;
  font-size: 0.7rem;
  font-weight: 600;
  color: #7a6a50;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  white-space: nowrap;
}
.blg-tag:hover {
  background: #ede8de;
  border-color: #c8b99a;
  color: #4a4030;
}

/* ===== Meta ===== */
.blg-meta {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 1.5rem;
}
.blg-meta--small { margin-bottom: 0; }
.blg-meta__avatar {
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 50%;
  background: #e8e0d0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #9a8a70;
  font-size: 0.8rem;
}
.blg-meta--small .blg-meta__avatar {
  width: 1.75rem;
  height: 1.75rem;
  font-size: 0.7rem;
}
.blg-meta__text {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
.blg-meta__author {
  font-size: 0.82rem;
  font-weight: 600;
  color: #2a2010;
}
.blg-meta__date {
  font-size: 0.75rem;
  color: #9a8a70;
}

/* ===== Featured article ===== */
.blg-feature {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1px solid #e8e0d0;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 3rem;
  background: #fff;
  min-height: 420px;
}
.blg-feature__img-wrap {
  display: block;
  overflow: hidden;
  background: #ccc5b5;
}
.blg-feature__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.blg-feature__img-wrap:hover .blg-feature__img { transform: scale(1.04); }
.blg-feature__body {
  padding: 2.5rem 2.25rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #fff;
}
.blg-feature__title {
  font-size: clamp(1.35rem, 2.5vw, 1.8rem);
  font-weight: 600;
  color: #1a150e;
  line-height: 1.25;
  margin: 0 0 1rem;
  letter-spacing: -0.01em;
}
.blg-feature__title-link {
  color: inherit;
  text-decoration: none;
  transition: color 0.15s;
}
.blg-feature__title-link:hover { color: #4a4030; }
.blg-feature__excerpt {
  font-size: 0.95rem;
  line-height: 1.7;
  color: #6a5a48;
  margin: 0 0 1.5rem;
}

/* Read more link */
.blg-read-more {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #4a4030;
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: gap 0.18s, color 0.15s;
  margin-top: auto;
}
.blg-read-more:hover { gap: 0.7rem; color: #2a2010; }
.blg-read-more svg { flex-shrink: 0; }

/* ===== Article grid ===== */
.blg-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.75rem;
}

/* ===== Article card ===== */
.blg-card {
  display: flex;
  flex-direction: column;
  border: 1px solid #e8e0d0;
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
  transition: box-shadow 0.22s ease, transform 0.22s ease;
}
.blg-card:hover {
  box-shadow: 0 8px 32px rgba(74, 64, 48, 0.12);
  transform: translateY(-3px);
}
.blg-card__img-wrap {
  display: block;
  overflow: hidden;
  background: #ccc5b5;
  aspect-ratio: 16 / 10;
  flex-shrink: 0;
}
.blg-card__img-wrap--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #b0a090;
  font-size: 2rem;
  background: #ede8de;
}
.blg-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.blg-card:hover .blg-card__img { transform: scale(1.05); }
.blg-card__body {
  padding: 1.25rem 1.25rem 1.1rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.blg-card__title {
  font-size: 1.05rem;
  font-weight: 600;
  color: #1a150e;
  line-height: 1.35;
  margin: 0 0 0.6rem;
  letter-spacing: -0.005em;
}
.blg-card__title-link {
  color: inherit;
  text-decoration: none;
  transition: color 0.15s;
}
.blg-card__title-link:hover { color: #4a4030; }
.blg-card__excerpt {
  font-size: 0.865rem;
  line-height: 1.65;
  color: #7a6a50;
  margin: 0 0 1rem;
  flex: 1;
}
.blg-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 0.85rem;
  border-top: 1px solid #f0ebe0;
  margin-top: auto;
}

/* Arrow link button */
.blg-arrow-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.9rem;
  height: 1.9rem;
  border-radius: 50%;
  background: #f5f0e8;
  border: 1px solid #e0d8cc;
  color: #7a6a50;
  text-decoration: none;
  flex-shrink: 0;
  transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.15s;
}
.blg-card:hover .blg-arrow-link,
.blg-arrow-link:hover {
  background: #4a4030;
  border-color: #4a4030;
  color: #fff;
  transform: translateX(2px);
}

/* Empty state */
.blg-empty {
  text-align: center;
  color: #9a8a70;
  font-size: 1rem;
  padding: 4rem 0;
}

/* ===== Pagination ===== */
.blg-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 3.5rem;
  flex-wrap: wrap;
}
.blg-pag__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.6rem 1.25rem;
  border: 1.5px solid #e0d8cc;
  border-radius: 4px;
  background: #fff;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4a4030;
  text-decoration: none;
  letter-spacing: 0.01em;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  cursor: pointer;
}
.blg-pag__btn:hover {
  background: #f5f0e8;
  border-color: #c8b99a;
  color: #2a2010;
}
.blg-pag__btn--disabled {
  opacity: 0.38;
  pointer-events: none;
}
.blg-pag__pages {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}
.blg-pag__page {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.2rem;
  height: 2.2rem;
  border-radius: 4px;
  border: 1.5px solid #e0d8cc;
  background: #fff;
  font-size: 0.875rem;
  color: #4a4030;
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s;
}
.blg-pag__page:hover {
  background: #f5f0e8;
  border-color: #c8b99a;
}
.blg-pag__page--current {
  background: #4a4030;
  border-color: #4a4030;
  color: #fff;
  font-weight: 600;
  pointer-events: none;
}
.blg-pag__ellipsis {
  font-size: 0.875rem;
  color: #9a8a70;
  padding: 0 0.2rem;
}

/* ===== Responsive ===== */
@media (max-width: 1024px) {
  .blg-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .blg-wrap { padding: 2rem 1rem 4rem; }
  .blg-header { padding: 3rem 1rem; }

  .blg-feature {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .blg-feature__img-wrap {
    aspect-ratio: 16 / 9;
    height: auto;
  }
  .blg-feature__body { padding: 1.5rem 1.25rem; }

  .blg-grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  .blg-pag__pages { display: none; }
}

@media (max-width: 480px) {
  .blg-pagination { gap: 0.5rem; }
  .blg-pag__btn { padding: 0.55rem 0.9rem; font-size: 0.82rem; }
}
/* END_SECTION:blog */

/* START_SECTION:cart (INDEX:3) */
.cart-page {
  max-width: 640px;
  margin: 3rem auto;
  padding: 0 1.5rem 4rem;
}
.cart-page__title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #111;
  margin: 0 0 2rem;
  letter-spacing: -0.01em;
}

/* Empty */
.cart-page__empty { text-align: center; padding: 3rem 0; color: #666; }
.cart-page__shop-link {
  display: inline-block;
  margin-top: 1rem;
  padding: 0.75rem 1.75rem;
  border: 1.5px solid #111;
  font-size: 0.84rem;
  font-weight: 500;
  color: #111;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
}
.cart-page__shop-link:hover { background: #111; color: #fff; }

/* Items */
.cart-page__item {
  display: grid;
  grid-template-columns: 76px 1fr auto;
  column-gap: 1.25rem;
  align-items: start;
  padding: 1.25rem 0;
  border-bottom: 1px solid #f0ebe0;
}
.cart-page__thumb {
  width: 76px;
  height: 76px;
  object-fit: cover;
  background: #f5f0e8;
  display: block;
}
.cart-page__thumb-placeholder {
  width: 76px;
  height: 76px;
  background: #f5f0e8;
}
.cart-page__name {
  font-size: 0.9rem;
  font-weight: 500;
  color: #111;
  text-decoration: none;
  line-height: 1.35;
}
.cart-page__name:hover { text-decoration: underline; text-underline-offset: 2px; }
.cart-page__variant {
  font-size: 0.775rem;
  color: #888;
  margin: 0.2rem 0 0;
}
.cart-page__actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 0.75rem;
}
.cart-page__qty {
  width: 3.5rem;
  height: 2rem;
  border: 1px solid #d0ccc5;
  background: none;
  text-align: center;
  font-size: 0.82rem;
  font-weight: 500;
  color: #111;
  padding: 0 0.25rem;
}
.cart-page__remove {
  font-size: 0.775rem;
  color: #aaa;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.12s;
}
.cart-page__remove:hover { color: #111; }
.cart-page__price {
  font-size: 0.875rem;
  font-weight: 500;
  color: #111;
  white-space: nowrap;
  padding-top: 0.1rem;
}

/* Footer */
.cart-page__footer { margin-top: 2rem; }
.cart-page__totals { margin-bottom: 1.5rem; }
.cart-page__total-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: 0.875rem;
  color: #111;
  padding: 0.3rem 0;
}
.cart-page__total-row--grand {
  font-weight: 600;
  font-size: 0.95rem;
  border-top: 1px solid #f0ebe0;
  padding-top: 0.65rem;
  margin-top: 0.25rem;
}
.cart-page__total-row--grand em {
  font-size: 0.75rem;
  font-weight: 400;
  color: #888;
  font-style: normal;
  margin-left: 0.3rem;
}
.cart-page__free-ship { color: #2a7a3b; font-weight: 500; }

.cart-page__update-btn {
  display: block;
  width: 100%;
  padding: 0.75rem 1rem;
  background: none;
  border: 1.5px solid #d0ccc5;
  font-size: 0.875rem;
  font-weight: 500;
  color: #555;
  cursor: pointer;
  margin-bottom: 0.65rem;
  transition: border-color 0.15s, color 0.15s;
  box-sizing: border-box;
}
.cart-page__update-btn:hover { border-color: #111; color: #111; }

.cart-page__checkout-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.9rem 1rem;
  background: #111;
  color: #fff;
  font-size: 0.9rem;
  font-weight: 500;
  letter-spacing: 0.025em;
  text-decoration: none;
  transition: background 0.15s;
  box-sizing: border-box;
}
.cart-page__checkout-btn:hover { background: #333; }

.cart-page__logos {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem;
  justify-content: center;
  margin-top: 1rem;
}
.cart-page__pay-icon { height: 1.6rem; width: auto; opacity: 0.85; }
/* END_SECTION:cart */

/* START_SECTION:collection (INDEX:4) */
/* ── Page-width wrapper (matches home section full-width pattern) ── */
  .col-page-wrap { margin: 0; }
  .col-page-inner {
    max-width: min(1340px, calc(100% - 3rem));
    margin: 0 auto;
  }

  /* ── Breadcrumb ── */
  .col-breadcrumb {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 13px;
    margin: 1rem 0 0.75rem;
  }
  .col-breadcrumb__link {
    color: #888;
    text-decoration: none;
    transition: color 0.15s;
  }
  .col-breadcrumb__link:hover {
    color: #111;
  }
  .col-breadcrumb__sep {
    color: #ccc;
    font-size: 13px;
  }
  .col-breadcrumb__current {
    color: #111;
    font-weight: 500;
    font-size: 13px;
  }

  /* ── Title ── */
  .col-title {
    font-family: var(--nr-font-head, serif);
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    font-weight: 400;
    letter-spacing: 0.03em;
    color: var(--nr-dark, #0C0A09);
    margin: 0.4rem 0 1rem;
    line-height: 1.2;
  }

  /* ── Toolbar ── */
  .col-toolbar {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    border-top: 1px solid #e8e8e8;
    border-bottom: 1px solid #e8e8e8;
    margin-bottom: 1.5rem;
  }
  .col-toolbar__count {
    display: flex;
    align-items: center;
    font-size: 14px;
    font-weight: 600;
    color: #222;
    padding: 0.75rem 0;
  }
  .col-toolbar__right {
    display: flex;
    align-items: stretch;
    gap: 0;
  }

  /* ── Layout toggle ── */
  .col-layout-btns {
    display: flex;
    align-items: center;
    padding: 0 0.5rem;
  }
  .col-layout-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    background: none;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    color: #111;
    padding: 0;
    transition: background 0.15s;
  }
  .col-layout-toggle:hover { background: #f0f0f0; }

  .col-layout-icon { display: none; }
  .col-layout-icon--active { display: block; }

  /* mobile toggle: visible only on mobile */
  .col-layout-toggle--mobile { display: none; }
  .col-layout-toggle--desktop { display: flex; }

  @media (max-width: 767px) {
    .col-layout-toggle--mobile { display: flex; }
    .col-layout-toggle--desktop { display: none; }
  }

  .col-toolbar__divider {
    width: 1px;
    background: #e8e8e8;
    margin: 8px 0;
    flex-shrink: 0;
  }

  /* ── Grid layout variants — double-class for specificity ── */
  .col-body.col-body--d5 { grid-template-columns: repeat(5, 1fr) !important; }

  @media (max-width: 767px) {
    .col-body.col-body--m1 { grid-template-columns: 1fr !important; row-gap: 48px !important; }
    .col-body.col-body--m2 { grid-template-columns: repeat(2, 1fr) !important; row-gap: 40px !important; }
  }

  /* ── Sort trigger button ── */
  .col-sort-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-style: normal;
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    color: rgb(12, 12, 12);
    background: none;
    border: none;
    padding: 0 0.65rem;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s;
  }
  .col-sort-btn:hover { background: #ebebeb; }
  .col-sort-btn__chevron { flex-shrink: 0; }

  /* ── Overlay ── */
  .col-sort-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.35);
    z-index: 1000;
  }
  .col-sort-overlay.is-open { display: block; }

  /* ── Sort panel ── */
  .col-sort-panel {
    position: fixed;
    background: #fff;
    z-index: 1001;
    display: flex;
    flex-direction: column;
    /* desktop: right-side drawer */
    top: 0;
    right: 0;
    width: 380px;
    max-width: 100vw;
    height: 100%;
    transform: translateX(100%);
    transition: transform 0.42s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .col-sort-panel.is-open { transform: translateX(0); }

  /* drag handle — hidden on desktop */
  .col-sort-panel__handle {
    display: none;
  }

  @media (max-width: 767px) {
    /* mobile: bottom sheet */
    .col-sort-panel {
      top: auto;
      bottom: 0;
      left: 0;
      right: 0;
      width: 100%;
      height: auto;
      max-height: 80vh;
      border-radius: 18px 18px 0 0;
      box-shadow: 0 -12px 48px rgba(0, 0, 0, 0.14);
      transform: translateY(102%);
    }
    .col-sort-panel.is-open { transform: translateY(0); }

    .col-sort-panel__handle {
      display: block;
      width: 40px;
      height: 4px;
      border-radius: 99px;
      background: #e0e0e0;
      margin: 10px auto 0;
      flex-shrink: 0;
    }
  }

  .col-sort-panel__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid #e8e8e8;
  }
  .col-sort-panel__title {
    font-size: 18px;
    font-weight: 600;
    color: #111;
  }
  .col-sort-panel__close {
    background: none;
    border: none;
    cursor: pointer;
    color: #444;
    padding: 0.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background 0.15s;
  }
  .col-sort-panel__close:hover { background: #f3f3f3; }

  .col-sort-panel__form { flex: 1; overflow-y: auto; }

  .col-sort-panel__list {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .col-sort-panel__item {
    border-bottom: 1px solid #f0f0f0;
  }
  .col-sort-panel__label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.1rem 1.5rem;
    font-size: 15px;
    color: #111;
    cursor: pointer;
    transition: background 0.1s;
    gap: 1rem;
  }
  .col-sort-panel__label:hover { background: #fafafa; }

  /* Hide native radio */
  .col-sort-panel__radio { display: none; }

  /* Custom radio circle */
  .col-sort-panel__dot {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2px solid #bbb;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.15s;
  }
  .col-sort-panel__dot::after {
    content: '';
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #111;
    opacity: 0;
    transition: opacity 0.15s;
  }
  .col-sort-panel__radio:checked + .col-sort-panel__dot {
    border-color: #111;
  }
  .col-sort-panel__radio:checked + .col-sort-panel__dot::after {
    opacity: 1;
  }

  .col-sort-panel__footer {
    padding: 1.25rem 1.5rem;
    border-top: 1px solid #e8e8e8;
  }
  .col-sort-panel__apply {
    width: 100%;
    padding: 0.9rem 1rem;
    background: #111;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
  }
  .col-sort-panel__apply:hover { background: #333; }

  /* ── Filter button ── */
  .col-filter-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-style: normal;
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    color: rgb(12, 12, 12);
    background: none;
    border: none;
    padding: 0 0.65rem;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s;
    position: relative;
  }
  .col-filter-btn:hover { background: #ebebeb; }
  .col-filter-btn__icon { flex-shrink: 0; }

  .col-filter-btn__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 99px;
    background: #111;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    transition: opacity 0.15s;
  }
  .col-filter-btn__badge--hidden {
    display: none;
  }

  /* ── Filter overlay ── */
  .col-filter-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.35);
    z-index: 1000;
  }
  .col-filter-overlay.is-open { display: block; }

  /* ── Filter panel ── */
  .col-filter-panel {
    position: fixed;
    background: #fff;
    z-index: 1001;
    display: flex;
    flex-direction: column;
    top: 0;
    right: 0;
    width: 400px;
    max-width: 100vw;
    height: 100%;
    transform: translateX(100%);
    transition: transform 0.42s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .col-filter-panel.is-open { transform: translateX(0); }

  .col-filter-panel__handle { display: none; }

  @media (max-width: 767px) {
    .col-filter-panel {
      top: auto;
      bottom: 0;
      left: 0;
      right: 0;
      width: 100%;
      height: auto;
      max-height: 88vh;
      border-radius: 18px 18px 0 0;
      box-shadow: 0 -12px 48px rgba(0, 0, 0, 0.14);
      transform: translateY(102%);
    }
    .col-filter-panel.is-open { transform: translateY(0); }

    .col-filter-panel__handle {
      display: block;
      width: 40px;
      height: 4px;
      border-radius: 99px;
      background: #e0e0e0;
      margin: 10px auto 0;
      flex-shrink: 0;
    }
  }

  .col-filter-panel__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid #e8e8e8;
    flex-shrink: 0;
  }
  .col-filter-panel__title {
    font-size: 18px;
    font-weight: 600;
    color: #111;
  }
  .col-filter-panel__close {
    background: none;
    border: none;
    cursor: pointer;
    color: #444;
    padding: 0.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background 0.15s;
  }
  .col-filter-panel__close:hover { background: #f3f3f3; }

  .col-filter-panel__form {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
  }
  .col-filter-panel__body {
    flex: 1;
    overflow-y: auto;
    padding: 0.5rem 0;
  }

  /* ── Filter group accordion ── */
  .col-filter-group {
    border-bottom: 1px solid #f0f0f0;
  }
  .col-filter-group__toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.5rem;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    gap: 0.5rem;
  }
  .col-filter-group__toggle:hover { background: #fafafa; }
  .col-filter-group__name {
    flex: 1;
    font-size: 15px;
    font-weight: 600;
    color: #111;
  }
  .col-filter-group__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border-radius: 99px;
    background: #111;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
  }
  .col-filter-group__chevron {
    flex-shrink: 0;
    color: #888;
    transition: transform 0.2s;
  }
  .col-filter-group__chevron.is-rotated { transform: rotate(-90deg); }

  .col-filter-group__body {
    overflow: hidden;
    transition: max-height 0.25s ease;
  }
  .col-filter-group__body.is-collapsed {
    display: none;
  }

  /* ── Filter list — pill tags ── */
  .col-filter-list {
    list-style: none;
    margin: 0;
    padding: 0.25rem 1.25rem 1rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
  }
  .col-filter-list__item { display: contents; }

  .col-filter-list__label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.28rem 0.7rem;
    border: 1.5px solid #e0e0e0;
    border-radius: 99px;
    font-size: 11.5px;
    font-weight: 500;
    color: #333;
    cursor: pointer;
    white-space: nowrap;
    user-select: none;
    -webkit-user-select: none;
    transition: border-color 0.15s, background 0.15s, color 0.15s;
  }
  .col-filter-list__label:hover {
    border-color: #999;
    color: #111;
  }
  .col-filter-list__label--disabled {
    opacity: 0.35;
    cursor: default;
    pointer-events: none;
  }

  /* Selected state */
  .col-filter-list__label:has(.col-filter-list__checkbox:checked),
  .col-filter-list__label.is-selected {
    background: #111;
    color: #fff;
    border-color: #111;
  }
  .col-filter-list__label:has(.col-filter-list__checkbox:checked):hover,
  .col-filter-list__label.is-selected:hover {
    background: #333;
    border-color: #333;
  }

  .col-filter-list__checkbox { display: none; }
  .col-filter-list__check    { display: none; }

  .col-filter-list__count {
    font-size: 11px;
    opacity: 0.55;
  }
  .col-filter-list__label:has(.col-filter-list__checkbox:checked) .col-filter-list__count,
  .col-filter-list__label.is-selected .col-filter-list__count {
    opacity: 0.65;
  }

  /* ── Color swatch inside pill ── */
  .col-filter-swatch {
    flex-shrink: 0;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    border: 1px solid rgba(0,0,0,0.18);
  }
  .col-filter-list__label:has(.col-filter-list__checkbox:checked) .col-filter-swatch,
  .col-filter-list__label.is-selected .col-filter-swatch {
    box-shadow: 0 0 0 1.5px rgba(255,255,255,0.9);
    border-color: transparent;
  }
  .col-filter-swatch--green     { background: #4caf50; }
  .col-filter-swatch--multi     { background: linear-gradient(135deg,#f44336 0%,#ff9800 25%,#ffeb3b 50%,#4caf50 75%,#2196f3 100%); }
  .col-filter-swatch--silver    { background: linear-gradient(135deg,#bdbdbd,#efefef,#9e9e9e); }
  .col-filter-swatch--red       { background: #f44336; }
  .col-filter-swatch--pink      { background: #e91e8c; }
  .col-filter-swatch--purple    { background: #9c27b0; }
  .col-filter-swatch--turquoise { background: #1de9b6; }
  .col-filter-swatch--yellow    { background: #ffeb3b; }
  .col-filter-swatch--orange    { background: #ff9800; }
  .col-filter-swatch--brown     { background: #795548; }
  .col-filter-swatch--blue      { background: #2196f3; }
  .col-filter-swatch--beige     { background: #f5f0e8; }
  .col-filter-swatch--black     { background: #212121; }

  /* ── Filter footer ── */
  .col-filter-panel__footer {
    padding: 1.25rem 1.5rem;
    border-top: 1px solid #e8e8e8;
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-shrink: 0;
  }
  .col-filter-panel__clear {
    font-size: 14px;
    font-weight: 500;
    color: #555;
    text-decoration: underline;
    white-space: nowrap;
    transition: color 0.15s;
  }
  .col-filter-panel__clear:hover { color: #111; }
  .col-filter-panel__apply {
    flex: 1;
    padding: 0.9rem 1rem;
    background: #111;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
  }
  .col-filter-panel__apply:hover { background: #333; }

  .col-filter-empty {
    padding: 1.5rem;
    color: #888;
    font-size: 14px;
  }

  /* ── Dimension (width / height) range filter ── */
  .col-dim-filter {
    padding: 0.25rem 1.5rem 1.35rem;
  }

  .col-dim-filter__inputs {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 1.1rem;
  }

  .col-dim-filter__field {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    flex: 1;
    min-width: 0;
    border: 1.5px solid #e0e0e0;
    border-radius: 6px;
    padding: 0.32rem 0.5rem;
    transition: border-color 0.15s;
  }
  .col-dim-filter__field:focus-within {
    border-color: #111;
  }

  .col-dim-filter__label {
    font-size: 10px;
    color: #aaa;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap;
    flex-shrink: 0;
  }

  .col-dim-filter__num {
    flex: 1;
    width: 0;
    min-width: 0;
    border: none;
    outline: none;
    font-size: 13px;
    font-weight: 600;
    color: #111;
    background: transparent;
    text-align: center;
    -moz-appearance: textfield;
  }
  .col-dim-filter__num::-webkit-inner-spin-button,
  .col-dim-filter__num::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }

  .col-dim-filter__unit {
    font-size: 11px;
    color: #bbb;
    flex-shrink: 0;
  }

  .col-dim-filter__dash {
    font-size: 14px;
    color: #ccc;
    flex-shrink: 0;
  }

  /* Dual-thumb range slider */
  .col-dim-filter__slider {
    position: relative;
    height: 26px;
    display: flex;
    align-items: center;
  }

  .col-dim-filter__track {
    position: absolute;
    left: 0;
    right: 0;
    height: 4px;
    background: #e8e8e8;
    border-radius: 99px;
  }

  .col-dim-filter__fill {
    position: absolute;
    top: 0;
    height: 100%;
    background: #111;
    border-radius: 99px;
    pointer-events: none;
    left: 0%;
    width: 100%;
  }

  .col-dim-filter__range {
    position: absolute;
    left: 0;
    width: 100%;
    height: 4px;
    background: transparent;
    outline: none;
    border: none;
    -webkit-appearance: none;
    appearance: none;
    pointer-events: none;
  }

  .col-dim-filter__range--max {
    z-index: 1;
  }

  .col-dim-filter__range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #111;
    cursor: pointer;
    pointer-events: all;
    border: 2.5px solid #fff;
    box-shadow: 0 1px 5px rgba(0,0,0,0.22);
    transition: box-shadow 0.15s;
  }
  .col-dim-filter__range::-webkit-slider-thumb:hover {
    box-shadow: 0 2px 10px rgba(0,0,0,0.32);
  }
  .col-dim-filter__range:active::-webkit-slider-thumb {
    box-shadow: 0 0 0 4px rgba(0,0,0,0.1);
  }

  .col-dim-filter__range::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #111;
    cursor: pointer;
    pointer-events: all;
    border: 2.5px solid #fff;
    box-shadow: 0 1px 5px rgba(0,0,0,0.22);
  }

  /* ── Body: unified 3-col grid (desc slot 1, products fill rest) ── */
  .col-body {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 1.5rem;
    row-gap: 2.5rem;
    padding: 0 0 3rem;
    align-items: start;
  }

  /* ── Description column: occupies slot [1,1] ── */
  .col-body__desc {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    font-family: var(--nr-font-body, sans-serif);
    font-style: normal;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.6;
    color: var(--nr-muted, #6B6B6B);
  }
  .col-body__desc p {
    margin: 0 0 1rem;
  }
  .col-desc-toggle {
    background: none;
    border: none;
    padding: 0;
    font-family: var(--nr-font-body, sans-serif);
    font-size: inherit;
    font-weight: 600;
    color: var(--nr-accent, #222);
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 2px;
  }
  .col-desc-toggle:hover {
    opacity: 0.7;
  }
  /* d3 layout (default): show full description, hide truncated span and all toggle buttons */
  .col-body:not(.col-body--d5) #col-desk-desc-short { display: none; }
  .col-body:not(.col-body--d5) #col-desk-desc-full  { display: block !important; }
  .col-body:not(.col-body--d5) .col-desc-toggle     { display: none; }

  /* ── Load more — always spans full width ── */
  .col-load-more {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    padding: 2rem 0 0.5rem;
  }
  .col-load-more__status {
    font-size: 14px;
    color: #888;
    margin: 0;
  }
  .col-load-more__btn {
    display: inline-block;
    font-size: 14px;
    font-weight: 600;
    color: #222;
    background: #fff;
    border: 2px solid #222;
    border-radius: 4px;
    padding: 0.65rem 2.5rem;
    cursor: pointer;
    letter-spacing: 0.02em;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
  }
  .col-load-more__btn:hover:not(.is-loading) {
    background: #222;
    color: #fff;
  }
  .col-load-more__btn.is-loading {
    opacity: 0.55;
    cursor: default;
    pointer-events: none;
  }

  /* ── Mobile-only elements: hidden on desktop ── */
  .col-mobile-desc,
  .col-mobile-count {
    display: none;
  }

  /* ── Responsive ── */
  @media (max-width: 767px) {
    .col-body {
      grid-template-columns: 1fr;
      gap: 1rem;
    }
    /* hide description from grid on mobile — shown above toolbar instead */
    .col-body__desc {
      display: none;
    }
    /* hide count from toolbar on mobile — shown below toolbar instead */
    .col-toolbar__count {
      display: none;
    }
    /* remove bottom margin so count padding controls spacing evenly */
    .col-toolbar {
      margin-bottom: 0;
    }

    /* show mobile-only blocks */
    .col-mobile-desc {
      display: block;
      font-family: var(--nr-font-body, sans-serif);
      font-size: 1rem;
      line-height: 1.6;
      color: var(--nr-muted, #6B6B6B);
      margin-bottom: 1.25rem;
    }
    .col-mobile-desc__body {
      overflow: hidden;
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      cursor: pointer;
    }
    .col-mobile-desc__body.is-expanded {
      display: block;
      -webkit-line-clamp: unset;
    }
    .col-mobile-desc p {
      margin: 0 0 0.75rem;
    }

    .col-mobile-count {
      display: block;
      padding: 0.75rem 0;
      font-size: 14px;
      font-weight: 600;
      color: #222;
      text-align: center;
    }

    .col-body {
      padding-bottom: 2rem;
      column-gap: 4px;
      row-gap: 24px;
    }
    .col-toolbar {
      padding-top: 0.75rem;
      padding-bottom: 0.75rem;
    }

    /* mobile toolbar: [Filter | Relevance] on left, [icon] on right */
    .col-toolbar__right {
      flex: 1;
      justify-content: flex-start;
    }
    .col-filter-btn { order: 1; }
    .col-toolbar__right > :nth-child(2) { order: 2; display: none; }
    .col-sort-btn { order: 3; }
    .col-toolbar__right > :nth-child(4) { order: 4; display: none; }
    .col-layout-btns { order: 5; margin-left: auto; }

    /* outlined layout icons on mobile */
    .col-layout-toggle--mobile .col-layout-icon rect,
    .col-layout-toggle--mobile .col-layout-icon--active rect {
      fill: none;
      stroke: currentColor;
      stroke-width: 1.5;
    }
  }
  /* ── Grid loading state (during AJAX filter fetch) ── */
  .col-body--loading {
    opacity: 0.45;
    pointer-events: none;
    transition: opacity 0.2s;
  }

  /* ── Subtle top-of-page progress bar ── */
  .col-load-bar {
    position: fixed;
    top: 0;
    left: -35%;
    width: 35%;
    height: 2px;
    background: #111;
    z-index: 9999;
    pointer-events: none;
    opacity: 0;
    border-radius: 0 2px 2px 0;
  }
  .col-load-bar--active {
    opacity: 1;
    animation: col-lb-sweep 1.6s ease-in-out infinite;
  }
  .col-load-bar--done {
    left: 100% !important;
    opacity: 0;
    animation: none;
    transition: left 0.2s ease, opacity 0.35s ease 0.2s;
  }
  @keyframes col-lb-sweep {
    0%   { left: -35%; }
    100% { left: 100%; }
  }

  /* ── Sim-card overrides for collection page ── */
  .sim-card__img {
    object-fit: contain;
  }
  .sim-card:hover .sim-card__img { transform: scale(1.07); }

  .sim-card__info {
    text-align: center;
  }
  .sim-card__price-row {
    justify-content: center;
  }
  .sim-card__swatches {
    justify-content: center;
  }

  /* ── Collection FAQ section ── */
  .col-faq {
    background: #f5f0eb;
    padding: 64px 0 72px;
    border-top: 1px solid #e5ded6;
  }
  .col-faq__inner {
    max-width: 820px;
    margin: 0 auto;
    padding: 0 var(--page-margin, 24px);
  }
  .col-faq__header {
    text-align: center;
    margin-bottom: 48px;
  }
  .col-faq__title {
    font-family: var(--nr-font-head, 'Cinzel', Georgia, serif);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: var(--nr-dark, #0C0A09);
    margin: 0 0 12px;
    line-height: 1.2;
  }
  .col-faq__sub {
    font-family: var(--nr-font-body, sans-serif);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.6;
    color: var(--nr-muted, #6B6B6B);
    margin: 0;
  }
  .col-faq__list {
    display: flex;
    flex-direction: column;
  }
  .col-faq__item {
    border-top: 1px solid #ddd6cc;
  }
  .col-faq__item:last-child {
    border-bottom: 1px solid #ddd6cc;
  }
  .col-faq__q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 0;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--nr-dark, #0C0A09);
    cursor: pointer;
    list-style: none;
    line-height: 1.4;
    transition: color 0.2s;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    outline: none;
  }
  .col-faq__q::-webkit-details-marker { display: none; }
  .col-faq__q:hover { color: var(--nr-accent, #222); }
  .col-faq__icon {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    border: 1px solid #c8b89a;
    border-radius: 50%;
    position: relative;
    transition: background 0.2s;
  }
  .col-faq__icon::before,
  .col-faq__icon::after {
    content: '';
    position: absolute;
    background: #c8b89a;
    border-radius: 2px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: transform 0.25s ease, opacity 0.25s;
  }
  .col-faq__icon::before { width: 10px; height: 1.5px; }
  .col-faq__icon::after  { width: 1.5px; height: 10px; }
  .col-faq__item[open] > .col-faq__q .col-faq__icon {
    background: #c8b89a;
  }
  .col-faq__item[open] > .col-faq__q .col-faq__icon::before { background: #fff; }
  .col-faq__item[open] > .col-faq__q .col-faq__icon::after  { background: #fff; opacity: 0; transform: translate(-50%, -50%) scaleY(0); }
  .col-faq__a {
    padding: 0 32px 24px 0;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    color: var(--nr-muted, #6B6B6B);
    animation: col-faq-open 0.22s ease;
  }
  @keyframes col-faq-open {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  .col-faq__a p {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
    margin: 0 0 12px;
  }
  .col-faq__a p:last-child { margin-bottom: 0; }
  .col-faq__a ul,
  .col-faq__a ol {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
    margin: 0;
    padding-left: 20px;
  }
  .col-faq__a li { margin-bottom: 6px; }
  .col-faq__a li:last-child { margin-bottom: 0; }
  .col-faq__a strong { color: var(--nr-dark, #0C0A09); font-weight: 600; }

  @media (max-width: 600px) {
    .col-faq { padding: 48px 0 56px; }
    .col-faq__header { margin-bottom: 32px; }
    .col-faq__a { padding-right: 0; }
  }
/* END_SECTION:collection */

/* START_SECTION:collections (INDEX:5) */
/* ── Full-width wrapper — matches home section pattern ── */
.lc-page-wrap { margin: 0; }
.lc-page-inner {
  max-width: min(1340px, calc(100% - 3rem));
  margin: 0 auto;
}

/* ── Page wrapper ── */
.lc-breadcrumb {
  padding: 1.5rem 0 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--nr-font-body, sans-serif);
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--nr-muted, #6B6B6B);
}
.lc-breadcrumb__link {
  color: var(--nr-muted, #6B6B6B);
  text-decoration: none;
  transition: color 200ms ease;
}
.lc-breadcrumb__link:hover { color: var(--nr-dark, #0C0A09); }
.lc-breadcrumb__sep { opacity: 0.4; }
.lc-breadcrumb__current { color: var(--nr-dark, #0C0A09); }

/* ── Header ── */
.lc-header {
  padding: 2.5rem 0 3rem;
  border-bottom: 1px solid var(--nr-border, #E6E1D9);
  text-align: center;
}
.lc-header__title {
  font-family: var(--nr-font-head, serif);
  font-size: clamp(2rem, 4vw, 3.25rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  color: var(--nr-dark, #0C0A09);
  margin: 0 0 1rem;
}
.lc-header__rule {
  display: block;
  width: 48px;
  height: 2px;
  background: var(--nr-gold, #A16207);
  margin: 0 auto 1rem;
  border-radius: 99px;
}
.lc-header__sub {
  font-family: var(--nr-font-body, sans-serif);
  font-size: 1rem;
  color: var(--nr-muted, #6B6B6B);
  margin: 0 auto;
  max-width: 52ch;
}

/* ── Grid ── */
.lc-grid {
  padding: 3.5rem 0 6rem;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 1100px) {
  .lc-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 720px) {
  .lc-grid {
    grid-template-columns: 1fr;
    gap: 0.75rem;
    padding: 2rem 0 4rem;
  }
}

/* ── Card ── */
.lc-card {
  display: block;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  cursor: pointer;
}
.lc-card:focus-visible {
  outline: 2px solid var(--nr-gold, #B8955A);
  outline-offset: 3px;
}

.lc-card__media {
  position: relative;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background-color: var(--nr-border, #E6E1D9);
}

/* Landscape ratio on mobile */
@media (max-width: 720px) {
  .lc-card__media { aspect-ratio: 16 / 7; }
}

.lc-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 700ms cubic-bezier(0.4, 0, 0.2, 1);
}
.lc-card:hover .lc-card__img { transform: scale(1.07); }

.lc-card__placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #E8E0D0 0%, #D6D3D1 100%);
}

.lc-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(12, 10, 9, 0.82) 0%,
    rgba(12, 10, 9, 0.18) 50%,
    transparent 100%
  );
  transition: opacity 400ms ease;
}
.lc-card:hover .lc-card__overlay { opacity: 0.9; }

/* ── Card content ── */
.lc-card__content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.lc-card__top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.lc-card__count {
  font-family: var(--nr-font-head, serif);
  font-size: 0.7rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #fff;
  margin: 0 0 0.35rem;
}

.lc-card__title {
  font-family: var(--nr-font-head, serif);
  font-size: clamp(0.9rem, 1.6vw, 1.2rem);
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.25;
  color: var(--nr-ivory, #FAFAF9);
  margin: 0;
}

.lc-card__cta {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  font-family: var(--nr-font-head, serif);
  font-size: 0.7rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--nr-gold-light, #D4AF71);
  white-space: nowrap;
  flex-shrink: 0;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 280ms ease, transform 280ms ease;
}
.lc-card:hover .lc-card__cta {
  opacity: 1;
  transform: translateY(0);
}

/* Mobile: rounded corners, solid gold CTA button */
@media (max-width: 720px) {
  .lc-card {
    border-radius: 10px;
    overflow: hidden;
  }
  .lc-card__cta {
    opacity: 1;
    transform: none;
    color: var(--nr-gold-light, #D4AF71);
  }
  .lc-card__title {
    font-size: clamp(1rem, 4vw, 1.3rem);
  }
}

.lc-empty {
  grid-column: 1 / -1;
  text-align: center;
  padding: 4rem 0;
  color: var(--nr-muted, #6B6B6B);
  font-family: var(--nr-font-body, sans-serif);
}
/* END_SECTION:collections */

/* START_SECTION:custom-section (INDEX:6) */
.custom-section {
    position: relative;
    overflow: hidden;
    width: 100%;
  }
  .custom-section__background {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
    overflow: hidden;
  }
  .custom-section__background img {
    position: absolute;
    width: 100%;
    height: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .custom-section__content {
    display: grid;
    grid-template-columns: var(--content-grid);
  }
  .custom-section__content > * {
    grid-column: 2;
  }
/* END_SECTION:custom-section */

/* START_SECTION:featured-rugs (INDEX:7) */
/* ── Shared tokens (inherit from home-hero if already loaded) ── */
:root {
  --fr-ivory:      #F3EDE7;
  --fr-dark:       #1C1917;
  --fr-maroon:     #3B1309;
  --fr-gold:       #A16207;
  --fr-warm-gray:  #78716C;
  --fr-ease:       cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --fr-font-head:  'Cinzel', Georgia, serif;
  --fr-font-body:  'Outfit', 'Jost', sans-serif;
  --fr-font-serif: 'Cormorant Garamond', Georgia, serif;
}

/* ── Section shell ── */
.fr-showcase {
  display: flex;
  height: 100svh;
  min-height: 560px;
  max-height: 920px;
  overflow: hidden;
  background: var(--fr-ivory);
  position: relative;
}

/* ══════════════════════════════════════════════
   LEFT PANEL
══════════════════════════════════════════════ */
.fr-left {
  position: relative;
  width: 30%;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2.5rem 2rem 2.5rem 2.5rem;
  background: var(--fr-ivory);
  z-index: 3;
  overflow: hidden;
}

/* slides wrapper fills the padded area */
.fr-slides {
  position: relative;
  width: 100%;
  flex: 1;
  min-height: 0;
}

/* ── Individual slide ── */
.fr-slide {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.125rem;
  opacity: 0;
  pointer-events: none;
  transform: translateX(12px);
  transition:
    opacity  480ms var(--fr-ease),
    transform 480ms var(--fr-ease);
}
.fr-slide.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}
.fr-slide.is-exit {
  opacity: 0;
  transform: translateX(-12px);
  transition:
    opacity  360ms ease-in,
    transform 360ms ease-in;
}

/* ── Slide header ── */
.fr-slide__header {
  flex-shrink: 0;
  text-align: center;
}
.fr-slide__name {
  font-family: var(--fr-font-head);
  font-size: clamp(0.78rem, 1.15vw, 1rem);
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--fr-dark);
  margin: 0 0 0.5rem;
  line-height: 1.25;
  text-align: center;
}
.fr-slide__desc {
  font-family: var(--fr-font-body);
  font-size: 0.86rem;
  color: var(--fr-warm-gray);
  line-height: 1.65;
  margin: 0;
  text-align: center;
}

/* ── Rug image frame ── */
.fr-slide__frame {
  flex-shrink: 0;
  width: 62%;
  max-height: 48vh;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: 3px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.14);
  align-self: center;
  background: #ffffff;
}
.fr-slide__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
  transition: transform 600ms var(--fr-ease);
}
.fr-slide__frame:hover .fr-slide__img {
  transform: scale(1.02);
}
.fr-slide__placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(145deg, #d8d0c6 0%, #c4bab0 100%);
}

/* ── CTA button ── */
.fr-slide__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fr-font-head);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-decoration: none;
  color: #FAFAF9;
  background: var(--fr-maroon);
  border: 1px solid var(--fr-maroon);
  padding: 0.875rem 2rem;
  border-radius: 100px;
  width: fit-content;
  min-width: 150px;
  align-self: center;
  flex-shrink: 0;
  transition: background 220ms ease, border-color 220ms ease, transform 220ms ease;
}
.fr-slide__cta:hover {
  background: #2A0D07;
  border-color: #2A0D07;
  transform: translateY(-1px);
}
.fr-slide__cta:focus-visible {
  outline: 2px solid var(--fr-gold);
  outline-offset: 3px;
}
.fr-slide__cta--disabled {
  opacity: 0.45;
  pointer-events: none;
}

/* ── Navigation arrows ── */
.fr-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(0, 0, 0, 0.09);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  color: var(--fr-dark);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  transition: background 200ms ease, box-shadow 200ms ease, transform 200ms ease;
}
.fr-arrow:hover {
  background: #fff;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.16);
  transform: translateY(-50%) scale(1.06);
}
.fr-arrow:focus-visible {
  outline: 2px solid var(--fr-gold);
  outline-offset: 2px;
}
.fr-arrow--prev { left: 0.625rem; }
.fr-arrow--next { right: 0.625rem; }

/* ══════════════════════════════════════════════
   RIGHT PANEL
══════════════════════════════════════════════ */
.fr-right {
  flex: 1;
  position: relative;
  overflow: hidden;
  background: #bfb8ae;
}

/* ── BG group (one per rug) ── */
.fr-bg-group {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 650ms var(--fr-ease);
}
.fr-bg-group.is-active {
  opacity: 1;
  pointer-events: auto;
}

/* ── BG image slides ── */
.fr-bg-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 520ms ease;
}
.fr-bg-slide.is-active { opacity: 1; }

.fr-bg-placeholder {
  background: linear-gradient(135deg, #d8d0c6 0%, #c8bfb4 100%);
}

.fr-bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* ── Left edge: solid colour border between panels ── */
.fr-right__feather {
  display: none;
}

/* ── Thumbnail strip ── */
.fr-thumbs {
  position: absolute;
  bottom: 1.375rem;
  right: 1.375rem;
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  z-index: 5;
}
.fr-thumb {
  width: 82px;
  height: 62px;
  overflow: hidden;
  border-radius: 4px;
  cursor: pointer;
  border: 2px solid transparent;
  padding: 0;
  background: none;
  opacity: 0.55;
  transition: opacity 220ms ease, border-color 220ms ease, transform 200ms ease;
}
.fr-thumb.is-active {
  border-color: rgba(255, 255, 255, 0.9);
  opacity: 1;
}
.fr-thumb:hover {
  opacity: 0.85;
  transform: scale(1.04);
}
.fr-thumb:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
.fr-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ══════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════ */
@media (max-width: 768px) {
  .fr-showcase {
    flex-direction: column;
    height: auto;
    max-height: none;
    min-height: 0;
  }

  .fr-left {
    width: 100%;
    padding: 2rem 1.5rem 1.75rem;
    order: 2;
  }

  .fr-slides {
    position: relative;
    min-height: 360px;
    height: auto;
  }

  .fr-slide {
    position: relative;
    inset: auto;
    display: none;
    transform: none;
    transition: none;
    gap: 1rem;
  }
  .fr-slide.is-active { display: flex; opacity: 1; }

  .fr-slide__frame {
    width: 55%;
    max-height: 50vw;
    aspect-ratio: 3 / 4;
  }

  .fr-right {
    order: 1;
    height: 58vw;
    min-height: 240px;
    flex-shrink: 0;
  }

  .fr-right__feather { display: none; }

  .fr-arrow--prev { left: 0.5rem; }
  .fr-arrow--next { right: 0.5rem; }

  .fr-thumbs {
    bottom: 0.75rem;
    right: 0.75rem;
    gap: 0.3rem;
  }
  .fr-thumb { width: 46px; height: 36px; }
}

@media (max-width: 430px) {
  .fr-slide__name { font-size: 0.82rem; }
  .fr-slide__cta { font-size: 0.66rem; padding: 0.8rem 1.5rem; min-width: 130px; }
}

@media (prefers-reduced-motion: reduce) {
  .fr-slide,
  .fr-slide.is-exit,
  .fr-bg-group,
  .fr-bg-slide,
  .fr-thumb,
  .fr-slide__img,
  .fr-arrow {
    transition: none !important;
    animation: none !important;
  }
}
/* END_SECTION:featured-rugs */

/* START_SECTION:footer (INDEX:8) */
/* ── CSS variables ─────────────────────────────────────── */
.ftr-tagline, .ftr-main, .ftr-contact-bar,
.ftr-payment-band, .ftr-bottom {
  --ftr-bg:     #111111;
  --ftr-bg2:    #161616;
  --ftr-border: #222222;
  --ftr-gold:   #A16207;
  --ftr-text:   #ffffff;
  --ftr-muted:  #888888;
  --ftr-dim:    #444444;
  box-sizing: border-box;
}
.ftr-tagline *, .ftr-main *, .ftr-contact-bar *,
.ftr-payment-band *, .ftr-bottom * {
  box-sizing: border-box;
}

/* ── Tagline band ──────────────────────────────────────── */
.ftr-tagline {
  background: var(--ftr-bg);
  border-top: 1px solid var(--ftr-border);
  padding: 32px 0;
}
.ftr-tagline__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
}
.ftr-diamond {
  color: var(--ftr-gold);
  flex-shrink: 0;
}
.ftr-logo {
  width: 44px;
  height: 44px;
  object-fit: contain;
  flex-shrink: 0;
}
.ftr-tagline__text {
  font-size: 0.9rem;
  color: var(--ftr-muted);
  margin: 0;
  max-width: 640px;
  line-height: 1.65;
}

/* ── Main columns ──────────────────────────────────────── */
.ftr-main {
  background: var(--ftr-bg);
  border-top: 1px solid var(--ftr-border);
  padding: 52px 0;
}
.ftr-main__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
  display: grid;
  grid-template-columns: 1.1fr 1fr 1fr 1.15fr;
  gap: 40px;
  align-items: start;
}

/* Column headings */
.ftr-col__heading,
details.ftr-col > summary {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ftr-text);
  margin: 0 0 20px;
  display: block;
}
details.ftr-col > summary {
  list-style: none;
  -webkit-appearance: none;
  pointer-events: none;
  cursor: default;
}
details.ftr-col > summary::-webkit-details-marker { display: none; }

/* Section icons — shown only on mobile inside accordion headers */
.ftr-col__icon { display: none; }

/* Mobile-only contact column — hidden on desktop */
.ftr-col--contact-mob { display: none; }

/* ── Need Help list ────────────────────────────────────── */
.ftr-help-list {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 13px;
}
.ftr-help-list li a {
  display: flex;
  align-items: center;
  gap: 11px;
  font-size: 0.84rem;
  color: var(--ftr-muted);
  text-decoration: none;
  transition: color 0.2s;
}
.ftr-help-list li a:hover { color: var(--ftr-text); }
.ftr-help-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 1px solid var(--ftr-gold);
  border-radius: 50%;
  flex-shrink: 0;
  font-size: 0.68rem;
  color: var(--ftr-gold);
  transition: border-color 0.2s, color 0.2s;
}
.ftr-help-list li a:hover .ftr-help-icon {
  border-color: #fff;
  color: #fff;
}
.ftr-view-all {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.78rem;
  color: var(--ftr-muted);
  text-decoration: none;
  border-bottom: 1px solid var(--ftr-dim);
  padding-bottom: 2px;
  transition: color 0.2s, border-color 0.2s;
}
.ftr-view-all:hover { color: var(--ftr-text); border-color: var(--ftr-muted); }
.ftr-view-all i { font-size: 0.62rem; }

/* ── Shop Rugs list ────────────────────────────────────── */
.ftr-shop-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ftr-shop-list li a,
.ftr-about-list li a {
  font-size: 0.84rem;
  color: var(--ftr-muted);
  text-decoration: none;
  transition: color 0.2s;
}
.ftr-shop-list li a:hover,
.ftr-about-list li a:hover { color: var(--ftr-text); }
.ftr-link--gold { color: var(--ftr-gold) !important; }

/* ── About list ────────────────────────────────────────── */
.ftr-about-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* ── Newsletter column ─────────────────────────────────── */
.ftr-newsletter__fields {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
}
.ftr-newsletter__fields input[type="email"] {
  width: 100%;
  padding: 12px 14px;
  font-size: 0.84rem;
  background: #1a1a1a;
  border: 1px solid #2e2e2e;
  color: var(--ftr-text);
  outline: none;
  transition: border-color 0.2s;
}
.ftr-newsletter__fields input[type="email"]::placeholder { color: var(--ftr-dim); }
.ftr-newsletter__fields input[type="email"]:focus { border-color: var(--ftr-gold); }
.ftr-newsletter__fields button {
  width: 100%;
  padding: 12px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: var(--ftr-gold);
  color: #111;
  border: none;
  cursor: pointer;
  transition: background 0.2s, opacity 0.2s;
}
.ftr-newsletter__fields button:hover { opacity: 0.85; }
.ftr-newsletter__success {
  color: #7ecfa0;
  font-size: 0.85rem;
  margin: 0 0 12px;
}
.ftr-newsletter__disclaimer {
  font-size: 0.74rem;
  color: var(--ftr-dim);
  line-height: 1.55;
  margin: 0;
}
.ftr-newsletter__disclaimer a { color: var(--ftr-muted); text-decoration: underline; }

/* ── Contact bar ───────────────────────────────────────── */
.ftr-contact-bar {
  background: var(--ftr-bg);
  border-top: 1px solid var(--ftr-border);
}
.ftr-contact-bar__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-left: 1px solid var(--ftr-border);
  border-right: 1px solid var(--ftr-border);
}
.ftr-contact-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 22px 24px;
  border-right: 1px solid var(--ftr-border);
  background: var(--ftr-bg);
  text-decoration: none;
  color: inherit;
  transition: background 0.2s;
}
.ftr-contact-card:last-child { border-right: none; }
a.ftr-contact-card:hover { background: var(--ftr-bg2); }
.ftr-contact-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--ftr-gold);
  border-radius: 50%;
  flex-shrink: 0;
  font-size: 0.9rem;
  color: var(--ftr-gold);
}
.ftr-contact-card__info {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.ftr-contact-card__info strong {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--ftr-text);
  line-height: 1.3;
}
.ftr-contact-card__info span {
  font-size: 0.74rem;
  color: var(--ftr-muted);
}

/* ── Payment band ──────────────────────────────────────── */
.ftr-payment-band {
  background: var(--ftr-bg);
  border-top: 1px solid var(--ftr-border);
  padding: 32px 0;
}
.ftr-payment-band__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.ftr-payment-band__label {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ftr-muted);
}
.ftr-payment-band__badges {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
}
.ftr-payment-icon {
  height: 28px;
  width: auto;
  border-radius: 4px;
  background: #fff;
  padding: 3px 6px;
  object-fit: contain;
}

/* ── Bottom bar ────────────────────────────────────────── */
.ftr-bottom {
  background: #0a0a0a;
  border-top: 1px solid var(--ftr-border);
  padding: 20px 0;
}
.ftr-bottom__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
}
.ftr-bottom__social {
  display: flex;
  align-items: center;
  gap: 10px;
}
.ftr-bottom__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--ftr-gold);
  border-radius: 50%;
  color: var(--ftr-gold);
  font-size: 0.82rem;
  text-decoration: none;
  transition: color 0.2s, border-color 0.2s;
}
.ftr-bottom__social a:hover { color: #fff; border-color: #fff; }
.ftr-bottom__copy {
  font-size: 0.78rem;
  color: var(--ftr-muted);
}

/* ── Desktop: always show details content ──────────────── */
@media (min-width: 681px) {
  details.ftr-col > ul { display: flex !important; }
  details.ftr-col > .ftr-view-all { display: inline-flex !important; }
}

/* ── Responsive: tablet ────────────────────────────────── */
@media (max-width: 1100px) {
  .ftr-main__inner {
    grid-template-columns: 1fr 1fr;
    gap: 36px;
  }
  .ftr-contact-bar__inner {
    grid-template-columns: repeat(2, 1fr);
    border-left: none;
    border-right: none;
  }
  .ftr-contact-card { border-right: none; border-bottom: 1px solid var(--ftr-border); }
  .ftr-contact-card:last-child { border-bottom: none; }
}

/* ── Responsive: mobile ────────────────────────────────── */
@media (max-width: 680px) {
  /* Collapse grid to single column accordion */
  .ftr-main { padding: 0; border-top: 1px solid var(--ftr-border); }
  .ftr-main__inner {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0 var(--page-margin, 24px);
  }

  /* Newsletter comes first on mobile */
  .ftr-col--newsletter { order: -1; border-bottom: 1px solid var(--ftr-border); padding: 24px 0; }

  /* Mobile-only contact section */
  .ftr-col--contact-mob { display: block; padding: 20px 0; }
  .ftr-contact-mob-list {
    list-style: none;
    margin: 10px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .ftr-contact-mob-list li,
  .ftr-contact-mob-list li a {
    font-size: 0.84rem;
    color: var(--ftr-muted);
    text-decoration: none;
    transition: color 0.2s;
  }
  .ftr-contact-mob-list li a:hover { color: var(--ftr-text); }

  /* Desktop contact bar hidden on mobile */
  .ftr-contact-bar { display: none; }

  /* Section icons in accordion and contact headers */
  .ftr-col__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 1px solid var(--ftr-gold);
    border-radius: 50%;
    flex-shrink: 0;
    font-size: 0.68rem;
    color: var(--ftr-gold);
    margin-right: 10px;
  }
  /* Icon in static heading (contact section) */
  .ftr-col__heading .ftr-col__icon { margin-bottom: 0; vertical-align: middle; }

  /* Accordion interactivity */
  details.ftr-col { border-bottom: 1px solid var(--ftr-border); }
  details.ftr-col > summary {
    pointer-events: auto;
    cursor: pointer;
    margin: 0;
    padding: 16px 0;
    display: flex;
    align-items: center;
  }
  /* Chevron arrow via ::after pushed to far right */
  details.ftr-col > summary::after {
    content: '';
    display: block;
    width: 7px;
    height: 7px;
    border-right: 1.5px solid var(--ftr-dim);
    border-bottom: 1.5px solid var(--ftr-dim);
    transform: rotate(45deg);
    margin-left: auto;
    flex-shrink: 0;
    transition: transform 0.22s;
  }
  details.ftr-col[open] > summary::after {
    transform: rotate(-135deg);
    margin-top: 4px;
  }
  details.ftr-col > ul,
  details.ftr-col > .ftr-view-all { display: none !important; }
  details.ftr-col[open] > ul {
    display: flex !important;
    padding-bottom: 18px;
  }
  details.ftr-col[open] > .ftr-view-all {
    display: inline-flex !important;
    margin-bottom: 18px;
  }

  /* Bottom bar */
  .ftr-bottom__inner {
    flex-direction: column;
    gap: 14px;
    text-align: center;
  }

  /* Payment icons smaller */
  .ftr-payment-icon { height: 22px; }
}
/* END_SECTION:footer */

/* START_SECTION:header (INDEX:9) */
/* ---- Top Bar ---- */
.top-bar {
  background-color: #f5f0e8;
  border-bottom: 1px solid #e8e0d0;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 200;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  padding-top: env(safe-area-inset-top, 0px);
}
.top-bar:hover { background-color: #ede8de; }
.top-bar__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0.55rem var(--page-margin, 2rem);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3rem;
  flex-wrap: wrap;
  position: relative;
}
.top-bar__item {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.78rem;
  font-weight: 500;
  color: #4a4030;
  white-space: nowrap;
  letter-spacing: 0.01em;
}
.top-bar__item i {
  font-size: 1rem;
  flex-shrink: 0;
  color: #7a6a50;
}
.top-bar__item--tel {
  text-decoration: none;
  color: #4a4030;
}
.top-bar__item--tel:hover {
  text-decoration: underline;
  color: #4a4030;
}

/* ---- Top Bar Country Selector ---- */
.top-bar__country {
  position: absolute;
  left: var(--page-margin, 2rem);
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
}
.top-bar__country-btn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: #4a4030;
  cursor: pointer;
}
.top-bar__country-btn i {
  color: #7a6a50;
  font-size: 0.9rem;
}
.top-bar__country-label {
  white-space: nowrap;
}
.top-bar__country-value {
  font-weight: 700;
}
.top-bar__country-caret {
  font-size: 0.6rem !important;
  transition: transform 0.2s ease;
}
.top-bar__country.is-open .top-bar__country-caret {
  transform: rotate(180deg);
}
.top-bar__country-menu {
  position: absolute;
  top: 100%;
  left: 0;
  list-style: none;
  margin: 0.5rem 0 0;
  padding: 0.4rem 0;
  min-width: 6.5rem;
  background: #f5f0e8;
  border: 1px solid #e8e0d0;
  border-radius: 6px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.14);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
  z-index: 9999;
}
.top-bar__country.is-open .top-bar__country-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.top-bar__country-option a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem 0.9rem;
  font-size: 0.8rem;
  font-weight: 500;
  color: #4a4030;
  text-decoration: none;
  white-space: nowrap;
}
.top-bar__country-option a:hover {
  background: #ede8de;
}
.top-bar__country-check {
  font-size: 0.7rem !important;
  color: #7a6a50;
  width: 0.85rem;
  visibility: hidden;
}
.top-bar__country-option.is-selected .top-bar__country-check {
  visibility: visible;
}

/* ---- Topbar Detail Panel ---- */
#topbar-panel {
  position: fixed;
  inset: 0;
  z-index: 201;
  pointer-events: none;
}
#topbar-panel.is-open {
  pointer-events: auto;
}

.tbp__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0);
  transition: background 0.3s ease;
}
#topbar-panel.is-open .tbp__backdrop {
  background: rgba(0, 0, 0, 0.32);
}

.tbp__card {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: #fff;
  padding: 1.5rem var(--page-margin, 2rem);
  transform: translateY(-100%);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
#topbar-panel.is-open .tbp__card {
  transform: translateY(0);
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.1);
}

.tbp__items {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 4rem;
  padding: 0.75rem 0;
}

.tbp__item {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
}
.tbp__item--link {
  text-decoration: none;
  color: inherit;
}
.tbp__item--link:hover .tbp__item-text strong {
  text-decoration: underline;
}
.tbp__item i {
  font-size: 1.5rem;
  flex-shrink: 0;
  color: #333;
  margin-top: 0.15rem;
  width: 1.75rem;
  text-align: center;
}
.tbp__item-text {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.tbp__item-text strong {
  font-size: 0.9rem;
  font-weight: 600;
  color: #111;
  white-space: nowrap;
}
.tbp__item-text span {
  font-size: 0.8rem;
  color: #666;
  white-space: nowrap;
}

/* ---- Main Header ---- */
.site-header {
  background-color: var(--color-background, #ffffff);
  border-bottom: 1px solid #ebebeb;
  position: sticky;
  top: 2.4rem;
  z-index: 199;
}
.site-header__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0 var(--page-margin, 2rem);
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}

/* Left slot: search always visible; hamburger mobile-only */
.site-header__left {
  display: flex;
  align-items: center;
  gap: 0;
  flex: 1;
}

/* Hamburger (mobile only — hidden on desktop)
   Uses double-class to beat the .icon-btn { display: flex } rule below */
.site-header__hamburger.icon-btn {
  display: none;
  flex-shrink: 0;
}

/* Search button visibility: desktop btn hidden by default, shown above 768px */
.srch-btn-desktop.icon-btn { display: none; }
@media (min-width: 769px) {
  .srch-btn-mobile.icon-btn { display: none; }
  .srch-btn-desktop.icon-btn { display: flex; }
}

/* Logo (centre) — absolutely centred on the full header width */
.site-header__logo {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: none;
}
.site-header__logo a {
  pointer-events: auto;
  display: block;
  line-height: 0;
}
.site-header__logo-img {
  height: 1rem;
  width: auto;
  display: block;
}

/* Icons (right) */
.site-header__icons {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.25rem;
  flex: 1;
  flex-shrink: 0;
}
.icon-btn {
  background: none;
  border: none;
  outline: none;
  cursor: pointer;
  padding: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-foreground, #111);
  text-decoration: none;
  border-radius: 50%;
  transition: background 0.15s;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  -webkit-appearance: none;
  appearance: none;
}
.icon-btn:hover { background: #f3f3f3; }
.icon-btn:focus { outline: none; border: none; box-shadow: none; }
.icon-btn:active { outline: none; border: none; box-shadow: none; }
@media (hover: hover) {
  .icon-btn:focus-visible { outline: 2px solid var(--color-foreground, #111); outline-offset: 2px; }
}
.icon-btn svg {
  width: 1.35rem;
  height: 1.35rem;
}

/* Cart badge */
.cart-btn .cart-count {
  position: absolute;
  top: 0.2rem;
  right: 0.2rem;
  background: #C2410B;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  min-width: 1rem;
  height: 1rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  padding: 0 0.15rem;
}

/* Favourites badge */
.fav-btn { position: relative; }
.fav-count {
  position: absolute;
  top: 0.2rem;
  right: 0.2rem;
  background: #C2410B;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  min-width: 1rem;
  height: 1rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  padding: 0 0.15rem;
  pointer-events: none;
}

/* Offset page content below fixed top-bar only */
body { padding-top: 2.4rem; }

/* ---- Desktop Nav Bar ---- */
.site-nav {
  background-color: #ffffff;
  border-bottom: 1px solid #ebebeb;
  width: 100%;
  position: sticky;
  top: 5.4rem; /* topbar(2.4rem) + header(3rem) */
  z-index: 198;
  /* overflow:visible is critical — do NOT set overflow:hidden here or
     the mega panel (position:absolute child) will be clipped */
  overflow: visible;
}

.site-nav__list {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0 var(--page-margin, 2rem);
  display: flex;
  align-items: stretch;
  list-style: none;
  gap: 0;
  overflow: visible;
}

.site-nav__item {
  /* No position:relative — mega panel must anchor to .site-nav (sticky)
     so left:0/right:0 spans the full viewport width */
  display: flex;
  align-items: stretch;
}

.site-nav__link {
  display: flex;
  align-items: center;
  gap: 0.28rem;
  padding: 0 1rem;
  height: 3.25rem;
  font-size: 0.9rem;
  font-weight: 400;
  color: var(--color-foreground, #111);
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  transition: color 0.15s, border-color 0.15s;
  letter-spacing: 0.02em;
  text-transform: none;
}

.site-nav__link:hover {
  color: #4a4030;
  border-bottom-color: #c8b99a;
}

.site-nav__link.is-active {
  font-weight: 400;
  border-bottom-color: #4a4030;
  color: #4a4030;
}

.site-nav__chevron {
  flex-shrink: 0;
  transition: transform 0.2s ease;
  opacity: 0.55;
}

.site-nav__item.has-dropdown:hover .site-nav__chevron,
.site-nav__item.has-dropdown:focus-within .site-nav__chevron {
  transform: rotate(180deg);
  opacity: 0.8;
}

.site-nav__item.has-dropdown:hover .site-nav__link,
.site-nav__item.has-dropdown:focus-within .site-nav__link,
.site-nav__item.has-dropdown .site-nav__link,
.site-nav__item.has-dropdown .site-nav__link.is-active {
  border-bottom-color: transparent;
}

/* ---- Mega Menu ---- */
/* Anchored to .site-nav (position:sticky) — NOT to .site-nav__item.
   left:0/right:0 therefore spans the full .site-nav = full viewport. */
.site-nav__mega {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #ffffff;
  border-top: 2px solid #4a4030;
  border-bottom: 1px solid #e8e0d0;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.13);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.22s ease, visibility 0s linear 0.22s;
  z-index: 999;
  overflow: hidden;
}

.site-nav__item.has-dropdown:hover .site-nav__mega,
.site-nav__item.has-dropdown:focus-within .site-nav__mega {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.22s ease, visibility 0s;
}

/* Page backdrop — dims everything below the nav when any mega menu is open.
   Uses :has() (Chrome 105+, Safari 15.4+, Firefox 121+).
   z-index 197 = below site-nav (198) but above all page content (0). */
body:has(.site-nav__item.has-dropdown:hover)::before,
body:has(.site-nav__item.has-dropdown:focus-within)::before {
  content: '';
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.38);
  z-index: 197;
  pointer-events: none;
  animation: mega-backdrop-in 0.22s ease forwards;
}

@keyframes mega-backdrop-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* Inner wrapper: constrained to page width, flex row for cols + inspiration */
.site-nav__mega-inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  display: flex;
  align-items: stretch;
}

/* Left content area (menu links) */
.site-nav__mega-content {
  flex: 1;
  min-width: 0;
  padding: 2rem var(--page-margin, 2rem) 2.25rem;
}

/* Right inspiration panel */
.site-nav__mega-inspo {
  width: 460px;
  flex-shrink: 0;
  background: #f5f0e8;
  border-left: 1px solid #e0d8cc;
  padding: 1.5rem 1.75rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  position: relative;
}

/* Extend the beige fill to the right viewport edge beyond max-width container */
.site-nav__mega-inspo::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 100%;
  width: 100vw;
  background: #f5f0e8;
  pointer-events: none;
}

.site-nav__mega-inspo-label {
  font-size: 0.75rem;
  font-weight: 700;
  color: #9a8a70;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-shrink: 0;
}

.site-nav__mega-inspo-label::after {
  content: '';
  flex: 1;
  height: 1px;
  background: #d8cfc0;
}

.site-nav__mega-inspo-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.6rem;
  flex: 1;
}

/* Article card — square */
.inspo-card {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 4px;
  text-decoration: none;
  color: #fff;
  aspect-ratio: 1 / 1;
  background: #ccc5b5;
}

.inspo-card__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.inspo-card:hover .inspo-card__img {
  transform: scale(1.07);
}

.inspo-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(15, 10, 5, 0.85) 0%,
    rgba(15, 10, 5, 0.18) 50%,
    transparent 100%
  );
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 0.8rem 0.75rem;
  gap: 0.4rem;
  transition: background 0.3s ease;
}

.inspo-card:hover .inspo-card__overlay {
  background: linear-gradient(
    to top,
    rgba(15, 10, 5, 0.92) 0%,
    rgba(15, 10, 5, 0.28) 55%,
    transparent 100%
  );
}

.inspo-card__title {
  font-size: 0.77rem;
  font-weight: 500;
  line-height: 1.35;
  color: #fff;
  letter-spacing: 0.01em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Frosted glass circle arrow */
.inspo-card__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.6rem;
  height: 1.6rem;
  background: rgba(255,255,255,0.15);
  border: 1px solid rgba(255,255,255,0.35);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border-radius: 50%;
  color: #fff;
  flex-shrink: 0;
  align-self: flex-start;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.inspo-card:hover .inspo-card__arrow {
  background: rgba(255,255,255,0.95);
  border-color: transparent;
  color: #333;
}

/* Column row */
.site-nav__mega-cols {
  display: flex;
  align-items: flex-start;
  gap: 0;
}

/* Each group column */
.site-nav__mega-group {
  flex: 1;
  min-width: 160px;
  padding-right: 2.5rem;
}

.site-nav__mega-group + .site-nav__mega-group {
  padding-left: 2.5rem;
  padding-right: 0;
  border-left: 1px solid #ebebeb;
}

/* Flat (2-level) layout: each column is a normal group capped at 5 items */

.site-nav__mega-group--flat .site-nav__mega-item {
  border-bottom: 1px solid #f0ebe0;
}

.site-nav__mega-group--flat .site-nav__mega-item:last-child {
  border-bottom: none;
}

.site-nav__mega-group--flat .site-nav__mega-link {
  display: block;
  padding: 0.58rem 0;
  font-size: 0.84rem;
  font-weight: 400;
  color: #222;
  background: none;
  border: none;
  border-radius: 0;
  white-space: nowrap;
  letter-spacing: 0.01em;
  transition: color 0.12s, padding-left 0.15s;
}

.site-nav__mega-group--flat .site-nav__mega-link::after {
  content: none;
}

.site-nav__mega-group--flat .site-nav__mega-link:hover {
  color: #4a4030;
  padding-left: 0.35rem;
  background: none;
}

.site-nav__mega-group--flat .site-nav__mega-link.is-active {
  font-weight: 400;
  color: #4a4030;
}

/* Group header title (3-level menus) */
.site-nav__mega-group-title {
  display: block;
  font-size: 0.84rem;
  font-weight: 400;
  color: #222;
  text-transform: none;
  letter-spacing: 0.01em;
  text-decoration: none;
  margin-bottom: 0.9rem;
  white-space: nowrap;
  transition: color 0.12s, padding-left 0.15s;
}

.site-nav__mega-group-title:hover {
  color: #4a4030;
  padding-left: 0.35rem;
}

/* Link list */
.site-nav__mega-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Each list item with thin bottom divider (like the reference) */
.site-nav__mega-item {
  border-bottom: 1px solid #f0ebe0;
}

.site-nav__mega-item:last-child {
  border-bottom: none;
}

/* Link */
.site-nav__mega-link {
  display: block;
  padding: 0.58rem 0;
  font-size: 0.84rem;
  font-weight: 400;
  color: #222;
  text-decoration: none;
  white-space: nowrap;
  letter-spacing: 0.01em;
  transition: color 0.12s, padding-left 0.15s;
}

.site-nav__mega-link:hover {
  color: #4a4030;
  padding-left: 0.35rem;
}

.site-nav__mega-link.is-active {
  font-weight: 400;
  color: #4a4030;
}

/* Hide inspiration panel on smaller desktops where it would be too tight */
@media (max-width: 1024px) {
  .site-nav__mega-inspo { display: none; }
}


/* ---- Mobile Nav Drawer ---- */
.snm {
  position: fixed;
  inset: 0;
  z-index: 202;
  pointer-events: none;
}

.snm.is-open {
  pointer-events: auto;
}

.snm__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0);
  transition: background 0.3s ease;
}

.snm.is-open .snm__backdrop {
  background: rgba(0, 0, 0, 0.42);
}

.snm__panel {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: min(300px, 82vw);
  background: #fff;
  transform: translateX(-100%);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.snm.is-open .snm__panel {
  transform: translateX(0);
  box-shadow: 8px 0 40px rgba(0, 0, 0, 0.12);
}

.snm__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.1rem;
  border-bottom: 1px solid #ebebeb;
  flex-shrink: 0;
}

.snm__logo {
  height: 1rem;
  width: auto;
}

/* Footer: country selector pinned to bottom of drawer */
.snm__footer {
  padding: 0.9rem 1.1rem calc(1.75rem + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid #ebebeb;
  background: #f5f0e8;
  flex-shrink: 0;
}
.snm__country {
  position: relative;
  display: inline-block;
}
.snm__country-btn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: none;
  border: none;
  border-bottom: 1.5px solid #4a4030;
  padding: 0 0 0.4rem;
  margin: 0;
  font: inherit;
  font-size: 0.85rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: #4a4030;
  cursor: pointer;
  white-space: nowrap;
}
.snm__country-btn i.fa-globe {
  color: #7a6a50;
  font-size: 0.95rem;
}
.snm__country-label {
  white-space: nowrap;
}
.snm__country-value {
  font-weight: 700;
}
.snm__country-caret {
  font-size: 0.65rem !important;
  transition: transform 0.2s ease;
}
.snm__country.is-open .snm__country-caret {
  transform: rotate(180deg);
}
.snm__country-menu {
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  list-style: none;
  margin: 0 0 0.6rem;
  padding: 0.4rem 0;
  background: #fff;
  border: 1px solid #e8e0d0;
  border-radius: 8px;
  box-shadow: 0 -8px 20px rgba(0, 0, 0, 0.12);
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
}
.snm__country.is-open .snm__country-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.snm__country-option a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.9rem;
  font-size: 0.82rem;
  font-weight: 500;
  color: #4a4030;
  text-decoration: none;
}
.snm__country-option a:hover {
  background: #f5f0e8;
}
.snm__country-check {
  font-size: 0.7rem !important;
  color: #7a6a50;
  width: 0.85rem;
  visibility: hidden;
}
.snm__country-option.is-selected .snm__country-check {
  visibility: visible;
}

/* Levels viewport — clips the sliding panels */
.snm__levels {
  flex: 1;
  position: relative;
  overflow: hidden;
}

/* Each level sits absolutely inside the viewport */
.snm__level {
  position: absolute;
  inset: 0;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
  background: #fff;
}

/* Root level starts on-screen */
.snm__level--root {
  transform: translateX(0);
  pointer-events: auto;
}

/* Sub-level sliding in */
.snm__level.is-active {
  transform: translateX(0);
  pointer-events: auto;
}

/* Root level sliding out to the left */
.snm__level.is-exiting {
  transform: translateX(-30%);
  pointer-events: none;
}

/* Sub-level header: back arrow + parent title */
.snm__sub-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.7rem 1rem;
  border-bottom: 2px solid #4a4030;
  flex-shrink: 0;
  background: #faf7f2;
}

.snm__back {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.35rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #4a4030;
  border-radius: 50%;
  transition: background 0.12s;
  flex-shrink: 0;
  -webkit-tap-highlight-color: transparent;
}

.snm__back:hover {
  background: #ede8de;
}

.snm__sub-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: #111;
  letter-spacing: 0.01em;
}

/* List */
.snm__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.snm__list-item {
  border-bottom: 1px solid #f0ebe0;
}

/* Links (shared by both levels — <a> and <button>) */
.snm__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0.88rem 1.25rem;
  font-size: 0.875rem;
  color: var(--color-foreground, #111);
  text-decoration: none;
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
  letter-spacing: 0.01em;
  text-align: left;
  transition: background 0.12s;
  -webkit-tap-highlight-color: transparent;
}

.snm__link:hover {
  background: #faf7f2;
  color: #4a4030;
}

.snm__link.is-active {
  font-weight: 600;
  color: #4a4030;
}

.snm__chevron-right {
  flex-shrink: 0;
  opacity: 0.4;
}

/* ---- Level-3 accordion (inline in level-2 panels) ---- */
.snm__accordion-row {
  display: flex;
  align-items: stretch;
}
.snm__accordion-row-link {
  flex: 1;
  display: flex;
  align-items: center;
  padding: 0.88rem 0.5rem 0.88rem 1.25rem;
  font-size: 0.875rem;
  color: var(--color-foreground, #111);
  text-decoration: none;
  letter-spacing: 0.01em;
  transition: color 0.12s;
}
.snm__accordion-row-link:hover { color: #4a4030; }
.snm__accordion-row-link.is-active { font-weight: 600; color: #4a4030; }
.snm__accordion-row-toggle {
  flex-shrink: 0;
  background: none;
  border: none;
  border-left: 1px solid #f0ebe0;
  cursor: pointer;
  padding: 0 1.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: inherit;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.12s;
}
.snm__accordion-row-toggle:hover { background: #faf7f2; }
.snm__accordion-chevron {
  flex-shrink: 0;
  opacity: 0.4;
  transform: rotate(90deg);
  transition: transform 0.22s ease;
}
.snm__accordion-row-toggle[aria-expanded="false"] .snm__accordion-chevron {
  transform: rotate(0deg);
}

.snm__accordion-body {
  list-style: none;
  padding: 0;
  margin: 0;
}
.snm__accordion-body.is-collapsed { display: none; }

.snm__accordion-item {
  border-bottom: 1px solid #f5f1ec;
}
.snm__accordion-item:last-child { border-bottom: none; }

.snm__accordion-link {
  display: block;
  padding: 0.65rem 1.25rem 0.65rem 2rem;
  font-size: 0.8rem;
  color: #555;
  text-decoration: none;
  letter-spacing: 0.01em;
  transition: background 0.12s, color 0.12s;
}
.snm__accordion-link:hover { background: #faf7f2; color: #4a4030; }
.snm__accordion-link.is-active { color: #4a4030; font-weight: 500; }

/* ---- Mobile ---- */
@media (max-width: 768px) {
  /* Announcement bar: ticker */
  .top-bar {
    height: calc(2.1rem + env(safe-area-inset-top, 0px));
    overflow: hidden;
    box-sizing: border-box;
    border-bottom: none;
  }
  .top-bar__inner {
    position: relative;
    height: 2.1rem;
    overflow: hidden;
    padding: 0 1rem;
    gap: 0;
    justify-content: center;
  }
  .top-bar__item {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, calc(-50% + 10px));
    opacity: 0;
    font-size: 0.75rem;
    white-space: nowrap;
    animation: top-bar-ticker 9s infinite;
    animation-fill-mode: backwards;
  }
  .top-bar__country {
    display: none;
  }

  .top-bar__item--1 { animation-delay: 0s; }
  .top-bar__item--2 { animation-delay: 3s; }
  .top-bar__item--3 { animation-delay: 6s; }

  .top-bar[aria-expanded="true"] .top-bar__item {
    animation-play-state: paused;
  }

  body { padding-top: calc(2.1rem + env(safe-area-inset-top, 0px)); }

  /* Topbar panel (mobile) */
  .tbp__card {
    top: 0;
    left: 0;
    right: 0;
    border-radius: 0 0 16px 16px;
    padding: 1.25rem 1.25rem 1.5rem;
  }
  #topbar-panel.is-open .tbp__card {
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
  }
  .tbp__items {
    flex-direction: column;
    gap: 1.25rem;
    align-items: flex-start;
    padding: 0;
    width: fit-content;
    margin: 0 auto;
  }
  .tbp__item i { font-size: 1.3rem; }
  .tbp__item-text strong { font-size: 0.88rem; }
  .tbp__item-text span { font-size: 0.78rem; white-space: normal; }

  /* Header on mobile */
  .site-header { top: auto; }
  .site-header__inner { height: 3.5rem; }

  /* Show hamburger, hide desktop-nav-bar */
  .site-header__hamburger.icon-btn { display: flex; }
  .site-nav { display: none; }

  /* Shrink logo on mobile */
  .site-header__logo-img { height: 0.8rem; }

  /* Icons: no extra flex */
  .site-header__icons { flex: none; }
  .site-header__left { flex: none; }

  /* Mobile nav: full width */
  .snm__panel {
    width: 100%;
    box-shadow: none;
  }
  .snm.is-open .snm__panel {
    box-shadow: none;
  }
  .snm__level--root.is-exiting {
    transform: translateX(-20%);
  }
}

@keyframes top-bar-ticker {
  0%   { opacity: 0; transform: translate(-50%, calc(-50% + 10px)); }
  8%   { opacity: 1; transform: translate(-50%, -50%); }
  26%  { opacity: 1; transform: translate(-50%, -50%); }
  33%  { opacity: 0; transform: translate(-50%, calc(-50% - 10px)); }
  34%, 100% { opacity: 0; transform: translate(-50%, calc(-50% + 10px)); }
}

@media (max-width: 480px) {
  .top-bar__inner { gap: 0; }
}

/* ---- Search Overlay ---- */
.srch-overlay {
  position: fixed;
  inset: 0;
  z-index: 203;
  pointer-events: none;
}
.srch-overlay.is-open {
  pointer-events: auto;
}
.srch-overlay__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0);
  transition: background 0.25s ease;
}
.srch-overlay.is-open .srch-overlay__backdrop {
  background: rgba(0, 0, 0, 0.42);
}
.srch-overlay__panel {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: #fff;
  transform: translateY(-100%);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 4px 32px rgba(0, 0, 0, 0.12);
  max-height: 80vh;
  overflow-y: auto;
}
.srch-overlay.is-open .srch-overlay__panel {
  transform: translateY(0);
}
.srch-overlay__bar {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0.75rem var(--page-margin, 2rem);
  display: flex;
  align-items: center;
  gap: 0.85rem;
  border-bottom: 1px solid #ebebeb;
}
.srch-overlay__form {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: #f5f0e8;
  border: 1.5px solid #e0d8cc;
  border-radius: 8px;
  padding: 0 0.75rem;
  transition: border-color 0.15s;
}
.srch-overlay__form:focus-within {
  border-color: #4a4030;
  background: #faf7f2;
}
.srch-overlay__icon {
  width: 1.1rem;
  height: 1.1rem;
  flex-shrink: 0;
  color: #9a8a70;
}
.srch-overlay__input {
  flex: 1;
  border: none;
  background: none;
  outline: none;
  padding: 0.72rem 0;
  font-size: 1rem;
  color: #111;
  font-family: inherit;
}
.srch-overlay__input::placeholder { color: #b0a090; }
.srch-overlay__input::-webkit-search-cancel-button,
.srch-overlay__input::-webkit-search-decoration { display: none; }
.srch-overlay__clear {
  padding: 0.3rem;
  color: #9a8a70;
  flex-shrink: 0;
}
.srch-overlay__clear:hover { color: #4a4030; background: none; }
.srch-overlay__dismiss {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 0.88rem;
  font-weight: 500;
  color: #4a4030;
  padding: 0.45rem 0;
  white-space: nowrap;
  font-family: inherit;
  flex-shrink: 0;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.srch-overlay__dismiss:hover { color: #2a2010; }
.srch-overlay__results {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0.25rem var(--page-margin, 2rem) 1.25rem;
}
.srch-results__group-title {
  font-size: 0.7rem;
  font-weight: 700;
  color: #9a8a70;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  padding: 0.75rem 0 0.35rem;
  margin: 0;
}
.srch-results__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.srch-results__item a {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.55rem 0.4rem;
  text-decoration: none;
  color: inherit;
  border-bottom: 1px solid #f5f2ed;
  border-radius: 4px;
  transition: background 0.1s, padding-left 0.12s;
}
.srch-results__item a:hover {
  background: #faf7f2;
  padding-left: 0.75rem;
}
.srch-results__item:last-child a { border-bottom: none; }
.srch-results__img {
  width: 3rem;
  height: 3rem;
  object-fit: cover;
  border-radius: 4px;
  flex-shrink: 0;
  background: #f0ebe0;
}
.srch-results__img-placeholder {
  width: 3rem;
  height: 3rem;
  background: #f0ebe0;
  border-radius: 4px;
  flex-shrink: 0;
}
.srch-results__info { flex: 1; min-width: 0; }
.srch-results__title {
  font-size: 0.875rem;
  color: #111;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0;
}
.srch-results__price {
  font-size: 0.8rem;
  color: #4a4030;
  margin: 0.1rem 0 0;
}
.srch-results__no-results {
  font-size: 0.9rem;
  color: #888;
  padding: 1rem 0;
  margin: 0;
}
.srch-results__view-all {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  margin-top: 0.85rem;
  font-size: 0.84rem;
  font-weight: 500;
  color: #4a4030;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.srch-results__view-all:hover { color: #2a2010; }
.srch-overlay__results--loading {
  display: flex;
  justify-content: center;
  padding: 1.5rem;
}
.srch-overlay__results--loading::after {
  content: '';
  width: 1.5rem;
  height: 1.5rem;
  border: 2px solid #e0d8cc;
  border-top-color: #4a4030;
  border-radius: 50%;
  animation: srch-spin 0.7s linear infinite;
}
@keyframes srch-spin { to { transform: rotate(360deg); } }
@media (max-width: 768px) {
  .srch-overlay__bar { padding: 0.65rem 1rem; gap: 0.6rem; }
  .srch-overlay__results { padding-left: 1rem; padding-right: 1rem; }
  .srch-overlay__input { font-size: 0.95rem; }
}
/* END_SECTION:header */

/* START_SECTION:hello-world (INDEX:10) */
.welcome {
    display: grid;
    grid-template-columns: var(--content-grid);
    background-color: #f6f6f7;
    padding: 72px 0;
  }

  .welcome-content {
    grid-column: 2;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    width: 100%;
    padding: 0 24px;
  }

  .welcome-description {
    max-width: 80ch;
    line-height: 1.4;
    margin-top: 1.5rem;
  }

  .icon {
    width: 300px;
  }

  .highlights {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 50px;
  }

  @media (max-width: 1100px) {
    .highlights {
      grid-template-columns: 1fr;
    }
  }

  .highlight {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 24px;
    border-radius: 8px;
    background-color: #eef3ff;
    color: rgb(92, 95, 98);
    line-height: 1.4;
  }

  .highlight > * + * {
    margin-top: 1rem;
  }

  .highlight h3 {
    font-size: 1rem;
    color: rgb(32, 34, 35);
  }

  .highlight-description {
    flex: 1 1;
  }

  .highlight a {
    display: flex;
    width: fit-content;
    background-color: rgb(250, 251, 251);
    box-shadow: rgba(0, 0, 0, 0.2) 0px -3px 0px 0px inset, rgba(255, 255, 255, 0.9) 0px 2px 0px 0px inset;
    border: 1px solid rgb(140, 145, 150);
    border-radius: 4px;
    color: rgb(92, 95, 98);
    padding: 3px 10px 5px;
    text-decoration: none;
  }
/* END_SECTION:hello-world */

/* START_SECTION:home-about (INDEX:11) */
.nr-fp {
  background: var(--nr-ivory);
  padding: 6rem 0;
}
.nr-fp__wrap {
  max-width: min(1380px, calc(100% - 3rem));
  margin: 0 auto;
}

/* Header */
.nr-fp__header {
  text-align: center;
  margin-bottom: 3rem;
}
.nr-fp__header .nr-section-eyebrow {
  justify-content: center;
}
.nr-fp__heading {
  margin-top: 0.625rem;
}

/* Scroll viewport */
.nr-fp__viewport {
  position: relative;
  overflow: hidden;
}
.nr-fp__track {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  padding: 0.25rem 0.5rem 0.75rem;
  padding-right: 48px;
}
.nr-fp__track::-webkit-scrollbar { display: none; }

/* Cards — ~3.5 visible on desktop → natural right peek */
.nr-fp__card {
  flex: 0 0 clamp(200px, 26vw, 310px);
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}
.nr-fp__card:focus-visible {
  outline: 2px solid var(--nr-gold);
  outline-offset: 4px;
  border-radius: 2px;
}

/* Image */
.nr-fp__img-wrap {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #FAFAF9;
  margin-bottom: 1rem;
}
.nr-fp__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 700ms var(--nr-ease);
}
.nr-fp__img--alt {
  position: absolute;
  inset: 0;
  opacity: 0;
}
.nr-fp__card:hover .nr-fp__img:not(.nr-fp__img--alt) {
  transform: scale(1.05);
}
.nr-fp__img-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #E8E0D0, #D6CFC4);
}

/* Badge */
.nr-fp__badge {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  font-family: var(--nr-font-head);
  font-size: 0.65rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 0.3rem 0.65rem;
  pointer-events: none;
}
.nr-fp__badge--sale {
  background: #c0392b;
  color: #fff;
  font-weight: 600;
  border-radius: 2px;
  letter-spacing: 0.3px;
}
.nr-fp__badge--new {
  background: var(--nr-gold-light);
  color: #1a0f00;
}
.nr-fp__badge--soldout {
  background: #9e9e9e;
  color: #fff;
  font-weight: 600;
}

/* Info */
.nr-fp__info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.nr-fp__title {
  font-family: var(--nr-font-head);
  font-size: clamp(0.8rem, 1.2vw, 0.9rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--nr-dark);
  margin: 0;
  line-height: 1.4;
}
.nr-fp__price-row {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}
.nr-fp__price {
  font-family: var(--nr-font-body);
  font-size: 0.9rem;
  color: var(--nr-dark);
}
.nr-fp__price--sale { color: #B91C1C; }
.nr-fp__price-was {
  font-family: var(--nr-font-body);
  font-size: 0.82rem;
  color: var(--nr-warm-gray);
  text-decoration: line-through;
}

/* Empty state */
.nr-fp__empty {
  text-align: center;
  font-family: var(--nr-font-serif);
  font-style: italic;
  color: var(--nr-warm-gray);
  padding: 3rem 0;
}

/* Arrows */
.nr-fp__arrow {
  position: absolute; top: 50%; transform: translateY(calc(-50% - 1.5rem)); z-index: 3;
  width: 36px; height: 36px; border-radius: 50%;
  border: 1px solid rgba(0,0,0,0.12); background: rgba(255,255,255,0.92);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; color: #555;
  box-shadow: 0 1px 6px rgba(0,0,0,0.10);
  transition: opacity 250ms ease, border-color 200ms ease, box-shadow 200ms ease, color 200ms ease;
  backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
}
.nr-fp__arrow:hover { border-color: rgba(0,0,0,0.22); box-shadow: 0 3px 10px rgba(0,0,0,0.14); color: #1a1a1a; }
.nr-fp__arrow--prev { left: 6px; }
.nr-fp__arrow--next { right: 6px; }

/* Scroll progress bar */
.nr-fp__progress-bar {
  position: relative;
  height: 18px;          /* tall hit target */
  margin: 1rem auto 0;
  max-width: min(340px, 50%);
  cursor: pointer;
  display: flex;
  align-items: center;
}
.nr-fp__progress-bar::before {
  /* the visible 2px track line */
  content: '';
  position: absolute;
  inset: 0;
  top: 50%;
  height: 2px;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.10);
  border-radius: 2px;
  pointer-events: none;
}
.nr-fp__progress-thumb {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  height: 2px;
  background: var(--nr-gold, #b8974a);
  border-radius: 2px;
  transition: left 120ms ease, width 120ms ease;
  will-change: left, width;
  cursor: grab;
}
.nr-fp__progress-thumb:active {
  cursor: grabbing;
  height: 3px;
}

/* Footer CTA */
.nr-fp__footer {
  margin-top: 2rem;
  text-align: center;
}

/* Wishlist heart button */
.nr-fp__wish {
  position: absolute;
  top: 0.6rem;
  right: 0.6rem;
  width: 32px;
  height: 32px;
  border: none;
  background: rgba(255, 255, 255, 0.82);
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666;
  font-size: 0.9rem;
  padding: 0;
  opacity: 0;
  transition: color 0.15s, background 0.15s, opacity 0.18s;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  z-index: 2;
}
.nr-fp__card:hover .nr-fp__wish        { opacity: 1; }
.nr-fp__wish:hover                     { color: #111; background: #fff; }
.nr-fp__wish:focus-visible             { opacity: 1; outline: 2px solid #111; outline-offset: 2px; }
.nr-fp__wish--active                   { opacity: 1 !important; color: #C2410B !important; background: #fff !important; }
@media (hover: none) {
  .nr-fp__wish { opacity: 1; }
}

/* Mobile */
@media (max-width: 640px) {
  .nr-fp__arrow { display: none; }
  /* ~1.75 cards visible → strong peek cue */
  .nr-fp__card { flex: 0 0 56vw; }
  .nr-fp__fade { width: 60px; }
}
/* END_SECTION:home-about */

/* START_SECTION:home-collections (INDEX:12) */
.nr-collections {
  background-color: var(--nr-bg-warm);
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.nr-collections__inner {
  max-width: 1340px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

@media (max-width: 767px) {
  .nr-collections__inner {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.nr-collections__header {
  text-align: center;
  margin-bottom: 3.75rem;
}

.nr-section-eyebrow--center {
  justify-content: center;
}
.nr-section-eyebrow--center::before {
  display: none;
}

/* Grid */
.nr-col-grid {
  display: grid;
  gap: 0.5rem;
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 900px) {
  .nr-col-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
  .nr-col-grid {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
}

/* Card */
.nr-col-card {
  display: block;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  cursor: pointer;
}
.nr-col-card:focus-visible {
  outline: 2px solid var(--nr-gold);
  outline-offset: 3px;
}

.nr-col-card__media {
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background-color: var(--nr-border);
}

.nr-col-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 700ms var(--nr-ease);
}
.nr-col-card:hover .nr-col-card__img {
  transform: scale(1.07);
}

.nr-col-card__placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #E8E0D0 0%, #D6D3D1 100%);
}

.nr-col-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.88) 0%,
    rgba(0, 0, 0, 0.45) 45%,
    transparent 100%
  );
  transition: opacity 400ms ease;
}
.nr-col-card:hover .nr-col-card__overlay {
  opacity: 1;
}

.nr-col-card__content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1rem 1rem 1.1rem;
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.nr-col-card__top-row {
  display: none;
}

.nr-col-card__count {
  font-family: var(--nr-font-head);
  font-size: 0.6rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 0.25rem;
}

.nr-col-card__cta-mobile {
  display: none;
}

.nr-col-card__title {
  font-family: var(--nr-font-head);
  font-size: clamp(0.75rem, 1.3vw, 1rem);
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.2;
  color: #ffffff;
  margin-bottom: 0;
}

.nr-col-card__cta {
  display: flex;
  align-items: center;
  color: var(--nr-gold-light, #D4AF71);
  transition: transform 200ms ease, opacity 200ms ease;
}
.nr-col-card:hover .nr-col-card__cta {
  transform: translateX(4px);
}

@media (min-width: 768px) {
  .nr-col-card__content {
    padding: 1.5rem 1.5rem 1.75rem;
  }
  .nr-col-card__title {
    font-size: clamp(1rem, 1.6vw, 1.3rem);
  }
.nr-col-card__cta {
    color: var(--nr-gold-light, #D4AF71);
  }
}

@media (max-width: 767px) {
  .nr-col-card {
    border-radius: 10px;
    overflow: hidden;
  }
  .nr-col-card__media {
    aspect-ratio: 16 / 7;
  }
  .nr-col-card__content {
    padding: 1rem 1.25rem 1.25rem;
    gap: 0.4rem;
    display: flex;
    flex-direction: column;
  }
  .nr-col-card__top-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
  }
  .nr-col-card__count {
    font-size: 0.7rem;
    letter-spacing: 0.28em;
    margin: 0;
  }
  .nr-col-card__cta-mobile {
    display: flex;
    align-items: center;
    color: var(--nr-gold-light, #D4AF71);
  }
  .nr-col-card__title {
    font-size: clamp(1rem, 4vw, 1.3rem);
  }
  .nr-col-card__cta {
    display: none;
  }
}
/* END_SECTION:home-collections */

/* START_SECTION:home-features (INDEX:13) */
/* ── Wrapper ── */
.nr-features {
  background-color: var(--nr-bg-warm);
  border-top: 1px solid var(--nr-border);
  border-bottom: 1px solid var(--nr-border);
  padding: 6rem 0;
}

/* ── Feature row ── */
.nr-features__row {
  display: flex;
  align-items: center;
  max-width: min(1380px, calc(100% - 0px));
  margin: 0 auto;
  padding: 0;
}

/* ── Vertical separator ── */
.nr-features__sep {
  flex-shrink: 0;
  width: 1px;
  height: 3.5rem;
  align-self: center;
  background: var(--nr-border);
}

/* ── Individual feature ── */
.nr-feature {
  flex: 1;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1rem;
  padding: 1.75rem 2rem;
  text-decoration: none;
}

/* Icon */
.nr-feature__icon {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  color: var(--nr-gold);
}
.nr-feature__icon svg,
.nr-feature__icon i {
  display: block;
  font-size: 1.4rem;
  line-height: 1;
}

/* Text block */
.nr-feature__text {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.nr-feature__title {
  font-family: var(--nr-font-body);
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--nr-dark);
  margin: 0;
}

.nr-feature__desc {
  font-family: var(--nr-font-body);
  font-style: normal;
  font-size: 0.85rem;
  line-height: 1.5;
  color: var(--nr-warm-gray);
  margin: 0;
}

/* ── Tablet + Mobile: 2×2 ── */
@media (max-width: 1024px) {
  .nr-features__row {
    flex-wrap: wrap;
    align-items: stretch;
  }
  .nr-features__sep { display: none; }
  .nr-feature {
    flex: 0 0 50%;
    padding: 1.5rem 1.75rem;
    box-sizing: border-box;
    border-bottom: 1px solid var(--nr-border);
  }
  .nr-feature:nth-last-of-type(-n+2) { border-bottom: none; }
  .nr-feature:nth-of-type(odd)       { border-right: 1px solid var(--nr-border); }
}

/* ── Mobile: tighter padding ── */
@media (max-width: 520px) {
  .nr-feature {
    padding: 1.25rem 1rem;
    gap: 0.75rem;
  }
}
/* END_SECTION:home-features */

/* START_SECTION:home-testimonials (INDEX:15) */
.nr-testimonials {
  background-color: var(--nr-ivory);
  padding: 3rem 0 6rem;
}

/* Inner: header is constrained, carousel bleeds wider */
.nr-testimonials__inner {
  max-width: min(1340px, calc(100% - 3rem));
  margin: 0 auto;
}

.nr-testimonials__header {
  text-align: center;
  margin-bottom: 4rem;
}
.nr-testimonials__header .nr-section-eyebrow--center {
  justify-content: center;
  margin-bottom: 0.875rem;
}
.nr-testimonials__header .nr-section-eyebrow--center::before { display: none; }

/* ── Carousel wrapper (arrows positioned inside) ── */
.nr-testimonials__carousel-wrap {
  position: relative;
}

/* ── Horizontal scroll grid — all screen sizes ── */
.nr-testimonials__grid {
  display: flex;
  flex-direction: row;
  gap: 1.25rem;
  overflow-x: scroll;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
  scrollbar-width: none;
  padding-bottom: 0.25rem;
  /* left/right padding creates the edge breathing room */
  padding-left: 0;
  padding-right: 3rem; /* space so last card doesn't sit against edge */
  scroll-padding-left: 0;
}
.nr-testimonials__grid::-webkit-scrollbar { display: none; }

/* ── Review Card ── */
.nr-review {
  background: #f0ebe3;
  border: none;
  border-radius: 2px;
  padding: 2.5rem 2.75rem 2.75rem;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: box-shadow 300ms ease;
  /* show ~3 cards + peek on desktop */
  flex: 0 0 calc(33.333% - 0.9rem);
  scroll-snap-align: start;
}
@media (max-width: 900px) {
  .nr-review {
    flex: 0 0 82vw;
  }
}
@media (max-width: 520px) {
  .nr-review {
    flex: 0 0 88vw;
  }
}
.nr-review:hover {
  box-shadow: 0 6px 28px rgba(28, 25, 23, 0.09);
}

/* Card header */
.nr-review__header {
  margin-bottom: 1.75rem;
}

.nr-review__name-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
}

.nr-review__author {
  font-family: var(--nr-font-head);
  font-size: 1.0625rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--nr-dark);
  font-style: normal;
}

.nr-review__stars {
  display: flex;
  gap: 2px;
}
.nr-review__star {
  fill: none;
  stroke: var(--nr-border);
}
.nr-review__star--filled {
  fill: #c8962c;
  stroke: #c8962c;
}

.nr-review__verified {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.nr-review__verified-icon { flex-shrink: 0; }
.nr-review__verified-label {
  font-family: var(--nr-font-head);
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #1a7a6e;
}

.nr-review__quote {
  font-family: var(--nr-font-body);
  font-style: normal;
  font-size: 1rem;
  line-height: 1.8;
  color: var(--nr-charcoal);
  margin: 0;
  flex: 1;
}

/* ── Arrow buttons ── */
.nr-testi-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--nr-dark);
  color: var(--nr-ivory);
  border: none;
  border-radius: 2px;
  cursor: pointer;
  z-index: 10;
  transition: background 220ms ease, opacity 220ms ease;
}
.nr-testi-arrow:hover { background: var(--nr-gold); }
.nr-testi-arrow--prev { left: -1.25rem; }
.nr-testi-arrow--next { right: -1.25rem; }
.nr-testi-arrow.is-hidden {
  opacity: 0;
  pointer-events: none;
}

/* ── Progress line ── */
.nr-testi-progress {
  margin-top: 2rem;
  height: 2px;
  background: rgba(28, 25, 23, 0.12);
  border-radius: 1px;
  overflow: hidden;
  position: relative;
}
.nr-testi-progress__fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0%;
  background: var(--nr-dark);
  border-radius: 1px;
  transition: width 120ms linear;
}
/* END_SECTION:home-testimonials */

/* START_SECTION:home-trust-bar (INDEX:16) */
/* ── Outer shell ── */
.nr-tb {
  background: #F5F3F0;
  background: var(--nr-bg-warm, #F5F3F0);
  border-top:    1px solid rgba(214, 211, 209, 0.7);
  border-bottom: 1px solid rgba(214, 211, 209, 0.7);
  position: relative;
  overflow: hidden;
  display: block;
}

/* Diagonal hairline texture */
.nr-tb::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(
    135deg,
    transparent,
    transparent 28px,
    rgba(200, 151, 58, 0.035) 28px,
    rgba(200, 151, 58, 0.035) 29px
  );
  pointer-events: none;
}

/* ── Corner accents ── */
.nr-tb__frame { position: absolute; inset: 0; pointer-events: none; }
.nr-tb__corner {
  position: absolute;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
}
.nr-tb__corner--tl { top: 0.875rem; left: 1.25rem; border-top: 1px solid rgba(200,151,58,0.3); border-left: 1px solid rgba(200,151,58,0.3); }
.nr-tb__corner--tr { top: 0.875rem; right: 1.25rem; border-top: 1px solid rgba(200,151,58,0.3); border-right: 1px solid rgba(200,151,58,0.3); }
.nr-tb__corner--bl { bottom: 0.875rem; left: 1.25rem; border-bottom: 1px solid rgba(200,151,58,0.3); border-left: 1px solid rgba(200,151,58,0.3); }
.nr-tb__corner--br { bottom: 0.875rem; right: 1.25rem; border-bottom: 1px solid rgba(200,151,58,0.3); border-right: 1px solid rgba(200,151,58,0.3); }

/* ── Row ── */
.nr-tb__inner {
  position: relative;
  max-width: min(860px, calc(100% - 3rem));
  margin: 0 auto;
  padding: 2.25rem 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ── Each platform block ── */
.nr-tb__block {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3rem;
  text-decoration: none;
  color: inherit;
  padding: 0.5rem 3rem;
  max-width: 340px;
  transition: opacity 240ms ease;
}
.nr-tb__block:hover { opacity: 0.68; }
.nr-tb__block:focus-visible {
  outline: 2px solid var(--nr-gold);
  outline-offset: 6px;
  border-radius: 2px;
}

/* Platform logo icon */
.nr-tb__mark {
  display: flex;
  align-items: center;
  line-height: 0;
  margin-bottom: 0.2rem;
}

/* Stars row */
.nr-tb__stars {
  display: flex;
  gap: 2.5px;
  align-items: center;
}
.nr-tb__star {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
}

/* The hero element — large italic score */
.nr-tb__score {
  font-family: var(--nr-font-serif);
  font-style: italic;
  font-size: 2.75rem;
  line-height: 1;
  letter-spacing: -0.01em;
  color: var(--nr-dark);
  margin: 0.1rem 0 0.05rem;
}

/* Platform name */
.nr-tb__name {
  font-family: var(--nr-font-head);
  font-size: 0.58rem;
  font-weight: 400;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--nr-warm-gray);
}

/* Review count */
.nr-tb__count {
  font-family: var(--nr-font-body);
  font-size: 0.72rem;
  color: var(--nr-warm-gray);
  opacity: 0.65;
  margin-top: 0.1rem;
}

/* ── Center divider ── */
.nr-tb__divider {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  height: 90px;
  gap: 0;
}
.nr-tb__divider-line {
  flex: 1;
  width: 1px;
  display: block;
  background: linear-gradient(
    to bottom,
    transparent,
    rgba(200, 151, 58, 0.4) 30%,
    rgba(200, 151, 58, 0.4) 70%,
    transparent
  );
}
.nr-tb__divider-lozenge {
  width: 9px;
  height: 9px;
  flex-shrink: 0;
  color: rgba(200, 151, 58, 0.45);
  margin: 4px 0;
}

/* ── Tagline ── */
.nr-tb__tagline {
  position: relative;
  text-align: center;
  font-family: var(--nr-font-serif);
  font-style: italic;
  font-size: 0.875rem;
  color: var(--nr-warm-gray);
  margin: 0;
  padding-bottom: 1.75rem;
  opacity: 0.8;
}

/* ── Mobile ── */
@media (max-width: 600px) {
  .nr-tb__inner {
    flex-direction: column;
    padding: 2rem 0 1.5rem;
    gap: 0;
  }
  .nr-tb__block {
    padding: 1rem 2rem;
    max-width: 100%;
    width: 100%;
  }
  .nr-tb__divider {
    flex-direction: row;
    width: 60%;
    height: auto;
    padding: 0.25rem 0;
  }
  .nr-tb__divider-line {
    flex: 1;
    height: 1px;
    width: auto;
    background: linear-gradient(
      to right,
      transparent,
      rgba(200, 151, 58, 0.35) 30%,
      rgba(200, 151, 58, 0.35) 70%,
      transparent
    );
  }
  .nr-tb__corner { display: none; }
  .nr-tb__score { font-size: 2.25rem; }
  .nr-tb__tagline { padding: 0 1.5rem 1.5rem; }
}
/* END_SECTION:home-trust-bar */

/* START_SECTION:page-about (INDEX:17) */
/* ── Reset ──────────────────────────────────────────────── */
.about-page * { box-sizing: border-box; }

/* ── Shared helpers ─────────────────────────────────────── */
.about-section-label {
  display: inline-block;
  font-size: 0.68rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #c8b89a;
  margin: 0 0 14px;
  font-weight: 500;
}
.about-section-label--light {
  color: #c8b89a;
  opacity: 0.85;
}

/* ── Hero ────────────────────────────────────────────────── */
.about-hero {
  background: #1a1a1a;
  padding: 90px 0 80px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.about-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 50% at 50% 100%, rgba(200,184,154,0.12) 0%, transparent 70%);
  pointer-events: none;
}
.about-hero__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
  position: relative;
}
.about-hero__eyebrow {
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #c8b89a;
  margin: 0 0 24px;
}
.about-hero__title {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.4rem, 6vw, 4.5rem);
  font-weight: 400;
  color: #fff;
  margin: 0 0 24px;
  line-height: 1.1;
  letter-spacing: -0.01em;
}
.about-hero__title em {
  font-style: italic;
  color: #c8b89a;
}
.about-hero__intro {
  font-size: clamp(1rem, 2vw, 1.2rem);
  color: #aaa;
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.65;
}

/* ── Story ───────────────────────────────────────────────── */
.about-story {
  background: #f5f0eb;
  padding: 72px 0;
  border-top: 1px solid #e5ded6;
}
.about-story__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 64px;
  align-items: start;
}
.about-story__content h2 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: 400;
  color: #1a1a1a;
  margin: 0 0 20px;
  line-height: 1.25;
}
.about-story__content p {
  font-size: 0.95rem;
  color: #555;
  line-height: 1.75;
  margin: 0 0 16px;
}
.about-story__content p:last-child { margin-bottom: 0; }

.about-story__stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  background: #e5ded6;
}
.about-stat {
  background: #fff;
  padding: 28px 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.about-stat__num {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 2rem;
  font-weight: 400;
  color: #1a1a1a;
  line-height: 1;
}
.about-stat__label {
  font-size: 0.75rem;
  color: #888;
  line-height: 1.4;
}

/* ── Craft ───────────────────────────────────────────────── */
.about-craft {
  background: #2c2c2c;
  padding: 72px 0;
  border-top: 1px solid #3a3a3a;
}
.about-craft__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
}
.about-craft h2 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: 400;
  color: #fff;
  margin: 0 0 20px;
  line-height: 1.25;
}
.about-craft__lead {
  font-size: 0.95rem;
  color: #aaa;
  line-height: 1.75;
  max-width: 720px;
  margin: 0 0 48px;
}
.about-craft__steps {
  display: flex;
  align-items: center;
  gap: 0;
  flex-wrap: wrap;
  margin-bottom: 48px;
}
.about-craft__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 100px;
}
.about-craft__step-icon {
  width: 56px;
  height: 56px;
  border: 1px solid #555;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #c8b89a;
  font-size: 1.1rem;
  transition: background 0.25s, border-color 0.25s;
}
.about-craft__step:hover .about-craft__step-icon {
  background: rgba(200,184,154,0.12);
  border-color: #c8b89a;
}
.about-craft__step span {
  font-size: 0.75rem;
  color: #888;
  text-align: center;
  letter-spacing: 0.04em;
}
.about-craft__step-divider {
  flex: 0 0 32px;
  height: 1px;
  background: linear-gradient(to right, #444, #555, #444);
  margin-bottom: 32px;
}

.about-regions {
  border-top: 1px solid #3a3a3a;
  padding-top: 36px;
}
.about-regions__label {
  font-size: 0.82rem;
  color: #888;
  margin: 0 0 20px;
}
.about-regions__list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.about-region {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(200,184,154,0.1);
  border: 1px solid rgba(200,184,154,0.25);
  padding: 10px 20px;
  font-size: 0.85rem;
  color: #ddd;
}
.about-region i {
  color: #c8b89a;
  font-size: 0.8rem;
}

/* ── Materials ───────────────────────────────────────────── */
.about-materials {
  background: #f5f0eb;
  padding: 72px 0;
  border-top: 1px solid #e5ded6;
}
.about-materials__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
.about-materials__text h2 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: 400;
  color: #1a1a1a;
  margin: 0 0 20px;
  line-height: 1.25;
}
.about-materials__text p {
  font-size: 0.95rem;
  color: #555;
  line-height: 1.75;
  margin: 0;
}
.about-materials__list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.about-material {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 0;
  border-bottom: 1px solid #e5ded6;
  font-size: 0.9rem;
  color: #3a3a3a;
}
.about-material:first-child { border-top: 1px solid #e5ded6; }
.about-material i {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  background: #c8b89a;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.65rem;
}

/* ── Why special ─────────────────────────────────────────── */
.about-why {
  background: #2c2c2c;
  padding: 72px 0;
  border-top: 1px solid #3a3a3a;
}
.about-why__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
}
.about-why h2 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: 400;
  color: #fff;
  margin: 0 0 16px;
  line-height: 1.25;
}
.about-why__intro {
  font-size: 0.95rem;
  color: #aaa;
  line-height: 1.75;
  max-width: 640px;
  margin: 0 0 48px;
}
.about-why__cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2px;
  background: #1a1a1a;
}
.about-why__card {
  background: #252525;
  padding: 36px 28px;
  transition: background 0.25s;
}
.about-why__card:hover { background: #2e2e2e; }
.about-why__card-icon {
  font-size: 1.4rem;
  color: #c8b89a;
  margin-bottom: 20px;
}
.about-why__card h3 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.05rem;
  font-weight: 400;
  color: #fff;
  margin: 0 0 12px;
}
.about-why__card p {
  font-size: 0.82rem;
  color: #888;
  line-height: 1.65;
  margin: 0;
}

/* ── Collection ──────────────────────────────────────────── */
.about-collection {
  background: #fff;
  padding: 72px 0;
  border-top: 1px solid #e5ded6;
}
.about-collection__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
  text-align: center;
}
.about-collection h2 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: 400;
  color: #1a1a1a;
  margin: 0 0 16px;
  line-height: 1.25;
}
.about-collection p {
  font-size: 0.95rem;
  color: #666;
  line-height: 1.75;
  max-width: 620px;
  margin: 0 auto 36px;
}
.about-collection__tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-bottom: 36px;
}
.about-collection__tag {
  display: inline-block;
  padding: 9px 20px;
  font-size: 0.8rem;
  color: #3a3a3a;
  border: 1px solid #d0c8be;
  text-decoration: none;
  letter-spacing: 0.03em;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}
.about-collection__tag:hover {
  background: #1a1a1a;
  border-color: #1a1a1a;
  color: #fff;
}
.about-collection__cta {
  display: inline-block;
  padding: 14px 36px;
  background: #1a1a1a;
  color: #fff;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-decoration: none;
  text-transform: uppercase;
  transition: background 0.2s;
}
.about-collection__cta:hover { background: #2c2c2c; }

/* ── Warehouse ───────────────────────────────────────────── */
.about-warehouse {
  background: #2c2c2c;
  padding: 72px 0;
  border-top: 1px solid #3a3a3a;
}
.about-warehouse__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 56px;
  align-items: center;
}
.about-warehouse__icon-wrap {
  font-size: 3.5rem;
  color: #c8b89a;
  opacity: 0.5;
  line-height: 1;
  flex-shrink: 0;
}
.about-warehouse__text h2 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.3rem, 2.5vw, 1.9rem);
  font-weight: 400;
  color: #fff;
  margin: 0 0 16px;
  line-height: 1.3;
}
.about-warehouse__text p {
  font-size: 0.92rem;
  color: #aaa;
  line-height: 1.75;
  max-width: 660px;
  margin: 0;
}

/* ── Mission ─────────────────────────────────────────────── */
.about-mission {
  background: #f5f0eb;
  padding: 96px 0;
  border-top: 1px solid #e5ded6;
  text-align: center;
}
.about-mission__inner {
  max-width: 760px;
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
}
.about-mission__ornament {
  display: block;
  font-family: Georgia, serif;
  font-size: 1.5rem;
  color: #c8b89a;
  margin-bottom: 24px;
  letter-spacing: 0.5em;
}
.about-mission__eyebrow {
  font-size: 0.68rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #c8b89a;
  margin: 0 0 28px;
}
.about-mission__quote {
  font-family: Georgia, 'Times New Roman', serif;
  font-style: italic;
  font-size: clamp(1.3rem, 3vw, 1.9rem);
  line-height: 1.6;
  color: #1a1a1a;
  margin: 0 0 28px;
  padding: 0;
  border: none;
}
.about-mission__sub {
  font-size: 0.92rem;
  color: #777;
  line-height: 1.75;
  margin: 0 0 40px;
}
.about-mission__btn {
  display: inline-block;
  padding: 14px 40px;
  background: #1a1a1a;
  color: #fff;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
  transition: background 0.2s;
}
.about-mission__btn:hover { background: #2c2c2c; }

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 1000px) {
  .about-why__cards { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 800px) {
  .about-story__inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .about-materials__inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .about-warehouse__inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .about-warehouse__icon-wrap { font-size: 2.5rem; }
  .about-craft__steps { gap: 16px; }
  .about-craft__step-divider { display: none; }
  .about-craft__step { flex: 0 0 calc(33% - 12px); }
}

@media (max-width: 600px) {
  .about-hero { padding: 60px 0 52px; }
  .about-story, .about-craft, .about-materials,
  .about-why, .about-collection, .about-warehouse,
  .about-mission { padding: 52px 0; }
  .about-why__cards { grid-template-columns: 1fr; }
  .about-story__stats { grid-template-columns: 1fr 1fr; }
  .about-craft__step { flex: 0 0 calc(50% - 8px); }
  .about-collection__tags { gap: 8px; }
}
/* END_SECTION:page-about */

/* START_SECTION:page-contact (INDEX:18) */
.contact-page * { box-sizing: border-box; }

/* ── Shared label ────────────────────────────────────────── */
.contact-section-label {
  display: inline-block;
  font-size: 0.68rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #c8b89a;
  margin: 0 0 14px;
  font-weight: 500;
}
.contact-section-label--light {
  opacity: 0.85;
}

/* ── Hero ────────────────────────────────────────────────── */
.contact-hero {
  background: #1a1a1a;
  padding: 90px 0 80px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.contact-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 50% at 50% 100%, rgba(200,184,154,0.12) 0%, transparent 70%);
  pointer-events: none;
}
.contact-hero__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
  position: relative;
}
.contact-eyebrow {
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #c8b89a;
  margin: 0 0 24px;
}
.contact-hero__title {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.4rem, 6vw, 4.5rem);
  font-weight: 400;
  color: #fff;
  margin: 0 0 24px;
  line-height: 1.1;
}
.contact-hero__title em {
  font-style: italic;
  color: #c8b89a;
}
.contact-hero__intro {
  font-size: clamp(1rem, 2vw, 1.2rem);
  color: #aaa;
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.65;
}

/* ── Body ────────────────────────────────────────────────── */
.contact-body {
  background: #f5f0eb;
  padding: 80px 0;
  border-top: 1px solid #e5ded6;
}
.contact-body__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 72px;
  align-items: start;
}

/* ── Form ────────────────────────────────────────────────── */
.contact-form-heading {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 400;
  color: #1a1a1a;
  margin: 0 0 36px;
  line-height: 1.25;
}
.contact-field {
  margin-bottom: 20px;
}
.contact-field label {
  display: block;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #3a3a3a;
  margin-bottom: 8px;
}
.contact-field label span {
  color: #c8b89a;
}
.contact-field input,
.contact-field select,
.contact-field textarea {
  width: 100%;
  padding: 13px 16px;
  font-size: 0.92rem;
  color: #1a1a1a;
  background: #fff;
  border: 1px solid #d0c8be;
  border-radius: 0;
  outline: none;
  transition: border-color 0.2s;
  font-family: inherit;
  appearance: none;
  -webkit-appearance: none;
}
.contact-field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 40px;
  cursor: pointer;
}
.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus {
  border-color: #c8b89a;
}
.contact-field textarea { resize: vertical; min-height: 140px; }
.contact-field input::placeholder,
.contact-field textarea::placeholder { color: #bbb; }

.contact-submit {
  display: inline-block;
  padding: 15px 40px;
  background: #1a1a1a;
  color: #fff;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  transition: background 0.2s;
  font-family: inherit;
  margin-top: 8px;
}
.contact-submit:hover { background: #2c2c2c; }

.contact-success {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background: #fff;
  border: 1px solid #c8b89a;
  padding: 24px 28px;
  margin-bottom: 32px;
}
.contact-success i {
  color: #c8b89a;
  font-size: 1.2rem;
  margin-top: 2px;
  flex-shrink: 0;
}
.contact-success p {
  font-size: 0.92rem;
  color: #3a3a3a;
  margin: 0;
  line-height: 1.6;
}

/* ── Info panel ──────────────────────────────────────────── */
.contact-info {
  background: #fff;
  padding: 36px 32px;
  border: 1px solid #e5ded6;
}
.contact-info-heading {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.5rem;
  font-weight: 400;
  color: #1a1a1a;
  margin: 0 0 4px;
}
.contact-info-sub {
  font-size: 0.82rem;
  color: #888;
  margin: 0 0 32px;
}
.contact-info__items {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1px solid #e5ded6;
}
.contact-info__item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px 0;
  border-bottom: 1px solid #e5ded6;
}
.contact-info__icon {
  width: 36px;
  height: 36px;
  background: rgba(200,184,154,0.12);
  border: 1px solid rgba(200,184,154,0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #c8b89a;
  font-size: 0.85rem;
  flex-shrink: 0;
}
.contact-info__text {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.contact-info__label {
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #aaa;
  font-weight: 500;
}
.contact-info__value {
  font-size: 0.88rem;
  color: #3a3a3a;
  text-decoration: none;
  line-height: 1.45;
}
a.contact-info__value:hover { color: #c8b89a; }

.contact-social {
  padding: 24px 0 0;
}
.contact-social__label {
  font-size: 0.68rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #aaa;
  margin: 0 0 12px;
  font-weight: 500;
}
.contact-social__links {
  display: flex;
  gap: 10px;
}
.contact-social__link {
  width: 38px;
  height: 38px;
  background: #1a1a1a;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  text-decoration: none;
  transition: background 0.2s;
}
.contact-social__link:hover { background: #c8b89a; }

.contact-note {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 24px;
  padding: 18px 20px;
  background: #f5f0eb;
  border-left: 3px solid #c8b89a;
}
.contact-note i {
  color: #c8b89a;
  font-size: 0.9rem;
  margin-top: 2px;
  flex-shrink: 0;
}
.contact-note p {
  font-size: 0.8rem;
  color: #666;
  margin: 0;
  line-height: 1.6;
}

/* ── FAQ strip ───────────────────────────────────────────── */
.contact-faq {
  background: #2c2c2c;
  padding: 72px 0;
  border-top: 1px solid #3a3a3a;
}
.contact-faq__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
}
.contact-faq h2 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: 400;
  color: #fff;
  margin: 0 0 40px;
  line-height: 1.25;
}
.contact-faq__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2px;
  background: #1a1a1a;
  margin-bottom: 36px;
}
.contact-faq__item {
  background: #252525;
  padding: 32px 28px;
  transition: background 0.2s;
}
.contact-faq__item:hover { background: #2e2e2e; }
.contact-faq__item h3 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1rem;
  font-weight: 400;
  color: #fff;
  margin: 0 0 12px;
}
.contact-faq__item p {
  font-size: 0.82rem;
  color: #888;
  line-height: 1.65;
  margin: 0;
}
.contact-faq__link {
  display: inline-block;
  padding: 13px 32px;
  border: 1px solid #555;
  color: #ccc;
  font-size: 0.8rem;
  letter-spacing: 0.05em;
  text-decoration: none;
  text-transform: uppercase;
  transition: border-color 0.2s, color 0.2s;
}
.contact-faq__link:hover {
  border-color: #c8b89a;
  color: #c8b89a;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 900px) {
  .contact-body__inner {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .contact-info { order: -1; }
}
@media (max-width: 640px) {
  .contact-hero { padding: 60px 0 52px; }
  .contact-body, .contact-faq { padding: 52px 0; }
  .contact-faq__grid { grid-template-columns: 1fr; }
}
/* END_SECTION:page-contact */

/* START_SECTION:page-faq (INDEX:19) */
.faq-page * { box-sizing: border-box; }

/* ── Hero ────────────────────────────────────────────────── */
.faq-hero {
  background: #1a1a1a;
  padding: 80px 0 70px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.faq-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 50% at 50% 100%, rgba(200,184,154,0.1) 0%, transparent 70%);
  pointer-events: none;
}
.faq-hero__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
  position: relative;
}
.faq-eyebrow {
  font-size: 0.68rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #c8b89a;
  margin: 0 0 20px;
}
.faq-hero__title {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2rem, 5vw, 3.8rem);
  font-weight: 400;
  color: #fff;
  margin: 0 0 20px;
  line-height: 1.15;
}
.faq-hero__title em {
  font-style: italic;
  color: #c8b89a;
}
.faq-hero__sub {
  font-size: 1rem;
  color: #888;
  margin: 0;
}

/* ── Body layout ─────────────────────────────────────────── */
.faq-body {
  background: #f5f0eb;
  padding: 64px 0 0;
  border-top: 1px solid #e5ded6;
}
.faq-body__inner {
  max-width: 820px;
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px) 64px;
  display: flex;
  flex-direction: column;
  gap: 52px;
}

/* ── Group ───────────────────────────────────────────────── */
.faq-group__title {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #888;
  margin: 0 0 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.faq-group__title i { color: #c8b89a; }

/* ── Accordion item ──────────────────────────────────────── */
.faq-item {
  border-top: 1px solid #ddd6cc;
}
.faq-item:last-child { border-bottom: 1px solid #ddd6cc; }

.faq-item__q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 0;
  font-size: 0.95rem;
  font-weight: 500;
  color: #1a1a1a;
  cursor: pointer;
  list-style: none;
  line-height: 1.4;
  transition: color 0.2s;
  user-select: none;
}
.faq-item__q::-webkit-details-marker { display: none; }
.faq-item__q:hover { color: #3a3a3a; }

.faq-item__icon {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border: 1px solid #c8b89a;
  border-radius: 50%;
  position: relative;
  transition: background 0.2s;
}
.faq-item__icon::before,
.faq-item__icon::after {
  content: '';
  position: absolute;
  background: #c8b89a;
  border-radius: 2px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.25s ease, opacity 0.25s;
}
.faq-item__icon::before { width: 10px; height: 1.5px; }
.faq-item__icon::after  { width: 1.5px; height: 10px; }

.faq-item[open] > .faq-item__q .faq-item__icon {
  background: #c8b89a;
}
.faq-item[open] > .faq-item__q .faq-item__icon::before { background: #fff; }
.faq-item[open] > .faq-item__q .faq-item__icon::after  { background: #fff; opacity: 0; transform: translate(-50%, -50%) scaleY(0); }

.faq-item__a {
  padding: 0 32px 24px 0;
  animation: faq-open 0.22s ease;
}
@keyframes faq-open {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}
.faq-item__a p {
  font-size: 0.9rem;
  color: #555;
  line-height: 1.75;
  margin: 0 0 12px;
}
.faq-item__a p:last-child { margin-bottom: 0; }
.faq-item__a ul,
.faq-item__a ol {
  font-size: 0.9rem;
  color: #555;
  line-height: 1.75;
  margin: 0;
  padding-left: 20px;
}
.faq-item__a li { margin-bottom: 6px; }
.faq-item__a li:last-child { margin-bottom: 0; }
.faq-item__a strong { color: #2c2c2c; font-weight: 600; }

/* ── Contact strip ───────────────────────────────────────── */
.faq-contact {
  background: #2c2c2c;
  border-top: 1px solid #3a3a3a;
  padding: 36px 0;
}
.faq-contact__inner {
  max-width: 820px;
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.faq-contact > .faq-contact__inner > i {
  font-size: 1.6rem;
  color: #c8b89a;
  flex-shrink: 0;
}
.faq-contact__inner > div { flex: 1; min-width: 180px; }
.faq-contact__heading {
  font-size: 0.95rem;
  font-weight: 600;
  color: #fff;
  margin: 0 0 4px;
}
.faq-contact__sub {
  font-size: 0.82rem;
  color: #888;
  margin: 0;
}
.faq-contact__btn {
  flex-shrink: 0;
  display: inline-block;
  padding: 12px 28px;
  background: #c8b89a;
  color: #1a1a1a;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-decoration: none;
  text-transform: uppercase;
  transition: background 0.2s;
}
.faq-contact__btn:hover { background: #b8a080; }

@media (max-width: 600px) {
  .faq-hero { padding: 56px 0 48px; }
  .faq-body__inner { gap: 36px; padding-bottom: 48px; }
  .faq-item__a { padding-right: 0; }
}
/* END_SECTION:page-faq */

/* START_SECTION:page-inspiration (INDEX:21) */
.insp-page { background: #faf7f2; }

/* ===== HERO ===== */
.insp-hero {
  background: #f5f0e8;
  border-bottom: 1px solid #e8e0d0;
  padding: 5rem 2rem 4rem;
  text-align: center;
}
.insp-hero__inner {
  max-width: 680px;
  margin: 0 auto;
}
.insp-eyebrow {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  color: #9a8a70;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  margin-bottom: 1.1rem;
}
.insp-hero__title {
  font-size: clamp(2rem, 5vw, 3.25rem);
  font-weight: 600;
  color: #1a150e;
  letter-spacing: -0.025em;
  line-height: 1.12;
  margin: 0 0 1.25rem;
}
.insp-hero__sub {
  font-size: 1rem;
  line-height: 1.75;
  color: #7a6a50;
  max-width: 560px;
  margin: 0 auto;
}

/* ===== FILTER BAR ===== */
.insp-filters {
  background: #fff;
  border-bottom: 1px solid #e8e0d0;
  position: sticky;
  top: 0;
  z-index: 20;
}
.insp-filters__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0.9rem 2rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.insp-filters__inner::-webkit-scrollbar { display: none; }

.insp-filter {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 1.2rem;
  background: transparent;
  border: 1.5px solid #e0d8cc;
  border-radius: 2rem;
  font-size: 0.85rem;
  font-weight: 500;
  color: #7a6a50;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  white-space: nowrap;
  font-family: inherit;
  letter-spacing: 0.01em;
}
.insp-filter:hover {
  background: #f5f0e8;
  border-color: #c8b99a;
  color: #4a4030;
}
.insp-filter--active,
.insp-filter--active:hover {
  background: #4a4030;
  border-color: #4a4030;
  color: #fff;
}

/* ===== WRAP ===== */
.insp-wrap {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 3.5rem 2rem 5rem;
}

.insp-section-title {
  font-size: clamp(1.25rem, 2.5vw, 1.6rem);
  font-weight: 600;
  color: #1a150e;
  letter-spacing: -0.01em;
  text-align: center;
  margin: 0 0 2.5rem;
}

/* ===== GRID ===== */
.insp-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}

/* ===== CARD ===== */
.insp-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e8e0d0;
  border-radius: 8px;
  overflow: hidden;
  transition: box-shadow 0.22s ease, transform 0.22s ease;
}
.insp-card:hover {
  box-shadow: 0 10px 40px rgba(74, 64, 48, 0.13);
  transform: translateY(-4px);
}

.insp-card__media {
  display: block;
  overflow: hidden;
  aspect-ratio: 3 / 2;
  background: #d8d0c0;
  flex-shrink: 0;
}
.insp-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.insp-card:hover .insp-card__img { transform: scale(1.06); }

.insp-card__img-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #ede8de 0%, #ccc5b5 100%);
}

.insp-card__body {
  padding: 1.2rem 1.2rem 1.15rem;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  flex: 1;
}

.insp-card__type {
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #9a8a70;
}

.insp-card__title {
  font-size: 0.98rem;
  font-weight: 600;
  color: #1a150e;
  line-height: 1.4;
  margin: 0;
  letter-spacing: -0.005em;
  flex: 1;
}
.insp-card__title-link {
  color: inherit;
  text-decoration: none;
  transition: color 0.15s;
}
.insp-card__title-link:hover { color: #4a4030; }

.insp-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: #4a4030;
  text-decoration: none;
  border: 1.5px solid #e0d8cc;
  padding: 0.45rem 0.9rem;
  border-radius: 4px;
  align-self: flex-start;
  margin-top: 0.2rem;
  transition: background 0.15s, border-color 0.15s, color 0.15s, gap 0.18s;
}
.insp-card__cta:hover {
  background: #4a4030;
  border-color: #4a4030;
  color: #fff;
  gap: 0.65rem;
}

/* ===== BROWSE LINK ===== */
.insp-blog-link {
  display: flex;
  justify-content: center;
  margin-top: 3rem;
}
.insp-blog-link__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 2rem;
  border: 1.5px solid #4a4030;
  border-radius: 4px;
  font-size: 0.9rem;
  font-weight: 600;
  color: #4a4030;
  text-decoration: none;
  letter-spacing: 0.01em;
  transition: background 0.15s, color 0.15s, gap 0.18s;
}
.insp-blog-link__btn:hover {
  background: #4a4030;
  color: #fff;
  gap: 0.75rem;
}

/* ===== EMPTY ===== */
.insp-empty {
  text-align: center;
  color: #9a8a70;
  font-size: 1rem;
  padding: 4rem 0;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1200px) {
  .insp-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
  .insp-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .insp-hero { padding: 3rem 1rem 2.5rem; }
  .insp-wrap { padding: 2rem 1rem 4rem; }
  .insp-filters__inner { padding: 0.75rem 1rem; }
  .insp-grid { grid-template-columns: 1fr; gap: 1.1rem; }
}
/* END_SECTION:page-inspiration */

/* START_SECTION:page-privacy (INDEX:22) */
.privacy-page * { box-sizing: border-box; }

/* ── Hero ─────────────────────────────────────────────────── */
.privacy-hero {
  background: #f5f0e8;
  border-bottom: 1px solid #e8e0d0;
  padding: 90px 0 80px;
  text-align: center;
}
.privacy-hero__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
}
.privacy-eyebrow {
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #9a8a70;
  margin: 0 0 24px;
}
.privacy-hero__title {
  font-size: clamp(2.4rem, 6vw, 4.5rem);
  font-weight: 600;
  color: #1a150e;
  margin: 0 0 24px;
  line-height: 1.1;
  letter-spacing: -0.02em;
}
.privacy-hero__title em {
  font-style: italic;
  font-weight: 400;
  color: #4a4030;
}
.privacy-hero__intro {
  font-size: clamp(1rem, 2vw, 1.15rem);
  color: #7a6a50;
  max-width: 580px;
  margin: 0 auto;
  line-height: 1.65;
}

/* ── Body ─────────────────────────────────────────────────── */
.privacy-body {
  background: #f5f0eb;
  padding: 80px 0 96px;
  border-top: 1px solid #e5ded6;
}
.privacy-body__inner {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
}

/* ── Lead paragraph ───────────────────────────────────────── */
.privacy-lead {
  margin-bottom: 56px;
  padding-bottom: 48px;
  border-bottom: 1px solid #e5ded6;
}
.privacy-lead p {
  font-size: 0.97rem;
  color: #555;
  line-height: 1.8;
  margin: 0 0 16px;
}
.privacy-lead p:last-child { margin-bottom: 0; }

/* ── Sections ─────────────────────────────────────────────── */
.privacy-sections {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 72px;
}
.privacy-section {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 28px;
  padding: 40px 0;
  border-bottom: 1px solid #e5ded6;
  align-items: start;
}
.privacy-section:first-child { border-top: 1px solid #e5ded6; }
.privacy-section__icon {
  width: 56px;
  height: 56px;
  background: #4a4030;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f5f0e8;
  font-size: 1.1rem;
  flex-shrink: 0;
  margin-top: 4px;
}
.privacy-section__content h2 {
  font-size: clamp(1.1rem, 2.5vw, 1.35rem);
  font-weight: 600;
  color: #1a150e;
  margin: 0 0 16px;
  line-height: 1.3;
}
.privacy-section__content p {
  font-size: 0.93rem;
  color: #5a4a38;
  line-height: 1.8;
  margin: 0 0 14px;
}
.privacy-section__content p:last-child { margin-bottom: 0; }
.privacy-section__content a {
  color: #4a4030;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.2s;
}
.privacy-section__content a:hover { color: #2a2010; }

/* ── Contact CTA ──────────────────────────────────────────── */
.privacy-contact {
  text-align: center;
  padding-top: 56px;
}
.privacy-contact__ornament {
  display: block;
  font-family: Georgia, serif;
  font-size: 1.5rem;
  color: #c8b89a;
  margin-bottom: 24px;
  letter-spacing: 0.5em;
}
.privacy-contact__label {
  font-size: 0.68rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #c8b89a;
  margin: 0 0 16px;
}
.privacy-contact__text {
  font-size: 1rem;
  color: #555;
  line-height: 1.7;
  margin: 0 0 32px;
}
.privacy-contact__btn {
  display: inline-block;
  padding: 14px 40px;
  background: #4a4030;
  color: #fff;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-decoration: none;
  text-transform: uppercase;
  border-radius: 4px;
  transition: background 0.2s;
}
.privacy-contact__btn:hover { background: #2a2010; }

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 600px) {
  .privacy-hero { padding: 60px 0 52px; }
  .privacy-body { padding: 52px 0 64px; }
  .privacy-section {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .privacy-section__icon { width: 44px; height: 44px; font-size: 0.95rem; }
}
/* END_SECTION:page-privacy */

/* START_SECTION:page-refund-policy (INDEX:23) */
.rp-page * { box-sizing: border-box; }

/* ── Hero ─────────────────────────────────────────────────── */
.rp-hero {
  background: #f5f0e8;
  border-bottom: 1px solid #e8e0d0;
  padding: 90px 0 80px;
  text-align: center;
}
.rp-hero__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
}
.rp-eyebrow {
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #9a8a70;
  margin: 0 0 24px;
}
.rp-hero__title {
  font-size: clamp(2.4rem, 6vw, 4.5rem);
  font-weight: 600;
  color: #1a150e;
  margin: 0 0 24px;
  line-height: 1.1;
  letter-spacing: -0.02em;
}
.rp-hero__title em {
  font-style: italic;
  font-weight: 400;
  color: #4a4030;
}
.rp-hero__sub {
  font-size: clamp(1rem, 2vw, 1.15rem);
  color: #7a6a50;
  max-width: 580px;
  margin: 0 auto;
  line-height: 1.65;
}

/* ── Body ─────────────────────────────────────────────────── */
.rp-body {
  background: #f5f0eb;
  padding: 80px 0 96px;
  border-top: 1px solid #e5ded6;
}
.rp-body__inner {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
}

/* ── Part header ──────────────────────────────────────────── */
.rp-part-header {
  display: flex;
  align-items: baseline;
  gap: 16px;
  margin-bottom: 40px;
}
.rp-part-header--spaced { margin-top: 80px; }
.rp-part-header__num {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: #c8b89a;
}
.rp-part-header__title {
  font-size: clamp(1.3rem, 2.5vw, 1.9rem);
  font-weight: 600;
  color: #1a150e;
  margin: 0;
}
.rp-part-lead {
  font-size: 0.93rem;
  color: #666;
  line-height: 1.8;
  margin: -24px 0 40px;
  max-width: 640px;
}

/* ── Sections ─────────────────────────────────────────────── */
.rp-sections {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 0;
}
.rp-section {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 28px;
  padding: 36px 0;
  border-bottom: 1px solid #e5ded6;
  align-items: start;
}
.rp-section:first-child { border-top: 1px solid #e5ded6; }
.rp-section__icon {
  width: 56px;
  height: 56px;
  background: #4a4030;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f5f0e8;
  font-size: 1.1rem;
  flex-shrink: 0;
  margin-top: 4px;
}
.rp-section__content h3 {
  font-size: clamp(1.05rem, 2.5vw, 1.2rem);
  font-weight: 600;
  color: #1a150e;
  margin: 0 0 14px;
  line-height: 1.3;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.rp-section__content p {
  font-size: 0.93rem;
  color: #5a4a38;
  line-height: 1.8;
  margin: 0 0 14px;
}
.rp-section__content p:last-child { margin-bottom: 0; }
.rp-section__content a {
  color: #4a4030;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.2s;
}
.rp-section__content a:hover { color: #2a2010; }

/* ── Badge ────────────────────────────────────────────────── */
.rp-badge {
  display: inline-block;
  padding: 3px 10px;
  background: #c8b89a;
  color: #1a1a1a;
  font-family: inherit;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  vertical-align: middle;
  border-radius: 2px;
}
.rp-badge--dark {
  background: #4a4030;
  color: #f5f0e8;
}

/* ── Sub-list ─────────────────────────────────────────────── */
.rp-list {
  margin: 4px 0 0;
  padding-left: 20px;
  list-style: none;
}
.rp-list li {
  font-size: 0.93rem;
  color: #555;
  line-height: 1.8;
  margin-bottom: 8px;
  position: relative;
  padding-left: 0;
}
.rp-list li::before {
  content: '—';
  position: absolute;
  left: -18px;
  color: #c8b89a;
  font-size: 0.8rem;
  top: 2px;
}
.rp-list li:last-child { margin-bottom: 0; }

/* ── Policy Updates notice ────────────────────────────────── */
.rp-notice {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: #fff;
  border: 1px solid #e5ded6;
  padding: 24px 28px;
  margin-top: 64px;
}
.rp-notice__icon {
  font-size: 1.1rem;
  color: #c8b89a;
  flex-shrink: 0;
  margin-top: 3px;
}
.rp-notice__heading {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #1a1a1a;
  margin: 0 0 8px;
}
.rp-notice__text {
  font-size: 0.88rem;
  color: #666;
  line-height: 1.75;
  margin: 0 0 10px;
}
.rp-notice__text:last-child { margin-bottom: 0; }

/* ── CTA block ────────────────────────────────────────────── */
.rp-cta-block {
  text-align: center;
  padding-top: 72px;
}
.rp-cta-block__ornament {
  display: block;
  font-family: Georgia, serif;
  font-size: 1.5rem;
  color: #c8b89a;
  margin-bottom: 24px;
  letter-spacing: 0.5em;
}
.rp-cta-block__label {
  font-size: 0.68rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #c8b89a;
  margin: 0 0 16px;
}
.rp-cta-block__text {
  font-size: 1rem;
  color: #555;
  line-height: 1.7;
  margin: 0 0 32px;
}
.rp-cta-block__btn {
  display: inline-block;
  padding: 14px 40px;
  background: #4a4030;
  color: #fff;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-decoration: none;
  text-transform: uppercase;
  border-radius: 4px;
  transition: background 0.2s;
}
.rp-cta-block__btn:hover { background: #2a2010; }

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 600px) {
  .rp-hero { padding: 60px 0 52px; }
  .rp-body { padding: 52px 0 64px; }
  .rp-section {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .rp-section__icon { width: 44px; height: 44px; font-size: 0.95rem; }
  .rp-part-header--spaced { margin-top: 56px; }
  .rp-notice { flex-direction: column; gap: 12px; padding: 20px; }
}
/* END_SECTION:page-refund-policy */

/* START_SECTION:page-rug-care (INDEX:24) */
.rc-page * { box-sizing: border-box; }

/* ── Hero ─────────────────────────────────────────────────── */
.rc-hero {
  background: #f5f0e8;
  border-bottom: 1px solid #e8e0d0;
  padding: 90px 0 80px;
  text-align: center;
}
.rc-hero__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
}
.rc-eyebrow {
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #9a8a70;
  margin: 0 0 24px;
}
.rc-hero__title {
  font-size: clamp(2.4rem, 6vw, 4.5rem);
  font-weight: 600;
  color: #1a150e;
  margin: 0 0 24px;
  line-height: 1.1;
  letter-spacing: -0.02em;
}
.rc-hero__title em {
  font-style: italic;
  font-weight: 400;
  color: #4a4030;
}
.rc-hero__sub {
  font-size: clamp(1rem, 2vw, 1.15rem);
  color: #7a6a50;
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.65;
}

/* ── Sticky nav ───────────────────────────────────────────── */
.rc-nav {
  background: #fff;
  border-bottom: 1px solid #ede8e3;
  position: sticky;
  top: 0;
  z-index: 40;
}
.rc-nav__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
  display: flex;
  gap: 0;
  overflow-x: auto;
  scrollbar-width: none;
}
.rc-nav__inner::-webkit-scrollbar { display: none; }
.rc-nav__link {
  flex-shrink: 0;
  display: block;
  padding: 16px 24px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #888;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: color 0.2s, border-color 0.2s;
}
.rc-nav__link:hover {
  color: #4a4030;
  border-bottom-color: #c8b99a;
}

/* ── Body ─────────────────────────────────────────────────── */
.rc-body {
  background: #f5f0eb;
  padding: 72px 0 0;
}
.rc-body__inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px) 80px;
}

/* ── Section ──────────────────────────────────────────────── */
.rc-section { scroll-margin-top: 60px; }
.rc-section__hd {
  display: flex;
  align-items: baseline;
  gap: 16px;
  margin-bottom: 36px;
}
.rc-section__num {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: #c8b89a;
  font-variant-numeric: tabular-nums;
}
.rc-section__title {
  font-size: clamp(1.3rem, 2.5vw, 1.9rem);
  font-weight: 600;
  color: #1a150e;
  margin: 0;
}
.rc-section__lead {
  font-size: 0.93rem;
  color: #666;
  line-height: 1.8;
  margin: -16px 0 32px;
  max-width: 640px;
}

/* ── Grid ─────────────────────────────────────────────────── */
.rc-grid {
  display: grid;
  gap: 16px;
}
.rc-grid--2 { grid-template-columns: 1fr 1fr; }
.rc-grid--1 { grid-template-columns: 1fr; }

/* ── Card ─────────────────────────────────────────────────── */
.rc-card {
  background: #fff;
  border: 1px solid #ede8e3;
  padding: 28px 28px 32px;
  transition: box-shadow 0.2s;
}
.rc-card:hover { box-shadow: 0 4px 20px rgba(0,0,0,0.07); }

.rc-card__ico {
  width: 44px;
  height: 44px;
  background: #4a4030;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f5f0e8;
  font-size: 1rem;
  margin-bottom: 20px;
  flex-shrink: 0;
}

.rc-card__title {
  font-size: 1.05rem;
  font-weight: 600;
  color: #1a150e;
  margin: 0 0 12px;
}
.rc-card__text {
  font-size: 0.9rem;
  color: #666;
  line-height: 1.8;
  margin: 0;
}

/* ── Horizontal card (wide single-column) ─────────────────── */
.rc-card--horiz {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  padding: 32px 36px;
}
.rc-card--horiz .rc-card__ico { margin-bottom: 0; margin-top: 3px; }
.rc-card--horiz .rc-card__body { flex: 1; }
.rc-card--horiz .rc-card__title { margin-bottom: 10px; }

/* ── Dark card (washing) ──────────────────────────────────── */
.rc-card--dark {
  background: #4a4030;
  border-color: #4a4030;
}
.rc-card--dark .rc-card__ico {
  background: rgba(245,240,232,0.15);
  color: #f5f0e8;
}
.rc-card--dark .rc-card__title { color: #fff; }
.rc-card--dark .rc-card__text  { color: #c8b99a; }

/* ── Divider ──────────────────────────────────────────────── */
.rc-divider {
  height: 1px;
  background: #ddd6cc;
  margin: 64px 0;
}

/* ── Spill alert ──────────────────────────────────────────── */
.rc-spill {
  background: #fdf3e3;
  border-top: 1px solid #f0e0c0;
  border-bottom: 1px solid #f0e0c0;
  padding: 24px 0;
}
.rc-spill__inner {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
  display: flex;
  align-items: center;
  gap: 16px;
}
.rc-spill__icon {
  font-size: 1.2rem;
  color: #b8860b;
  flex-shrink: 0;
}
.rc-spill__text {
  font-size: 0.9rem;
  color: #5a4500;
  line-height: 1.6;
  margin: 0;
}
.rc-spill__text strong { font-weight: 700; }

/* ── CTA strip ────────────────────────────────────────────── */
.rc-cta {
  background: #4a4030;
  border-top: 1px solid #3a3020;
  padding: 40px 0;
}
.rc-cta__inner {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.rc-cta__text { flex: 1; min-width: 200px; }
.rc-cta__heading {
  font-size: 0.98rem;
  font-weight: 600;
  color: #fff;
  margin: 0 0 4px;
}
.rc-cta__sub {
  font-size: 0.82rem;
  color: #c8b99a;
  margin: 0;
}
.rc-cta__btn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  padding: 13px 30px;
  background: #f5f0e8;
  color: #4a4030;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-decoration: none;
  text-transform: uppercase;
  border-radius: 4px;
  transition: background 0.2s;
}
.rc-cta__btn:hover { background: #fff; }

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 820px) {
  .rc-hero { padding: 60px 0 52px; }
  .rc-grid--2 { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .rc-hero { padding: 48px 0 40px; }
  .rc-nav__link { padding: 14px 16px; font-size: 0.68rem; }
  .rc-body { padding-top: 48px; }
  .rc-body__inner { padding-bottom: 56px; }
  .rc-section__hd { gap: 10px; margin-bottom: 24px; }
  .rc-divider { margin: 48px 0; }
  .rc-card--horiz { flex-direction: column; gap: 16px; padding: 24px; }
  .rc-cta { padding: 32px 0; }
}
/* END_SECTION:page-rug-care */

/* START_SECTION:page-shipping-policy (INDEX:25) */
.sp-page * { box-sizing: border-box; }

/* ── Hero ─────────────────────────────────────────────────── */
.sp-hero {
  background: #f5f0e8;
  border-bottom: 1px solid #e8e0d0;
  padding: 90px 0 80px;
  text-align: center;
}
.sp-hero__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
}
.sp-eyebrow {
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #9a8a70;
  margin: 0 0 24px;
}
.sp-hero__title {
  font-size: clamp(2.4rem, 6vw, 4.5rem);
  font-weight: 600;
  color: #1a150e;
  margin: 0 0 24px;
  line-height: 1.1;
  letter-spacing: -0.02em;
}
.sp-hero__title em {
  font-style: italic;
  font-weight: 400;
  color: #4a4030;
}
.sp-hero__sub {
  font-size: clamp(1rem, 2vw, 1.15rem);
  color: #7a6a50;
  max-width: 580px;
  margin: 0 auto;
  line-height: 1.65;
}

/* ── Body ─────────────────────────────────────────────────── */
.sp-body {
  background: #f5f0eb;
  padding: 80px 0 96px;
  border-top: 1px solid #e5ded6;
}
.sp-body__inner {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
}

/* ── Sections ─────────────────────────────────────────────── */
.sp-sections {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 72px;
}
.sp-section {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 28px;
  padding: 40px 0;
  border-bottom: 1px solid #e5ded6;
  align-items: start;
}
.sp-section:first-child { border-top: 1px solid #e5ded6; }
.sp-section__icon {
  width: 56px;
  height: 56px;
  background: #4a4030;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f5f0e8;
  font-size: 1.1rem;
  flex-shrink: 0;
  margin-top: 4px;
}
.sp-section__content h2 {
  font-size: clamp(1.1rem, 2.5vw, 1.35rem);
  font-weight: 600;
  color: #1a150e;
  margin: 0 0 16px;
  line-height: 1.3;
}
.sp-section__content p {
  font-size: 0.93rem;
  color: #5a4a38;
  line-height: 1.8;
  margin: 0 0 14px;
}
.sp-section__content p:last-child { margin-bottom: 0; }
.sp-section__content a {
  color: #4a4030;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.2s;
}
.sp-section__content a:hover { color: #2a2010; }

/* ── Freight table ────────────────────────────────────────── */
.sp-freight {
  margin-top: 20px;
  border: 1px solid #e5ded6;
  background: #fff;
}
.sp-freight__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 20px;
}
.sp-freight__row + .sp-freight__row {
  border-top: 1px solid #e5ded6;
}
.sp-freight__region {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.88rem;
  font-weight: 600;
  color: #1a1a1a;
  letter-spacing: 0.01em;
}
.sp-freight__region i {
  color: #c8b89a;
  font-size: 0.85rem;
}
.sp-freight__est {
  font-size: 0.85rem;
  color: #666;
}

/* ── CTA block ────────────────────────────────────────────── */
.sp-cta-block {
  text-align: center;
  padding-top: 56px;
}
.sp-cta-block__ornament {
  display: block;
  font-family: Georgia, serif;
  font-size: 1.5rem;
  color: #c8b89a;
  margin-bottom: 24px;
  letter-spacing: 0.5em;
}
.sp-cta-block__label {
  font-size: 0.68rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #c8b89a;
  margin: 0 0 16px;
}
.sp-cta-block__text {
  font-size: 1rem;
  color: #555;
  line-height: 1.7;
  margin: 0 0 32px;
}
.sp-cta-block__btn {
  display: inline-block;
  padding: 14px 40px;
  background: #4a4030;
  color: #fff;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-decoration: none;
  text-transform: uppercase;
  border-radius: 4px;
  transition: background 0.2s;
}
.sp-cta-block__btn:hover { background: #2a2010; }

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 600px) {
  .sp-hero { padding: 60px 0 52px; }
  .sp-body { padding: 52px 0 64px; }
  .sp-section {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .sp-section__icon { width: 44px; height: 44px; font-size: 0.95rem; }
  .sp-freight__row { flex-direction: column; align-items: flex-start; gap: 4px; }
}
/* END_SECTION:page-shipping-policy */

/* START_SECTION:page-size-guide (INDEX:26) */
.sg-page * { box-sizing: border-box; }

/* ── Hero ─────────────────────────────────────────────────── */
.sg-hero {
  background: #f5f0e8;
  border-bottom: 1px solid #e8e0d0;
  padding: 80px 0 70px;
  text-align: center;
}
.sg-hero__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
}
.sg-eyebrow {
  font-size: 0.68rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #9a8a70;
  margin: 0 0 20px;
}
.sg-hero__title {
  font-size: clamp(2rem, 5vw, 3.8rem);
  font-weight: 600;
  color: #1a150e;
  margin: 0 0 20px;
  line-height: 1.15;
  letter-spacing: -0.02em;
}
.sg-hero__title em {
  font-style: italic;
  font-weight: 400;
  color: #4a4030;
}
.sg-hero__sub {
  font-size: 1rem;
  color: #7a6a50;
  max-width: 540px;
  margin: 0 auto;
  line-height: 1.65;
}

/* ── Room nav ─────────────────────────────────────────────── */
.sg-nav {
  background: #fff;
  border-bottom: 1px solid #ede8e3;
  position: sticky;
  top: 0;
  z-index: 40;
}
.sg-nav__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
  display: flex;
  gap: 0;
  overflow-x: auto;
  scrollbar-width: none;
}
.sg-nav__inner::-webkit-scrollbar { display: none; }
.sg-nav__link {
  flex-shrink: 0;
  display: block;
  padding: 16px 24px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #888;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: color 0.2s, border-color 0.2s;
}
.sg-nav__link:hover {
  color: #4a4030;
  border-bottom-color: #c8b99a;
}

/* ── Body ─────────────────────────────────────────────────── */
.sg-body {
  background: #f5f0eb;
  padding: 64px 0 0;
}
.sg-body__inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px) 72px;
}

/* ── Room section ─────────────────────────────────────────── */
.sg-room { scroll-margin-top: 60px; }
.sg-room__header {
  display: flex;
  align-items: baseline;
  gap: 16px;
  margin-bottom: 36px;
}
.sg-room__label {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: #c8b89a;
  font-variant-numeric: tabular-nums;
}
.sg-room__title {
  font-size: clamp(1.3rem, 2.5vw, 1.9rem);
  font-weight: 600;
  color: #1a150e;
  margin: 0;
}

/* ── Tips grid ────────────────────────────────────────────── */
.sg-tips {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.sg-tips--halves {
  grid-template-columns: 1fr 1fr;
}

/* ── Tip card ─────────────────────────────────────────────── */
.sg-tip {
  background: #fff;
  border: 1px solid #ede8e3;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: box-shadow 0.2s;
}
.sg-tip:hover {
  box-shadow: 0 4px 20px rgba(0,0,0,0.07);
}

.sg-tip__img {
  background: #f7f4f0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px 24px;
  border-bottom: 1px solid #ede8e3;
  min-height: 160px;
}
.sg-tip__img img {
  max-width: 100%;
  max-height: 180px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

.sg-tip__body {
  padding: 24px;
  flex: 1;
}
.sg-tip__title {
  font-size: 1.05rem;
  font-weight: 600;
  color: #1a150e;
  margin: 0 0 10px;
}
.sg-tip__text {
  font-size: 0.875rem;
  color: #666;
  line-height: 1.75;
  margin: 0;
}

/* ── Rule Breaker card ────────────────────────────────────── */
.sg-tip--rule-breaker {
  background: #4a4030;
  border-color: #4a4030;
  position: relative;
}
.sg-tip--rule-breaker .sg-tip__title { color: #fff; }
.sg-tip--rule-breaker .sg-tip__text  { color: #c8b99a; }
.sg-tip__rb-tag {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #c8b99a;
  padding: 20px 24px 0;
}
.sg-tip--rule-breaker .sg-tip__body { padding-top: 10px; }

/* Inline image inside rule-breaker body */
.sg-tip__img--inline {
  border: none;
  background: transparent;
  padding: 12px 0;
  min-height: auto;
  justify-content: flex-start;
}
.sg-tip__img--inline img {
  max-height: 140px;
  opacity: 0.85;
}

/* ── Text-only tip (hallway) ──────────────────────────────── */
.sg-tip--text-only .sg-tip__icon {
  color: #c8b89a;
  width: 64px;
  height: 40px;
  margin: 28px 24px 0;
}
.sg-tip--text-only .sg-tip__icon svg {
  width: 100%;
  height: 100%;
}

/* ── Divider ──────────────────────────────────────────────── */
.sg-divider {
  height: 1px;
  background: #ddd6cc;
  margin: 64px 0;
}

/* ── Quick reference table ────────────────────────────────── */
.sg-table-section {
  background: #fff;
  padding: 64px 0;
  border-top: 1px solid #ede8e3;
}
.sg-table-section__inner {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
}
.sg-table-section__title {
  font-size: clamp(1.2rem, 2.5vw, 1.7rem);
  font-weight: 600;
  color: #1a150e;
  margin: 0 0 8px;
}
.sg-table-section__sub {
  font-size: 0.875rem;
  color: #888;
  margin: 0 0 36px;
}
.sg-table-wrap { overflow-x: auto; }
.sg-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}
.sg-table thead th {
  background: #4a4030;
  color: #f5f0e8;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 14px 18px;
  text-align: left;
  white-space: nowrap;
}
.sg-table tbody tr {
  border-bottom: 1px solid #ede8e3;
  transition: background 0.15s;
}
.sg-table tbody tr:hover { background: #f7f4f0; }
.sg-table tbody td {
  padding: 14px 18px;
  color: #444;
  line-height: 1.5;
}
.sg-table tbody td:first-child {
  font-weight: 600;
  color: #1a1a1a;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* ── CTA strip ────────────────────────────────────────────── */
.sg-cta {
  background: #4a4030;
  border-top: 1px solid #3a3020;
  padding: 40px 0;
}
.sg-cta__inner {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 var(--page-margin, 24px);
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.sg-cta__text { flex: 1; min-width: 200px; }
.sg-cta__heading {
  font-size: 0.98rem;
  font-weight: 600;
  color: #fff;
  margin: 0 0 4px;
}
.sg-cta__sub {
  font-size: 0.82rem;
  color: #c8b99a;
  margin: 0;
}
.sg-cta__btn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  padding: 13px 30px;
  background: #f5f0e8;
  color: #4a4030;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-decoration: none;
  text-transform: uppercase;
  border-radius: 4px;
  transition: background 0.2s;
}
.sg-cta__btn:hover { background: #fff; }

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 820px) {
  .sg-hero { padding: 60px 0 50px; }
  .sg-tips,
  .sg-tips--halves {
    grid-template-columns: 1fr;
  }
  .sg-tip--rule-breaker {
    grid-column: auto;
  }
  .sg-divider { margin: 48px 0; }
}
@media (max-width: 600px) {
  .sg-hero { padding: 48px 0 40px; }
  .sg-nav__link { padding: 14px 16px; font-size: 0.68rem; }
  .sg-body { padding-top: 40px; }
  .sg-body__inner { padding-bottom: 48px; }
  .sg-room__header { gap: 10px; margin-bottom: 24px; }
  .sg-table-section { padding: 48px 0; }
  .sg-cta { padding: 32px 0; }
}
/* END_SECTION:page-size-guide */

/* START_SECTION:page-testimonial (INDEX:27) */
:root {
  --nr-ivory:       #FAFAF9;
  --nr-dark:        #1C1917;
  --nr-charcoal:    #0C0A09;
  --nr-gold:        #A16207;
  --nr-gold-light:  #C8973A;
  --nr-warm-gray:   #78716C;
  --nr-border:      #D6D3D1;
  --nr-bg-warm:     #F5F3F0;
  --nr-font-head:   'Cinzel', Georgia, serif;
  --nr-font-serif:  'Cormorant Garamond', Georgia, serif;
  --nr-font-body:   'Outfit', 'Jost', sans-serif;
  --nr-ease:        cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.pt-page * { box-sizing: border-box; }

.nr-section-eyebrow {
  font-family: var(--nr-font-head);
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.38em;
  text-transform: uppercase;
  color: var(--nr-gold);
  margin-bottom: 0.875rem;
  display: flex;
  align-items: center;
  gap: 0.875rem;
}
.nr-section-eyebrow::before {
  content: '';
  display: block;
  flex-shrink: 0;
  width: 2.5rem;
  height: 1px;
  background: currentColor;
}
.nr-section-eyebrow--center { justify-content: center; }
.nr-section-eyebrow--center::before { display: none; }

.nr-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--nr-font-head);
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 0.9rem 2.25rem;
  min-height: 48px;
  min-width: 44px;
  cursor: pointer;
  border: 1px solid transparent;
  transition: background 220ms ease, color 220ms ease, border-color 220ms ease;
}
.nr-btn:focus-visible {
  outline: 2px solid var(--nr-gold-light);
  outline-offset: 3px;
}
.nr-btn--dark {
  background: var(--nr-dark);
  color: var(--nr-ivory);
  border-color: var(--nr-dark);
}
.nr-btn--dark:hover {
  background: var(--nr-charcoal);
  border-color: var(--nr-charcoal);
}

/* ── Hero ─────────────────────────────────────────────────── */
.pt-hero {
  background: var(--nr-bg-warm);
  border-bottom: 1px solid var(--nr-border);
  padding: 5.5rem 0 3.5rem;
  text-align: center;
}
.pt-hero__inner {
  max-width: min(760px, calc(100% - 3rem));
  margin: 0 auto;
}
.pt-hero__title {
  font-family: var(--nr-font-head);
  font-size: clamp(2rem, 4.5vw, 3.25rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  color: var(--nr-dark);
  margin: 0 0 1.25rem;
  line-height: 1.2;
}
.pt-hero__sub {
  font-family: var(--nr-font-serif);
  font-style: italic;
  font-size: 1.0625rem;
  color: var(--nr-warm-gray);
  line-height: 1.7;
  max-width: 46ch;
  margin: 0 auto 2.5rem;
}

/* ── Rating strip ─────────────────────────────────────────── */
.pt-rating-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
}
.pt-rating {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  color: inherit;
  padding: 0.4rem 0.25rem;
  transition: opacity 220ms ease;
}
.pt-rating:hover { opacity: 0.7; }
.pt-rating__mark { display: flex; line-height: 0; flex-shrink: 0; }
.pt-rating__stars { display: flex; gap: 1.5px; flex-shrink: 0; }
.pt-rating__star { width: 12px; height: 12px; }
.pt-rating__text {
  font-family: var(--nr-font-body);
  font-size: 0.84rem;
  color: var(--nr-dark);
  white-space: nowrap;
}
.pt-rating__text strong { font-weight: 600; }
.pt-rating-strip__divider {
  width: 1px;
  height: 1.5rem;
  background: var(--nr-border);
  flex-shrink: 0;
}
@media (max-width: 560px) {
  .pt-rating-strip { gap: 1rem; }
  .pt-rating-strip__divider { display: none; }
}

/* ── Widget section ───────────────────────────────────────── */
.pt-widget {
  background: var(--nr-ivory);
  padding: 4rem 0 5rem;
  text-align: center;
}
.pt-widget__inner {
  max-width: min(1100px, calc(100% - 3rem));
  margin: 0 auto;
}

.pt-widget__shell {
  position: relative;
  margin-top: 1.5rem;
  text-align: left;
}

.pt-widget__live {
  opacity: 0;
  transition: opacity 420ms var(--nr-ease, ease);
}
.pt-widget__shell.is-ready .pt-widget__live { opacity: 1; }
.pt-widget__shell.is-ready .pt-skeleton {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  inset: 0;
}

.pt-widget__noscript {
  font-family: var(--nr-font-body);
  font-size: 0.9rem;
  color: var(--nr-warm-gray);
  text-align: center;
}
.pt-widget__noscript a { color: var(--nr-gold); }

/* ── Skeleton loader ──────────────────────────────────────── */
.pt-skeleton {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  transition: opacity 320ms ease;
}
.pt-skeleton__card {
  background: var(--nr-bg-warm);
  border-radius: 2px;
  padding: 2rem 2.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}
.pt-skeleton__row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.pt-skeleton__avatar,
.pt-skeleton__name,
.pt-skeleton__stars,
.pt-skeleton__line {
  display: block;
  border-radius: 3px;
  background: linear-gradient(
    100deg,
    rgba(214, 211, 209, 0.5) 8%,
    rgba(200, 151, 58, 0.18) 18%,
    rgba(214, 211, 209, 0.5) 33%
  );
  background-size: 200% 100%;
  animation: pt-shimmer 1.6s ease-in-out infinite;
}
.pt-skeleton__avatar { width: 36px; height: 36px; border-radius: 50%; flex-shrink: 0; }
.pt-skeleton__name { width: 90px; height: 12px; }
.pt-skeleton__stars { width: 80px; height: 10px; }
.pt-skeleton__line { width: 100%; height: 11px; }
.pt-skeleton__line--short { width: 65%; }
@keyframes pt-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
@media (max-width: 900px) {
  .pt-skeleton { grid-template-columns: 1fr; }
}

/* ── CTA ──────────────────────────────────────────────────── */
.pt-cta {
  background: var(--nr-bg-warm);
  border-top: 1px solid var(--nr-border);
  padding: 4rem 1.5rem;
  text-align: center;
}
.pt-cta__inner { max-width: 560px; margin: 0 auto; }
.pt-cta__ornament {
  display: block;
  font-family: var(--nr-font-serif);
  font-size: 1.25rem;
  color: var(--nr-gold-light);
  margin-bottom: 1.25rem;
  letter-spacing: 0.5em;
}
.pt-cta__heading {
  font-family: var(--nr-font-head);
  font-size: clamp(1.4rem, 3vw, 1.9rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  color: var(--nr-dark);
  margin: 0 0 1rem;
}
.pt-cta__text {
  font-family: var(--nr-font-body);
  font-size: 0.95rem;
  color: var(--nr-warm-gray);
  line-height: 1.7;
  margin: 0 0 2rem;
}
.pt-cta__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.pt-cta__link {
  font-family: var(--nr-font-head);
  font-size: 0.75rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--nr-dark);
  text-decoration: none;
  border-bottom: 1px solid var(--nr-border);
  padding-bottom: 4px;
  transition: opacity 220ms ease, border-color 220ms ease;
}
.pt-cta__link:hover { opacity: 0.6; border-color: var(--nr-dark); }

@media (max-width: 600px) {
  .pt-hero { padding: 4rem 0 2.5rem; }
  .pt-widget { padding: 3rem 0 3.5rem; }
  .pt-cta { padding: 3rem 1.5rem; }
}
/* END_SECTION:page-testimonial */

/* START_SECTION:page-zip (INDEX:28) */
.zip-page * { box-sizing: border-box; }

/* ===== Shared ===== */
.zip-section-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.73rem;
  font-weight: 700;
  color: #9a8a70;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  margin: 0 0 0.75rem;
}
.zip-section-eyebrow--light { color: rgba(245,240,232,0.6); }
.zip-section-title {
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  font-weight: 600;
  color: #1a150e;
  margin: 0 0 2.5rem;
  letter-spacing: -0.01em;
  line-height: 1.2;
}

/* ===== Hero ===== */
.zip-hero {
  background: #f5f0e8;
  border-bottom: 1px solid #e8e0d0;
  padding: 90px 0 80px;
  text-align: center;
}
.zip-hero__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0 var(--page-margin, 2rem);
}
.zip-hero__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #1a1a6e;
  color: #fff;
  padding: 0.55rem 1.25rem;
  border-radius: 6px;
  margin-bottom: 1.5rem;
}
.zip-hero__title {
  font-size: clamp(2.4rem, 6vw, 4rem);
  font-weight: 600;
  color: #1a150e;
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin: 0 0 1.25rem;
}
.zip-hero__title em {
  font-style: italic;
  font-weight: 400;
  color: #4a4030;
}
.zip-hero__sub {
  font-size: clamp(1rem, 2vw, 1.15rem);
  color: #7a6a50;
  max-width: 520px;
  margin: 0 auto 2rem;
  line-height: 1.7;
}
.zip-hero__pills {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.65rem;
}
.zip-hero__pill {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.38rem 0.9rem;
  background: #fff;
  border: 1px solid #e0d8cc;
  border-radius: 100px;
  font-size: 0.8rem;
  font-weight: 500;
  color: #4a4030;
}
.zip-hero__pill i { color: #7a6a50; font-size: 0.78rem; }

/* ===== How it works ===== */
.zip-how {
  background: #fff;
  border-bottom: 1px solid #e8e0d0;
  padding: 80px 0;
}
.zip-how__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0 var(--page-margin, 2rem);
  text-align: center;
}
.zip-steps {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
.zip-step {
  flex: 1;
  max-width: 280px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 1.5rem;
}
.zip-step__connector {
  flex-shrink: 0;
  width: 60px;
  color: #c8b99a;
  margin-top: 2.75rem;
  display: flex;
  align-items: center;
}
.zip-step__num {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: #c8b99a;
  margin-bottom: 0.75rem;
}
.zip-step__icon {
  width: 56px;
  height: 56px;
  background: #f5f0e8;
  border: 1.5px solid #e0d8cc;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #4a4030;
  font-size: 1.2rem;
  margin-bottom: 1.1rem;
}
.zip-step__title {
  font-size: 1rem;
  font-weight: 600;
  color: #1a150e;
  margin: 0 0 0.5rem;
}
.zip-step__text {
  font-size: 0.875rem;
  color: #7a6a50;
  line-height: 1.65;
  margin: 0;
}

/* ===== Payment split ===== */
.zip-split {
  background: #4a4030;
  padding: 80px 0;
}
.zip-split__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0 var(--page-margin, 2rem);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: center;
}
.zip-split__title {
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  font-weight: 600;
  color: #fff;
  margin: 0 0 1rem;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
.zip-split__body {
  font-size: 0.95rem;
  color: #c8b99a;
  line-height: 1.75;
  margin: 0 0 1.5rem;
}
.zip-split__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.zip-split__list li {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  font-size: 0.9rem;
  font-weight: 500;
  color: #f5f0e8;
  line-height: 1.5;
}
.zip-split__list li i { color: #c8b99a; font-size: 0.9rem; flex-shrink: 0; margin-top: 0.15rem; }

.zip-split__card {
  background: #fff;
  border-radius: 8px;
  padding: 1.75rem;
  box-shadow: 0 16px 48px rgba(0,0,0,0.22);
}
.zip-split__card-label {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #9a8a70;
  margin: 0 0 1.1rem;
}
.zip-split__payments {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 0.85rem;
}
.zip-split__payment {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  background: #faf7f2;
  border: 1px solid #e8e0d0;
  border-radius: 6px;
  gap: 1rem;
}
.zip-split__payment--today {
  background: #f5f0e8;
  border-color: #c8b99a;
}
.zip-split__payment-meta { display: flex; flex-direction: column; gap: 0.15rem; }
.zip-split__payment-tag { font-size: 0.8rem; font-weight: 600; color: #2a2010; }
.zip-split__payment-num { font-size: 0.7rem; color: #9a8a70; }
.zip-split__payment-amount { font-size: 1.1rem; font-weight: 700; color: #1a150e; white-space: nowrap; }
.zip-split__total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.65rem 1rem 0;
  border-top: 1.5px solid #e8e0d0;
  margin-top: 0.35rem;
  font-size: 0.82rem;
  font-weight: 700;
  color: #4a4030;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.zip-split__disclaimer {
  font-size: 0.72rem;
  color: #b0a090;
  margin: 0.75rem 0 0;
  line-height: 1.5;
}

/* ===== Online / Instore ===== */
.zip-channels {
  background: #f5f0e8;
  border-top: 1px solid #e8e0d0;
  border-bottom: 1px solid #e8e0d0;
  padding: 80px 0;
}
.zip-channels__inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 var(--page-margin, 2rem);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 0;
  align-items: start;
}
.zip-channel { padding: 0 3rem; }
.zip-channel:first-child { padding-left: 0; }
.zip-channel:last-child  { padding-right: 0; }
.zip-channel__divider {
  width: 1px;
  background: #e0d8cc;
  align-self: stretch;
  margin: 0.5rem 0;
}
.zip-channel__icon {
  width: 52px;
  height: 52px;
  background: #4a4030;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f5f0e8;
  font-size: 1.15rem;
  margin-bottom: 1.25rem;
}
.zip-channel__title {
  font-size: 1.1rem;
  font-weight: 600;
  color: #1a150e;
  margin: 0 0 0.75rem;
  line-height: 1.3;
}
.zip-channel__text {
  font-size: 0.9rem;
  color: #5a4a38;
  line-height: 1.75;
  margin: 0 0 1rem;
}
.zip-channel__link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #4a4030;
  text-decoration: none;
  transition: gap 0.15s, color 0.15s;
}
.zip-channel__link:hover { gap: 0.55rem; color: #2a2010; }

/* ===== FAQ ===== */
.zip-faq {
  background: #fff;
  padding: 80px 0;
  border-bottom: 1px solid #e8e0d0;
}
.zip-faq__inner {
  max-width: 780px;
  margin: 0 auto;
  padding: 0 var(--page-margin, 2rem);
}
.zip-faq__list { display: flex; flex-direction: column; }
.zip-faq__item { border-bottom: 1px solid #e8e0d0; }
.zip-faq__item:first-of-type { border-top: 1px solid #e8e0d0; }
.zip-faq__q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: #1a150e;
  cursor: pointer;
  list-style: none;
  user-select: none;
  transition: color 0.15s;
}
.zip-faq__q::-webkit-details-marker { display: none; }
.zip-faq__q::marker { display: none; }
.zip-faq__q:hover { color: #4a4030; }
.zip-faq__chevron {
  width: 1.1rem;
  height: 1.1rem;
  flex-shrink: 0;
  color: #9a8a70;
  transition: transform 0.25s ease;
}
.zip-faq__item[open] .zip-faq__chevron { transform: rotate(180deg); }
.zip-faq__a {
  font-size: 0.9rem;
  color: #5a4a38;
  line-height: 1.75;
  padding: 0 0 1.25rem;
  margin: 0;
}
.zip-faq__a p { margin: 0 0 0.75rem; }
.zip-faq__a p:last-child { margin-bottom: 0; }
.zip-faq__a strong { font-weight: 600; color: #2a2010; }
.zip-faq__a a {
  color: #4a4030;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.15s;
}
.zip-faq__a a:hover { color: #2a2010; }
.zip-faq__tcs {
  margin: 2rem 0 0;
  font-size: 0.875rem;
}
.zip-faq__tcs a {
  color: #4a4030;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 500;
  transition: color 0.15s;
}
.zip-faq__tcs a:hover { color: #2a2010; }

/* ===== CTA ===== */
.zip-cta {
  background: #4a4030;
  border-top: 1px solid #3a3020;
  padding: 48px 0;
}
.zip-cta__inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0 var(--page-margin, 2rem);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
}
.zip-cta__heading {
  font-size: 1.1rem;
  font-weight: 600;
  color: #fff;
  margin: 0 0 0.35rem;
}
.zip-cta__sub { font-size: 0.875rem; color: #c8b99a; margin: 0; }
.zip-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.85rem 2rem;
  background: #f5f0e8;
  color: #4a4030;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-decoration: none;
  border-radius: 4px;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background 0.18s, transform 0.15s;
}
.zip-cta__btn:hover { background: #fff; transform: translateY(-1px); }

/* ===== Responsive ===== */
@media (max-width: 1024px) {
  .zip-split__inner { grid-template-columns: 1fr; gap: 3rem; }
}

@media (max-width: 768px) {
  .zip-hero,
  .zip-how,
  .zip-elig,
  .zip-faq,
  .zip-split,
  .zip-channels { padding: 56px 0; }

  .zip-steps { flex-direction: column; align-items: center; gap: 2rem; }
  .zip-step { max-width: 340px; padding: 0; }
  .zip-step__connector { display: none; }

  .zip-channels__inner { grid-template-columns: 1fr; }
  .zip-channel { padding: 0; }
  .zip-channel__divider { display: none; }
  .zip-channel + .zip-channel { border-top: 1px solid #e0d8cc; padding-top: 2.5rem; margin-top: 0; }

  .zip-cta__inner { flex-direction: column; align-items: flex-start; }
}
/* END_SECTION:page-zip */

/* START_SECTION:product-accessories (INDEX:31) */
/* ==========================================================
   PRODUCT ACCESSORIES — styles (pa- prefix)
   ========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&display=swap');

/* Breadcrumb */
.pa-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  padding: 12px 0 10px;
  font-size: 12.5px;
  color: #777;
}
.pa-breadcrumb a { color: #555; text-decoration: none; }
.pa-breadcrumb a:hover { color: #111; text-decoration: underline; }
.pa-bc-sep { color: #bbb; font-size: 11px; }
.pa-bc-current { color: #111; font-weight: 500; }

/* ── Main grid ── */
.pa-product {
  display: grid;
  grid-template-columns: 55fr 45fr;
  gap: 48px;
  align-items: start;
  padding-block: 8px 60px;
}

/* ── Gallery: vertical thumbs on left + main image ── */
.pa-gallery {
  display: flex;
  flex-direction: row;
  gap: 12px;
  position: relative;
}

.pa-thumbs-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  width: 80px;
  flex-shrink: 0;
}

.pa-thumb-arrow {
  width: 32px;
  height: 32px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #444;
  flex-shrink: 0;
  transition: border-color 0.12s, color 0.12s;
}
.pa-thumb-arrow:hover { border-color: #888; color: #111; }
.pa-thumb-arrow:disabled { opacity: 0.3; cursor: default; }
.pa-thumb-arrow i { font-size: 11px; }

.pa-thumbs {
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: none;
  max-height: calc(85vh - 80px);
  flex: 1;
}
.pa-thumbs::-webkit-scrollbar { display: none; }

.pa-thumb {
  flex-shrink: 0;
  width: 72px;
  height: 72px;
  border: 1.5px solid #ddd;
  border-radius: 3px;
  overflow: hidden;
  cursor: pointer;
  background: #f4f4f2;
  padding: 0;
  transition: border-color 0.12s;
}
.pa-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pa-thumb:hover { border-color: #888; }
.pa-thumb--active { border: 2px solid #111; }

/* Main image */
.pa-gallery__main {
  flex: 1;
  position: relative;
  max-height: 85vh;
  background: #fff;
  overflow: hidden;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pa-gallery__main img {
  width: 100%;
  height: auto;
  max-height: 85vh;
  object-fit: contain;
  display: block;
}

.pa-gallery__zoom {
  position: absolute;
  bottom: 14px;
  right: 14px;
  width: 36px;
  height: 36px;
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #333;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  transition: background 0.15s, transform 0.15s;
  z-index: 3;
}
.pa-gallery__zoom:hover { background: #fff; transform: scale(1.08); }
.pa-gallery__zoom i { font-size: 15px; }

/* ── Info panel ── */
.pa-info {
  position: sticky;
  top: calc(2.4rem + 4rem + 16px);
}

.pa-title {
  font-family: 'Cinzel', Georgia, serif;
  font-size: clamp(1.3rem, 2.2vw, 1.75rem);
  font-weight: 500;
  color: #111;
  line-height: 1.22;
  letter-spacing: 0.03em;
  margin: 0 0 6px;
}

.pa-subtitle {
  font-size: 14px;
  color: #666;
  font-weight: 400;
  margin: 0 0 18px;
  letter-spacing: 0.01em;
}

/* Price */
.pa-price-block {
  margin-bottom: 22px;
}

.pa-price {
  font-size: clamp(1.15rem, 1.8vw, 1.45rem);
  font-weight: 500;
  color: #111;
  display: block;
  margin-bottom: 2px;
}

.pa-price-compare {
  font-size: 14px;
  color: #999;
  text-decoration: line-through;
  display: inline-block;
  margin-left: 8px;
}

.pa-tax-note {
  font-size: 12px;
  color: #888;
  margin: 4px 0 0;
}

/* Options */
.pa-opt-section {
  margin-bottom: 18px;
}

.pa-opt-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #111;
  text-transform: uppercase;
  margin: 0 0 10px;
}

/* Size pills */
.pa-size-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pa-size-pill {
  padding: 8px 14px;
  border: 1px solid #c8c8c8;
  border-radius: 3px;
  background: #fff;
  color: #222;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  font-family: inherit;
  letter-spacing: 0.01em;
  transition: border-color 0.12s, background 0.12s, color 0.12s;
  white-space: nowrap;
}
.pa-size-pill:hover:not(:disabled) {
  border-color: #555;
}
.pa-size-pill--active {
  background: #1a2744;
  border-color: #1a2744;
  color: #fff;
}
.pa-size-pill--sold {
  color: #bbb;
  border-color: #e0e0e0;
  text-decoration: line-through;
  cursor: not-allowed;
}

/* Quantity */
.pa-qty-section { margin-bottom: 18px; }

.pa-qty {
  display: flex;
  align-items: center;
  width: 140px;
  border: 1px solid #c8c8c8;
  border-radius: 3px;
  overflow: hidden;
}

.pa-qty__btn {
  width: 44px;
  height: 48px;
  background: #f8f8f6;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #333;
  flex-shrink: 0;
  font-size: 12px;
  transition: background 0.12s;
}
.pa-qty__btn:hover { background: #efefed; }

.pa-qty__input {
  flex: 1;
  height: 48px;
  border: none;
  border-left: 1px solid #e0e0e0;
  border-right: 1px solid #e0e0e0;
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  color: #111;
  font-family: inherit;
  background: #fff;
  appearance: textfield;
  -moz-appearance: textfield;
  min-width: 0;
}
.pa-qty__input::-webkit-inner-spin-button,
.pa-qty__input::-webkit-outer-spin-button { -webkit-appearance: none; }

/* ATC button */
.pa-btn-atc {
  width: 100%;
  height: 56px;
  background: #1a2744;
  color: #fff;
  border: none;
  border-radius: 3px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
  font-family: inherit;
  transition: opacity 0.15s, background 0.15s;
  margin-bottom: 24px;
}
.pa-btn-atc:hover:not(:disabled) { opacity: 0.88; }
.pa-btn-atc:disabled { background: #aaa; cursor: not-allowed; }

/* Trust badges (4 icons) */
.pa-trust-badges {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border: 1px solid #e8e8e6;
  border-radius: 4px;
  margin-bottom: 20px;
}

.pa-trust-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 16px 8px;
  gap: 5px;
  border-right: 1px solid #e8e8e6;
}
.pa-trust-badge:last-child { border-right: none; }

.pa-trust-badge__icon {
  color: #444;
  font-size: 18px;
  line-height: 1;
}

.pa-trust-badge__l1 {
  font-size: 10.5px;
  font-weight: 600;
  color: #111;
  line-height: 1.3;
  display: block;
}

.pa-trust-badge__l2 {
  font-size: 10px;
  color: #777;
  line-height: 1.3;
  display: block;
}

/* ── Upsell box ── */
.pa-upsell {
  border: 1px solid #e0e0de;
  border-radius: 4px;
  overflow: hidden;
  background: #fafaf8;
}

.pa-upsell__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 16px;
  border-bottom: 1px solid #e8e8e6;
  background: #fff;
}

.pa-upsell__title {
  font-size: 13px;
  font-weight: 600;
  color: #111;
}

.pa-upsell__badge {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #1a2744;
  background: #e8ecf5;
  border: 1px solid #c6cfdf;
  padding: 3px 8px;
  border-radius: 3px;
}

.pa-upsell__card {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 18px;
  padding: 18px 20px;
  align-items: start;
}

.pa-upsell__img {
  width: 110px;
  height: 110px;
  object-fit: cover;
  border-radius: 4px;
  display: block;
}

.pa-upsell__details {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.pa-upsell__prod-name {
  font-size: 13.5px;
  font-weight: 600;
  color: #111;
  margin: 0 0 3px;
  line-height: 1.35;
}

.pa-upsell__rec-text {
  font-size: 12px;
  color: #666;
  margin: 0;
  line-height: 1.5;
}

.pa-upsell__rec-size {
  font-size: 13px;
  font-weight: 600;
  color: #111;
  margin: 0 0 10px;
}

.pa-upsell__bullets {
  list-style: none;
  margin: 0 0 12px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.pa-upsell__bullets li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 12px;
  color: #555;
  line-height: 1.5;
}

.pa-upsell__bullet-icon {
  color: #888;
  font-size: 13px;
  flex-shrink: 0;
  margin-top: 1px;
}

.pa-upsell__desc {
  font-size: 12px;
  color: #555;
  line-height: 1.65;
  margin-bottom: 12px;
}
.pa-upsell__desc p { margin: 0 0 4px; }
.pa-upsell__desc ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }

.pa-upsell__bottom-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
}

.pa-upsell__price-block { display: flex; flex-direction: column; gap: 2px; }

.pa-upsell__price {
  font-size: 16px;
  font-weight: 700;
  color: #111;
  margin: 0;
  line-height: 1.2;
}

.pa-upsell__tax {
  font-size: 11px;
  color: #888;
  margin: 0;
}

/* Custom checkbox */
.pa-upsell__check-label {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  user-select: none;
  flex-shrink: 0;
}

.pa-upsell__checkbox {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.pa-upsell__check-box {
  width: 20px;
  height: 20px;
  border: 1.5px solid #c8c8c8;
  border-radius: 3px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.12s, background 0.12s;
  flex-shrink: 0;
}

.pa-upsell__check-box i {
  font-size: 10px;
  color: #fff;
  opacity: 0;
  transition: opacity 0.12s;
}

.pa-upsell__checkbox:checked + .pa-upsell__check-box {
  background: #1a2744;
  border-color: #1a2744;
}
.pa-upsell__checkbox:checked + .pa-upsell__check-box i {
  opacity: 1;
}

.pa-upsell__check-text {
  font-size: 12px;
  color: #333;
  font-weight: 500;
  white-space: nowrap;
}

/* ── Trust strip (3 columns) ── */
.pa-trust-strip {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  border-top: 1px solid #e0e0de;
  border-bottom: 1px solid #e0e0de;
  margin-bottom: 60px;
}

.pa-trust-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  padding: 28px 32px;
}

.pa-trust-divider {
  width: 1px;
  background: #e0e0de;
  align-self: stretch;
}

.pa-trust-item__icon {
  font-size: 26px;
  color: #333;
  flex-shrink: 0;
}

.pa-trust-item__title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #111;
  text-transform: uppercase;
  margin: 0 0 3px;
}

.pa-trust-item__sub {
  font-size: 12.5px;
  color: #666;
  margin: 0;
}

/* ── About row ── */
.pa-about-row {
  display: grid;
  grid-template-columns: 3fr auto 2fr;
  margin-bottom: 60px;
  border-top: 1px solid #e0e0de;
}

.pa-about-block {
  padding: 40px 48px;
}
.pa-about-block:first-child { padding-left: 0; }

.pa-about-divider {
  width: 1px;
  background: #e0e0de;
  align-self: stretch;
}

.pa-about-title {
  font-family: 'Cinzel', Georgia, serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #111;
  margin: 0 0 20px;
}

.pa-about-body {
  font-size: 13.5px;
  color: #555;
  line-height: 1.8;
}
.pa-about-body p { margin: 0 0 10px; }
.pa-about-body p:last-child { margin-bottom: 0; }

.pa-about-details-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #111;
  text-transform: uppercase;
  margin: 18px 0 8px;
}

.pa-about-list {
  padding-left: 16px;
  font-size: 13.5px;
  color: #555;
  line-height: 1.9;
  margin: 0;
}

.pa-why-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.pa-why-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13.5px;
  color: #333;
  line-height: 1.5;
}

.pa-why-icon {
  color: #1a2744;
  font-size: 15px;
  flex-shrink: 0;
  margin-top: 1px;
}

/* ── Lightbox ── */
.pa-lightbox {
  position: fixed; inset: 0; z-index: 9999;
  display: flex; align-items: center; justify-content: center;
}
.pa-lightbox[hidden] { display: none !important; }

.pa-lightbox__bd {
  position: absolute; inset: 0;
  background: rgba(255,255,255,0.98);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.pa-lightbox__close {
  position: absolute; top: 16px; right: 20px;
  width: 44px; height: 44px;
  background: none; border: none;
  cursor: pointer; color: #aaa; z-index: 2;
  display: flex; align-items: center; justify-content: center;
  font-size: 32px; line-height: 1;
  transition: color 0.15s;
}
.pa-lightbox__close:hover { color: #111; }

.pa-lightbox__inner {
  position: relative; z-index: 1;
  display: flex; flex-direction: column; align-items: center;
  width: 100vw; height: 100vh;
}

.pa-lightbox__main {
  flex: 1; display: flex; align-items: center; justify-content: center;
  padding: 0 60px; min-height: 0;
}

.pa-lightbox__img {
  max-height: 100%;
  width: auto;
  max-width: calc(100vw - 120px);
  object-fit: contain; display: block;
  transition: opacity 0.15s ease;
}
.pa-lightbox__img.pa-lb-changing { opacity: 0; }

.pa-lightbox__thumbs {
  width: 100%; overflow-x: auto; overflow-y: hidden;
  padding: 16px 24px;
  display: flex; flex-direction: row; align-items: flex-end; justify-content: center; gap: 12px;
  flex-shrink: 0; scrollbar-width: none; background: #000;
}
.pa-lightbox__thumbs::-webkit-scrollbar { display: none; }

.pa-lb-thumb {
  width: 56px; height: 56px; object-fit: cover; cursor: pointer;
  border: 2px solid transparent; border-radius: 4px; flex-shrink: 0;
  background: #222;
  transition: transform 0.2s cubic-bezier(0.34,1.56,0.64,1), border-color 0.15s;
}
.pa-lb-thumb:hover { transform: scale(1.1) translateY(-3px); }
.pa-lb-thumb--active {
  border-color: rgba(255,255,255,0.6);
  transform: scale(1.22) translateY(-5px);
}

.pa-lb-arrow {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 44px; height: 44px; background: #f0f0f0;
  border: none; border-radius: 50%; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: #111; z-index: 2; transition: background 0.18s;
}
.pa-lb-arrow:hover { background: #e2e2e2; }
.pa-lb-arrow--prev { left: 20px; }
.pa-lb-arrow--next { right: 20px; }
.pa-lb-arrow i { font-size: 14px; }

/* ── Mobile swipe gallery ── */
.pa-mob-wrap  { display: none; }
.pa-mob-counter { display: none; }

/* ── Responsive ── */
@media (max-width: 1100px) {
  .pa-product { gap: 32px; }
  .pa-about-block { padding: 32px 36px; }
}

@media (max-width: 900px) {
  .pa-product {
    grid-template-columns: 1fr;
    padding-block: 8px 40px;
  }
  .pa-info { position: static; }
  .pa-trust-strip { padding: 0; }
  .pa-trust-item { padding: 22px 24px; }
  .pa-about-row {
    grid-template-columns: 1fr;
    margin-bottom: 40px;
  }
  .pa-about-divider { width: auto; height: 1px; }
  .pa-about-block { padding: 28px 24px; }
  .pa-about-block:first-child { padding-left: 24px; }
}

@media (max-width: 700px) {
  /* Hide desktop gallery, show mobile swipe */
  .pa-gallery { display: none !important; }
  .pa-breadcrumb { display: none; }

  .pa-mob-wrap {
    display: block;
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #fff;
  }

  .pa-mob-gallery {
    display: flex;
    flex-direction: row;
    width: 100%;
    overflow-x: scroll;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
  }
  .pa-mob-gallery::-webkit-scrollbar { display: none; }

  .pa-mob-slide {
    flex: 0 0 100%;
    min-width: 100%;
    aspect-ratio: 4 / 5;
    scroll-snap-align: start;
    overflow: hidden;
  }
  .pa-mob-slide img {
    width: 100%; height: 100%; object-fit: contain; display: block;
    user-select: none; pointer-events: none;
  }

  .pa-mob-counter {
    display: block;
    position: absolute;
    bottom: 14px; left: 50%; transform: translateX(-50%);
    background: rgba(255,255,255,0.65);
    color: #111; font-size: 12px; font-weight: 500; line-height: 1;
    padding: 5px 12px; border-radius: 20px;
    white-space: nowrap; pointer-events: none;
    backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); z-index: 3;
  }

  .pa-trust-badges { grid-template-columns: repeat(2, 1fr); }
  .pa-trust-badge:nth-child(2) { border-right: none; }
  .pa-trust-badge:nth-child(3),
  .pa-trust-badge:nth-child(4) { border-top: 1px solid #e8e8e6; }
  .pa-trust-badge:nth-child(4) { border-right: none; }

  .pa-trust-strip {
    grid-template-columns: 1fr;
  }
  .pa-trust-divider { width: auto; height: 1px; }
  .pa-trust-item { padding: 18px 0; }

  .pa-upsell__card {
    grid-template-columns: 80px 1fr;
    gap: 14px;
    padding: 14px 16px;
  }
  .pa-upsell__img { width: 80px; height: 80px; }
  .pa-upsell__price { font-size: 14px; }

  .pa-about-block { padding: 24px 0; }
  .pa-about-block:first-child { padding-left: 0; }
}

@media (max-width: 480px) {
  .pa-size-pills { gap: 6px; }
  .pa-size-pill { padding: 7px 11px; font-size: 12px; }
  .pa-btn-atc { height: 52px; font-size: 12px; }
  .pa-trust-badges { grid-template-columns: repeat(4, 1fr); }
  .pa-trust-badge { padding: 12px 4px; }
  .pa-trust-badge__l1, .pa-trust-badge__l2 { font-size: 9.5px; }
  .pa-trust-badge__icon { font-size: 16px; }
}
/* END_SECTION:product-accessories */

/* START_SECTION:product-v2 (INDEX:32) */
/* ============================================================
   V2 PRODUCT PAGE — BASE
   ============================================================ */
@media (min-width: 861px) {
  .v2-product,
  .v2-info-row {
    width: 100%;
    max-width: 1500px;
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--page-margin, 24px);
    padding-right: var(--page-margin, 24px);
    box-sizing: border-box;
  }
}

.v2-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  padding: 12px 0 10px;
  font-size: 12.5px;
  color: #777;
}
.v2-breadcrumb a { color: #555; text-decoration: none; }
.v2-breadcrumb a:hover { color: #111; text-decoration: underline; }
.v2-bc-sep { color: #bbb; font-size: 11px; }
.v2-bc-current { color: #111; font-weight: 500; }

/* ── MAIN GRID ── */
.v2-product {
  display: grid;
  grid-template-columns: 60fr 40fr;
  gap: 48px;
  align-items: start;
  padding-block: 8px 60px;
}

/* ============================================================
   GALLERY
   ============================================================ */
.v2-gallery {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.v2-gallery__main {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 5;
  max-height: 85vh;
  background: #fff;
  overflow: hidden;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.v2-gallery__main img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

/* Left / right arrows — always visible */
.v2-nav-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  background: #f0f0f0;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #111;
  z-index: 4;
  transition: background 0.18s;
}
.v2-nav-arrow:hover { background: #e2e2e2; }
.v2-nav-arrow--prev { left: 12px; }
.v2-nav-arrow--next { right: 12px; }
.v2-nav-arrow i { font-size: 14px; }

/* Counter chip — overlaid at bottom of image, always visible */
.v2-img-chip {
  position: absolute;
  bottom: 72px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(217, 217, 217, 0.65);
  border-radius: 20px;
  padding: 4px 13px;
  z-index: 4;
  font-size: 11.5px;
  color: #111;
  font-weight: 500;
  letter-spacing: 0.04em;
  white-space: nowrap;
  pointer-events: none;
}

.v2-gallery__zoom {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 46px;
  height: 46px;
  background: rgba(255,255,255,0.95);
  border: 1.5px solid #b8a37f;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #767676;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  transition: background 0.15s;
  z-index: 3;
}
.v2-gallery__zoom:hover { background: #fff; }
.v2-gallery__zoom svg { width: 24px; height: 24px; display: block; }

/* Zoom popup */
.v2-gallery { position: relative; }
.v2-gallery__main { cursor: crosshair; }

.v2-zoom-popup {
  display: none;
  position: absolute;
  left: auto;
  right: -190px;
  top: 0;
  width: 440px;
  height: 440px;
  background-color: #f4f4f2;
  background-repeat: no-repeat;
  border: 1px solid #e0e0de;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: 0 6px 28px rgba(0,0,0,0.13);
  z-index: 50;
}

.v2-zoom-indicator {
  position: absolute;
  border: 1.5px solid rgba(255,255,255,0.85);
  box-shadow: 0 0 0 1px rgba(0,0,0,0.14);
  background: rgba(255,255,255,0.06);
  border-radius: 50%;
  pointer-events: none;
  display: none;
  z-index: 5;
}

@media (hover: none), (max-width: 900px) {
  .v2-zoom-popup, .v2-zoom-indicator { display: none !important; }
  .v2-gallery__main { cursor: default; }
}

/* Thumbnail strip — hidden, kept in DOM for JS image data */
.v2-thumbs-outer {
  display: none;
}

.v2-thumb-arrow {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #444;
  transition: border-color 0.12s, color 0.12s;
}
.v2-thumb-arrow:hover { border-color: #888; color: #111; }
.v2-thumb-arrow:disabled { opacity: 0.35; cursor: default; }
.v2-thumb-arrow[hidden] { display: none; }
.v2-thumb-arrow i { font-size: 11px; }

.v2-thumbs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
  flex: 1;
}
.v2-thumbs::-webkit-scrollbar { display: none; }

.v2-thumb {
  flex-shrink: 0;
  width: 72px;
  height: 72px;
  border: 1.5px solid #ddd;
  border-radius: 3px;
  overflow: hidden;
  cursor: pointer;
  background: #f4f4f2;
  padding: 0;
  transition: border-color 0.12s;
}
.v2-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.v2-thumb:hover { border-color: #888; }
.v2-thumb--active { border: 2px solid #111; }

/* Desktop/web only: thumbnail rail on the left of the main image */
@media (min-width: 701px) {
  .v2-gallery {
    flex-direction: row;
  }
  .v2-gallery__main {
    flex: 1;
    min-width: 0;
    order: 2;
  }
  .v2-thumbs-outer {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    width: 76px;
    flex-shrink: 0;
    order: 1;
  }
  .v2-thumbs {
    flex-direction: column;
    justify-content: center;
    overflow-x: visible;
    overflow-y: auto;
  }
  .v2-thumb-arrow--prev i,
  .v2-thumb-arrow--next i {
    transform: rotate(90deg);
  }
}

/* ============================================================
   PRODUCT DETAILS TABLE
   ============================================================ */
.v2-details__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13.5px;
  margin-bottom: 0;
}

.v2-dt-label {
  font-weight: 600;
  color: #222;
  padding: 11px 20px 11px 0;
  width: 45%;
  white-space: nowrap;
  vertical-align: middle;
}

.v2-dt-icon {
  display: inline-block;
  width: 18px;
  font-size: 12px;
  color: #222;
  margin-right: 9px;
  text-align: center;
  flex-shrink: 0;
}

.v2-dt-val {
  color: #222;
  font-weight: 400;
  padding: 11px 0;
  vertical-align: middle;
}

.v2-details__table tr { border-bottom: 1px solid #ededeb; }
.v2-details__table tr:last-child { border-bottom: none; }

.v2-dt-sku { cursor: pointer; user-select: none; transition: color 0.15s; }
.v2-dt-sku:hover { color: #555; }
.v2-dt-sku--copied { color: #111 !important; }

/* ============================================================
   INFO PANEL
   ============================================================ */
.v2-info {
  position: sticky;
  top: calc(2.4rem + 4rem + 16px);
}

/* Title */
.v2-title {
  font-family: 'Cinzel', Georgia, serif;
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  font-weight: 500;
  color: #111;
  line-height: 1.25;
  letter-spacing: 0.03em;
  margin: 0 0 6px;
}

/* Attribute chips */
.v2-attrs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
  margin-bottom: 24px;
}

.v2-attr {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  font-weight: 500;
  color: #222;
  white-space: nowrap;
  padding: 7px 14px;
  background: #F7F4EF;
  border-radius: 4px;
  border: 1px solid #e5e0d8;
}

.v2-attr__icon {
  font-size: 12px;
  color: #111;
  opacity: 0.75;
}



.v2-attr--sku {
  cursor: pointer;
  user-select: none;
  transition: background 0.15s;
}
.v2-attr--sku:hover { background: #ede8e0; }

/* Price divider */
.v2-price-divider {
  border: none;
  border-top: 1px solid #e0e0e0;
  margin: 20px 0 20px;
}

/* Price */
.v2-price-block {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 22px;
  margin-top: 6px;
  margin-bottom: 18px;
}

.v2-price {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: calc(clamp(1.25rem, 2vw, 1.65rem) - 2px);
  font-weight: 500;
  color: #111;
  line-height: 1.15;
  letter-spacing: 0;
}

.v2-price-compare {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: #888;
  text-decoration: line-through;
}

.v2-price-badge {
  font-size: 12px;
  font-weight: 500;
  background: transparent;
  color: #c0392b;
  border: 1.5px solid #c0392b;
  padding: 3px 9px;
  border-radius: 5px;
  letter-spacing: 0.3px;
}

/* Trust row */
.v2-trust-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin-bottom: 22px;
  padding: 20px 0;
  background: transparent;
  border-radius: 0;
  border: none;
  border-top: 1px solid #e8e8e6;
}

.v2-trust {
  display: flex;
  flex-direction: row;
  align-items: center;
  text-align: left;
  gap: 10px;
  padding: 0 10px;
}
.v2-trust:first-child { padding-left: 0; }
.v2-trust:last-child { padding-right: 0; }

.v2-trust i { font-size: 19px; color: #888; flex-shrink: 0; }
.v2-trust svg { width: 22px; height: 22px; color: #111; stroke: currentColor; flex-shrink: 0; }

.v2-trust span {
  font-size: 11px;
  color: #444;
  line-height: 1.45;
  font-weight: 500;
}
.v2-trust__mob-show { display: none; }

/* Variant options */
.v2-opt-section {
  margin-bottom: 16px;
}
.v2-opt-label { font-size: 13px; color: #333; margin: 0 0 9px; }
.v2-opt-label strong { font-weight: 700; color: #111; }

.v2-swatches { display: flex; flex-wrap: wrap; gap: 6px; }

.v2-swatch {
  width: 56px;
  height: 56px;
  border: 1.5px solid #ccc;
  border-radius: 3px;
  padding: 0;
  cursor: pointer;
  background: #ebebeb;
  overflow: hidden;
  transition: border-color 0.12s;
}
.v2-swatch:hover { border-color: #888; }
.v2-swatch--active { border: 2.5px solid #111; }
.v2-swatch img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Custom select */
.v2-sel { position: relative; user-select: none; }
.v2-sel__trigger {
  display: flex; align-items: center; gap: 10px;
  height: 48px; padding: 0 14px;
  border: 1px solid #c8c8c8; border-radius: 3px;
  cursor: pointer; font-size: 14px; color: #111; background: #fff;
  transition: border-color 0.12s;
}
.v2-sel__trigger:hover, .v2-sel.is-open .v2-sel__trigger { border-color: #888; }
.v2-sel__img { width: 30px; height: 30px; object-fit: cover; border-radius: 2px; flex-shrink: 0; }
.v2-sel__trigger > span { flex: 1; font-size: 14px; }
.v2-sel__chev { flex-shrink: 0; color: #555; transition: transform 0.18s; }
.v2-sel.is-open .v2-sel__chev { transform: rotate(180deg); }
.v2-sel__opts {
  display: none; position: absolute; top: calc(100% + 3px); left: 0; right: 0;
  background: #fff; border: 1px solid #c8c8c8; border-radius: 3px;
  box-shadow: 0 4px 18px rgba(0,0,0,0.09); z-index: 60; max-height: 280px; overflow-y: auto;
}
.v2-sel.is-open .v2-sel__opts { display: block; }
.v2-sel__opt {
  display: flex; align-items: center; gap: 10px;
  padding: 0 14px; height: 48px; cursor: pointer; font-size: 14px; color: #111;
  transition: background 0.1s;
}
.v2-sel__opt:hover { background: #f6f6f4; }
.v2-sel__opt--sel { background: #f0f0ee; font-weight: 600; }
.v2-sel__opt--dis { color: #bbb; cursor: not-allowed; pointer-events: none; }
.v2-sel__opt img { width: 30px; height: 30px; object-fit: cover; border-radius: 2px; flex-shrink: 0; }

/* Native select fallback */
.v2-native-wrap { position: relative; }
.v2-native-sel {
  width: 100%; height: 48px;
  border: 1px solid #c8c8c8; border-radius: 3px;
  padding: 0 44px 0 14px; font-size: 14px; color: #111;
  background: #fff; appearance: none; cursor: pointer; font-family: inherit;
}

/* ATC + fav row */
.v2-atc-row {
  display: flex;
  gap: 10px;
  margin-bottom: 12px;
  width: 100%;
  box-sizing: border-box;
}

/* ATC button */
.v2-btn-atc {
  flex: 1; height: 58px;
  background: linear-gradient(135deg, #111 0%, #2a2a2a 100%);
  color: #fff; border: none; border-radius: 3px;
  font-size: 13.5px; font-weight: 700; letter-spacing: 0.13em; text-transform: uppercase;
  cursor: pointer; font-family: inherit;
  box-shadow: 0 2px 10px rgba(0,0,0,0.18);
  transition: box-shadow 0.15s, opacity 0.15s;
}
.v2-btn-atc:hover:not(:disabled) { opacity: 0.88; box-shadow: 0 4px 14px rgba(0,0,0,0.22); }
.v2-btn-atc:disabled { background: #aaa; cursor: not-allowed; box-shadow: none; }

/* Fav button */
.v2-btn-fav {
  flex: 0 0 58px;
  width: 58px; height: 58px;
  border: 1px solid #c8c8c8; border-radius: 3px;
  background: #fff; color: #555;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  font-size: 1.2rem;
  box-sizing: border-box;
  transition: border-color 0.15s, color 0.15s;
}
.v2-btn-fav:hover { border-color: #888; color: #111; }
.v2-btn-fav--active i { color: #C2410B; }

/* BNPL / pricing info */
.v2-bnpl {
  margin-top: 22px;
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-bottom: 20px;
}

.v2-bnpl__row1 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  font-size: 13px;
  color: #555;
}

.v2-bnpl__badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.5;
}

.v2-bnpl__badge--afterpay { background: #b2e4d2; color: #111; }
.v2-bnpl__badge--klarna   { background: #ffb3c8; color: #111; }
.v2-bnpl__badge--zip      { background: #111;    color: #fff; }

.v2-bnpl__row2 {
  font-size: 12px;
  color: #aaa;
  letter-spacing: 0.01em;
  margin-top: 12px;
}

/* Questions card */
.v2-story {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 18px 20px;
  background: #F7F4EF;
  border: 1px solid #e8e3da;
  border-radius: 6px;
  margin-top: 40px;
  margin-bottom: 20px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.15s;
}
.v2-story:hover { background: #ede9e1; }
.v2-story__title {
  font-size: 13.5px;
  font-weight: 700;
  color: #111;
  line-height: 1.35;
  margin: 0;
}
.v2-story__sub {
  font-size: 12.5px;
  color: #555;
  line-height: 1.55;
  margin: 0;
}
.v2-story__cta {
  font-size: 12.5px;
  font-weight: 600;
  color: #111;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-family: inherit;
  text-align: left;
  margin-top: 4px;
}
.v2-story__cta:hover { opacity: 0.6; }
.v2-story__inline-cta { display: none; }

/* ── Product Info Row ── */
.v2-info-row {
  display: grid;
  grid-template-columns: 3fr auto 2fr;
  gap: 0;
  margin-top: 0;
  margin-bottom: 60px;
}

.v2-info-block {
  padding: 36px 40px;
}

.v2-info-block__divider {
  width: 1px;
  background: #e0e0de;
  align-self: stretch;
}

.v2-info-block__title {
  font-family: 'Cinzel', Georgia, serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #111;
  margin: 0 0 24px;
}

.v2-info-block__body {
  font-size: 14px;
  color: #555;
  line-height: 1.8;
}
.v2-info-block__body * { color: inherit !important; background: none !important; }
.v2-info-block__body p { margin: 0 0 10px; }
.v2-info-block__body p:last-child { margin-bottom: 0; }

@media (max-width: 700px) {
  .v2-info-row {
    grid-template-columns: 1fr;
  }
  .v2-info-block__divider {
    width: auto;
    height: 1px;
  }
  .v2-info-block { padding: 28px 24px; }
}

/* ============================================================
   FEATURES STRIP
   ============================================================ */
.v2-features {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid #e8e8e6;
  border-bottom: 1px solid #e8e8e6;
  margin-bottom: 60px;
}

.v2-feat {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 18px;
  padding: 30px 28px;
  border-right: 1px solid #e8e8e6;
}
.v2-feat:last-child { border-right: none; }

.v2-feat__icon { color: #444; flex-shrink: 0; padding-top: 2px; }
.v2-feat__icon i { font-size: 24px; }

.v2-feat__text { display: flex; flex-direction: column; gap: 5px; }

.v2-feat__title {
  font-size: 11px; font-weight: 700; letter-spacing: 0.1em;
  color: #111; margin: 0;
}

.v2-feat__sub {
  font-size: 12.5px; color: #666; line-height: 1.65; margin: 0;
}

/* ============================================================
   LIGHTBOX
   ============================================================ */
.v2-lightbox {
  position: fixed; inset: 0; z-index: 9999;
  display: flex; align-items: center; justify-content: center;
  background: transparent;
}
.v2-lightbox[hidden] { display: none !important; }

.v2-lightbox__bd {
  position: absolute; inset: 0;
  background: rgba(255,255,255,0.98);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.v2-lightbox__close {
  position: absolute; top: 16px; right: 20px;
  width: 44px; height: 44px;
  background: none; border: none;
  cursor: pointer; color: #aaa; z-index: 2;
  display: flex; align-items: center; justify-content: center;
  font-size: 32px; line-height: 1;
  transition: color 0.15s;
}
.v2-lightbox__close:hover { color: #111; }

.v2-lightbox__inner {
  position: relative; z-index: 1;
  display: flex; flex-direction: column; align-items: center;
  width: 100vw; height: 100vh;
}

.v2-lightbox__thumbs {
  width: 100%;
  overflow-x: auto; overflow-y: hidden;
  padding: 17px 24px;
  display: flex; flex-direction: row; align-items: flex-end; justify-content: center; gap: 14px;
  flex-shrink: 0;
  scrollbar-width: none;
  background: #000;
}
.v2-lightbox__thumbs::-webkit-scrollbar { display: none; }

.v2-lb-thumb {
  width: 56px; height: 56px;
  object-fit: cover; cursor: pointer;
  border: 2px solid transparent; border-radius: 4px; flex-shrink: 0;
  background: #222;
  transition: transform 0.2s cubic-bezier(0.34,1.56,0.64,1), border-color 0.15s;
}
.v2-lb-thumb:hover { transform: scale(1.1) translateY(-3px); }
.v2-lb-thumb--active {
  border-color: rgba(255,255,255,0.6);
  transform: scale(1.22) translateY(-5px);
}

.v2-lightbox__main {
  flex: 1; display: flex; align-items: center; justify-content: center;
  padding: 0 32px;
  min-height: 0;
}

/* Lightbox arrows — anchored to the overlay so image size never shifts them */
.v2-lb-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  background: #f0f0f0;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #111;
  z-index: 2;
  transition: background 0.18s;
}
.v2-lb-arrow:hover { background: #e2e2e2; }
.v2-lb-arrow--prev { left: 20px; }
.v2-lb-arrow--next { right: 20px; }
.v2-lb-arrow i { font-size: 14px; }

.v2-lightbox__img {
  max-height: 100%;
  width: auto;
  max-width: calc(100vw - 64px);
  object-fit: contain; display: block;
  transition: opacity 0.15s ease;
}
.v2-lightbox__img.v2-lb-changing { opacity: 0; }

/* ============================================================
   SIM CARDS (shared with v1 — classes already defined globally)
   — we just re-declare the grid here for v2 page context
   ============================================================ */

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1080px) {
  .v2-product { grid-template-columns: 60fr 40fr; gap: 32px; }
  .v2-trust-row { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 860px) {
  .v2-product { grid-template-columns: 1fr; gap: 24px; padding-block: 8px 48px; }
  .v2-info { position: static; max-height: none; overflow-y: visible; }
  .v2-features { grid-template-columns: repeat(2, 1fr); }
  .v2-feat:nth-child(2) { border-right: none; }
  .v2-feat:nth-child(3) { border-top: 1px solid #e8e8e6; }
  .v2-feat:nth-child(4) { border-top: 1px solid #e8e8e6; border-right: none; }
  .v2-feat { padding: 22px 20px; }
  .v2-info-block { padding: 28px 24px; }
  .v2-info-row { margin-top: 0; margin-bottom: 40px; }
  .v2-fstrip { margin: 0 0 40px; }
}

@media (max-width: 540px) {
  .v2-title { font-size: 1.3rem; }
  .v2-price { font-size: calc(1.3rem - 2px); }
  .v2-features { grid-template-columns: 1fr 1fr; }
  .v2-trust-row { grid-template-columns: repeat(3, 1fr); gap: 0; }
  .v2-trust { padding: 12px 0; border-bottom: none; flex-direction: column; align-items: center; text-align: center; gap: 6px; }
  .v2-trust__mob-hide { display: none; }
  .v2-trust__mob-show { display: inline; }
  .v2-gallery__main { max-height: 80vw; }
  .v2-gallery__main img { max-height: 80vw; }
  .v2-lightbox__thumbs { padding: 10px 12px; gap: 8px; }
  .v2-lb-thumb { width: 44px; height: 44px; }
  .v2-lightbox__main { padding: 0 8px; }
  .v2-lightbox__img { max-width: 100vw; }
  .v2-story { padding: 16px 18px; }
  .v2-fstrip__icon { font-size: 22px; }
  .v2-fstrip__body { font-size: 13px; max-width: none; }
  .v2-btn-atc { height: 52px; }
  .v2-btn-fav { width: 52px; height: 52px; }
  .v2-product { padding-block: 8px 16px; }
  .v2-info-row { margin-top: 0; }
  .v2-info-block { padding: 16px 0; }
  .v2-info-block:first-child { padding-top: 4px; }
}

@media (min-width: 701px) {
  .v2-attr { font-size: 11px; padding: 5px 9px; }
}

@media (max-width: 700px) {
  .v2-attr { font-size: 10px; padding: 6px 9px; }
}

@media (max-width: 400px) {
  .v2-bnpl { flex-wrap: wrap; }
  .v2-attrs { gap: 6px; }
  .v2-story { padding: 14px 16px; }
}

/* ── Feature Strip ── */
.v2-fstrip {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
  border: 1px solid #e0e0de;
  border-radius: 4px;
  margin: 0 0 60px;
}

.v2-fstrip__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 40px 32px;
  gap: 14px;
  text-decoration: none;
}

.v2-fstrip__item--link {
  cursor: pointer;
  transition: background 0.15s;
}
.v2-fstrip__item--link:hover {
  background: #f7f7f5;
}
.v2-fstrip__item--link:hover .v2-fstrip__title {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.v2-fstrip__divider {
  width: 1px;
  background: #e0e0de;
  align-self: stretch;
}

.v2-fstrip__icon {
  font-size: 34px;
  color: #222;
  line-height: 1;
}

.v2-fstrip__title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #111;
  margin: 0;
}

.v2-fstrip__body {
  font-size: 13px;
  color: #666;
  line-height: 1.7;
  margin: 0;
  max-width: 200px;
}

@media (max-width: 900px) {
  .v2-fstrip {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }
  .v2-fstrip__divider:nth-child(2) { display: none; }
  .v2-fstrip__divider:nth-child(4) {
    grid-column: 1 / -1;
    width: auto;
    height: 1px;
  }
  .v2-fstrip__divider:nth-child(6) { display: none; }
  .v2-fstrip__item { padding: 28px 18px; }
}

@media (max-width: 640px) {
  .v2-fstrip {
    grid-template-columns: 1fr;
    border-radius: 8px;
    overflow: hidden;
  }
  .v2-fstrip__divider { display: none; }
  .v2-fstrip__item {
    flex-direction: row;
    align-items: center;
    text-align: left;
    padding: 18px 20px;
    border-bottom: 1px solid #e0e0de;
    gap: 18px;
  }
  .v2-fstrip__item:last-child { border-bottom: none; }
  .v2-fstrip__icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5f5f3;
    border-radius: 50%;
    font-size: 20px;
  }
  .v2-fstrip__text {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    min-width: 0;
  }
  .v2-fstrip__title {
    font-size: 12px;
    margin: 0;
  }
  .v2-fstrip__body {
    font-size: 12.5px;
    max-width: none;
    line-height: 1.55;
    margin: 0;
  }
}

/* ============================================================
   MOBILE SWIPE GALLERY (≤700px only, does not affect desktop)
   ============================================================ */
.v2-mob-wrap  { display: none; }
.v2-mob-counter { display: none; }


@media (max-width: 700px) {
  /* Hide the desktop gallery */
  .v2-gallery { display: none !important; }

  /* Hide breadcrumb on mobile */
  .v2-breadcrumb { display: none; }

  /* Wrapper: position:relative so the counter pill anchors to it (not the scroll div) */
  .v2-mob-wrap {
    display: block;
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #fff;
  }

  /* Scroll container — no position:relative here */
  .v2-mob-gallery {
    display: flex;
    flex-direction: row;
    width: 100%;
    overflow-x: scroll;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
  }
  .v2-mob-gallery::-webkit-scrollbar { display: none; }

  .v2-mob-slide {
    flex: 0 0 100%;
    min-width: 100%;
    width: 100%;
    aspect-ratio: 4 / 5;
    scroll-snap-align: start;
    overflow: hidden;
  }

  .v2-mob-slide img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    -webkit-user-select: none;
    user-select: none;
    pointer-events: none;
  }

  /* Counter pill: sibling of scroll div, anchored to wrapper — stays fixed */
  .v2-mob-counter {
    display: block;
    position: absolute;
    bottom: 14px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(255, 255, 255, 0.65);
    color: #111;
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    padding: 5px 12px;
    border-radius: 20px;
    white-space: nowrap;
    pointer-events: none;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    z-index: 3;
  }

}

/* ── Upsell box (Add matching underlay) ── */
.v2-upsell {
  border: 1px solid #e0e0de;
  border-radius: 4px;
  overflow: hidden;
  background: #fafaf8;
  margin-bottom: 20px;
}

.v2-upsell__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid #e8e8e6;
  background: #fff;
}

.v2-upsell__title {
  font-size: 13px;
  font-weight: 600;
  color: #111;
}

.v2-upsell__badge {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #1a2744;
  background: #e8ecf5;
  border: 1px solid #c6cfdf;
  padding: 3px 8px;
  border-radius: 3px;
}

.v2-upsell__card {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 18px;
  padding: 18px 20px;
  align-items: start;
}

.v2-upsell__img {
  width: 110px;
  height: 110px;
  object-fit: cover;
  border-radius: 4px;
  display: block;
}

.v2-upsell__details {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.v2-upsell__prod-name {
  font-size: 13.5px;
  font-weight: 600;
  color: #111;
  margin: 0 0 3px;
  line-height: 1.35;
}

.v2-upsell__rec-text {
  font-size: 12px;
  color: #666;
  margin: 0;
  line-height: 1.5;
}

.v2-upsell__rec-size {
  font-size: 13px;
  font-weight: 600;
  color: #111;
  margin: 0 0 10px;
}

.v2-upsell__bullets {
  list-style: none;
  margin: 0 0 12px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.v2-upsell__bullets li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 12px;
  color: #555;
  line-height: 1.5;
}

.v2-upsell__bullet-icon {
  color: #888;
  font-size: 13px;
  flex-shrink: 0;
  margin-top: 1px;
}

.v2-upsell__desc {
  font-size: 12px;
  color: #555;
  line-height: 1.65;
  margin-bottom: 12px;
}
.v2-upsell__desc p { margin: 0 0 4px; }
.v2-upsell__desc ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }

.v2-upsell__bottom-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
}

.v2-upsell__price-block { display: flex; flex-direction: column; gap: 2px; }

.v2-upsell__price {
  font-size: 16px;
  font-weight: 700;
  color: #111;
  margin: 0;
  line-height: 1.2;
}

.v2-upsell__tax {
  font-size: 11px;
  color: #888;
  margin: 0;
}

.v2-upsell__check-label {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  user-select: none;
  flex-shrink: 0;
}

.v2-upsell__checkbox {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.v2-upsell__check-box {
  width: 20px;
  height: 20px;
  border: 1.5px solid #c8c8c8;
  border-radius: 3px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.12s, background 0.12s;
  flex-shrink: 0;
}
.v2-upsell__check-box i {
  font-size: 10px;
  color: #fff;
  opacity: 0;
  transition: opacity 0.12s;
}
.v2-upsell__checkbox:checked + .v2-upsell__check-box {
  background: #1a2744;
  border-color: #1a2744;
}
.v2-upsell__checkbox:checked + .v2-upsell__check-box i { opacity: 1; }

.v2-upsell__check-text {
  font-size: 12px;
  color: #333;
  font-weight: 500;
  white-space: nowrap;
}

@media (max-width: 480px) {
  .v2-upsell__card {
    grid-template-columns: 88px 1fr;
    gap: 14px;
    padding: 14px 16px;
  }
  .v2-upsell__img { width: 88px; height: 88px; }
  .v2-upsell__price { font-size: 14px; }
}
/* END_SECTION:product-v2 */

/* START_SECTION:product (INDEX:33) */
/* ============================================================
   PRODUCT PAGE - LAYOUT
   ============================================================ */
.product-page {
  display: grid;
  grid-template-columns: 1fr 460px;
  gap: 72px;
  align-items: start;
  padding-block: 48px 60px;
}

/* ============================================================
   GALLERY
   ============================================================ */
.product-gallery {
  position: relative;
}

.gallery-tags {
  position: absolute;
  top: 10px;
  right: 10px;
  display: flex;
  gap: 5px;
  z-index: 2;
  pointer-events: none;
}

.mobile-gallery-counter {
  display: none;
  position: absolute;
  bottom: 14px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(255, 255, 255, 0.65);
  color: #111;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  padding: 5px 12px;
  border-radius: 20px;
  white-space: nowrap;
  pointer-events: none;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 3;
}

.gallery-tag {
  background: #fff;
  border: 1px solid #d0d0d0;
  border-radius: 20px;
  padding: 3px 11px;
  font-size: 11.5px;
  font-weight: 500;
  color: #222;
  line-height: 1.5;
}

/* Desktop: main image + thumbnail strip */
.gallery-grid {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.gallery-item--main {
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #fff;
  overflow: hidden;
  cursor: zoom-in;
  position: relative;
}

.gallery-item--main img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  transition: transform 0.4s ease;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  pointer-events: none;
}

.gallery-item--main:hover img { transform: scale(1.03); }

/* ---- Image zoom: lens indicator + right-side result panel ---- */
.prd-zoom-lens {
  display: none;
  position: absolute;
  border: 1.5px solid rgba(80,80,80,0.55);
  background: rgba(255,255,255,0.12);
  pointer-events: none;
  z-index: 8;
  cursor: crosshair;
}

.prd-zoom-result {
  display: none;
  position: absolute;
  width: 420px;
  height: 420px;
  border: 1px solid #d8d0c4;
  background-repeat: no-repeat;
  background-color: #fff;
  z-index: 30;
  pointer-events: none;
  box-shadow: 0 6px 28px rgba(0,0,0,0.13);
}

.gallery-item--main.is-zooming {
  cursor: crosshair;
}

.gallery-item--main.is-zooming img {
  transform: none !important;
}

.gallery-thumbs-wrap {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  scrollbar-width: none;
  padding-bottom: 2px;
  justify-content: center;
}

.gallery-thumbs-wrap::-webkit-scrollbar { display: none; }

.gallery-item {
  flex-shrink: 0;
  width: 72px;
  height: 72px;
  background: #fff;
  border: 1.5px solid #d8d0c4;
  overflow: hidden;
  cursor: pointer;
  position: relative;
  border-radius: 2px;
  transition: border-color 0.12s;
}

.gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.gallery-item:hover { border-color: #888; }
.gallery-item--thumb-active { border: 2px solid #111; }

/* ============================================================
   LIGHTBOX — full-screen white panel
   ============================================================ */
.prd-lightbox {
  display: none;
  position: fixed;
  inset: 0;
  background: #fff;
  z-index: 9999;
  flex-direction: row;
}

.prd-lightbox.is-open { display: flex; }

/* Close button — top right, "Close x" text style */
.prd-lightbox__close {
  position: absolute;
  top: 18px;
  right: 22px;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 500;
  color: #111;
  font-family: inherit;
  padding: 6px 4px;
  line-height: 1;
  z-index: 2;
  transition: opacity 0.15s;
}

.prd-lightbox__close:hover { opacity: 0.6; }

/* Left thumbnail strip */
.prd-lightbox__thumbs {
  width: 96px;
  min-width: 96px;
  height: 100vh;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 64px 10px 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  scrollbar-width: none;
}

.prd-lightbox__thumbs::-webkit-scrollbar { display: none; }

.prd-lightbox__thumb {
  width: 76px;
  height: 76px;
  object-fit: cover;
  cursor: pointer;
  border: 2px solid transparent;
  border-radius: 2px;
  flex-shrink: 0;
  transition: border-color 0.12s;
  background: #f4f4f2;
}

.prd-lightbox__thumb:hover    { border-color: #aaa; }
.prd-lightbox__thumb--active  { border-color: #111; }

/* Center main image area */
.prd-lightbox__main {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px 60px;
  min-width: 0;
}

.prd-lightbox__img {
  max-width: 100%;
  max-height: calc(100vh - 96px);
  object-fit: contain;
  display: block;
}

/* Counter — hidden on desktop */
.prd-lightbox__counter {
  display: none;
}

/* ============================================================
   INFO PANEL - WRAPPER
   ============================================================ */
.product-info {
  display: flex;
  flex-direction: column;
  position: sticky;
  top: calc(2.4rem + 4rem + 20px); /* clear fixed top-bar + sticky site-header */
  max-height: calc(100vh - 2.4rem - 4rem - 40px);
  overflow-y: auto;
  scrollbar-width: none;
  padding-right: 32px;
}
.product-info::-webkit-scrollbar { display: none; }

/* ============================================================
   HEADER: VENDOR -> TITLE -> SIZE HINT
   ============================================================ */
.prd-vendor {
  font-size: 12.5px;
  font-weight: 400;
  color: #666;
  margin: 0 0 2px;        /* 2px gap: vendor -> title */
  line-height: 1.4;
}

.prd-title {
  font-family: 'Cinzel', Georgia, serif;
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  font-weight: 600;
  color: #111;
  line-height: 1.25;
  letter-spacing: 0.03em;
  margin: 0 0 6px;        /* gap: title -> size hint */
}

.prd-size-hint {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 13.5px;
  font-weight: 400;
  color: #555;
  margin: 0 0 28px;       /* space before price */
  line-height: 1.4;
}

.prd-info-icon {
  display: inline-flex;
  align-items: center;
  cursor: help;
  flex-shrink: 0;
  opacity: 0.7;
}
.prd-info-icon i {
  font-size: 0.85rem;
  color: #999;
}

/* ============================================================
   PRICE BLOCK
   ============================================================ */
.prd-price-block {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-top: 10px;
  margin-bottom: 24px;
}

.prd-price-row {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
}

.prd-price {
  font-size: 17.5px;
  font-weight: 500;
  color: #111;
  line-height: 1.15;
  letter-spacing: 0;
}

.prd-price-compare {
  font-size: 14px;
  font-weight: 400;
  color: #999;
  text-decoration: line-through;
  line-height: 1.2;
}

.prd-price-badge {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  background: #c0392b;
  padding: 4px 10px;
  border-radius: 4px;
  line-height: 1.4;
  letter-spacing: 0.3px;
  text-transform: uppercase;
}

.prd-vat-sku-row {
  margin-top: 8px;
}

.prd-vat {
  font-size: 12.5px;
  font-weight: 400;
  color: #777;
  line-height: 1.4;
}

.prd-sku {
  font-size: 12.5px;
  color: #888;
  line-height: 1.4;
}

/* ============================================================
   QUANTITY
   ============================================================ */
.prd-quantity-section {
  margin-bottom: 20px;
}

.prd-quantity-wrap {
  display: flex;
  align-items: center;
  border: 1px solid #c8c8c8;
  border-radius: 3px;
  width: fit-content;
  overflow: hidden;
}

.prd-qty-btn {
  width: 40px;
  height: 46px;
  border: none;
  background: #fff;
  cursor: pointer;
  font-size: 18px;
  color: #333;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.12s;
  font-family: inherit;
  line-height: 1;
}

.prd-qty-btn:hover { background: #f4f4f2; }

.prd-quantity-input {
  width: 52px;
  height: 46px;
  border: none;
  border-left: 1px solid #c8c8c8;
  border-right: 1px solid #c8c8c8;
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  color: #111;
  font-family: inherit;
  -moz-appearance: textfield;
}

.prd-quantity-input::-webkit-inner-spin-button,
.prd-quantity-input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* ============================================================
   PAYMENT BUTTONS (accelerated checkout)
   ============================================================ */
.prd-payment-buttons {
  margin-top: 8px;
}

/* ============================================================
   OPTION SECTIONS
   ============================================================ */
.prd-option-section {
  margin-bottom: 20px;
}

.prd-option-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 9px;
}

.prd-option-label {
  font-size: 13.5px;
  font-weight: 400;
  color: #333;
  margin: 0;
}

.prd-option-label strong {
  font-weight: 700;
  color: #111;
}

.prd-option-count {
  font-size: 13.5px;
  font-weight: 400;
  color: #777;
}

/* ---- Colour swatches ---- */
.prd-colour-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.prd-colour-swatch {
  width: 60px;
  height: 60px;
  border: 1px solid #ccc;
  border-radius: 2px;
  padding: 0;
  cursor: pointer;
  background: #ebebeb;
  overflow: hidden;
  transition: border-color 0.12s;
  flex-shrink: 0;
}

.prd-colour-swatch:hover {
  border-color: #888;
}

.prd-colour-swatch--active {
  border: 2px solid #111;
}

.prd-colour-swatch img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ---- Custom size select ---- */
.prd-size-section {
  margin-bottom: 14px;
}

.prd-custom-select {
  position: relative;
  user-select: none;
}

.prd-custom-select__trigger {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #c8c8c8;
  border-radius: 3px;
  padding: 0 14px;
  cursor: pointer;
  font-size: 14px;
  color: #111;
  height: 50px;
  background: #fff;
  transition: border-color 0.15s;
}

.prd-custom-select__trigger:hover,
.prd-custom-select.is-open .prd-custom-select__trigger {
  border-color: #888;
}

.prd-custom-select__img {
  width: 32px;
  height: 32px;
  object-fit: cover;
  border-radius: 2px;
  flex-shrink: 0;
}

.prd-custom-select__trigger > span {
  flex: 1;
  font-size: 14px;
  color: #111;
}

.prd-select-chevron {
  flex-shrink: 0;
  font-size: 0.75rem;
  color: #444;
  transition: transform 0.18s;
}

.prd-custom-select.is-open .prd-select-chevron {
  transform: rotate(180deg);
}

.prd-custom-select__options {
  display: none;
  position: absolute;
  top: calc(100% + 3px);
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid #c8c8c8;
  border-radius: 3px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.09);
  z-index: 50;
  max-height: 280px;
  overflow-y: auto;
}

.prd-custom-select.is-open .prd-custom-select__options {
  display: block;
}

.prd-custom-select__option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  cursor: pointer;
  font-size: 14px;
  color: #111;
  height: 50px;
  transition: background 0.1s;
}

.prd-custom-select__option:hover            { background: #f6f6f4; }
.prd-custom-select__option--selected        { background: #f0f0ee; font-weight: 600; }
.prd-custom-select__option--disabled        { color: #bbb; cursor: not-allowed; pointer-events: none; }

.prd-custom-select__option img {
  width: 32px;
  height: 32px;
  object-fit: cover;
  border-radius: 2px;
  flex-shrink: 0;
}

/* ---- Native select fallback ---- */
.prd-native-select-wrap {
  position: relative;
}

.prd-native-select {
  width: 100%;
  height: 50px;
  border: 1px solid #c8c8c8;
  border-radius: 3px;
  padding: 0 44px 0 14px;
  font-size: 14px;
  color: #111;
  background: #fff;
  appearance: none;
  cursor: pointer;
}

.prd-native-select-wrap .prd-select-chevron {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #444;
}

/* ============================================================
   ADD TO CART
   ============================================================ */
.prd-atc-row {
  display: flex;
  gap: 8px;
  margin-bottom: 28px;
}

.prd-btn-atc {
  flex: 1;
  height: 52px;
  background: #111;
  color: #fff;
  border: none;
  border-radius: 3px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.2px;
  cursor: pointer;
  transition: background 0.15s;
  font-family: inherit;
}

.prd-btn-atc:hover:not(:disabled) { background: #1f1f1f; }
.prd-btn-atc:disabled              { background: #aaa; cursor: not-allowed; }

.prd-atc-error {
  margin: -12px 0 16px;
  font-size: 13px;
  color: #b04a2e;
  line-height: 1.4;
}

.prd-btn-wishlist {
  width: 52px;
  height: 52px;
  flex-shrink: 0;
  border: 1px solid #c8c8c8;
  border-radius: 3px;
  background: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #555;
  font-size: 1.2rem;
  transition: border-color 0.15s, color 0.15s;
}

.prd-btn-wishlist:hover {
  border-color: #888;
  color: #111;
}

.prd-btn-wishlist--active i {
  color: #C2410B;
}

/* ---- Floating heart animation ---- */
@keyframes heart-float {
  0%   { transform: translateY(0);    opacity: 1; }
  100% { transform: translateY(-80px); opacity: 0; }
}

.prd-floating-heart {
  position: fixed;
  pointer-events: none;
  width: 22px;
  height: 22px;
  animation: heart-float 0.9s ease-out forwards;
  z-index: 9999;
}
.prd-floating-heart svg {
  width: 100%;
  height: 100%;
  fill: #e00;
  display: block;
}

/* ---- Focus visible — all interactive elements ---- */
.gallery-item:focus-visible,
.prd-colour-swatch:focus-visible,
.prd-btn-atc:focus-visible,
.prd-btn-wishlist:focus-visible,
.prd-lightbox__close:focus-visible,
.prd-custom-select__trigger:focus-visible,
.prd-custom-select__option:focus-visible,
.prd-lightbox__thumb:focus-visible {
  outline: 2px solid #111;
  outline-offset: 2px;
}

/* ============================================================
   TRUST BADGES
   ============================================================ */
.prd-badges {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding-bottom: 28px;
  border-bottom: 1px solid #e8e8e8;
}

.prd-badge {
  display: flex;
  align-items: flex-start;
  gap: 13px;
}

.prd-badge__icon {
  width: 26px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
}
.prd-badge__icon i {
  font-size: 1.25rem;
  color: #555;
}
.prd-badge__icon--shield {
  color: #444 !important;
}
.prd-badge__icon--star {
  color: #f5a623 !important;
}

.prd-badge__icon--green {
  color: #22a06b !important;
}

.prd-badge__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.prd-badge__title {
  font-size: 14px;
  font-weight: 700;
  color: #111;
  line-height: 1.4;
}

.prd-badge__sub {
  font-size: 13px;
  font-weight: 400;
  color: #666;
  line-height: 1.4;
}

.prd-badge__link {
  color: #555;
  text-decoration: none;
}
.prd-badge__link:hover {
  color: #111;
  text-decoration: underline;
}

/* ============================================================
   ACCORDIONS
   ============================================================ */
.prd-accordions {
  display: flex;
  flex-direction: column;
  margin-top: 24px;
}

.prd-accordion {
}

.prd-accordion:last-child {
  border-bottom: 1px solid #e8e8e8;
}

.prd-accordion__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 0;
  cursor: pointer;
  font-size: 14.5px;
  font-weight: 700;
  color: #111;
  list-style: none;
  line-height: 1.3;
  gap: 8px;
  /* No default marker */
}

.prd-accordion__header::-webkit-details-marker { display: none; }
.prd-accordion__header::marker { display: none; }

/* Inline meta value: "Material  Wool" */
.prd-accordion__meta {
  font-weight: 400;
  color: #444;
  margin-left: 5px;
}

.prd-accordion__chevron {
  flex-shrink: 0;
  font-size: 0.75rem;
  color: #555;
  transition: transform 0.2s ease;
}

details[open] > .prd-accordion__header .prd-accordion__chevron {
  transform: rotate(180deg);
}

.prd-accordion__body {
  padding: 0 0 14px;
  font-size: 13.5px;
  color: #555;
  line-height: 1.7;
}

.prd-accordion__body p        { margin: 0 0 8px; }
.prd-accordion__body p:last-child { margin-bottom: 0; }

/* ============================================================
   MOBILE
   ============================================================ */
@media (max-width: 700px) {
  .product-page {
    grid-template-columns: 1fr;
    gap: 20px;
    padding-block: 16px 48px;
  }

  .product-info {
    padding-right: 0;
    position: static;
    max-height: none;
    overflow-y: visible;
  }

  .prd-title  { font-size: 1.15rem; }
  .prd-price  { font-size: 17px; }

  /* Mobile gallery: single-image slider */
  .product-gallery {
    background: transparent;
    overflow: hidden; /* prevent gallery scroll from bleeding to page */
    width: 100%;
  }

  /* Hide thumbnail strip on mobile — JS moves items into the swipe grid */
  .gallery-thumbs-wrap {
    display: none;
  }

  .gallery-grid {
    display: flex;
    flex-direction: row;
    gap: 0;
    width: 100%;
    overflow-x: scroll;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
    border-radius: 10px;
    box-shadow: 0 1px 6px rgba(0,0,0,0.10);
    background: #fff;
  }

  .gallery-grid::-webkit-scrollbar { display: none; }

  .gallery-item--main,
  .gallery-item {
    flex: 0 0 100%;
    min-width: 100%;
    width: 100%;
    height: auto !important;
    aspect-ratio: 4 / 5 !important;
    scroll-snap-align: start;
    cursor: default;
    overflow: hidden;
    border: none !important;
    border-radius: 0;
  }

  .gallery-item--main img,
  .gallery-item img {
    object-fit: contain;
    width: 100% !important;
    height: 100% !important;
    display: block;
  }

  .gallery-item--main:hover img { transform: none; }

  /* Tags: bottom-left, stacked vertically */
  .gallery-tags {
    top: auto;
    right: auto;
    bottom: 14px;
    left: 14px;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
  }

  /* Slide counter chip — over gallery, bottom center */
  .mobile-gallery-counter {
    display: block;
  }

  /* Lightbox: full-screen on mobile */
  .prd-lightbox {
    flex-direction: column;
  }
  .prd-lightbox__thumbs {
    display: none;
  }
  .prd-lightbox__close {
    top: 14px;
    right: 14px;
  }
  .prd-lightbox__main {
    flex: 1;
    padding: 52px 0 52px;
    width: 100%;
    min-height: 0;
    touch-action: none;
  }
  .prd-lightbox__img {
    width: 100%;
    height: 100%;
    max-width: 100vw;
    max-height: 100%;
    object-fit: contain;
  }
  /* Slide counter pill — bottom center */
  .prd-lightbox__counter {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    bottom: 18px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0,0,0,0.45);
    color: #fff;
    font-size: 12.5px;
    font-weight: 500;
    line-height: 1;
    padding: 5px 14px;
    border-radius: 20px;
    white-space: nowrap;
    pointer-events: none;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 2;
  }
}

@media (max-width: 480px) {
  .prd-colour-swatch    { width: 52px; height: 52px; }
}

@media (max-width: 767px) {
  .sim-card__img-wrap {
    aspect-ratio: 130 / 370;
  }
  .sim-card__img {
    padding: 0;
  }
}

/* ============================================================
   PRODUCT TAGS
   ============================================================ */
.prd-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding-bottom: 4px;
}

.prd-tag {
  display: inline-flex;
  align-items: center;
  height: 28px;
  padding: 0 11px;
  border: 1px solid #d0d0d0;
  border-radius: 14px;
  font-size: 12.5px;
  font-weight: 500;
  color: #333;
  text-decoration: none;
  background: #fafafa;
  line-height: 1;
  transition: border-color 0.15s, color 0.15s, background 0.15s;
  white-space: nowrap;
}

.prd-tag:hover {
  border-color: #111;
  color: #111;
  background: #f0f0ee;
}

/* Page content in accordions */
.prd-accordion__body table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  margin: 8px 0;
}

.prd-accordion__body table th,
.prd-accordion__body table td {
  padding: 8px 10px;
  text-align: left;
  border: 1px solid #e8e8e8;
}

.prd-accordion__body table th {
  font-weight: 600;
  background: #f6f6f4;
  color: #111;
}

.prd-accordion__body ul,
.prd-accordion__body ol {
  padding-left: 18px;
  margin: 4px 0 8px;
}

.prd-accordion__body li {
  margin-bottom: 4px;
}

.prd-accordion__body img {
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 2px;
}

/* ---- Motion preference ---- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}

/* ============================================================
   SIMILAR PRODUCTS
   ============================================================ */
.sim-prods {
  padding-block: 40px 60px;
  border-top: 1px solid #e8e8e8;
  overflow: hidden; /* prevent track overflow escaping section */
  min-width: 0;
}

.sim-prods__heading {
  font-size: 19px;
  font-weight: 700;
  color: #111;
  line-height: 1.3;
  margin: 0 0 22px;
}

.sim-prods__track {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  min-width: 0;
}

/* ---- Card ---- */
.sim-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  min-width: 0;
}
.sim-card:focus-visible {
  outline: 2px solid var(--nr-gold, #c8a96e);
  outline-offset: 4px;
  border-radius: 2px;
}

.sim-card__img-wrap {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #ffffff;
  margin-bottom: 1rem;
  flex-shrink: 0;
}

.sim-card__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  transition: transform 600ms var(--nr-ease, ease), opacity 400ms ease;
}

.sim-card:hover .sim-card__img { transform: scale(1.07); }

.sim-card__img-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #E8E0D0, #D6CFC4);
}

/* Wishlist heart — hidden until card hovered */
.sim-card__wish {
  position: absolute;
  top: 0.6rem;
  right: 0.6rem;
  width: 30px;
  height: 30px;
  border: none;
  background: rgba(255, 255, 255, 0.82);
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666;
  font-size: 0.85rem;
  padding: 0;
  opacity: 0;
  transition: color 0.15s, background 0.15s, opacity 0.18s;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

.sim-card:hover .sim-card__wish        { opacity: 1; }
.sim-card__wish:hover                  { color: #111; background: #fff; }
.sim-card__wish:focus-visible          { opacity: 1; outline: 2px solid #111; outline-offset: 2px; }
.sim-card__wish--active                { opacity: 1 !important; color: #C2410B !important; background: #fff !important; }

@media (hover: none) {
  .sim-card__wish { opacity: 1; }
}

/* Badge */
.sim-card__badge {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  font-family: var(--nr-font-head, sans-serif);
  font-size: 0.65rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 0.3rem 0.65rem;
  pointer-events: none;
  background: #fff;
  color: #111;
}

.sim-card__badge--bestseller {
  background: var(--nr-gold-light, #f0c010);
  color: #1a0f00;
  letter-spacing: 0.15em;
}

.sim-card__badge--new {
  background: var(--nr-gold-light, #f0e8c8);
  color: #1a0f00;
}

.sim-card__badge--sale {
  background: #c0392b;
  color: #fff;
  font-weight: 600;
  border-radius: 2px;
  letter-spacing: 0.3px;
}

.sim-card__badge--soldout {
  background: #9e9e9e;
  color: #fff;
  font-weight: 600;
  letter-spacing: 0.05em;
}

/* ---- Card info ---- */
.sim-card__info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.sim-card__name {
  font-family: var(--nr-font-head, sans-serif);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--nr-dark, #111);
  margin: 0;
  line-height: 1.4;
}

.sim-card__price-row {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.sim-card__price {
  font-family: var(--nr-font-body, sans-serif);
  font-size: 0.9rem;
  font-weight: 400;
  color: var(--nr-dark, #111);
  line-height: 1.3;
}

.sim-card__price--sale {
  color: #B91C1C;
}

.sim-card__price-compare {
  font-family: var(--nr-font-body, sans-serif);
  font-size: 0.82rem;
  font-weight: 400;
  color: var(--nr-warm-gray, #999);
  text-decoration: line-through;
  line-height: 1.3;
}

.sim-card__swatches {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  row-gap: 4px;
}

.sim-card__dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: #c8c0b8;
  background-size: cover;
  background-position: center;
  display: inline-block;
  border: 1px solid rgba(0, 0, 0, 0.10);
  flex-shrink: 0;
}

.sim-card__colour-count {
  font-size: 12px;
  color: #666;
  line-height: 1.4;
  margin-left: 2px;
}

/* ---- Responsive ---- */
@media (max-width: 1100px) {
  .sim-prods__track { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 860px) {
  .sim-prods__track { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 700px) {
  .sim-prods { padding-block: 28px 40px; }

  .sim-prods__heading { font-size: 17px; margin-bottom: 16px; }

  .sim-prods__track {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
}

/* ---- Recently Viewed ---- */
.rv-prods {
  margin-top: 0; /* already separated by border-top from .sim-prods */
}

/* ---- Breadcrumb Bar ---- */
.product-breadcrumb {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 24px;
  font-size: 13px;
  color: #333;
  border-bottom: 1px solid #e8e8e8;
  background: #fff;
}

.breadcrumb-back {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #333;
  text-decoration: none;
  font-weight: 500;
  white-space: nowrap;
}

.breadcrumb-back:hover { color: #000; }

.breadcrumb-divider {
  color: #ccc;
  font-weight: 300;
}

.breadcrumb-trail {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
}

.breadcrumb-trail a {
  color: #555;
  text-decoration: none;
}

.breadcrumb-trail a:hover {
  color: #000;
  text-decoration: underline;
}

.breadcrumb-sep {
  color: #999;
  font-size: 12px;
}

.breadcrumb-current {
  color: #111;
  font-weight: 500;
}

@media (max-width: 768px) {
  .product-breadcrumb {
    display: none;
  }
}

/* ============================================================
   WATCH VIDEO BUTTON
   ============================================================ */
.prd-watch-video-btn {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 6;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px 16px 9px 10px;
  border-radius: 100px;
  background: rgba(252, 250, 245, 0.28);
  backdrop-filter: blur(8px) saturate(140%);
  -webkit-backdrop-filter: blur(8px) saturate(140%);
  border: 1px solid rgba(255, 255, 255, 0.45);
  color: #1e1a14;
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: background 0.22s ease, border-color 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08), inset 0 1px 0 rgba(255,255,255,0.5);
  text-transform: uppercase;
  text-shadow: 0 1px 3px rgba(255,255,255,0.7);
}
.prd-watch-video-btn:hover {
  background: rgba(252, 250, 245, 0.55);
  border-color: rgba(165, 148, 124, 0.6);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.1), inset 0 1px 0 rgba(255,255,255,0.6);
}
.prd-watch-video-btn:active {
  transform: translateY(0);
}
.prd-watch-video-btn__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #1e1a14;
  color: #f5f0e8;
  flex-shrink: 0;
  transition: transform 0.2s ease, background 0.2s ease;
  padding-left: 2px;
}
.prd-watch-video-btn:hover .prd-watch-video-btn__icon {
  background: #3d3526;
  transform: scale(1.1);
}
.prd-watch-video-btn__text {
  white-space: nowrap;
}

/* ============================================================
   PRODUCT VIDEO MODAL
   ============================================================ */
.prd-video-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.38s cubic-bezier(0.4, 0, 0.2, 1);
}
.prd-video-modal.is-open {
  opacity: 1;
  pointer-events: all;
}
/* keep hidden when not open but animate on open via JS removing [hidden] first */
.prd-video-modal[hidden] {
  display: none !important;
}
.prd-video-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8, 7, 6, 0.95);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
/* subtle film-grain overlay */
.prd-video-modal__grain {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 128px;
  opacity: 0.4;
  mix-blend-mode: overlay;
}
.prd-video-modal__inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  transform: scale(0.95) translateY(16px);
  transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1);
}
.prd-video-modal.is-open .prd-video-modal__inner {
  transform: scale(1) translateY(0);
}
/* Desktop bar above player */
.prd-video-modal__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 0 10px 4px;
}
.prd-video-modal__label {
  color: rgba(255,255,255,0.45);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}
.prd-video-modal__close {
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.22);
  color: rgba(255,255,255,0.9);
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.prd-video-modal__close:hover {
  background: rgba(255,255,255,0.2);
  color: #fff;
  transform: scale(1.08) rotate(90deg);
}
/* Player wrap: positioning context for tap overlay */
.prd-video-modal__player-wrap {
  position: relative;
}
.prd-video-modal__player {
  background: #000;
  border-radius: 5px;
  overflow: hidden;
  box-shadow: 0 40px 100px rgba(0,0,0,0.7), 0 0 0 1px rgba(255,255,255,0.04);
  display: flex;
  align-items: center;
  justify-content: center;
}
/* Native video — natural dimensions, controls fully visible */
.prd-video-modal__video {
  display: block;
  max-width: 90vw;
  max-height: 80vh;
  width: auto;
  height: auto;
  border: none;
}
/* Iframe embeds (YouTube/Vimeo) — fixed 16:9 wrapper */
.prd-video-modal__iframe-wrap {
  position: relative;
  width: min(90vw, 1100px);
  padding-bottom: min(56.25vw, 618.75px);
}
.prd-video-modal__iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}
/* Mobile: full-screen, bar stays above player */
@media (max-width: 600px) {
  .prd-video-modal {
    align-items: stretch;
    justify-content: stretch;
  }
  .prd-video-modal__inner {
    width: 100%;
    height: 100%;
    justify-content: center;
    padding: 0;
  }
  .prd-video-modal__bar {
    flex-shrink: 0;
    padding: 14px 14px 10px 16px;
  }
  .prd-video-modal__player-wrap {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
  }
  .prd-video-modal__player {
    flex: 1;
    border-radius: 0;
    min-height: 0;
  }
  .prd-video-modal__video {
    width: 100%;
    height: 100%;
    max-width: 100vw;
    max-height: 100%;
    object-fit: contain;
  }
  .prd-video-modal__iframe-wrap {
    width: 100vw;
    padding-bottom: 56.25vw;
  }
}

/* ── Testimonial band (product page) — horizontal slider ── */
.prd-testi-band {
  background: #ffffff;
  padding: 2.5rem 0 2rem;
}
.prd-testi-band__inner {
  max-width: min(1340px, calc(100% - 3rem));
  margin: 0 auto;
}

/* Carousel wrapper */
.prd-testi__carousel-wrap {
  position: relative;
}

/* Horizontal scroll track */
.prd-testi__track {
  display: flex;
  flex-direction: row;
  gap: 1.25rem;
  overflow-x: scroll;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 0.25rem;
  padding-right: 3rem;
  scroll-padding-left: 0;
}
.prd-testi__track::-webkit-scrollbar { display: none; }

/* Individual card */
.prd-testi__card {
  background: #f0ebe3;
  border: none;
  border-radius: 2px;
  padding: 1.75rem 2rem 2rem;
  flex: 0 0 calc(33.333% - 0.9rem);
  scroll-snap-align: start;
  transition: box-shadow 300ms ease;
}
.prd-testi__card:hover {
  box-shadow: 0 6px 28px rgba(28, 25, 23, 0.09);
}
@media (max-width: 900px) {
  .prd-testi__card { flex: 0 0 82vw; }
}
@media (max-width: 520px) {
  .prd-testi__card { flex: 0 0 88vw; }
}

/* Card header */
.prd-testi__header {
  margin-bottom: 0.75rem;
}
.prd-testi__name-row {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 0.3rem;
}
.prd-testi__author {
  font-family: var(--nr-font-head);
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--nr-dark);
  font-style: normal;
}
.prd-testi__stars {
  font-size: 0.8rem;
  color: #c8962c;
  letter-spacing: 0.1em;
  line-height: 1;
}
.prd-testi__verified {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}
.prd-testi__verified-label {
  font-family: var(--nr-font-head);
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #1a7a6e;
}

/* Quote */
.prd-testi__text {
  font-family: var(--nr-font-body);
  font-style: normal;
  font-size: 0.9rem;
  line-height: 1.7;
  color: var(--nr-charcoal);
  margin: 0;
}

/* Arrow buttons */
.prd-testi-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--nr-dark);
  color: var(--nr-ivory);
  border: none;
  border-radius: 2px;
  cursor: pointer;
  z-index: 10;
  transition: background 220ms ease, opacity 220ms ease;
}
.prd-testi-arrow:hover { background: var(--nr-gold); }
.prd-testi-arrow--prev { left: -1.25rem; }
.prd-testi-arrow--next { right: -1.25rem; }
.prd-testi-arrow.is-hidden {
  opacity: 0;
  pointer-events: none;
}

/* Progress bar */
.prd-testi-progress {
  margin-top: 1.5rem;
  height: 2px;
  background: rgba(28, 25, 23, 0.12);
  border-radius: 1px;
  overflow: hidden;
  position: relative;
}
.prd-testi-progress__fill {
  position: absolute;
  top: 0; left: 0;
  height: 100%;
  width: 0%;
  background: var(--nr-dark);
  border-radius: 1px;
  transition: width 120ms linear;
}

@media (max-width: 900px) {
  .prd-testi-band {
    padding: 2rem 0 1.5rem;
  }
  .prd-testi-band__inner {
    max-width: calc(100% - 2rem);
  }
  .prd-testi__text { font-size: 0.875rem; }
}
/* END_SECTION:product */

/* START_SECTION:rug-intro (INDEX:34) */
/* ═══════════════════════════════════════════
   Nile Rugs — Rug Intro Animation
   ═══════════════════════════════════════════ */

/* ── Full-screen overlay ── */
.nr-intro {
  position: fixed;
  inset: 0;
  z-index: 9999;
  /* Warm dark background with a gentle glow near the bottom */
  background: radial-gradient(
    ellipse at 50% 92%,
    #1C1208 0%,
    #0C0A09 60%
  );
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  padding-bottom: 18vh;
  /* Fade out after animation sequence completes */
  animation: nr-intro-out 0.8s cubic-bezier(0.55, 0, 1, 0.45) 2.55s forwards;
}
@keyframes nr-intro-out {
  from { opacity: 1; }
  to   { opacity: 0; }
}

/* ── Scene row: character + rug stage ── */
.nr-intro__scene {
  display: flex;
  align-items: flex-end;
  /* No gap — arm overlaps into the stage */
}

/* ── Silhouette character ── */
.nr-intro__char {
  display: block;
  width: 34px;
  height: 78px;
  flex-shrink: 0;
  margin-right: -2px;  /* arm tip overlaps roll */
  margin-bottom: 0;
  /* Start off-screen left, walk into position */
  opacity: 0;
  transform: translateX(-90px);
  animation: nr-char-in 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0s forwards;
  will-change: transform, opacity;
}
@keyframes nr-char-in {
  from { transform: translateX(-90px); opacity: 0; }
  /* Slight overshoot then settle — gives a natural walk-stop feel */
  80%  { transform: translateX(4px);   opacity: 1; }
  to   { transform: translateX(0);     opacity: 1; }
}

/* ── Rug stage (contains flat rug, roll, and text) ── */
.nr-intro__stage {
  position: relative;
  width: clamp(260px, 46vw, 480px);
  height: 72px;
  flex-shrink: 0;
}

/* ── Flat rug: clip-path grows left → right ── */
.nr-intro__rug {
  position: absolute;
  inset: 0;
  clip-path: inset(0 100% 0 0);
  animation: nr-rug-unroll 1.3s cubic-bezier(0.22, 0.61, 0.36, 1) 0.52s forwards;
  will-change: clip-path;
}
@keyframes nr-rug-unroll {
  from { clip-path: inset(0 100% 0 0); }
  to   { clip-path: inset(0 0%   0 0); }
}

/* ── Roll cylinder: travels left edge → right edge ── */
.nr-intro__roll {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  animation: nr-roll-travel 1.3s cubic-bezier(0.22, 0.61, 0.36, 1) 0.52s forwards;
  will-change: left;
}
@keyframes nr-roll-travel {
  from { left: 0; }
  to   { left: calc(100% - 20px); }
}

/* ── Text: fades in centred on the rug ── */
.nr-intro__text-wrap {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.nr-intro__text {
  font-family: var(--nr-font-head, 'Cinzel', Georgia, serif);
  font-size: clamp(0.65rem, 1.6vw, 0.95rem);
  font-weight: 400;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: rgba(250, 250, 249, 0.90);
  margin: 0;
  padding: 0;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(3px);
  animation: nr-text-emerge 1.0s cubic-bezier(0.22, 1, 0.36, 1) 1.7s forwards;
  will-change: opacity, transform;
}
@keyframes nr-text-emerge {
  from {
    opacity: 0;
    transform: translateY(3px);
    letter-spacing: 0.42em;
  }
  to {
    opacity: 0.92;
    transform: translateY(0);
    letter-spacing: 0.26em;
  }
}

/* ── Reduced motion: suppress entirely ── */
@media (prefers-reduced-motion: reduce) {
  .nr-intro { display: none !important; }
}

/* ── Mobile: shrink stage slightly ── */
@media (max-width: 480px) {
  .nr-intro {
    padding-bottom: 22vh;
  }
  .nr-intro__char {
    width: 26px;
    height: 60px;
  }
  .nr-intro__stage {
    height: 56px;
  }
  .nr-intro__text {
    font-size: 0.75rem;
    letter-spacing: 0.2em;
  }
}
/* END_SECTION:rug-intro */

/* START_SECTION:rv-editorial-tiles (INDEX:35) */
.rv-editorial { background: #fff; padding: 0.25rem 0 3.5rem; }
.rv-editorial__header { max-width: min(1400px, calc(100% - 2rem)); margin: 0 auto 1.5rem; padding: 2rem 0.25rem 0; }
.rv-editorial__title { font-family: 'Outfit', sans-serif; font-size: clamp(1.1rem, 2.2vw, 1.5rem); font-weight: 500; color: #1a1a1a; margin: 0; letter-spacing: -0.01em; }
.rv-editorial__grid { display: grid; gap: 3px; background: #e8e4e0; }
.rv-editorial__grid--1 { grid-template-columns: 1fr; }
.rv-editorial__grid--2 { grid-template-columns: 1fr 1fr; }
.rv-editorial__grid--3 { grid-template-columns: 1fr 1fr 1fr; }
.rv-editorial__grid--4 { grid-template-columns: repeat(4, 1fr); }
.rv-et { position: relative; display: block; overflow: hidden; aspect-ratio: 3 / 4; text-decoration: none; }
.rv-et__media { position: absolute; inset: 0; }
.rv-et__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 600ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.rv-et:hover .rv-et__img { transform: scale(1.05); }
.rv-et__placeholder { width: 100%; height: 100%; background: linear-gradient(135deg, #ccc4b8 0%, #b8b0a4 100%); }
.rv-et__overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.62) 0%, rgba(0,0,0,0.12) 45%, transparent 70%); }
.rv-et__content { position: relative; z-index: 2; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(0.875rem, 3vw, 1.75rem); color: #fff; }
.rv-et__label { font-family: 'Outfit', sans-serif; font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.75); margin: 0 0 0.3rem; }
.rv-et__heading { font-family: 'Cinzel', Georgia, serif; font-size: clamp(1rem, 2.4vw, 1.75rem); font-weight: 400; line-height: 1.2; letter-spacing: 0.02em; margin: 0 0 0.3rem; color: #fff; }
.rv-et__sub { font-family: 'Outfit', sans-serif; font-size: 0.75rem; color: rgba(255,255,255,0.75); margin: 0 0 0.875rem; }
.rv-et__cta { display: inline-block; font-family: 'Outfit', sans-serif; font-size: 0.7rem; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: #fff; border-bottom: 1px solid rgba(255,255,255,0.6); padding-bottom: 2px; transition: border-color 200ms ease; }
.rv-et:hover .rv-et__cta { border-color: #fff; }
@media (max-width: 700px) {
  .rv-editorial__grid--3, .rv-editorial__grid--4 { grid-template-columns: 1fr 1fr; }
  .rv-et { aspect-ratio: 4 / 5; }
}
@media (max-width: 480px) {
  .rv-editorial__grid--3, .rv-editorial__grid--4 { grid-template-columns: 1fr; }
}
/* END_SECTION:rv-editorial-tiles */

/* START_SECTION:rv-features-strip (INDEX:36) */
.rv-fs {
  background: #fff;
  padding: 3.5rem 0;
  border-top: 1px solid #f0ece8;
}
.rv-fs__inner {
  max-width: min(1300px, calc(100% - 2rem));
  margin: 0 auto;
}
.rv-fs__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}
.rv-fs__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 2rem 1.5rem;
  border-right: 1px solid #f0ece8;
}
.rv-fs__item:last-child { border-right: none; }

.rv-fs__icon {
  width: 2.75rem; height: 2.75rem;
  margin-bottom: 1rem;
  color: #9a7a40;
}
.rv-fs__icon svg { width: 100%; height: 100%; }

.rv-fs__title {
  font-family: 'Outfit', sans-serif; font-size: 0.8rem; font-weight: 600;
  letter-spacing: 0.04em; color: #1a1a1a; margin: 0 0 0.5rem;
  text-transform: uppercase;
}
.rv-fs__desc {
  font-family: 'Outfit', sans-serif; font-size: 0.8rem;
  color: #888; line-height: 1.6; margin: 0;
}

@media (max-width: 900px) {
  .rv-fs__grid { grid-template-columns: repeat(2, 1fr); }
  .rv-fs__item:nth-child(2) { border-right: none; }
  .rv-fs__item:nth-child(1),
  .rv-fs__item:nth-child(2) { border-bottom: 1px solid #f0ece8; }
}
@media (max-width: 480px) {
  .rv-fs__grid { grid-template-columns: 1fr; }
  .rv-fs__item { border-right: none; border-bottom: 1px solid #f0ece8; }
  .rv-fs__item:last-child { border-bottom: none; }
}
/* END_SECTION:rv-features-strip */

/* START_SECTION:rv-hero (INDEX:37) */
.rv-hero { background: #fff; line-height: 1; }
.rv-hero__mosaic {
  display: grid; grid-template-columns: 60fr 40fr; grid-template-rows: 50% 50%;
  height: min(78vh, 680px); min-height: 460px; gap: 3px; background: #e8e4e0;
}
.rv-hero__mosaic--1 { grid-template-columns: 1fr; grid-template-rows: 1fr; }
.rv-hero__mosaic--2 .rv-tile--small { grid-row: 1 / 3; }
.rv-tile--large { grid-row: 1 / 3; }
.rv-tile { position: relative; overflow: hidden; display: block; text-decoration: none; cursor: pointer; }
.rv-tile:focus-visible { outline: 2px solid #333; outline-offset: -3px; }
.rv-tile__media { position: absolute; inset: 0; width: 100%; height: 100%; }
.rv-tile__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 650ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.rv-tile:hover .rv-tile__img { transform: scale(1.04); }
.rv-tile__placeholder { width: 100%; height: 100%; background: linear-gradient(135deg, #c8c0b4 0%, #b0a898 100%); }
.rv-tile__overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.60) 0%, rgba(0,0,0,0.15) 40%, rgba(0,0,0,0.04) 70%); transition: opacity 400ms ease; }
.rv-tile:hover .rv-tile__overlay { opacity: 0.85; }
.rv-tile__content { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; height: 100%; padding: clamp(1rem, 3vw, 2rem); color: #fff; }
.rv-tile__label { font-family: 'Outfit', sans-serif; font-size: 0.75rem; font-weight: 400; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.8); margin: 0 0 0.4rem; }
.rv-tile__heading { font-family: 'Cinzel', Georgia, serif; font-size: clamp(1.1rem, 2.8vw, 2.2rem); font-weight: 400; letter-spacing: 0.02em; line-height: 1.2; color: #fff; margin: 0 0 1rem; }
.rv-tile--small .rv-tile__heading { font-size: clamp(1rem, 2vw, 1.5rem); }
.rv-tile__btn { display: inline-block; font-family: 'Outfit', sans-serif; font-size: 0.75rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: #fff; border: 1px solid rgba(255,255,255,0.7); padding: 0.55rem 1.25rem; transition: background 220ms ease, border-color 220ms ease; }
.rv-tile:hover .rv-tile__btn { background: rgba(255,255,255,0.15); border-color: #fff; }
@media (max-width: 700px) {
  .rv-hero__mosaic { grid-template-columns: 1fr; grid-template-rows: auto; height: auto; }
  .rv-tile--large { grid-row: auto; height: 56vw; min-height: 260px; }
  .rv-tile--small { height: 46vw; min-height: 200px; }
  .rv-hero__mosaic--2 .rv-tile--small { grid-row: auto; }
}
/* END_SECTION:rv-hero */

/* START_SECTION:rv-press-feature (INDEX:38) */
.rv-pf {
  background: #f5f0e8;
  padding: 4rem 0 4.5rem;
}
.rv-pf__outer {
  max-width: min(1100px, calc(100% - 2rem));
  margin: 0 auto;
}

/* Eyebrow */
.rv-pf__label-row {
  display: flex; align-items: center; gap: 1.25rem;
  justify-content: center; margin-bottom: 2.25rem;
}
.rv-pf__label-line { flex: 1; max-width: 80px; height: 1px; background: #c8b89a; }
.rv-pf__label-text { font-family: 'Outfit', sans-serif; font-size: 0.75rem; font-weight: 400; letter-spacing: 0.24em; text-transform: uppercase; color: #b0956a; white-space: nowrap; }

/* Card */
.rv-pf__card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 480px;
  overflow: hidden;
  box-shadow: 0 8px 48px rgba(0,0,0,0.16);
}

/* Left dark panel */
.rv-pf__left {
  background: #1a1714;
  display: flex; flex-direction: column; justify-content: center;
  padding: clamp(2.5rem, 6vw, 4.5rem);
}

.rv-pf__pub {
  font-family: 'Cinzel', Georgia, serif;
  font-size: clamp(2rem, 4.5vw, 3.25rem);
  font-weight: 700; letter-spacing: 0.06em;
  text-transform: lowercase; color: #fff;
  margin: 0 0 1.5rem; line-height: 1;
}

.rv-pf__gold-rule {
  display: block; width: 3rem; height: 2px;
  background: #c8a96e; margin-bottom: 1.25rem;
}

.rv-pf__cat {
  font-family: 'Outfit', sans-serif; font-size: 0.75rem; font-weight: 400;
  letter-spacing: 0.18em; text-transform: uppercase; color: #c8a96e; margin: 0 0 0.875rem;
}

.rv-pf__title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(1.35rem, 2.8vw, 2rem); font-weight: 400;
  line-height: 1.28; color: #f5f0e8; margin: 0 0 1.5rem;
}

.rv-pf__quote {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic; font-size: clamp(0.9rem, 1.5vw, 1.05rem);
  color: rgba(245,240,232,0.6); line-height: 1.75; margin: 0 0 2.25rem;
  border-left: 2px solid rgba(200,169,110,0.4); padding-left: 1rem;
}

.rv-pf__btn {
  display: inline-flex; align-items: center; gap: 0.875rem;
  font-family: 'Outfit', sans-serif; font-size: 0.7rem; font-weight: 500;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: #c8a96e; text-decoration: none;
  transition: gap 220ms ease, color 220ms ease;
}
.rv-pf__btn:hover { gap: 1.25rem; color: #e0c080; }

/* Right image panel */
.rv-pf__right {
  background: #2a2420; overflow: hidden; position: relative;
}
.rv-pf__img-link { display: block; width: 100%; height: 100%; }
.rv-pf__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 800ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.rv-pf__img-link:hover .rv-pf__img { transform: scale(1.04); }

.rv-pf__img-hint {
  position: absolute; inset: 0; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 1rem;
}
.rv-pf__img-hint p {
  font-family: 'Outfit', sans-serif; font-size: 0.75rem; color: rgba(255,255,255,0.3);
  text-align: center; line-height: 1.5; margin: 0;
}

@media (max-width: 760px) {
  .rv-pf__card { grid-template-columns: 1fr; min-height: auto; }
  .rv-pf__right { min-height: 55vw; }
  .rv-pf__left { padding: 2.5rem 1.5rem; }
  .rv-pf__card .rv-pf__right { order: -1; }
}
/* END_SECTION:rv-press-feature */

/* START_SECTION:rv-press-logos (INDEX:39) */
.rv-press {
  background: #fff;
  padding: 3rem 0;
  border-top: 1px solid #f0ece8;
  border-bottom: 1px solid #f0ece8;
}
.rv-press__inner {
  max-width: min(1200px, calc(100% - 2rem));
  margin: 0 auto;
  text-align: center;
}

.rv-press__heading {
  font-family: 'Outfit', sans-serif;
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #aaa;
  margin: 0 0 1.5rem;
}

.rv-press__logos {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem 3.5rem;
}

.rv-press__logo-wrap { display: flex; align-items: center; }
.rv-press__logo-wrap--text { align-items: center; }

.rv-press__logo-link { display: block; }
.rv-press__logo-img {
  height: 28px;
  width: auto;
  object-fit: contain;
  display: block;
  filter: grayscale(1);
  opacity: 0.55;
  transition: opacity 250ms ease, filter 250ms ease;
}
.rv-press__logo-link:hover .rv-press__logo-img,
.rv-press__logo-wrap:hover .rv-press__logo-img {
  opacity: 0.85;
  filter: grayscale(0.2);
}

.rv-press__logo-text {
  font-family: 'Cinzel', Georgia, serif;
  font-size: clamp(1rem, 2.5vw, 1.6rem);
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #bbb;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 200ms ease;
}
.rv-press__logo-text:hover { color: #888; }

@media (max-width: 600px) {
  .rv-press__logos { gap: 1.5rem 2rem; }
  .rv-press__logo-img { height: 22px; }
  .rv-press__logo-text { font-size: 0.9rem; }
}
/* END_SECTION:rv-press-logos */

/* START_SECTION:rv-product-row (INDEX:40) */
.rv-product-row { background: #fff; padding: 3.5rem 0; border-bottom: 1px solid #f0ece8; }
.rv-product-row__inner { max-width: min(1400px, calc(100% - 2rem)); margin: 0 auto; }

.rv-row-header {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 1rem; margin-bottom: 1.5rem; padding: 0 0.25rem;
}
.rv-row-header__title {
  font-family: 'Outfit', sans-serif; font-size: clamp(1.1rem, 2.2vw, 1.5rem);
  font-weight: 500; color: #1a1a1a; letter-spacing: -0.01em; margin: 0;
}
.rv-row-header__more {
  display: inline-flex; align-items: center; gap: 0.5rem;
  font-family: 'Outfit', sans-serif; font-size: 0.8rem; color: #555;
  text-decoration: none; white-space: nowrap; transition: color 200ms ease;
}
.rv-row-header__more:hover { color: #1a1a1a; }

.rv-product-row__viewport { position: relative; }
.rv-product-row__track {
  display: flex; gap: 12px; overflow-x: auto;
  scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
  scrollbar-width: none; padding: 0.25rem 0.25rem 0.5rem;
}
.rv-product-row__track::-webkit-scrollbar { display: none; }

.rv-pc { flex: 0 0 clamp(150px, 20vw, 220px); scroll-snap-align: start; }
.rv-pc__link { display: block; text-decoration: none; color: inherit; }

.rv-pc__media {
  position: relative; aspect-ratio: 3 / 4;
  overflow: hidden; background: #f0ece8; margin-bottom: 0.6rem;
}
.rv-pc__img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform 550ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.rv-pc__link:hover .rv-pc__img { transform: scale(1.05); }
.rv-pc__img-placeholder { width: 100%; height: 100%; background: linear-gradient(135deg, #e8e0d8 0%, #d8d0c8 100%); }

.rv-pc__badge {
  position: absolute; top: 8px; left: 8px;
  font-family: 'Outfit', sans-serif; font-size: 0.75rem; font-weight: 600;
  letter-spacing: 0.06em; text-transform: uppercase; padding: 0.25rem 0.5rem;
}
.rv-pc__badge--sale { background: #c94040; color: #fff; }
.rv-pc__badge--new  { background: #1a1a1a; color: #fff; }

.rv-pc__info { padding: 0 0.1rem; }
.rv-pc__title {
  font-family: 'Outfit', sans-serif; font-size: 0.8rem; color: #2a2a2a;
  line-height: 1.4; margin: 0 0 0.25rem;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.rv-pc__variants { font-family: 'Outfit', sans-serif; font-size: 0.7rem; color: #888; margin: 0 0 0.25rem; }
.rv-pc__price-row { display: flex; align-items: center; gap: 0.4rem; }
.rv-pc__price { font-family: 'Outfit', sans-serif; font-size: 0.85rem; font-weight: 500; color: #1a1a1a; }
.rv-pc__price--sale { color: #c94040; }
.rv-pc__price--was  { font-size: 0.75rem; font-weight: 400; color: #aaa; text-decoration: line-through; }

.rv-pr-arrow {
  position: absolute; top: 50%; transform: translateY(calc(-50% - 1.5rem)); z-index: 2;
  width: 40px; height: 40px; border-radius: 50%; border: 1px solid #ddd; background: #fff;
  display: flex; align-items: center; justify-content: center; cursor: pointer; color: #444;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08); transition: border-color 200ms ease, box-shadow 200ms ease;
}
.rv-pr-arrow:hover { border-color: #bbb; box-shadow: 0 4px 12px rgba(0,0,0,0.12); }
.rv-pr-arrow--prev { left: -20px; }
.rv-pr-arrow--next { right: -20px; }

@media (max-width: 760px) {
  .rv-pr-arrow { display: none; }
  .rv-pc { flex: 0 0 42vw; }
}
/* END_SECTION:rv-product-row */

/* START_SECTION:rv-promo-tiles (INDEX:41) */
.rv-promo-tiles { background: #fff; padding: 3rem 0 3.5rem; border-bottom: 1px solid #f0ece8; }
.rv-promo-tiles__inner { max-width: min(1400px, calc(100% - 2rem)); margin: 0 auto; }
.rv-pt-header { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; padding: 0 0.25rem; }
.rv-pt-header__title { font-family: 'Outfit', sans-serif; font-size: clamp(1.1rem, 2.2vw, 1.5rem); font-weight: 500; color: #1a1a1a; margin: 0; letter-spacing: -0.01em; }
.rv-row-header__more { display: inline-flex; align-items: center; gap: 0.5rem; font-family: 'Outfit', sans-serif; font-size: 0.8rem; color: #555; text-decoration: none; white-space: nowrap; transition: color 200ms ease; }
.rv-row-header__more:hover { color: #1a1a1a; }
.rv-pt__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.rv-pt-tile { display: block; text-decoration: none; overflow: hidden; cursor: pointer; }
.rv-pt-tile__media { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: #e8e0d8; }
.rv-pt-tile__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 600ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.rv-pt-tile:hover .rv-pt-tile__img { transform: scale(1.05); }
.rv-pt-tile__placeholder { width: 100%; height: 100%; background: linear-gradient(135deg, #d4ccc4 0%, #c4bbb0 100%); }
.rv-pt-tile__overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.45) 0%, transparent 50%); }
.rv-pt-tile__badge { position: absolute; top: 10px; left: 10px; font-family: 'Outfit', sans-serif; font-size: 0.75rem; font-weight: 600; color: #fff; background: rgba(0,0,0,0.55); padding: 0.3rem 0.6rem; letter-spacing: 0.04em; }
.rv-pt-tile__content { padding: 0.75rem 0.25rem 0.5rem; display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; }
.rv-pt-tile__heading { font-family: 'Outfit', sans-serif; font-size: 0.82rem; font-weight: 500; color: #1a1a1a; margin: 0; }
.rv-pt-tile__cta { font-family: 'Outfit', sans-serif; font-size: 0.75rem; color: #555; white-space: nowrap; border-bottom: 1px solid currentColor; padding-bottom: 1px; flex-shrink: 0; }
.rv-pt-tile:hover .rv-pt-tile__cta { color: #1a1a1a; }
@media (max-width: 900px) { .rv-pt__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .rv-pt__grid { grid-template-columns: repeat(2, 1fr); gap: 6px; } }
/* END_SECTION:rv-promo-tiles */

/* START_SECTION:rv-size-grid (INDEX:42) */
.rv-size-grid { background: #fff; padding: 3.5rem 0 4rem; border-bottom: 1px solid #f0ece8; }
.rv-size-grid__inner { max-width: min(1200px, calc(100% - 2rem)); margin: 0 auto; }
.rv-sg-header { margin-bottom: 1.75rem; padding: 0 0.25rem; }
.rv-sg-header__title { font-family: 'Outfit', sans-serif; font-size: clamp(1.1rem, 2.2vw, 1.5rem); font-weight: 500; color: #1a1a1a; margin: 0; letter-spacing: -0.01em; }
.rv-sg__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.rv-sg-tile { display: flex; flex-direction: column; align-items: center; justify-content: center; text-decoration: none; background: #f7f4f0; border: 1px solid transparent; padding: 1.75rem 1rem 1.5rem; gap: 0.75rem; transition: border-color 200ms ease, background 200ms ease, box-shadow 200ms ease; cursor: pointer; }
.rv-sg-tile:hover { border-color: #1a1a1a; background: #fff; box-shadow: 0 2px 12px rgba(0,0,0,0.06); }
.rv-sg-tile__icon { width: 56px; height: 56px; display: flex; align-items: center; justify-content: center; color: #4a2c2c; }
.rv-sg-tile__icon svg { width: 100%; height: 100%; display: block; }
.rv-sg-tile__label { font-family: 'Outfit', sans-serif; font-size: 0.78rem; font-weight: 500; color: #1a1a1a; text-align: center; margin: 0; }
.rv-sg-tile__sub { font-family: 'Outfit', sans-serif; font-size: 0.75rem; color: #888; text-align: center; margin: 0; }
@media (max-width: 900px) { .rv-sg__grid { grid-template-columns: repeat(4, 1fr); gap: 8px; } .rv-sg-tile { padding: 1.25rem 0.5rem; } .rv-sg-tile__icon { width: 44px; height: 44px; } }
@media (max-width: 600px) { .rv-sg__grid { grid-template-columns: repeat(2, 1fr); } }
/* END_SECTION:rv-size-grid */

/* START_SECTION:rv-social-follow (INDEX:43) */
.rv-social {
  background: #fff;
  padding: 6rem 0;
  border-top: 1px solid #f0ece8;
  border-bottom: 1px solid #f0ece8;
}
.rv-social__inner {
  max-width: min(600px, calc(100% - 2rem));
  margin: 0 auto;
  text-align: center;
}

.rv-social__heading {
  font-family: 'Outfit', sans-serif;
  font-size: 0.75rem; font-weight: 400;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: #aaa; margin: 0 0 1.5rem;
}

.rv-social__list {
  display: flex; align-items: center; justify-content: center;
  gap: 1.75rem; list-style: none; margin: 0; padding: 0;
}

.rv-social__link {
  display: flex; flex-direction: column; align-items: center; gap: 0.5rem;
  text-decoration: none; color: #555;
  transition: color 220ms ease, transform 220ms ease;
}
.rv-social__link:hover { color: #1a1a1a; transform: translateY(-2px); }

.rv-social__icon { font-size: 1.5rem; display: block; }

.rv-social__label {
  font-family: 'Outfit', sans-serif; font-size: 0.75rem; font-weight: 400;
  letter-spacing: 0.1em; text-transform: uppercase; color: inherit;
}

.rv-social__sub {
  font-family: 'Outfit', sans-serif; font-size: 0.78rem; color: #aaa;
  margin: 1.25rem 0 0; line-height: 1.6;
}

@media (max-width: 480px) {
  .rv-social__list { gap: 1.25rem; }
}
/* END_SECTION:rv-social-follow */

/* START_SECTION:rv-trend-split (INDEX:44) */
.rv-trend-split { background: #fff; }
.rv-ts__grid {
  display: grid; grid-template-columns: 1fr 1fr;
  min-height: clamp(380px, 52vw, 580px);
}
.rv-ts__grid--img-left .rv-ts__text-panel { order: 2; }
.rv-ts__grid--img-left .rv-ts__img-panel  { order: 1; }

.rv-ts__text-panel {
  display: flex; align-items: center; justify-content: center;
  padding: clamp(2.5rem, 5vw, 5rem) clamp(1.5rem, 4vw, 4rem);
}
.rv-ts__text-inner { max-width: 400px; width: 100%; }

.rv-ts__label { font-family: 'Outfit', sans-serif; font-size: 0.75rem; letter-spacing: 0.14em; text-transform: uppercase; color: #999; margin: 0 0 0.875rem; }
.rv-ts__heading { font-family: 'Cinzel', Georgia, serif; font-size: clamp(1.75rem, 4vw, 3rem); font-weight: 400; letter-spacing: 0.02em; line-height: 1.18; color: #1a1a1a; margin: 0 0 1rem; }
.rv-ts__sub { font-family: 'Outfit', sans-serif; font-size: 0.9rem; color: #666; line-height: 1.65; margin: 0 0 2rem; }
.rv-ts__btn { display: inline-block; font-family: 'Outfit', sans-serif; font-size: 0.75rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none; color: #1a1a1a; border: 1px solid #1a1a1a; padding: 0.8rem 2rem; transition: background 220ms ease, color 220ms ease; }
.rv-ts__btn:hover { background: #1a1a1a; color: #fff; }

.rv-ts__img-panel { overflow: hidden; position: relative; }
.rv-ts__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 700ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.rv-trend-split:hover .rv-ts__img { transform: scale(1.03); }
.rv-ts__img-placeholder { position: absolute; inset: 0; background: linear-gradient(135deg, #d8d0c6 0%, #c8c0b4 100%); }

@media (max-width: 700px) {
  .rv-ts__grid { grid-template-columns: 1fr; }
  .rv-ts__grid--img-left .rv-ts__text-panel { order: 2; }
  .rv-ts__grid--img-left .rv-ts__img-panel  { order: 1; }
  .rv-ts__img-panel { min-height: 55vw; }
  .rv-ts__text-panel { padding: 2.5rem 1.5rem; }
}
/* END_SECTION:rv-trend-split */

/* START_SECTION:search (INDEX:45) */
.srp__hero {
  background: #f5f0e8;
  border-bottom: 1px solid #e8e0d0;
  padding: 3rem var(--page-margin, 2rem) 2.5rem;
}
.srp__hero-inner {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  text-align: center;
}
.srp__hero-heading {
  font-size: clamp(1.3rem, 2.5vw, 1.85rem);
  font-weight: 400;
  color: #111;
  margin: 0;
  letter-spacing: 0.01em;
  line-height: 1.35;
}
.srp__hero-heading strong { font-weight: 600; }
.srp__hero-sub { font-size: 0.95rem; color: #666; margin: -0.5rem 0 0; }
.srp__hero-sub strong { font-weight: 600; color: #333; }

.srp__form { width: 100%; max-width: 580px; }
.srp__form-wrap {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: #fff;
  border: 1.5px solid #d0c8b8;
  border-radius: 8px;
  padding: 0 0.45rem 0 0.85rem;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.srp__form-wrap:focus-within {
  border-color: #4a4030;
  box-shadow: 0 0 0 3px rgba(74, 64, 48, 0.08);
}
.srp__form-icon { width: 1.1rem; height: 1.1rem; flex-shrink: 0; color: #9a8a70; }
.srp__form-input {
  flex: 1;
  border: none;
  outline: none;
  background: none;
  padding: 0.78rem 0;
  font-size: 0.95rem;
  color: #111;
  font-family: inherit;
}
.srp__form-input::placeholder { color: #b0a090; }
.srp__form-input::-webkit-search-cancel-button,
.srp__form-input::-webkit-search-decoration { display: none; }
.srp__form-btn {
  flex-shrink: 0;
  background: #4a4030;
  color: #fff;
  border: none;
  cursor: pointer;
  padding: 0.52rem 1.15rem;
  border-radius: 5px;
  font-size: 0.84rem;
  font-weight: 500;
  font-family: inherit;
  white-space: nowrap;
  transition: background 0.15s;
  margin: 0.3rem 0;
}
.srp__form-btn:hover { background: #2a2010; }

.srp__section {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 2.5rem var(--page-margin, 2rem) 3rem;
}
.srp__section + .srp__section { border-top: 1px solid #ebebeb; padding-top: 2rem; }
.srp__section-hd { margin-bottom: 1.5rem; }
.srp__section-title {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 14px;
  font-weight: 600;
  color: #222;
}
.srp__section-count {
  font-weight: 600;
  font-size: inherit;
  color: #222;
}

.srp__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.5rem;
  align-items: start;
}
@media (max-width: 1200px) { .srp__grid { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 900px)  { .srp__grid { grid-template-columns: repeat(3, 1fr); gap: 1.1rem; } }
@media (max-width: 560px)  { .srp__grid { grid-template-columns: repeat(2, 1fr); gap: 0.75rem; } }

.srp__editorial-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 600px) { .srp__editorial-list { grid-template-columns: 1fr; } }

.srp__editorial-item { border-bottom: 1px solid #f0ebe0; }
.srp__editorial-item:nth-child(odd) { border-right: 1px solid #f0ebe0; }
.srp__editorial-item:last-child:nth-child(odd) { border-right: none; }

.srp__editorial-link {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  text-decoration: none;
  color: inherit;
  border-radius: 4px;
  transition: background 0.12s, padding-left 0.12s;
}
.srp__editorial-link:hover { background: #faf7f2; padding-left: 1.25rem; }

.srp__editorial-img {
  width: 4.5rem;
  height: 4.5rem;
  object-fit: cover;
  border-radius: 4px;
  flex-shrink: 0;
}
.srp__editorial-img--ph {
  background: #f0ebe0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #c8b99a;
}
.srp__editorial-body { flex: 1; min-width: 0; }
.srp__editorial-type {
  display: block;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #9a8a70;
  margin-bottom: 0.2rem;
}
.srp__editorial-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #111;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.srp__editorial-excerpt {
  font-size: 0.78rem;
  color: #888;
  margin: 0.2rem 0 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.45;
}
.srp__editorial-arrow { flex-shrink: 0; color: #c8b99a; transition: transform 0.15s, color 0.15s; }
.srp__editorial-link:hover .srp__editorial-arrow { transform: translateX(4px); color: #4a4030; }

.srp__empty {
  max-width: 440px;
  margin: 4.5rem auto 6rem;
  padding: 0 var(--page-margin, 2rem);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.srp__empty-icon { width: 4rem; height: 4rem; color: #d0c4ae; }
.srp__empty-hint { font-size: 0.9rem; color: #888; margin: 0; line-height: 1.55; }
.srp__empty-cta {
  display: inline-block;
  background: #4a4030;
  color: #fff;
  text-decoration: none;
  padding: 0.7rem 1.75rem;
  border-radius: 6px;
  font-size: 0.875rem;
  font-weight: 500;
  margin-top: 0.25rem;
  transition: background 0.15s;
  letter-spacing: 0.01em;
}
.srp__empty-cta:hover { background: #2a2010; }

.srp__loadmore {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 2rem var(--page-margin, 2rem) 3.5rem;
  display: flex;
  justify-content: center;
  border-top: 1px solid #ebebeb;
}
.srp__loadmore-btn {
  font-size: 14px;
  font-weight: 600;
  color: #222;
  background: #fff;
  border: 2px solid #222;
  border-radius: 4px;
  padding: 0.65rem 2.5rem;
  cursor: pointer;
  font-family: inherit;
  letter-spacing: 0.02em;
  transition: background 0.15s, color 0.15s;
}
.srp__loadmore-btn:hover:not(:disabled) { background: #222; color: #fff; }
.srp__loadmore-btn:disabled { opacity: 0.55; cursor: default; }

@media (max-width: 768px) {
  .srp__hero { padding: 2rem 1rem; }
  .srp__section { padding: 1.75rem 1rem 2rem; }
  .srp__editorial-list { grid-template-columns: 1fr; }
  .srp__editorial-item:nth-child(odd) { border-right: none; }
}
/* END_SECTION:search */

/* START_SECTION:video-feed (INDEX:46) */
/* ══════════════════════════════════════════════
   VIDEO FEED — Layout
══════════════════════════════════════════════ */
.vf-page {
  min-height: 60vh;
  background: #0d0d0d;
  color: #fff;
  padding-bottom: 5rem;
}

/* ── Header ── */
.vf-header {
  text-align: center;
  padding: clamp(2.5rem, 6vw, 5rem) 1.5rem 2.5rem;
}
.vf-header__eyebrow {
  font-family: 'Outfit', sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.4);
  margin: 0 0 0.75rem;
}
.vf-header__heading {
  font-family: 'Cinzel', Georgia, serif;
  font-size: clamp(1.8rem, 5vw, 3.2rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  color: #fff;
  margin: 0 0 0.75rem;
  line-height: 1.2;
}
.vf-header__sub {
  font-family: 'Outfit', sans-serif;
  font-size: 1rem;
  color: rgba(255,255,255,0.5);
  max-width: 460px;
  margin: 0 auto;
  line-height: 1.65;
}

/* ── Loading spinner ── */
.vf-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 5rem 1rem;
  color: rgba(255,255,255,0.35);
  font-family: 'Outfit', sans-serif;
  font-size: 0.85rem;
}
.vf-loading__spinner {
  width: 22px; height: 22px;
  border: 2px solid rgba(255,255,255,0.15);
  border-top-color: #c5a46c;
  border-radius: 50%;
  animation: vf-spin 0.8s linear infinite;
  display: inline-block;
}
@keyframes vf-spin { to { transform: rotate(360deg); } }
.vf-loading.vf-hidden { display: none; }

.vf-sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* ── Error state ── */
.vf-error {
  text-align: center;
  padding: 3rem 1.5rem;
  color: rgba(255,255,255,0.4);
  font-family: 'Outfit', sans-serif;
  font-size: 0.9rem;
}

/* ══════════════════════════════════════════════
   PINTEREST MASONRY GRID
══════════════════════════════════════════════ */
.vf-grid {
  columns: 3 240px;
  column-gap: 8px;
  padding: 0 clamp(0.75rem, 3vw, 2rem) 2rem;
  max-width: 1400px;
  margin: 0 auto;
}

/* ── Card ── */
.vf-card {
  break-inside: avoid;
  margin-bottom: 8px;
  border-radius: 14px;
  overflow: hidden;
  position: relative;
  background: #1a1a1a;
  cursor: pointer;
}
.vf-card:nth-child(5n+1) { aspect-ratio: 9/16; }
.vf-card:nth-child(5n+2) { aspect-ratio: 9/13; }
.vf-card:nth-child(5n+3) { aspect-ratio: 9/15; }
.vf-card:nth-child(5n+4) { aspect-ratio: 9/11; }
.vf-card:nth-child(5n)   { aspect-ratio: 9/14; }

.vf-card__btn {
  all: unset;
  display: block;
  width: 100%; height: 100%;
  position: relative;
  cursor: pointer;
}
.vf-card__btn:focus-visible {
  outline: 2px solid #c5a46c;
  outline-offset: 2px;
  border-radius: 14px;
}

/* Media wrapper */
.vf-card__media {
  position: absolute;
  inset: 0;
}
.vf-card__media::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.08) 50%, transparent 75%);
  transition: opacity 300ms;
}
.vf-card:hover .vf-card__media::after { opacity: 0.88; }

.vf-card__video {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 550ms cubic-bezier(0.25,0.46,0.45,0.94);
}
.vf-card:hover .vf-card__video { transform: scale(1.04); }

.vf-card__poster {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 550ms cubic-bezier(0.25,0.46,0.45,0.94);
}
.vf-card:hover .vf-card__poster { transform: scale(1.04); }

/* Play icon */
.vf-card__play {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%) scale(0.8);
  opacity: 0;
  transition: opacity 220ms, transform 220ms;
  z-index: 3;
  pointer-events: none;
}
.vf-card:hover .vf-card__play { opacity: 1; transform: translate(-50%,-50%) scale(1); }

/* Product badge */
.vf-card__badge {
  position: absolute;
  bottom: 10px; left: 10px; right: 10px;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 5px;
  background: rgba(10,8,5,0.78);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 1px solid rgba(197,164,108,0.35);
  color: #c5a46c;
  font-family: 'Outfit', sans-serif;
  font-size: 0.67rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 5px 9px;
  border-radius: 20px;
  pointer-events: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ══════════════════════════════════════════════
   SHORTS VIEWER OVERLAY
══════════════════════════════════════════════ */
.vf-shorts {
  position: fixed; inset: 0;
  z-index: 10000;
  background: #000;
  opacity: 0;
  pointer-events: none;
  transition: opacity 260ms ease;
}
.vf-shorts.is-open {
  opacity: 1;
  pointer-events: all;
}

.vf-shorts__close {
  position: fixed;
  top: 14px; right: 14px;
  z-index: 10002;
  width: 42px; height: 42px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  transition: background 180ms;
}
.vf-shorts__close:hover { background: rgba(255,255,255,0.14); }

/* Scroll reel — snap container */
.vf-shorts__reel {
  height: 100%;
  overflow-y: scroll;
  scroll-snap-type: y mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.vf-shorts__reel::-webkit-scrollbar { display: none; }

/* Individual short */
.vf-short {
  position: relative;
  height: 100dvh;
  height: 100vh;
  scroll-snap-align: start;
  display: flex; align-items: center; justify-content: center;
  background: #000;
  overflow: hidden;
}

.vf-short__video {
  width: 100%; height: 100%;
  object-fit: contain;
  max-width: min(100vw, calc(100vh * 9 / 16));
}

/* Tap-to-play overlay */
.vf-short__tap {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  opacity: 0;
  transition: opacity 300ms;
  pointer-events: none;
  z-index: 2;
}
.vf-short__tap.show { opacity: 1; }
.vf-short__tap svg { filter: drop-shadow(0 2px 8px rgba(0,0,0,0.6)); }

/* Mute button */
.vf-short__mute {
  position: absolute;
  top: 14px; left: 14px;
  width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(0,0,0,0.5);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  z-index: 5;
  transition: background 180ms;
}
.vf-short__mute:hover { background: rgba(255,255,255,0.12); }

/* Counter (1/4) */
.vf-short__counter {
  position: absolute;
  top: 16px;
  left: 50%;
  transform: translateX(-50%);
  font-family: 'Outfit', sans-serif;
  font-size: 0.75rem;
  color: rgba(255,255,255,0.55);
  background: rgba(0,0,0,0.45);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  padding: 4px 12px;
  border-radius: 20px;
  z-index: 5;
  pointer-events: none;
}

/* Scroll-down hint */
.vf-short__hint {
  position: absolute;
  bottom: 110px; left: 50%;
  transform: translateX(-50%);
  animation: vf-bounce 1.8s ease-in-out infinite;
  opacity: 0;
  transition: opacity 600ms;
  z-index: 3;
  pointer-events: none;
}
.vf-short__hint.visible { opacity: 0.55; }
@keyframes vf-bounce {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50%       { transform: translateX(-50%) translateY(7px); }
}

/* Product badge — bottom */
.vf-short__product {
  position: absolute;
  bottom: 18px;
  left: 50%;
  transform: translateX(-50%);
  width: min(370px, calc(100vw - 28px));
  display: flex; align-items: center; gap: 10px;
  background: rgba(8,6,4,0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(197,164,108,0.28);
  border-radius: 16px;
  padding: 10px 12px;
  z-index: 5;
  text-decoration: none;
}
.vf-short__product-icon {
  width: 36px; height: 36px;
  border-radius: 8px;
  background: rgba(197,164,108,0.15);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.vf-short__product-info { flex: 1; min-width: 0; }
.vf-short__product-name {
  font-family: 'Outfit', sans-serif;
  font-size: 0.8rem;
  font-weight: 500;
  color: #fff;
  margin: 0 0 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.vf-short__product-price {
  font-family: 'Outfit', sans-serif;
  font-size: 0.72rem;
  color: #c5a46c;
  margin: 0;
}
.vf-short__product-cta {
  flex-shrink: 0;
  font-family: 'Outfit', sans-serif;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #0d0d0d;
  background: #c5a46c;
  padding: 7px 14px;
  border-radius: 10px;
  text-decoration: none;
  white-space: nowrap;
  transition: background 180ms;
  display: inline-block;
}
.vf-short__product-cta:hover { background: #b8956a; }

/* Responsive */
@media (max-width: 600px) {
  .vf-grid { columns: 2 140px; column-gap: 5px; padding: 0 5px 1.5rem; }
  .vf-card__badge { font-size: 0.60rem; padding: 4px 7px; }
}
/* END_SECTION:video-feed */

/* CSS from block stylesheet tags */
/* START_BLOCK:group (INDEX:47) */
.group {
    display: flex;
    flex-wrap: nowrap;
    overflow: hidden;
    width: 100%;
  }

  .group--horizontal {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0 var(--padding);
  }

  .group--vertical {
    flex-direction: column;
    align-items: var(--alignment);
    padding: var(--padding) 0;
  }
/* END_BLOCK:group */

/* START_BLOCK:text (INDEX:48) */
.text {
    text-align: var(--text-align);
  }
  .text--title {
    font-size: 2rem;
    font-weight: 700;
  }
  .text--subtitle {
    font-size: 1.5rem;
  }
/* END_BLOCK:text */

/* CSS from snippet stylesheet tags */
/* START_SNIPPET:cart-drawer (INDEX:49) */
/* ── [hidden] fix: our display:flex/block rules must not override the attribute ── */
.cd [hidden] { display: none !important; }

.cd {
  position: fixed;
  inset: 0;
  z-index: 203;
  pointer-events: none;
}
.cd.is-open { pointer-events: auto; }

.cd__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0);
  transition: background 0.38s ease;
  pointer-events: none;
}
.cd.is-open .cd__backdrop { background: rgba(0,0,0,0.38); }

.cd__panel {
  position: absolute;
  top: 0; right: 0; bottom: 0;
  width: 420px;
  max-width: 100vw;
  background: #fff;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.42s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
  overflow: hidden;
}
.cd.is-open .cd__panel {
  transform: translateX(0);
  box-shadow: -6px 0 56px rgba(0,0,0,0.13);
}

.cd__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.4rem 1.5rem 1.2rem;
  border-bottom: 1px solid #e8e0d0;
  flex-shrink: 0;
}
.cd__title {
  font-size: 1.05rem;
  font-weight: 600;
  color: #111;
  margin: 0;
  letter-spacing: -0.01em;
}
.cd__close-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.2rem;
  height: 2.2rem;
  border: 1.5px solid #d0ccc5;
  background: none;
  cursor: pointer;
  color: #111;
  transition: border-color 0.15s, background 0.15s;
  flex-shrink: 0;
  border-radius: 2px;
}
.cd__close-btn:hover { border-color: #111; background: #f5f5f5; }

.cd__body {
  flex: 1;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

/* ── Loading skeleton ───────────────────────────────── */
.cd__loading { padding: 1.5rem; display: block; }
.cd__skel {
  height: 72px;
  background: linear-gradient(90deg, #f0ebe0 25%, #faf7f2 50%, #f0ebe0 75%);
  background-size: 200% 100%;
  animation: cd-shimmer 1.4s infinite;
  margin-bottom: 0.75rem;
  border-radius: 2px;
}
.cd__skel--sm { height: 1.5rem; width: 60%; }
@keyframes cd-shimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ── Error notice ───────────────────────────────────── */
.cd__notice {
  margin: 0.75rem 1.5rem;
  padding: 0.65rem 0.9rem;
  background: #fff4f4;
  border: 1px solid #f5c6c6;
  border-radius: 2px;
  font-size: 0.8rem;
  color: #c0392b;
  line-height: 1.4;
  animation: cd-notice-in 0.2s ease;
}
@keyframes cd-notice-in {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Cart items ─────────────────────────────────────── */
.cd__items { display: block; padding: 0; }

.cd__item {
  display: grid;
  grid-template-columns: 76px 1fr;
  grid-template-rows: auto auto auto;
  column-gap: 1rem;
  padding: 1.2rem 1.5rem;
  border-bottom: 1px solid #f0ebe0;
}
.cd__item-thumb {
  grid-column: 1;
  grid-row: 1 / 4;
  width: 76px;
  height: 76px;
  object-fit: cover;
  background: #f5f0e8;
  display: block;
}
.cd__item-thumb-placeholder {
  grid-column: 1;
  grid-row: 1 / 4;
  width: 76px;
  height: 76px;
  background: #f5f0e8;
}
.cd__item-top {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.5rem;
}
.cd__item-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #111;
  margin: 0;
  line-height: 1.35;
}
.cd__item-price {
  font-size: 0.875rem;
  font-weight: 500;
  color: #111;
  white-space: nowrap;
  flex-shrink: 0;
}
.cd__item-variant {
  grid-column: 2;
  grid-row: 2;
  font-size: 0.775rem;
  color: #888;
  margin: 0.15rem 0 0;
  line-height: 1.3;
}
.cd__item-bottom {
  grid-column: 2;
  grid-row: 3;
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 0.75rem;
}

.cd__item-remove {
  font-size: 0.775rem;
  color: #aaa;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.12s;
}
.cd__item-remove:hover { color: #111; }

/* ── Recommendations (server-side) ─────────────────── */
.cd__recs { display: block; border-top: 1px solid #f0ebe0; }
.cd__recs-label {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #9a8a70;
  margin: 0;
  padding: 1.1rem 1.5rem 0.6rem;
}
.cd__rec-item {
  display: grid;
  grid-template-columns: 56px 1fr auto;
  column-gap: 0.85rem;
  align-items: center;
  padding: 0.85rem 1.5rem;
  border-bottom: 1px solid #f0ebe0;
  text-decoration: none;
  transition: background 0.12s;
}
.cd__rec-item:last-child { border-bottom: none; }
.cd__rec-item:hover { background: #faf7f2; }
.cd__rec-thumb {
  width: 56px;
  height: 56px;
  object-fit: cover;
  background: #f5f0e8;
  display: block;
}
.cd__rec-thumb-placeholder {
  width: 56px;
  height: 56px;
  background: #f5f0e8;
}
.cd__rec-info { min-width: 0; }
.cd__rec-name {
  font-size: 0.84rem;
  font-weight: 500;
  color: #111;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cd__rec-variant {
  font-size: 0.75rem;
  color: #888;
  display: block;
  margin-top: 0.15rem;
}
.cd__rec-price {
  font-size: 0.84rem;
  font-weight: 500;
  color: #111;
  white-space: nowrap;
  flex-shrink: 0;
}

/* ── Empty state ────────────────────────────────────── */
.cd__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 4rem 2rem;
  text-align: center;
}
.cd__empty-text {
  font-size: 0.95rem;
  color: #666;
  margin: 0;
}
.cd__shop-link {
  display: inline-block;
  padding: 0.75rem 1.75rem;
  border: 1.5px solid #111;
  font-size: 0.84rem;
  font-weight: 500;
  color: #111;
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: background 0.15s, color 0.15s;
}
.cd__shop-link:hover { background: #111; color: #fff; }

/* ── Footer ─────────────────────────────────────────── */
.cd__footer {
  display: block;
  flex-shrink: 0;
  border-top: 1px solid #e8e0d0;
  padding: 1.15rem 1.5rem 1.4rem;
  background: #fff;
}
.cd__summary { margin-bottom: 1rem; }
.cd__summary-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  font-size: 0.875rem;
  color: #111;
  padding: 0.3rem 0;
}
.cd__summary-row--total {
  font-weight: 600;
  font-size: 0.95rem;
  padding-top: 0.45rem;
  margin-top: 0.15rem;
  border-top: 1px solid #f0ebe0;
}
.cd__summary-row--total em {
  font-size: 0.75rem;
  font-weight: 400;
  color: #888;
  font-style: normal;
  margin-left: 0.3rem;
}
.cd__free-ship { color: #2a7a3b; font-weight: 500; }

.cd__checkout-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.9rem 1rem;
  background: #111;
  color: #fff;
  font-size: 0.9rem;
  font-weight: 500;
  letter-spacing: 0.025em;
  text-decoration: none;
  text-align: center;
  transition: background 0.15s;
  margin-bottom: 0.85rem;
  box-sizing: border-box;
}
.cd__checkout-btn:hover { background: #333; color: #fff; }

.cd__logos {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem;
  justify-content: center;
}
.cd__pay-icon { height: 1.6rem; width: auto; opacity: 0.85; }
.cd__pay-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 1.5rem;
  padding: 0 0.45rem;
  border: 1px solid #d8d3cc;
  border-radius: 3px;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.cd__pay-pill--visa  { color: #1434CB; }
.cd__pay-pill--mc   { color: #EB001B; }
.cd__pay-pill--pp   { color: #003087; }
.cd__pay-pill--fedex { color: #4D148C; }
.cd__pay-pill--ups  { color: #351C15; }

@media (max-width: 480px) {
  .cd__panel { width: 100vw; }
  .cd__item { padding: 1rem 1.1rem; }
  .cd__rec-item { padding: 0.75rem 1.1rem; }
  .cd__footer { padding: 1rem 1.1rem 1.2rem; }
}

body:has(
  #cart-drawer.is-open,
  .nfs-overlay.nfs-open,
  #topbar-panel.is-open,
  .snm.is-open,
  .srch-overlay.is-open,
  .col-sort-panel.is-open,
  .col-filter-panel.is-open,
  .prd-lightbox.is-open,
  .prd-video-modal.is-open,
  .vf-shorts.is-open
) #shopify-chat { display: none !important; }
/* END_SNIPPET:cart-drawer */

/* START_SNIPPET:image (INDEX:51) */
.image {
    display: block;
    position: relative;
    overflow: hidden;
    width: 100%;
    height: auto;
  }

  .image > img {
    width: 100%;
    height: auto;
  }
/* END_SNIPPET:image */