/**
 * Embroidery section — COSMO Global hub (subnav + TOP type/layout)
 * Loaded on /embroidery and child embroidery URLs.
 *
 * IMPORTANT: Global theme sets html { font-size: 62.5% } → 1rem ≈ 10px.
 * cosmo-us uses default 1rem ≈ 16px. Never copy US rem values 1:1.
 * Sizes below are expressed in Global rem (10px base) so:
 *   1.6rem = 16px, 2.4rem = 24px, 3.4rem = 34px.
 */

/* ── Subnav: [COSMO logo] PRODUCTS | FREE PATTERNS | WHERE TO BUY ── */
.c-embSub .c-embSub__menu {
  width: min(1080px, 100%);
  min-width: 0;
  max-width: 1080px;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 0 24px;
}

.c-embSub .c-embSub__list {
  flex-wrap: wrap;
  row-gap: 0.6rem;
}

.c-embSub .c-embSub__brand {
  padding-left: 0 !important;
  margin-right: 1.6rem !important;
  display: flex !important;
  align-items: center;
}

.c-embSub .c-embSub__logoLink {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}

.c-embSub .c-embSub__logo {
  display: block;
  height: 36px;
  width: auto;
  max-width: 120px;
}

.c-embSub .c-embSub__list > li > a,
.c-embSub .c-embSub__dropBtn {
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #333;
  text-decoration: none;
  line-height: 1.2;
  -webkit-text-size-adjust: 100%;
}

.c-embSub .c-embSub__list > li > a:hover {
  opacity: 0.7;
}

.c-embSub .c-subMenucnt__current > a,
.c-embSub .c-embSub__list > li > a[aria-current="page"] {
  color: #005fb0;
}

/* Where to buy / Company dropdown triggers — match link typography exactly */
.c-embSub .c-embSub__dropdown {
  position: relative;
}

.c-embSub .c-embSub__dropBtn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

.c-embSub .c-embSub__dropBtn:hover {
  opacity: 0.7;
}

.c-embSub .c-embSub__dropdown.c-subMenucnt__current .c-embSub__dropBtn,
.c-embSub .c-embSub__dropBtn[aria-expanded="true"] {
  color: #005fb0;
}

.c-embSub .c-embSub__caret {
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid currentColor;
  opacity: 0.75;
}

.c-embSub .c-embSub__dropPanel {
  position: absolute;
  top: calc(100% + 0.8rem);
  left: 50%;
  transform: translateX(-50%);
  z-index: 40;
  min-width: 26rem;
  margin: 0;
  padding: 0.6rem 0;
  list-style: none;
  background: #fff;
  border: 1px solid #e0e0e0;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.c-embSub .c-embSub__dropPanel a {
  display: block;
  padding: 0.85rem 1.4rem;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: none;
  color: #1a1a1a;
  text-decoration: none;
  white-space: nowrap;
}

.c-embSub .c-embSub__dropPanel a:hover,
.c-embSub .c-embSub__dropPanel a[aria-current="page"] {
  background: #f6f6f4;
  color: #005fb0;
}

/* Reset .c-subMenucnt li(+li) padding/border that otherwise indent the 2nd item */
.c-embSub .c-embSub__dropPanel > li {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-left: 0 !important;
}

.c-embSub .c-embSub__dropPanel > li + li {
  border-left: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.c-embSub .c-embSub__dropPanel > li > a {
  box-sizing: border-box;
  width: 100%;
  text-align: left;
}

/* Prevent base .c-subMenucnt { overflow-x:scroll } from clipping the panel
   (overflow-x ≠ visible forces overflow-y to compute as auto). */
.c-embSub,
.c-embSub .c-embSub__menu,
.c-embSub .c-embSub__nav,
.c-embSub .c-embSub__list {
  overflow: visible !important;
}

@media screen and (max-width: 768px) {
  /* In-flow accordion on SP so items stay on-screen (no absolute clip / off-fold). */
  .c-embSub .c-embSub__list {
    flex-wrap: wrap;
    align-items: flex-start;
  }

  .c-embSub .c-embSub__dropdown {
    position: static;
  }

  .c-embSub .c-embSub__dropdown.is-open {
    flex: 1 0 100%;
    width: 100%;
    padding: 0;
    margin: 0.4rem 0 0;
    border-left: 0;
  }

  .c-embSub .c-embSub__dropPanel {
    position: static;
    left: auto;
    right: auto;
    transform: none;
    width: 100%;
    min-width: 0;
    margin: 0.6rem 0 0;
    padding: 0.4rem 0;
    border: 0;
    border-top: 1px solid #e0e0e0;
    box-shadow: none;
    background: #f7f7f7;
  }

  .c-embSub .c-embSub__dropPanel a {
    white-space: normal;
    padding: 1.1rem 1.6rem;
    font-size: 1.4rem;
  }
}

/* Anchor targets clear fixed subheader */
#a-products,
#a-where-to-buy {
  scroll-margin-top: 7rem;
}

@media screen and (max-width: 768px) {
  .c-embSub .c-embSub__menu {
    padding: 0 16px;
  }

  .c-embSub .c-embSub__logo {
    height: 30px;
    max-width: 100px;
  }

  .c-embSub .c-embSub__list > li {
    padding-left: 1.2rem;
    margin-right: 1.2rem;
  }

  .c-embSub .c-embSub__list > li > a,
  .c-embSub .c-embSub__dropBtn {
    font-size: 1.1rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
  }
}

/* Shared section shell (matches hero max-width rhythm) */
.c-embSection {
  box-sizing: border-box;
  max-width: 1080px;
  width: calc(100% - 48px);
  min-width: 0 !important;
  margin: 0 auto;
  padding: clamp(40px, 5vw, 64px) 0 clamp(32px, 4vw, 48px);
}

/* Section H2: ~26–32px (Global hub; slightly above US Stories H2 ~22–28px for scanability) */
.c-embSection__title {
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-size: clamp(2.6rem, 1.6vw + 2.1rem, 3.2rem) !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.02em !important;
  color: #1a1a1a !important;
  text-align: center !important;
  text-transform: none !important;
  margin: 0 auto clamp(14px, 1.8vw, 20px) !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Lead: ~15–16px — readable body, not caption */
.c-embSection__lead {
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
  font-size: clamp(1.5rem, 0.35vw + 1.4rem, 1.6rem) !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  letter-spacing: 0.01em !important;
  color: #555 !important;
  text-align: center !important;
  max-width: 36em;
  margin: 0 auto !important;
  padding: 0 !important;
}

/* ── Hero (BrandHero parity — US pixel sizes, Global rem) ── */
section.c-embHero {
  position: relative !important;
  isolation: isolate;
  display: block !important;
  box-sizing: border-box !important;
  max-width: 1080px !important;
  width: calc(100% - 48px) !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  /* height:auto so wrapped title isn't clipped by overflow:hidden */
  height: auto !important;
  min-height: clamp(300px, 34vw, 400px) !important;
  overflow: hidden !important;
  border-bottom: 1px solid #e0e0e0 !important;
  background-color: #f8f8f6 !important;
  padding: 0 !important;
}

/* Photo plane (PC: absolute fill under gradient; SP: stacked block) */
section.c-embHero .c-embHero__media {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background-color: #f8f8f6 !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: 88% 42% !important;
  pointer-events: none !important;
}

section.c-embHero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  /* Stops pushed right vs US so wider copy (≤58%) stays on white when mid-width */
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.98) 0%,
    rgba(255, 255, 255, 0.94) 32%,
    rgba(255, 255, 255, 0.78) 48%,
    rgba(255, 255, 255, 0.28) 60%,
    transparent 72%
  ) !important;
}

section.c-embHero .c-embHero__inner {
  position: relative !important;
  z-index: 2 !important;
  box-sizing: border-box !important;
  min-height: inherit !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  padding: clamp(28px, 4vw, 40px) clamp(24px, 4vw, 48px) !important;
  margin: 0 !important;
  min-width: 0 !important;
}

/*
 * Copy width: flex min-width:auto was clipping long Cormorant lines against
 * section overflow:hidden when the window narrowed (Mac mid-widths).
 * min-width:0 lets the box shrink; wrap + fluid type keep lines readable.
 */
section.c-embHero .c-embHero__copy {
  box-sizing: border-box !important;
  max-width: min(26em, 58%) !important;
  width: auto !important;
  min-width: 0 !important;
  flex: 0 1 auto !important;
  text-align: left !important;
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
}

/* H1: 22–34px — slightly more fluid shrink so mid-widths don't overflow */
section.c-embHero .c-embHero__title {
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-size: clamp(2.2rem, 1.8vw + 1.2rem, 3.4rem) !important;
  font-weight: 500 !important;
  line-height: 1.32 !important;
  letter-spacing: 0.01em !important;
  color: #1a1a1a !important;
  margin: 0 !important;
  padding: 0 !important;
  text-transform: none !important;
  border: 0 !important;
  overflow-wrap: break-word !important;
  hyphens: manual !important;
}

section.c-embHero .c-embHero__titleLine {
  display: block !important;
  max-width: 100% !important;
  white-space: normal !important;
}

section.c-embHero .c-embHero__period {
  color: #8f4f4f !important;
}

/* Subtitle: 17–22px — match US */
section.c-embHero .c-embHero__subtitle {
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.7rem, 1.2vw + 1.15rem, 2.2rem) !important;
  font-weight: 400 !important;
  line-height: 1.38 !important;
  letter-spacing: 0.01em !important;
  color: #1a1a1a !important;
  margin: clamp(14px, 2vw, 22px) 0 0 !important;
  padding: 0 !important;
}

section.c-embHero .c-embHero__subtitleLine {
  display: block !important;
}

section.c-embHero hr.c-embHero__rule,
section.c-embHero .c-embHero__rule {
  display: block !important;
  width: 52px !important;
  max-width: 52px !important;
  height: 1px !important;
  border: 0 !important;
  border-top: 0 !important;
  margin: clamp(14px, 2vw, 20px) 0 clamp(12px, 1.5vw, 16px) !important;
  padding: 0 !important;
  background: #8f4f4f !important;
  opacity: 0.75 !important;
}

/* Body in hero: 14–15px (US is 13–14; +1px for Global readability in denser chrome) */
section.c-embHero .c-embHero__body {
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
  font-size: clamp(1.4rem, 0.3vw + 1.3rem, 1.5rem) !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
  letter-spacing: normal !important;
  color: #555 !important;
  margin: 0 !important;
  padding: 0 !important;
  max-width: 36em !important;
}

/* ── Product categories / Products hub ── */
section.c-embCats {
  border-bottom: 1px solid #e0e0e0;
  background: #fff;
}

/* Tighter intro than generic .c-embSection */
section.c-embCats .c-embSection.c-embCats__intro {
  padding: clamp(20px, 2.5vw, 28px) 0 clamp(8px, 1vw, 12px);
}

section.c-embCats .c-embCats__intro .c-embSection__title {
  margin-bottom: clamp(6px, 0.8vw, 10px) !important;
}

section.c-embCats .c-embCats__intro .c-embSection__lead {
  margin-bottom: 0 !important;
  max-width: 40em;
}

/*
 * Grid: kill theme .c-cntUl { margin-bottom: 5.8rem } and float gutters.
 * Flex + gap → even 6-up without leftover white bands.
 */
section.c-embCats ul.c-embCats__grid {
  box-sizing: border-box !important;
  max-width: 1180px !important;
  width: calc(100% - 32px) !important;
  min-width: 0 !important;
  margin: 0 auto clamp(16px, 2vw, 24px) !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px 12px !important;
  list-style: none !important;
}

section.c-embCats ul.c-embCats__grid::before,
section.c-embCats ul.c-embCats__grid::after {
  display: none !important;
  content: none !important;
}

section.c-embCats .c-embCats__card,
section.c-embCats ul.c-embCats__grid > .c-cntUl__list {
  float: none !important;
  width: calc((100% - 24px) / 3) !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* Def / legacy CTA (unused on 6-up; keep compact if present) */
section.c-embCats .c-embCats__def {
  margin: 0.5rem 0 0.25rem !important;
  padding: 0 0.5rem !important;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
  font-size: clamp(1.3rem, 0.3vw + 1.2rem, 1.4rem) !important;
  line-height: 1.45 !important;
  color: #555 !important;
  text-align: center !important;
}

section.c-embCats .c-embCats__cta {
  margin: 0.25rem 0 0.5rem !important;
  padding: 0 !important;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
  font-size: clamp(1.2rem, 0.2vw + 1.12rem, 1.3rem) !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #8f4f4f !important;
  text-align: center !important;
}

section.c-embCats .c-embCats__cta::after {
  content: " \2192";
}

section.c-embCats a.c-embCats__link:hover .c-embCats__cta {
  opacity: 0.75;
}

/* Collection card media — 3:2; fills card (no theme padding-top gap) */
section.c-embCats .c-embCats__thumb {
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  aspect-ratio: 3 / 2;
  background: #f0f0ee;
  line-height: 0;
}

section.c-embCats .c-embCats__thumb picture,
section.c-embCats .c-embCats__thumb img {
  display: block;
  width: 100%;
  height: 100%;
}

section.c-embCats .c-embCats__thumb img {
  object-fit: cover;
}

section.c-embCats .c-embCats__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.45rem 0.65rem;
  background: #fff;
  border-top: 1px solid #eee;
  min-height: 0;
}

section.c-embCats .c-embCats__name {
  margin: 0 !important;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
  font-size: clamp(1.3rem, 0.3vw + 1.2rem, 1.45rem) !important;
  font-weight: 500 !important;
  color: #1a1a1a !important;
  line-height: 1.25 !important;
  text-align: left !important;
}

section.c-embCats .c-embCats__arrow {
  flex-shrink: 0;
  font-size: 1.4rem;
  color: #8f4f4f;
  line-height: 1;
}

section.c-embCats a.c-embCats__link:hover .c-embCats__arrow {
  opacity: 0.7;
}

/*
 * Kill theme .c-cntUl__alink { padding-top: calc(300/455*100%) }.
 * That ratio spacer sat ABOVE our figure+meta → huge empty band in each card.
 */
section.c-embCats a.c-embCats__link,
section.c-embCats .c-cntUl__list--3col a.c-embCats__link,
section.c-embCats a.c-cntUl__alink.c-embCats__link {
  display: block !important;
  position: relative !important;
  padding-top: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  background: #fff;
  text-decoration: none !important;
  color: inherit !important;
  border: 1px solid #eee;
}

section.c-embCats .c-embCats__link .c-cntUlText__viewBtn {
  display: none !important;
}

@media screen and (max-width: 768px) {
  section.c-embCats ul.c-embCats__grid {
    width: calc(100% - 32px) !important;
    gap: 10px !important;
  }

  section.c-embCats .c-embCats__card,
  section.c-embCats ul.c-embCats__grid > .c-cntUl__list {
    width: calc((100% - 10px) / 2) !important;
  }
}

@media screen and (max-width: 480px) {
  section.c-embCats .c-embCats__card,
  section.c-embCats ul.c-embCats__grid > .c-cntUl__list {
    width: 100% !important;
  }
}

/* ── Product gateway (Global stub → US) ── */
section.c-embGate {
  border-bottom: 1px solid #e0e0e0;
  background: #fff;
}

section.c-embGate .c-embGate__inner {
  text-align: center;
  padding-top: clamp(48px, 6vw, 72px);
  padding-bottom: clamp(48px, 6vw, 72px);
}

section.c-embGate .c-embGate__title {
  margin-bottom: clamp(12px, 1.8vw, 18px) !important;
}

section.c-embGate .c-embGate__lead {
  margin-bottom: 0.5rem !important;
}

section.c-embGate .c-embGate__note {
  margin: 0 auto 1.25rem !important;
  max-width: 36em;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
  font-size: clamp(1.4rem, 0.3vw + 1.3rem, 1.5rem) !important;
  line-height: 1.55 !important;
  color: #666 !important;
}

section.c-embGate .c-embGate__action {
  margin: 0 0 1.5rem !important;
}

section.c-embGate .c-embGate__cta {
  display: inline-block !important;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
  font-size: clamp(1.4rem, 0.3vw + 1.3rem, 1.5rem) !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  color: #fff !important;
  text-decoration: none !important;
  background: #8f4f4f !important;
  padding: 0.85rem 1.6rem !important;
  line-height: 1.2 !important;
  transition: opacity 0.15s ease;
}

section.c-embGate .c-embGate__cta:hover {
  opacity: 0.85;
}

section.c-embGate .c-embGate__cta::after {
  content: " \2192";
}

section.c-embGate .c-embGate__secondary {
  margin: 0 !important;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
  font-size: clamp(1.3rem, 0.2vw + 1.22rem, 1.4rem) !important;
  color: #666 !important;
}

section.c-embGate .c-embGate__secondary a {
  color: #8f4f4f !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(143, 79, 79, 0.35);
}

section.c-embGate .c-embGate__secondary a:hover {
  opacity: 0.75;
}

section.c-embGate .c-embGate__sep {
  margin: 0 0.5rem;
  color: #ccc;
}

/* ── About COSMO (Global TOP) ── */
section.c-embAbout {
  border-bottom: 1px solid #e0e0e0;
  background: #fff;
}

section.c-embAbout .c-embAbout__lead {
  max-width: 40em !important;
}

section.c-embAbout .c-embAbout__lead em {
  font-style: italic;
}

/* ── Explore Products CTA (Global TOP → /embroidery/products) ── */
section.c-embExplore {
  border-bottom: 1px solid #e0e0e0;
  background: #f8f8f6;
  padding: clamp(28px, 4vw, 48px) 0;
}

section.c-embExplore .c-embExplore__stage {
  box-sizing: border-box;
  max-width: 1180px;
  width: calc(100% - 48px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 0.95fr) minmax(0, 1fr);
  gap: clamp(14px, 2vw, 28px);
  align-items: center;
}

section.c-embExplore .c-embExplore__col {
  display: grid;
  gap: 12px;
  min-width: 0;
}

section.c-embExplore .c-embExplore__shot {
  margin: 0;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #ebebe8;
  line-height: 0;
}

section.c-embExplore .c-embExplore__shot picture,
section.c-embExplore .c-embExplore__shot img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

section.c-embExplore .c-embExplore__copy {
  max-width: none;
  width: 100%;
  margin: 0;
  padding: clamp(8px, 1.5vw, 16px) 0;
  text-align: center;
}

section.c-embExplore .c-embExplore__copy .c-embSection__title {
  margin-bottom: clamp(10px, 1.2vw, 14px) !important;
}

section.c-embExplore .c-embExplore__copy .c-embSection__lead {
  margin-bottom: 0 !important;
  max-width: 22em;
}

section.c-embExplore .c-embExplore__action {
  margin: clamp(22px, 2.8vw, 32px) 0 0 !important;
  text-align: center !important;
}

section.c-embExplore .c-embExplore__btn {
  display: inline-block !important;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
  font-size: clamp(1.5rem, 0.35vw + 1.35rem, 1.65rem) !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  background: #8f4f4f !important;
  text-decoration: none !important;
  padding: 1em 1.85em !important;
  border: 0 !important;
  transition: opacity 0.2s ease;
}

section.c-embExplore .c-embExplore__btn:hover {
  opacity: 0.85;
}

@media screen and (max-width: 900px) {
  section.c-embExplore .c-embExplore__stage {
    grid-template-columns: 1fr 1fr;
    width: calc(100% - 32px);
    gap: 12px;
  }

  section.c-embExplore .c-embExplore__copy {
    grid-column: 1 / -1;
    order: -1;
    padding: 4px 0 8px;
  }
}

@media screen and (max-width: 520px) {
  section.c-embExplore .c-embExplore__stage {
    grid-template-columns: 1fr 1fr;
  }

  section.c-embExplore .c-embExplore__col {
    gap: 8px;
  }

  section.c-embExplore .c-embExplore__btn {
    width: 100%;
    box-sizing: border-box;
    padding: 0.95em 1.2em !important;
  }
}

/* Products hub (/embroidery/products) */
section.c-embProductsHub .c-embProductsHub__cta {
  margin: clamp(16px, 2vw, 22px) 0 0 !important;
  text-align: center !important;
}

section.c-embProductsHub .c-embProductsHub__ctaLink {
  display: inline-block !important;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
  font-size: clamp(1.4rem, 0.3vw + 1.3rem, 1.5rem) !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  color: #fff !important;
  background: #8f4f4f !important;
  text-decoration: none !important;
  padding: 0.85em 1.6em !important;
  border: 0 !important;
  transition: opacity 0.2s ease;
}

section.c-embProductsHub .c-embProductsHub__ctaLink:hover {
  opacity: 0.85;
}

section.c-embProductsHub .c-embProductsHub__more {
  max-width: 1080px;
  width: calc(100% - 48px);
  margin: 0 auto clamp(20px, 2.5vw, 28px);
  padding-bottom: clamp(8px, 1vw, 12px);
  text-align: center;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: clamp(1.3rem, 0.25vw + 1.2rem, 1.4rem);
}

section.c-embProductsHub .c-embProductsHub__more a {
  color: #8f4f4f;
  text-decoration: none;
  border-bottom: 1px solid rgba(143, 79, 79, 0.35);
  font-weight: 500;
}

section.c-embProductsHub .c-embProductsHub__more a:hover {
  opacity: 0.75;
}

/* ── Free Patterns ── */
section.c-embFp {
  border-bottom: 1px solid #e0e0e0;
  background: #f8f8f6;
}

section.c-embFp .c-embFp__action {
  margin: clamp(20px, 2.5vw, 28px) 0 0 !important;
  text-align: center !important;
}

/* Button: ~14–15px + roomy padding */
section.c-embFp .c-embFp__btn {
  display: inline-block !important;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
  font-size: clamp(1.4rem, 0.3vw + 1.3rem, 1.5rem) !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #1a1a1a !important;
  text-decoration: none !important;
  border: 1px solid #1a1a1a !important;
  padding: 0.85rem 1.6rem !important;
  line-height: 1.2 !important;
  background: #fff !important;
  transition: opacity 0.15s ease;
}

section.c-embFp .c-embFp__btn:hover {
  opacity: 0.72;
}

/* ── Where to buy (B2C / B2B split) ── */
section.c-embWhere {
  border-bottom: 1px solid #e0e0e0;
  background: #fff;
}

section.c-embWhere .c-embWhere__group {
  max-width: 40rem;
  margin: clamp(28px, 4vw, 40px) auto 0;
  text-align: left;
}

section.c-embWhere .c-embWhere__group + .c-embWhere__group {
  margin-top: clamp(36px, 5vw, 52px);
  padding-top: clamp(28px, 4vw, 40px);
  border-top: 1px solid #e0e0e0;
}

/* Group H3: ~13–14px uppercase meta */
section.c-embWhere .c-embWhere__groupTitle {
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
  font-size: clamp(1.3rem, 0.2vw + 1.2rem, 1.4rem) !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #888 !important;
  text-align: left !important;
  margin: 0 0 clamp(8px, 1.5vw, 12px) !important;
  padding: 0 !important;
  border: 0 !important;
}

section.c-embWhere .c-embWhere__list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-top: 1px solid #e0e0e0;
}

section.c-embWhere .c-embWhere__item {
  display: grid !important;
  gap: 0.4rem !important;
  padding: clamp(1.2rem, 2vw, 1.5rem) 0 !important;
  border-bottom: 1px solid #e0e0e0 !important;
  text-align: left !important;
}

/* Channel name: ~20–24px (also used as primary link) */
section.c-embWhere a.c-embWhere__name {
  display: inline-block !important;
  margin: 0 !important;
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-size: clamp(2rem, 0.6vw + 1.7rem, 2.4rem) !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  color: #1a1a1a !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(26, 26, 26, 0.22);
}

section.c-embWhere a.c-embWhere__name:hover {
  opacity: 0.72;
  border-bottom-color: rgba(26, 26, 26, 0.55);
}

section.c-embWhere .c-embWhere__name--static {
  display: inline-block !important;
  margin: 0 !important;
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-size: clamp(2rem, 0.6vw + 1.7rem, 2.4rem) !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  color: #1a1a1a !important;
  border-bottom: 0 !important;
}

/* Body: ~14–15px */
section.c-embWhere .c-embWhere__note {
  margin: 0 !important;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
  font-size: clamp(1.4rem, 0.3vw + 1.3rem, 1.5rem) !important;
  line-height: 1.55 !important;
  color: #555 !important;
}

section.c-embWhere .c-embWhere__note a.c-embWhere__inlineLink {
  color: #8f4f4f !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(143, 79, 79, 0.35);
}

section.c-embWhere .c-embWhere__note a.c-embWhere__inlineLink:hover {
  opacity: 0.75;
  border-bottom-color: rgba(143, 79, 79, 0.7);
}

/* Host hint: ~12–13px */
section.c-embWhere .c-embWhere__host {
  margin: 0.15rem 0 0 !important;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
  font-size: clamp(1.2rem, 0.15vw + 1.12rem, 1.3rem) !important;
  line-height: 1.4 !important;
  color: #888 !important;
  letter-spacing: 0.02em !important;
}

section.c-embWhere .c-embWhere__cta {
  margin: 0.45rem 0 0 !important;
}

section.c-embWhere .c-embWhere__cta a {
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
  font-size: clamp(1.4rem, 0.3vw + 1.3rem, 1.5rem) !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  color: #8f4f4f !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(143, 79, 79, 0.35);
}

section.c-embWhere .c-embWhere__cta a:hover {
  opacity: 0.75;
  border-bottom-color: rgba(143, 79, 79, 0.7);
}

section.c-embWhere .c-embWhere__cta a::after {
  content: " \2192";
}

@media screen and (max-width: 768px) {
  section.c-embWhere .c-embSection {
    width: calc(100% - 4rem);
    max-width: none;
    box-sizing: border-box;
  }

  section.c-embWhere .c-embWhere__group {
    max-width: none;
    width: 100%;
    margin-top: 2rem;
  }

  section.c-embWhere a.c-embWhere__name,
  section.c-embWhere .c-embWhere__name--static {
    font-size: 2rem !important;
    overflow-wrap: anywhere;
  }
}

section.c-embWherePage .c-embWherePage__alt {
  max-width: 40rem;
  margin: clamp(28px, 4vw, 40px) auto 0;
  text-align: center;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: clamp(1.4rem, 0.3vw + 1.3rem, 1.5rem);
  color: #555;
}

section.c-embWherePage .c-embWherePage__alt a {
  color: #8f4f4f;
  text-decoration: none;
  border-bottom: 1px solid rgba(143, 79, 79, 0.35);
  font-weight: 500;
}

section.c-embWhereFooter .c-embWhereFooter__more {
  max-width: 40rem;
  margin: 1.2rem auto 0;
  text-align: center;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: clamp(1.3rem, 0.25vw + 1.2rem, 1.4rem);
}

section.c-embWhereFooter .c-embWhereFooter__more a {
  color: #555;
  text-decoration: none;
  border-bottom: 1px solid rgba(85, 85, 85, 0.35);
}

section.c-embWhereFooter .c-embWhereFooter__more a:hover {
  opacity: 0.75;
}

section.c-embWhereDir {
  border-bottom: 1px solid #e0e0e0;
  padding-bottom: clamp(32px, 4vw, 48px);
}

section.c-embWhereDir .c-contentTitle {
  text-align: center;
}

/* ── Retailers landing: same width/hierarchy as Worldwide distributors ── */
section.c-embRetail {
  border-bottom: 1px solid #e0e0e0;
  background: #fff;
}

section.c-embRetail .c-contentSubtitle {
  margin-bottom: clamp(2.4rem, 3vw, 3.2rem);
  color: #666;
  letter-spacing: 0.08em;
}

section.c-embRetail .c-embRetail__channels {
  margin: 0 0 clamp(3.2rem, 4vw, 4.8rem);
  border-top: 1px solid #e5e5e5;
}

section.c-embRetail .c-embRetail__channel {
  display: grid;
  gap: 1.2rem;
  padding: 2.4rem 0;
  border-bottom: 1px solid #e5e5e5;
}

section.c-embRetail .c-embRetail__name {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0.02em;
  color: #222;
  text-align: left;
}

section.c-embRetail .c-embRetail__body {
  display: grid;
  gap: 1.4rem;
  max-width: 72rem;
}

section.c-embRetail .c-embRetail__note {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 1.5rem;
  line-height: 1.65;
  color: #333;
}

/* Global `a { display:block }` otherwise puts Faire on its own full-width row */
section.c-embRetail .c-embRetail__nowrap {
  white-space: nowrap;
}

section.c-embRetail a.c-embRetail__inline {
  display: inline !important;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
  color: #8f4f4f !important;
  text-decoration: none !important;
  border-bottom: 0 !important;
  vertical-align: baseline;
}

section.c-embRetail a.c-embRetail__inline:hover {
  opacity: 0.8;
}

section.c-embRetail .c-embRetail__action {
  margin: 0;
}

section.c-embRetail .c-embRetail__btn {
  display: inline-block;
  box-sizing: border-box;
  padding: 0.9rem 1.6rem;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.2;
  color: #fff !important;
  text-decoration: none !important;
  background: #6b3f3f;
  border: 0;
  transition: opacity 0.15s ease;
}

section.c-embRetail .c-embRetail__btn::after {
  content: " \2192";
}

section.c-embRetail .c-embRetail__btn:hover {
  opacity: 0.85;
}

section.c-embRetail .c-embRetail__dirTitle {
  margin-top: clamp(1.6rem, 2vw, 2.4rem);
}

section.c-embRetail .c-embRetail__dirLead {
  max-width: 64rem;
  margin: 1.2rem auto 2.4rem;
  text-align: center;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 1.5rem;
  line-height: 1.6;
  color: #444;
}

/* Distributors: always open, 2-column (no accordion / no search) */
.c-embDist {
  margin-top: 0.8rem;
}

.c-embDist__empty {
  margin: 2rem 0;
  text-align: center;
  font-size: 1.5rem;
  color: #555;
}

.c-embDist__region {
  margin: 0 0 2.4rem;
  border-top: 1px solid #e5e5e5;
}

.c-embDist__regionTitle {
  margin: 0;
  padding: 1.8rem 0 1.2rem;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #222;
  text-align: left;
}

.c-embDist__regionNote,
.c-embDist__countryNote {
  margin: 0 0 1rem;
  font-size: 1.4rem;
  line-height: 1.5;
  color: #666;
}

.c-embDist__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-top: 1px solid #e5e5e5;
  border-left: 1px solid #e5e5e5;
}

.c-embDist__card {
  box-sizing: border-box;
  padding: 0;
  border-right: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
  background: #fff;
  text-align: left;
}

.c-embDist__card:nth-child(4n + 3),
.c-embDist__card:nth-child(4n) {
  background: #f8f8f8;
}

.c-embDist__country {
  display: block;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: 1.4rem 3.2rem 1.4rem 1.8rem;
  border: 0;
  background: transparent;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 1.7rem;
  font-weight: 600;
  line-height: 1.3;
  color: #1a1a1a;
  text-align: left;
  cursor: pointer;
  position: relative;
}

.c-embDist__country::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.6rem;
  width: 0.7rem;
  height: 0.7rem;
  border-right: 2px solid #666;
  border-bottom: 2px solid #666;
  transform: translateY(-70%) rotate(45deg);
  transition: transform 0.15s ease;
}

.c-embDist__country.is-onActive::after {
  transform: translateY(-20%) rotate(225deg);
}

/* Company details: collapsed until country is toggled */
.c-embDist__details {
  display: none;
  padding: 0 1.8rem 1.6rem;
}

.c-embDist__country.is-onActive + .c-embDist__details {
  display: block;
}

.c-embDist__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.c-embDist__item + .c-embDist__item {
  margin-top: 1.2rem;
  padding-top: 1.2rem;
  border-top: 1px solid #e8e8e8;
}

.c-embDist__name {
  margin: 0 0 0.4rem;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.4;
  color: #222;
}

.c-embDist__meta {
  margin: 0.2rem 0 0;
  font-size: 1.4rem;
  line-height: 1.5;
  color: #444;
  word-break: break-word;
}

.c-embDist__meta a {
  color: #8f4f4f;
  text-decoration: none;
  border-bottom: 1px solid rgba(143, 79, 79, 0.35);
}

.c-embDist__meta a:hover {
  opacity: 0.8;
}

.c-embDist__meta--note {
  color: #666;
}

@media screen and (max-width: 999px) {
  /* Match other emb sections (~20–24px gutters); base .l-contentBlk__in has no side pad on SP */
  section.c-embRetail > .l-contentBlk__in {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding-left: 2.4rem;
    padding-right: 2.4rem;
  }
}

@media screen and (max-width: 768px) {
  section.c-embRetail > .l-contentBlk__in {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  section.c-embRetail .c-embRetail__channel {
    padding: 2rem 0;
  }

  section.c-embRetail .c-embRetail__name {
    font-size: 1.8rem;
  }

  section.c-embRetail .c-embRetail__note,
  section.c-embRetail .c-embRetail__dirLead {
    font-size: 1.4rem;
  }

  .c-embDist__grid {
    grid-template-columns: 1fr;
  }

  .c-embDist__card:nth-child(4n + 3),
  .c-embDist__card:nth-child(4n) {
    background: #fff;
  }

  .c-embDist__card:nth-child(even) {
    background: #f8f8f8;
  }
}

/*
 * SP / narrow: vertical split — photo alone (no overlay), then white text block.
 * Desktop left-gradient overlap stays above this breakpoint.
 */
@media screen and (max-width: 960px) {
  .c-embSection {
    width: calc(100% - 40px);
    padding: 40px 0 32px;
  }

  section.c-embHero {
    display: flex !important;
    flex-direction: column !important;
    width: calc(100% - 40px) !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    background-image: none !important;
    background-color: #fff !important;
  }

  section.c-embHero .c-embHero__media {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: clamp(220px, 56vw, 320px) !important;
    min-height: 220px !important;
    background-position: 88% 42% !important;
  }

  /* No white overlay on the photo */
  section.c-embHero::before {
    display: none !important;
    content: none !important;
  }

  section.c-embHero .c-embHero__inner {
    position: relative !important;
    z-index: 1 !important;
    align-items: flex-start !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 28px 20px 32px !important;
    background: #fff !important;
  }

  section.c-embHero .c-embHero__copy {
    max-width: 100% !important;
    width: 100% !important;
    flex: 1 1 auto !important;
  }

  /* Stacked H1: ~22–28px */
  section.c-embHero .c-embHero__title {
    font-size: clamp(2.2rem, 3.2vw + 1rem, 2.8rem) !important;
    line-height: 1.3 !important;
  }

  section.c-embHero .c-embHero__subtitle {
    font-size: clamp(1.6rem, 2.2vw + 0.95rem, 1.9rem) !important;
    margin-top: 12px !important;
  }

  section.c-embHero hr.c-embHero__rule,
  section.c-embHero .c-embHero__rule {
    margin: 12px 0 10px !important;
    width: 44px !important;
    max-width: 44px !important;
  }

  section.c-embHero .c-embHero__body {
    font-size: 1.4rem !important;
    line-height: 1.65 !important;
    max-width: 40em !important;
  }

  section.c-embCats .c-embCats__grid {
    width: calc(100% - 40px) !important;
  }
}

@media screen and (max-width: 640px) {
  .c-embSection {
    width: calc(100% - 32px);
  }

  section.c-embHero {
    width: calc(100% - 32px) !important;
  }

  section.c-embHero .c-embHero__media {
    height: clamp(200px, 58vw, 280px) !important;
  }

  section.c-embHero .c-embHero__inner {
    padding: 24px 16px 28px !important;
  }

  section.c-embCats .c-embCats__grid {
    width: calc(100% - 32px) !important;
  }
}
