/* Shared pack chrome — toolbar, overflow, slider arrows. Pack CSS still owns layout. */
html, body { max-width: 100%; overflow-x: hidden; }
.ecp-board-frame { margin: 1.25rem 0 0; min-height: 720px; border: 1px solid rgba(127,127,127,.25); border-radius: 12px; overflow: hidden; }
.ecp-board-frame iframe { display: block; width: 100%; height: 720px; border: 0; }
.ecp-board-frame--tall iframe { height: 900px; }
.ecp-scrap-table { width: 100%; max-width: 28rem; border-collapse: collapse; margin-top: 1rem; }
.ecp-scrap-table th, .ecp-scrap-table td { text-align: left; padding: .5rem .65rem; border-bottom: 1px solid rgba(127,127,127,.2); }
html.ecp-nostore .ec-cart-open,
html.ecp-nostore [data-ec-cart-open],
html.ecp-nostore .ecp-plaza-cart,
html.ecp-nostore #ec-cart-count { display: none !important; }
:root { --ecp-content: 1280px; }

/* Forge shop column: 1280px. Shop, home strips, product, we-buy, metals, visit — same width. */
body[class*="ecp-"] #ecp-catalog,
body[class*="ecp-"] main.ecp-catalog,
body[class*="ecp-"] .ecp-shell,
body[class*="ecp-"] .ecp-page,
body[class*="ecp-"] .ecp-site-main,
body[class*="ecp-"] .ecp-ingot-table,
body[class*="ecp-"] .ecp-landing-tiles {
  max-width: var(--ecp-content) !important;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  box-sizing: border-box;
}
body[class*="ecp-"] .ecp-product {
  max-width: var(--ecp-content) !important;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box;
  overflow: hidden;
  border-radius: 5px;
}
body[class*="ecp-"] #ecp-catalog,
body[class*="ecp-"] main.ecp-catalog,
body[class*="ecp-"] .ecp-shell {
  padding-top: 1.75rem;
  padding-bottom: 3.5rem;
}
body[class*="ecp-"] .ecp-page,
body[class*="ecp-"] .ecp-site-main {
  padding-top: 2.5rem;
  padding-bottom: 4rem;
}
body[class*="ecp-"] .ecp-shell #ecp-catalog {
  max-width: none;
  margin: 0;
  padding-left: 0;
  padding-right: 0;
}
body[class*="ecp-"] #ecp-catalog > .ecp-treasury-grid,
body[class*="ecp-"] #ecp-catalog > .ecp-prairie-grid,
body[class*="ecp-"] #ecp-catalog > .ecp-masonry,
body[class*="ecp-"] #ecp-catalog > .ecp-federal-grid,
body[class*="ecp-"] #ecp-catalog > .ecp-summit-grid,
body[class*="ecp-"] #ecp-catalog > .ecp-ledger-list,
body[class*="ecp-"] #ecp-catalog > .ecp-atlas-entries,
body[class*="ecp-"] #ecp-catalog > .ecp-forge-grid,
body[class*="ecp-"] #ecp-catalog > .ecp-mint-list,
body[class*="ecp-"] #ecp-catalog > .ecp-ingot-table,
body[class*="ecp-"] .ecp-landing-feature > .ecp-treasury-grid,
body[class*="ecp-"] .ecp-landing-feature > .ecp-prairie-grid,
body[class*="ecp-"] .ecp-landing-feature > .ecp-masonry,
body[class*="ecp-"] .ecp-landing-feature > .ecp-federal-grid,
body[class*="ecp-"] .ecp-landing-feature > .ecp-summit-grid,
body[class*="ecp-"] .ecp-landing-feature > .ecp-ledger-list,
body[class*="ecp-"] .ecp-landing-feature > .ecp-atlas-entries,
body[class*="ecp-"] .ecp-landing-feature > .ecp-forge-grid,
body[class*="ecp-"] .ecp-landing-feature > .ecp-mint-list {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
}
body[class*="ecp-"] .ec-catalog-toolbar {
  width: auto;
  box-sizing: border-box;
  margin: 0;
}

/* Logo size is shape-detected (wide / square / tall) — never a forced square box. */
.ec-catalog-avail {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin: 0;
}
.ec-catalog-chip {
  display: inline-flex;
  align-items: center;
  padding: 0 .7rem;
  border: 1px solid currentColor;
  text-decoration: none;
  font-size: .78rem;
  letter-spacing: .04em;
  opacity: .85;
  height: 2.2rem;
  box-sizing: border-box;
}
.ec-catalog-chip.is-active { opacity: 1; font-weight: 700; }
body[class*="ecp-"] a.ec-catalog-chip.is-active,
body[class*="ecp-"] .ec-catalog-chip.is-active {
  background: var(--ecp-accent, #111) !important;
  color: var(--ecp-cta-ink, #fff) !important;
  border-color: var(--ecp-accent, #111) !important;
}
form.ec-catalog-sort { display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: center; }
.ec-catalog-toolbar, .ecp-pager { grid-column: 1 / -1; }
.ecp-slide-copy { padding-left: 1.35rem; padding-right: 1.35rem; padding-bottom: 3.6rem; }
.ecp-prev, .ecp-next {
  top: auto !important;
  bottom: 12px !important;
  transform: none !important;
}
.ecp-media {
  position: relative;
  display: block;
  overflow: hidden;
  color: inherit !important;
  text-decoration: none !important;
}
.ecp-media-hit {
  display: block;
  width: 100%;
  height: 100%;
  color: inherit;
  text-decoration: none;
}
.ecp-media-empty {
  display: grid;
  place-items: center;
  min-height: 140px;
  height: 100%;
  width: 100%;
  background:
    radial-gradient(circle at 50% 42%, color-mix(in srgb, currentColor 14%, transparent) 0 28%, transparent 30%),
    color-mix(in srgb, currentColor 7%, transparent);
  color: inherit;
}
.ecp-media-soon {
  display: block;
  max-width: 11rem;
  text-align: center;
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .72;
  padding: .4rem;
}
.ecp-badge {
  position: absolute;
  top: .4rem;
  left: .4rem;
  right: auto;
  bottom: auto;
  z-index: 3;
  pointer-events: none;
  display: inline-block;
  font-size: .65rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: .22rem .45rem;
  background: var(--ecp-accent, #111);
  color: var(--ecp-panel, #fff);
}
.ecp-hours { white-space: pre-line; line-height: 1.45; margin: .4rem 0 0; }
.ecp-instore {
  margin: .4rem 0 0;
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  opacity: .7;
}
.ecp-buy { margin-top: .5rem; }
.ecp-buy .ec-add-cart-controls {
  display: flex;
  gap: .4rem;
  align-items: stretch;
}
.ecp-buy .ec-qty-input {
  width: 3.4rem;
  height: 2.35rem;
  box-sizing: border-box;
  text-align: center;
  font: inherit;
  background: transparent;
  color: inherit;
  border: 1px solid color-mix(in srgb, currentColor 28%, transparent);
  border-radius: 0;
}
.ecp-buy .ec-add-to-cart {
  height: 2.35rem;
  padding: 0 1rem;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  font: inherit;
  font-weight: 650;
  background: var(--ecp-accent, currentColor);
  color: var(--ecp-cta-ink, var(--ecp-panel, #111));
}
body[class*="ecp-"] .text-slate-800,
body[class*="ecp-"] .text-slate-600,
body[class*="ecp-"] .text-slate-900,
body[class*="ecp-"] .text-slate-500 { color: inherit !important; }
body[class*="ecp-"] .ec-catalog-sort-select,
body[class*="ecp-"] #ec-catalog-sort {
  font: inherit;
  background: transparent !important;
  color: inherit !important;
  border: 1px solid color-mix(in srgb, currentColor 30%, transparent) !important;
  border-radius: 0 !important;
  padding: .4rem .65rem;
  min-width: 10rem;
}
body.ecp-landing-edit .ecp-mint-list,
body.ecp-landing-edit .ecp-atlas-entries {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.1rem 2rem;
  max-width: var(--ecp-content);
}
body.ecp-landing-edit .ecp-mint-row { grid-template-columns: 108px 1fr !important; align-items: center; }
body.ecp-landing-edit .ecp-mint-row .ecp-media,
body.ecp-landing-edit .ecp-mint-row img {
  width: 108px !important;
  height: 108px !important;
  max-width: 108px;
}
@media (max-width: 720px) {
  .ecp-slide-copy { padding: 1.1rem 1.1rem 3.8rem !important; }
  .ecp-nav, .ecp-forge-nav { flex-wrap: wrap; }
  .ecp-links { flex-wrap: wrap; }
  .ecp-landing-tiles { grid-template-columns: 1fr 1fr !important; }
  .ecp-weights { grid-template-columns: 1fr 1fr !important; }
  body.ecp-landing-edit .ecp-mint-list,
  body.ecp-landing-edit .ecp-atlas-entries { grid-template-columns: 1fr; }
}

.ecp-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem 1rem;
  padding: .85rem 1.25rem;
  position: relative;
  z-index: 20;
  flex-wrap: wrap;
}
.ecp-brand { display: flex; align-items: center; gap: .6rem; text-decoration: none; color: inherit; font-weight: 650; min-width: 0; }
.ecp-links { display: flex; gap: .9rem 1.1rem; flex-wrap: wrap; }
.ecp-links a { color: inherit; text-decoration: none; font-size: .82rem; letter-spacing: .06em; text-transform: uppercase; }
.ecp-tools { display: flex; gap: .45rem; position: relative; z-index: 6; }
.ecp-tools a, .ecp-tools button {
  border: 1px solid currentColor;
  background: transparent;
  color: inherit;
  padding: .4rem .7rem;
  cursor: pointer;
  text-decoration: none;
  font: inherit;
}
.ecp-nav-toggle { display: none; }
.ecp-landing-tiles, .ecp-landing-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
}
.ecp-landing-tiles a, .ecp-landing-card {
  display: block;
  padding: 0;
  text-decoration: none;
  color: inherit;
  border: 0;
  background: transparent;
}
.ecp-landing-tiles strong { display: block; margin-bottom: .3rem; }
.ecp-landing-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  padding: 2rem 1.25rem;
}
.ecp-landing-band {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem 3.5rem;
  max-width: var(--ecp-content);
  width: 100%;
  margin: 0 auto;
  padding: 2.5rem 1.5rem 2.75rem;
  box-sizing: border-box;
}
.ecp-landing-band h2 { margin: 0 0 .45rem; }
.ecp-landing-band p { margin: 0 0 1rem; }
.ecp-landing-feature { padding: 1.5rem 1.5rem 3rem; max-width: var(--ecp-content); margin: 0 auto; box-sizing: border-box; }
.ecp-landing-card .ecp-media { aspect-ratio: 1; display: block; overflow: hidden; }
.ecp-landing-card img { width: 100%; height: 100%; object-fit: cover; }
.ecp-foot { text-align: left; }
.ecp-foot-inner { max-width: var(--ecp-content); margin: 0 auto; padding: 0 1.25rem; box-sizing: border-box; }
.ecp-foot-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, .8fr) minmax(0, .85fr) minmax(0, 1fr);
  gap: 1.75rem 2rem;
  align-items: start;
  text-align: left;
}
.ecp-foot-brand strong { display: block; font-size: 1.05rem; margin-bottom: .45rem; }
.ecp-foot-brand p, .ecp-foot-meta p { margin: 0 0 .35rem; line-height: 1.45; }
.ecp-foot-nav {
  display: flex;
  flex-direction: column;
  gap: .38rem;
  align-items: flex-start;
}
.ecp-foot .ecp-foot-nav a { margin: 0; text-decoration: none; }
.ecp-foot-kicker {
  margin: 0 0 .4rem;
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  opacity: .7;
}
.ecp-foot-note {
  margin: 1.75rem auto 0;
  padding-top: 1.1rem;
  border-top: 1px solid color-mix(in srgb, currentColor 18%, transparent);
  text-align: center;
  font-size: .78rem;
  opacity: .7;
}
@media (max-width: 900px) {
  .ecp-foot-grid { grid-template-columns: 1fr 1fr !important; gap: 1.5rem 1.75rem; }
}
@media (max-width: 560px) {
  .ecp-foot-grid { grid-template-columns: 1fr !important; gap: 1.4rem; }
}
.ecp-site-main { max-width: var(--ecp-content); margin: 0 auto; padding: 2.5rem 1.25rem 4rem; }
.ecp-site-form p { margin: 0 0 .85rem; }
.ecp-site-form { max-width: none; width: 100%; }
.ecp-site-form label { display: block; }
.ecp-site-form input, .ecp-site-form textarea, .ecp-site-form select {
  display: block;
  width: 100%;
  max-width: none;
  min-height: 2.6rem;
  padding: .65rem .75rem;
  font: inherit;
  background: var(--ecp-input, #fff);
  color: inherit;
  border: 1px solid color-mix(in srgb, currentColor 28%, transparent);
  border-radius: 0;
  box-sizing: border-box;
}
.ecp-site-form textarea { min-height: 8rem; }
body[class*="ecp-"] .ecp-product-buy { max-width: none; }
.ecp-site-form button {
  padding: .75rem 1.35rem;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  border: 0;
  border-radius: 0;
  background: var(--ecp-accent, #111);
  color: var(--ecp-cta-ink, var(--ecp-panel, #fff));
}

/* No pills on pack forms or add-to-cart. */
body[class*="ecp-"] input,
body[class*="ecp-"] select,
body[class*="ecp-"] textarea,
body[class*="ecp-"] button,
body[class*="ecp-"] .btn,
body[class*="ecp-"] .ec-add-to-cart,
body[class*="ecp-"] .ecp-cta,
body[class*="ecp-"] .ecp-tools a,
body[class*="ecp-"] .ecp-tools button,
body[class*="ecp-"] .ec-catalog-chip,
body[class*="ecp-"] .ec-catalog-sort-select,
body[class*="ecp-"] .form-control,
body[class*="ecp-"] .form-select {
  border-radius: 0 !important;
}
body[class*="ecp-"] .ec-add-to-cart {
  background: var(--ecp-accent, #111) !important;
  color: var(--ecp-cta-ink, var(--ecp-panel, #fff)) !important;
  border: 0 !important;
  height: 2.35rem;
  padding: 0 1rem;
  font-weight: 650;
  cursor: pointer;
}
.ecp-hp { position: absolute; left: -9999px; height: 0; overflow: hidden; }
.ecp-flash-ok { color: #0a7a3e; }
.ecp-flash-err { color: #a11; }
.ecp-account-lead { margin: 0 0 1.25rem; }
.ecp-account-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 0 0 2rem;
}
.ecp-site-main a,
body[class*="ecp-"] .ecp-page a,
body[class*="ecp-"] .ecp-page-body a {
  color: var(--ecp-link, inherit);
}
.ecp-site-main a:not(.ecp-account-card):not(.ecp-account-hit),
body[class*="ecp-"] .ecp-page a:not(.ecp-account-card):not(.ecp-account-hit) {
  text-decoration: underline;
  text-underline-offset: .14em;
}
.ecp-account-hit {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr);
  gap: .85rem;
  align-items: center;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}
.ecp-account-thumb {
  width: 80px;
  height: 80px;
  object-fit: contain;
  display: block;
  background: color-mix(in srgb, currentColor 8%, transparent);
}
.ecp-account-thumb--empty { display: block; }
.ecp-account-copy { min-width: 0; }
.ecp-account-copy strong { display: block; }
.ecp-account-card {
  display: block;
  padding: 1.1rem 1.15rem;
  border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
  text-decoration: none;
  color: inherit;
}
.ecp-account-card:hover,
.ecp-account-card:focus-visible {
  border-color: color-mix(in srgb, currentColor 42%, transparent);
}
.ecp-account-card strong { display: block; font-size: 1.05rem; margin-bottom: .25rem; }
.ecp-account-card span { font-size: .9rem; opacity: .75; }
.ecp-page h2 { margin: 1.75rem 0 .6rem; font-size: 1.15rem; }
.ecp-account-list { display: flex; flex-direction: column; margin: 0 0 1.5rem; }
.ecp-account-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: .85rem 0;
  border-bottom: 1px solid color-mix(in srgb, currentColor 14%, transparent);
}
.ecp-account-row strong { display: block; }
.ecp-account-row span { display: block; font-size: .9rem; opacity: .75; }
.ecp-account-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
  justify-content: flex-end;
}
body[class*="ecp-"] .ecp-account-row-actions button,
body[class*="ecp-"] .ecp-page .ec-wishlist-toggle,
body[class*="ecp-"] .ecp-page .ec-alert-toggle,
body[class*="ecp-"] .ecp-page .ec-alert-remove-btn,
body[class*="ecp-"] .ecp-modal-actions button,
body[class*="ecp-"] .ecp-site-form button[type="submit"] {
  background: var(--ecp-accent, #222) !important;
  color: var(--ecp-cta-ink, #fff) !important;
  border: 1px solid var(--ecp-accent, #222) !important;
  min-height: 36px;
  padding: .4rem .85rem !important;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  letter-spacing: .04em;
}
body[class*="ecp-"] .ecp-account-row-actions .ec-alert-remove-btn,
body[class*="ecp-"] .ecp-page .ec-alert-remove-btn {
  background: transparent !important;
  color: var(--ecp-accent, currentColor) !important;
}
@media (max-width: 720px) {
  .ecp-account-grid { grid-template-columns: 1fr; }
  .ecp-account-row { grid-template-columns: 1fr; }
}
.ecp-metal-ticks {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin: 1rem 0 1.5rem;
}
.ecp-metal-tick { padding: 1rem 0; }
.ecp-metal-tick span { display: block; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; opacity: .7; }
.ecp-metal-tick strong { font-size: 1.6rem; }
.ecp-metal-charts { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.spotpro-metal-chart-canvas { min-height: 220px; }
.ecp-metal-note { font-size: .85rem; opacity: .8; }
.ecp-buy-list { line-height: 1.7; }
.ecp-mint-list { display: flex; flex-direction: column; gap: 1rem; }
.ecp-mint-row { display: grid; grid-template-columns: 140px 1fr; gap: 1rem; align-items: center; }
.ecp-mint-row .ecp-media, .ecp-mint-row img { width: 140px; height: 140px; object-fit: cover; }
@media (max-width: 900px) {
  .ecp-landing-tiles, .ecp-landing-grid, .ecp-landing-band, .ecp-landing-split, .ecp-metal-ticks, .ecp-metal-charts {
    grid-template-columns: 1fr;
  }
}

/* ----- Logo: detect square vs rectangle; never a 72×72 box ----- */
body[class*="ecp-"] a.ecp-brand img,
body[class*="ecp-"] a.ecp-forge-brand img,
body[class*="ecp-"] img.ecp-logo {
  width: auto !important;
  height: auto !important;
  max-width: min(280px, 46vw) !important;
  max-height: 72px !important;
  object-fit: contain !important;
  object-position: left center;
  display: block;
  flex: 0 0 auto;
}
body[class*="ecp-"] img.ecp-logo--wide {
  max-height: 64px !important;
  max-width: min(320px, 52vw) !important;
}
body[class*="ecp-"] img.ecp-logo--square {
  width: 64px !important;
  height: 64px !important;
  max-width: 64px !important;
  max-height: 64px !important;
}
body[class*="ecp-"] img.ecp-logo--tall {
  max-height: 72px !important;
  max-width: 56px !important;
}
body[class*="ecp-"] img.ecp-logo--unknown {
  max-height: 64px !important;
  max-width: min(280px, 48vw) !important;
}
/* Wide lockup already carries the shop name — do not duplicate it. */
body[class*="ecp-"] .ecp-brand img.ecp-logo--wide + span,
body[class*="ecp-"] .ecp-forge-brand img.ecp-logo--wide + span {
  display: none;
}
body.ecp-vault .ecp-brand img {
  margin: 0 auto .35rem;
  object-position: center;
}

/* ----- Pagination ----- */
body[class*="ecp-"] .ecp-pager {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  margin: 2rem 0 0;
  padding: 1.15rem 0 0;
  border-top: 1px solid color-mix(in srgb, currentColor 16%, transparent);
  grid-column: 1 / -1;
}
body[class*="ecp-"] .ecp-pager a,
body[class*="ecp-"] .ecp-pager .ecp-pager-current {
  min-width: 2.45rem;
  height: 2.45rem;
  padding: 0 .8rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: inherit;
  background: transparent;
  border: 1px solid color-mix(in srgb, currentColor 30%, transparent);
  font: inherit;
  font-size: .88rem;
  box-sizing: border-box;
}
body[class*="ecp-"] .ecp-pager a:hover {
  border-color: var(--ecp-accent, currentColor);
}
body[class*="ecp-"] .ecp-pager .ecp-pager-current {
  background: var(--ecp-accent, currentColor);
  color: var(--ecp-cta-ink, var(--ecp-panel, #111));
  border-color: var(--ecp-accent, currentColor);
  font-weight: 700;
}
body[class*="ecp-"] .ecp-pager .ecp-pager-gap {
  min-width: 1.2rem;
  border: 0;
  opacity: .5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
body[class*="ecp-"] .ecp-pager .ecp-pager-prev,
body[class*="ecp-"] .ecp-pager .ecp-pager-next {
  padding: 0 1rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .72rem;
  font-weight: 700;
}

/* ----- AJAX search overlay ----- */
.ecp-search {
  position: fixed;
  inset: 0;
  z-index: 1400;
  background: rgba(0, 0, 0, .55);
  display: none;
  pointer-events: none;
  align-items: flex-start;
  justify-content: center;
  padding: 8vh 1rem 2rem;
  box-sizing: border-box;
}
.ecp-search.is-open {
  display: flex;
  pointer-events: auto;
}
.ecp-search[hidden] {
  display: none !important;
  pointer-events: none !important;
}
.ecp-search-panel {
  width: min(720px, 100%);
  max-height: 82vh;
  overflow: auto;
  background: var(--ecp-panel, #111);
  color: var(--ecp-ink, #eee);
  border: 1px solid color-mix(in srgb, var(--ecp-ink, #eee) 18%, transparent);
  box-shadow: 0 18px 48px rgba(0, 0, 0, .35);
}
.ecp-search-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem .4rem;
}
.ecp-search-head h2 {
  margin: 0;
  font-size: 1.15rem;
}
.ecp-search-close {
  background: transparent;
  color: inherit;
  border: 1px solid color-mix(in srgb, currentColor 28%, transparent);
  padding: .4rem .7rem;
  cursor: pointer;
  font: inherit;
}
.ecp-search-form { padding: .35rem 1.15rem 1rem; }
.ecp-search-label {
  display: block;
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  opacity: .7;
  margin-bottom: .45rem;
}
.ecp-search-row {
  display: flex;
  gap: .45rem;
  align-items: stretch;
}
.ecp-search-q {
  flex: 1;
  min-width: 0;
  min-height: 2.7rem;
  padding: .65rem .8rem;
  font: inherit;
  background: var(--ecp-input, #fff);
  color: inherit;
  border: 1px solid color-mix(in srgb, currentColor 28%, transparent);
  border-radius: 0;
}
.ecp-search-go {
  padding: 0 1.1rem;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  border: 0;
  background: var(--ecp-accent, #111);
  color: var(--ecp-cta-ink, var(--ecp-panel, #fff));
}
.ecp-search-hits { padding: 0 1.15rem 1.15rem; }
.ecp-search-empty,
.ecp-search-note {
  padding: .85rem 0;
  opacity: .75;
  font-size: .92rem;
}
.ecp-search-hit {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  gap: .75rem;
  align-items: center;
  padding: .7rem 0;
  border-top: 1px solid color-mix(in srgb, currentColor 12%, transparent);
  color: inherit;
  text-decoration: none;
}
.ecp-search-hit img,
.ecp-search-hit .ecp-search-ph {
  width: 64px;
  height: 64px;
  object-fit: contain;
  background: var(--ecp-input, #111);
  display: block;
}
.ecp-search-hit .ecp-search-ph {
  opacity: .35;
}
.ecp-search-hit-tag {
  display: block;
  font-size: .68rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  opacity: .7;
  margin-bottom: .15rem;
}
.ecp-search-hit-title {
  display: block;
  font-weight: 650;
  line-height: 1.3;
}
.ecp-search-hit-price {
  font-weight: 700;
  white-space: nowrap;
}
.ecp-search-more {
  display: block;
  padding: .85rem 0 .2rem;
  font-size: .82rem;
  opacity: .7;
}

/* ----- Mobile nav: hamburger + close on content tap (scrim) ----- */
.ecp-nav-scrim {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .42);
  z-index: 70;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease, visibility .2s ease;
}
.ecp-nav-scrim.is-on {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
@media (max-width: 900px) {
  body[class*="ecp-"] .ecp-links,
  body[class*="ecp-"] .ecp-forge-links {
    display: none !important;
  }
  body[class*="ecp-"] .ecp-nav-toggle,
  body[class*="ecp-"] .ecp-forge-nav-toggle {
    display: inline-block !important;
  }
  body[class*="ecp-"] .ecp-nav,
  body[class*="ecp-"] .ecp-forge-nav {
    position: relative;
    z-index: 80;
    flex-wrap: wrap;
  }
  body[class*="ecp-"] .ecp-nav.is-open,
  body[class*="ecp-"] .ecp-forge-nav.is-open {
    z-index: 90;
  }
  body[class*="ecp-"] .ecp-nav.is-open .ecp-links,
  body[class*="ecp-"] .ecp-forge-nav.is-open .ecp-forge-links {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    z-index: 91;
    padding: 1rem 1.25rem 1.15rem;
    background: var(--ecp-panel, #111);
    color: var(--ecp-ink, #eee);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .28);
  }
  body[class*="ecp-"] .ecp-nav.is-open .ecp-links a,
  body[class*="ecp-"] .ecp-forge-nav.is-open .ecp-forge-links a {
    padding: .55rem 0;
    color: inherit;
  }
  body.ecp-vault .ecp-nav {
    flex-direction: row !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
  }
  body.ecp-vault .ecp-tools {
    position: static !important;
  }
  body.ecp-vault .ecp-brand {
    text-align: left;
    font-size: 1.25rem;
  }
  body.ecp-summit .ecp-nav {
    position: relative !important;
    top: 0 !important;
    background: #0a0a0a;
    padding: 1rem 1.25rem;
  }
  body.ecp-forge .ecp-forge-nav {
    position: relative !important;
    top: 0 !important;
    background: #000;
  }

  body[class*="ecp-"] img.ecp-logo--wide,
  body[class*="ecp-"] img.ecp-logo--unknown {
    max-height: 48px !important;
    max-width: min(210px, 58vw) !important;
  }
  body[class*="ecp-"] img.ecp-logo--square {
    width: 48px !important;
    height: 48px !important;
    max-width: 48px !important;
    max-height: 48px !important;
  }
  body[class*="ecp-"] img.ecp-logo--tall {
    max-height: 52px !important;
    max-width: 40px !important;
  }

  /* Product / catalog images: contain, don't overflow, don't balloon */
  body[class*="ecp-"] .ecp-product {
    grid-template-columns: 1fr !important;
  }
  body[class*="ecp-"] .ecp-product-gal {
    padding: 1rem !important;
    min-height: 0 !important;
    place-items: center;
  }
  body[class*="ecp-"] .ecp-product-gal img {
    max-width: 100% !important;
    max-height: 48vh !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    display: block;
    margin: 0 auto;
  }
  body[class*="ecp-"] .ecp-slider {
    height: min(48vh, 380px) !important;
    min-height: 220px;
  }
  body[class*="ecp-"] .ecp-mint-row {
    grid-template-columns: 88px minmax(0, 1fr) !important;
    align-items: center;
  }
  body[class*="ecp-"] .ecp-mint-row .ecp-media,
  body[class*="ecp-"] .ecp-mint-row img {
    width: 88px !important;
    height: 88px !important;
    max-width: 88px !important;
  }
  body[class*="ecp-"] .ecp-ingot-row {
    grid-template-columns: 72px minmax(0, 1fr) auto !important;
  }
  body[class*="ecp-"] .ecp-ingot-row .ecp-media,
  body[class*="ecp-"] .ecp-ingot-row img {
    width: 72px !important;
    height: 72px !important;
  }
  body[class*="ecp-"] .ecp-atlas-entry {
    grid-template-columns: 2rem 88px minmax(0, 1fr) !important;
  }
  body[class*="ecp-"] .ecp-atlas-entry .ecp-media,
  body[class*="ecp-"] .ecp-atlas-entry img {
    width: 88px !important;
    height: 88px !important;
  }
  body[class*="ecp-"] .ecp-media img {
    object-position: center;
  }
}
@media (max-width: 560px) {
  body[class*="ecp-"] .ecp-search-hit {
    grid-template-columns: 52px minmax(0, 1fr);
  }
  body[class*="ecp-"] .ecp-search-hit-price {
    grid-column: 2;
  }
  body[class*="ecp-"] .ecp-search-hit img,
  body[class*="ecp-"] .ecp-search-hit .ecp-search-ph {
    width: 52px;
    height: 52px;
  }
}

/* Logo size (dealer preview control; cookie ecp_logo_size) */
.ecp-logo-size { margin-left: .75rem; }
.ecp-logo-size-btn {
  background: transparent;
  color: inherit;
  border: 1px solid currentColor;
  padding: .1rem .4rem;
  margin-left: .15rem;
  cursor: pointer;
  font: inherit;
  font-size: 11px;
}
.ecp-logo-size-btn[aria-current="true"] { font-weight: 700; background: currentColor; color: #111; }
html[data-ecp-logo="sm"] body[class*="ecp-"] img.ecp-logo--wide,
html[data-ecp-logo="sm"] body[class*="ecp-"] img.ecp-logo--unknown {
  max-height: 44px !important;
  max-width: min(180px, 42vw) !important;
}
html[data-ecp-logo="sm"] body[class*="ecp-"] img.ecp-logo--square { width: 44px !important; height: 44px !important; max-width: 44px !important; max-height: 44px !important; }
html[data-ecp-logo="lg"] body[class*="ecp-"] img.ecp-logo--wide,
html[data-ecp-logo="lg"] body[class*="ecp-"] img.ecp-logo--unknown {
  max-height: 84px !important;
  max-width: min(380px, 58vw) !important;
}
html[data-ecp-logo="lg"] body[class*="ecp-"] img.ecp-logo--square { width: 80px !important; height: 80px !important; max-width: 80px !important; max-height: 80px !important; }
html[data-ecp-logo="xl"] body[class*="ecp-"] img.ecp-logo--wide,
html[data-ecp-logo="xl"] body[class*="ecp-"] img.ecp-logo--unknown {
  max-height: 104px !important;
  max-width: min(460px, 64vw) !important;
}
html[data-ecp-logo="xl"] body[class*="ecp-"] img.ecp-logo--square { width: 96px !important; height: 96px !important; max-width: 96px !important; max-height: 96px !important; }

body[class*="ecp-"] .ecp-pager-status {
  width: 100%;
  text-align: center;
  margin: 0 0 .45rem;
  font-size: .82rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .75;
  border: 0;
  min-width: 0;
  height: auto;
  padding: 0;
}

/* Coin packs: slight photo radius. Not notes (ledger / treasury / federal). */
body.ecp-forge .ecp-media,
body.ecp-vault .ecp-media,
body.ecp-ingot .ecp-media,
body.ecp-atlas .ecp-media,
body.ecp-prairie .ecp-media,
body.ecp-summit .ecp-media,
body.ecp-mint .ecp-media,
body.ecp-forge .ecp-product-gal img,
body.ecp-vault .ecp-product-gal img,
body.ecp-ingot .ecp-product-gal img,
body.ecp-atlas .ecp-product-gal img,
body.ecp-prairie .ecp-product-gal img,
body.ecp-summit .ecp-product-gal img,
body.ecp-mint .ecp-product-gal img {
  border-radius: 6px;
  overflow: hidden;
}

body.ecp-summit .ecp-slide-copy {
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%);
  text-align: center;
  max-width: min(42rem, 90vw);
  width: 90%;
}
body.ecp-summit .ecp-landing-tiles {
  text-align: center;
  justify-items: center;
}
body.ecp-summit .ecp-landing-tiles a,
body.ecp-summit .ecp-catalog-head {
  text-align: center;
}
body.ecp-summit .ecp-catalog-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .35rem;
}

.ecp-product-gal[data-ecp-gallery] {
  position: relative;
  overflow: hidden;
  touch-action: pan-y;
}
.ecp-gal-track { position: relative; min-height: 12rem; width: 100%; }
.ecp-gal-slide {
  display: none;
  margin: 0;
  place-items: center;
}
.ecp-gal-slide.is-on { display: grid; }
.ecp-gal-slide img { max-width: 100%; max-height: 70vh; object-fit: contain; }
.ecp-gal-prev, .ecp-gal-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 2.4rem;
  height: 2.4rem;
  border: 1px solid color-mix(in srgb, currentColor 35%, transparent);
  background: color-mix(in srgb, var(--ecp-panel, #111) 82%, transparent);
  color: inherit;
  cursor: pointer;
}
.ecp-gal-prev { left: .6rem; }
.ecp-gal-next { right: .6rem; }
.ecp-gal-prev::before { content: "‹"; font-size: 1.4rem; }
.ecp-gal-next::before { content: "›"; font-size: 1.4rem; }
.ecp-gal-dots {
  display: flex;
  gap: .35rem;
  justify-content: center;
  margin: .65rem 0 0;
}
.ecp-gal-dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: color-mix(in srgb, currentColor 35%, transparent);
  cursor: pointer;
}
.ecp-gal-dot.is-on { background: var(--ecp-accent, currentColor); }

.ecp-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-top: .55rem;
}
.ecp-actions button, .ecp-actions a {
  font: inherit;
  font-size: .75rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: .4rem .6rem;
  background: transparent;
  color: inherit;
  border: 1px solid color-mix(in srgb, currentColor 30%, transparent);
  cursor: pointer;
  text-decoration: none;
}
.ecp-related {
  margin: 2.5rem auto 0;
  max-width: var(--ecp-content);
  padding: 0 1.25rem 3rem;
  box-sizing: border-box;
}
.ecp-related h2 { font-size: 1.15rem; margin: 0 0 .75rem; }
.ecp-related-grid, .ecp-recent-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .85rem;
  margin: 0 0 1.75rem;
}
.ecp-related-card {
  color: inherit;
  text-decoration: none;
  display: block;
}
.ecp-related-card .ecp-media { aspect-ratio: 1; display: block; overflow: hidden; }
.ecp-related-card img { width: 100%; height: 100%; object-fit: contain; }
.ecp-related-card span { display: block; margin-top: .4rem; font-size: .88rem; }
@media (max-width: 720px) {
  .ecp-related-grid, .ecp-recent-grid { grid-template-columns: 1fr 1fr; }
}

.ecp-quick {
  position: fixed;
  inset: 0;
  z-index: 1410;
  background: rgba(0,0,0,.55);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
}
.ecp-quick.is-open { display: flex; }
.ecp-quick[hidden] { display: none !important; }
.ecp-quick-panel {
  width: min(640px, 100%);
  max-height: 88vh;
  overflow: auto;
  background: var(--ecp-panel, #111);
  color: var(--ecp-ink, #eee);
  padding: 1.15rem;
  position: relative;
}
.ecp-quick-close { position: absolute; top: .7rem; right: .7rem; }
.ecp-quick-body img { max-width: 100%; max-height: 40vh; object-fit: contain; display: block; margin: 0 auto 1rem; }

.ecp-faq { border-bottom: 1px solid color-mix(in srgb, currentColor 16%, transparent); padding: .7rem 0; }
.ecp-faq summary { cursor: pointer; font-weight: 650; }
.ecp-faq p { margin: .45rem 0 0; }

.ecp-form-err { color: #a11; font-size: .85rem; margin: .25rem 0 0; }

.ecp-catalog-tools { margin: 0 0 1.15rem; overflow: visible; }
.ecp-cats {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: .4rem;
  margin: 0 0 .75rem;
  overflow: visible;
  position: relative;
}
.ecp-cat {
  display: inline-flex;
  align-items: center;
  padding: .32rem .7rem;
  border: 1px solid color-mix(in srgb, currentColor 28%, transparent);
  text-decoration: none;
  color: inherit;
  font-size: .78rem;
  letter-spacing: .04em;
}
.ecp-cat.is-on {
  background: var(--ecp-accent, currentColor);
  color: var(--ecp-cta-ink, var(--ecp-panel, #111));
  border-color: var(--ecp-accent, currentColor);
  font-weight: 700;
}
.ecp-cat-n {
  opacity: .72;
  font-variant-numeric: tabular-nums;
  margin-left: .2rem;
}
.ecp-cat.is-on .ecp-cat-n { opacity: .9; }
.ecp-cat-status {
  margin: 0 0 .65rem;
  font-size: .88rem;
  letter-spacing: .04em;
}
.ecp-catalog-live {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
#ecp-catalog.is-loading { opacity: .55; pointer-events: none; }
.ecp-catalog-tools-row {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem .65rem;
  align-items: center;
}

/* Packs do not load Tailwind — flatten ExtraCoins toolbar so Sort by + chips share one row. */
body[class*="ecp-"] .ec-catalog-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem .65rem;
  margin: 0;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  flex: 1 1 auto;
}
body[class*="ecp-"] .ec-catalog-toolbar > div:first-child {
  display: contents;
}
body[class*="ecp-"] .ec-catalog-toolbar form {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin: 0;
  height: 2.2rem;
}
body[class*="ecp-"] .ec-catalog-toolbar label {
  margin: 0;
  height: 2.2rem;
  display: inline-flex;
  align-items: center;
  font-size: .78rem;
  letter-spacing: .04em;
  white-space: nowrap;
}
body[class*="ecp-"] .ec-catalog-avail {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem;
  margin: 0;
}
body[class*="ecp-"] #ec-catalog-sort,
body[class*="ecp-"] .ec-catalog-sort-select {
  height: 2.2rem;
  min-width: 11.5rem;
  padding: 0 .65rem;
  font: inherit;
  font-size: .82rem;
  color: inherit;
  background: var(--ecp-input, transparent);
  border: 1px solid color-mix(in srgb, currentColor 30%, transparent);
  box-sizing: border-box;
}
body[class*="ecp-"] .ec-catalog-chip {
  height: 2.2rem;
  padding: 0 .75rem;
  display: inline-flex;
  align-items: center;
}
body[class*="ecp-"] .ecp-view-btn {
  height: 2.2rem;
  display: inline-flex;
  align-items: center;
}
body[class*="ecp-"] .ec-catalog-toolbar .text-sm {
  font-size: .78rem;
  color: inherit;
  opacity: .8;
  white-space: nowrap;
  height: 2.2rem;
  display: inline-block;
  line-height: 2.2rem;
  margin: 0;
  letter-spacing: 0;
}
.ecp-view { display: flex; gap: .3rem; }
.ecp-view-btn {
  font: inherit;
  font-size: .75rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: .35rem .65rem;
  background: transparent;
  color: inherit;
  border: 1px solid color-mix(in srgb, currentColor 30%, transparent);
  cursor: pointer;
}
.ecp-view-btn.is-on {
  background: var(--ecp-accent, currentColor);
  color: var(--ecp-cta-ink, var(--ecp-panel, #111));
  border-color: var(--ecp-accent, currentColor);
  font-weight: 700;
}

.ecp-share { position: relative; display: inline-block; }
.ecp-actions { overflow: visible; }
.ecp-share-menu {
  position: absolute;
  left: 0;
  bottom: calc(100% + .35rem);
  z-index: 30;
  min-width: 11.5rem;
  display: flex;
  flex-direction: column;
  background: var(--ecp-panel, #111);
  color: var(--ecp-ink, #eee);
  border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
  box-shadow: 0 10px 28px rgba(0,0,0,.22);
}
.ecp-share-menu[hidden] { display: none !important; }
.ecp-share-menu a,
.ecp-share-menu button {
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .5rem .75rem;
  color: inherit;
  text-decoration: none;
  background: transparent;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, currentColor 12%, transparent);
  font: inherit;
  font-size: .82rem;
  cursor: pointer;
  text-align: left;
}
.ecp-share-menu a:last-child,
.ecp-share-menu button:last-child { border-bottom: 0; }
.ecp-share-x span { font-weight: 800; width: 1rem; text-align: center; }

html[data-ecp-view="list"] .ecp-forge-grid,
html[data-ecp-view="list"] .ecp-prairie-grid,
html[data-ecp-view="list"] .ecp-masonry,
html[data-ecp-view="list"] .ecp-summit-grid,
html[data-ecp-view="list"] .ecp-treasury-grid,
html[data-ecp-view="list"] .ecp-federal-grid,
html[data-ecp-view="list"] .ecp-plaza-grid {
  grid-template-columns: 1fr !important;
}
html[data-ecp-view="list"] .ecp-forge-card,
html[data-ecp-view="list"] .ecp-prairie-card,
html[data-ecp-view="list"] .ecp-vault-card,
html[data-ecp-view="list"] .ecp-summit-card,
html[data-ecp-view="list"] .ecp-treasury-card,
html[data-ecp-view="list"] .ecp-federal-card,
html[data-ecp-view="list"] .ecp-plaza-card {
  display: grid;
  grid-template-columns: minmax(110px, 160px) minmax(0, 1fr);
  gap: .85rem 1.1rem;
  align-items: start;
}
html[data-ecp-view="grid"] .ecp-mint-list,
html[data-ecp-view="grid"] .ecp-ledger-list,
html[data-ecp-view="grid"] .ecp-atlas-entries,
html[data-ecp-view="grid"] .ecp-ingot-table {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
}
html[data-ecp-view="grid"] .ecp-mint-row,
html[data-ecp-view="grid"] .ecp-ledger-row,
html[data-ecp-view="grid"] .ecp-atlas-entry,
html[data-ecp-view="grid"] .ecp-ingot-row {
  display: flex;
  flex-direction: column;
  grid-template-columns: none;
  align-items: stretch;
}
@media (max-width: 720px) {
  html[data-ecp-view="grid"] .ecp-mint-list,
  html[data-ecp-view="grid"] .ecp-ledger-list,
  html[data-ecp-view="grid"] .ecp-atlas-entries,
  html[data-ecp-view="grid"] .ecp-ingot-table {
    grid-template-columns: 1fr 1fr;
  }
}
body[class*="ecp-"] #ecShopperSignInModal { display: none !important; }

@media (max-width: 720px) {
  .ecp-gal-slide img, .ecp-gal-slide video { max-height: 48vh; }
}

.ecp-field-hint { display: block; font-size: .8rem; opacity: .7; margin: .25rem 0 0; }
.ecp-pw-reqs { list-style: none; margin: .35rem 0 1rem; padding: 0; font-size: .85rem; }
.ecp-pw-reqs li { opacity: .55; margin: .2rem 0; padding-left: 1.1rem; position: relative; }
.ecp-pw-reqs li::before { content: "○"; position: absolute; left: 0; }
.ecp-pw-reqs li.is-on { opacity: 1; }
.ecp-pw-reqs li.is-on::before { content: "●"; }

.ecp-cats-row {
  display: flex;
  flex-wrap: nowrap;
  gap: .4rem;
  overflow-x: auto;
  padding-bottom: .35rem;
  -webkit-overflow-scrolling: touch;
  flex: 1 1 auto;
  min-width: 0;
}
.ecp-cats-row .ecp-cat { flex: 0 0 auto; }
.ecp-cats-more { position: relative; flex: 0 0 auto; z-index: 20; }
.ecp-cats-more-btn,
.ecp-cats-more summary {
  list-style: none;
  cursor: pointer;
  padding: .32rem .7rem;
  border: 1px solid color-mix(in srgb, currentColor 28%, transparent);
  font: inherit;
  font-size: .78rem;
  background: transparent;
  color: inherit;
}
.ecp-cats-more summary::-webkit-details-marker { display: none; }
.ecp-cats-more-list {
  position: absolute;
  z-index: 22;
  top: calc(100% + 4px);
  right: 0;
  left: auto;
  min-width: 16rem;
  max-height: 18rem;
  overflow: auto;
  display: flex;
  flex-direction: column;
  gap: .25rem;
  padding: .55rem;
  background: var(--ecp-panel, #111);
  color: var(--ecp-ink, inherit);
  border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
  box-shadow: 0 10px 28px rgba(0,0,0,.18);
}
.ecp-cats-more-list[hidden] { display: none !important; }
.ecp-rail--scroll { max-height: min(70vh, 34rem); overflow: auto; }

.ecp-media video, .ecp-gal-slide video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.ecp-product-gal video {
  max-width: 100%;
  max-height: 78vh;
  object-fit: cover;
}

body.ecp-forge .ecp-product-gal,
body.ecp-vault .ecp-product-gal,
body.ecp-ingot .ecp-product-gal,
body.ecp-summit .ecp-product-gal,
body.ecp-federal .ecp-product-gal {
  padding: 0;
  min-height: 28rem;
}
body.ecp-forge .ecp-gal-track,
body.ecp-forge .ecp-gal-slide.is-on,
body.ecp-vault .ecp-gal-track,
body.ecp-vault .ecp-gal-slide.is-on {
  min-height: 28rem;
  height: 100%;
}
body.ecp-forge .ecp-product-gal img,
body.ecp-forge .ecp-gal-slide img,
body.ecp-forge .ecp-gal-slide video {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  border-radius: 0;
}

.ecp-nav-searchbar, .ecp-nav-findbar, .ecp-nav-utility {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  padding: .55rem 1.25rem;
  box-sizing: border-box;
}
.ecp-search-field {
  display: inline-flex !important;
  align-items: center;
  gap: .7rem;
  width: min(40rem, 100%) !important;
  min-height: 2.75rem;
  padding: .55rem .95rem !important;
  margin: 0;
  text-align: left !important;
  font: inherit !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  cursor: pointer;
  background: var(--ecp-input, #111) !important;
  color: var(--ecp-ink, inherit) !important;
  border: 1px solid color-mix(in srgb, var(--ecp-accent, currentColor) 55%, transparent) !important;
  box-shadow: none;
}
.ecp-search-field .fa {
  flex: 0 0 auto;
  opacity: .8;
  color: var(--ecp-accent, inherit);
  width: 1rem;
  text-align: center;
}
.ecp-search-field-label {
  opacity: .62;
  font-weight: 400;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ecp-nav-searchbar .ecp-search-open,
.ecp-nav-findbar .ecp-search-open {
  width: min(40rem, 100%);
  text-align: left;
}
.ecp-tool--icon {
  width: 2.4rem;
  height: 2.4rem;
  display: inline-grid;
  place-items: center;
  padding: 0;
}
.ecp-tool--ghost {
  background: transparent !important;
  border: 0 !important;
  text-decoration: underline;
  text-underline-offset: .14em;
  padding: .35rem .45rem !important;
}
body[class*="ecp-"] .ecp-account-link {
  background: var(--ecp-accent, #222) !important;
  color: var(--ecp-cta-ink, #fff) !important;
  text-decoration: none !important;
  border: 0 !important;
  min-height: 36px;
  display: inline-flex !important;
  align-items: center;
  padding: .4rem .75rem !important;
}
body[class*="ecp-"] [data-ec-cart-open],
body[class*="ecp-"] .ec-cart-open {
  background: var(--ecp-accent, #222) !important;
  color: var(--ecp-cta-ink, #fff) !important;
  border: 0 !important;
  min-height: 36px;
  display: inline-flex !important;
  align-items: center;
  padding: .4rem .75rem !important;
  text-decoration: none !important;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
}
body[class*="ecp-"] .ecp-nav-toggle,
body[class*="ecp-"] .ecp-forge-nav-toggle {
  background: var(--ecp-accent, #222) !important;
  color: var(--ecp-cta-ink, #fff) !important;
  border: 0 !important;
  min-height: 36px;
  min-width: 44px;
  padding: .4rem .7rem !important;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.ecp-tools--fill .ecp-tool { font-weight: 700; }
.ecp-foot-affil {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .7rem;
  margin: 1.25rem 0 .5rem;
  padding-top: 1rem;
  border-top: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}
.ecp-affil-box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .45rem .7rem;
  border-radius: 8px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 1px 2px rgba(0,0,0,.06);
}
.ecp-foot-affil img,
.ecp-affil-box img { height: 28px; width: auto; display: block; filter: none; }

body.ecp-mint .ecp-landing-split {
  max-width: var(--ecp-content);
  margin: 0 auto;
  width: 100%;
  align-items: stretch;
  padding: 0;
  gap: 0;
  box-sizing: border-box;
}
body.ecp-mint .ecp-landing-split .ecp-slider {
  margin: 0;
  width: 100%;
  height: min(58vh, 520px);
  min-height: 280px;
  border-radius: 0;
}
body.ecp-mint .ecp-landing-visit {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2.25rem 2rem;
}
body.ecp-prairie .ecp-nav-searchbar { background: #e8e2d4; }
body.ecp-ingot .ecp-nav-findbar {
  background: #071014;
  border-bottom: 1px solid #1c2a30;
  padding: .7rem 1.25rem .8rem;
}
body.ecp-ingot .ecp-search-field {
  background: #0a1114 !important;
  color: #e8edf2 !important;
  border-color: #3dd6c6 !important;
  font-family: "IBM Plex Sans", system-ui, sans-serif !important;
}
body.ecp-ingot .ecp-search-field .fa { color: #3dd6c6; }
body.ecp-ingot .ecp-search-panel {
  border-color: #3dd6c655;
}
#ecp-catalog.is-loading { opacity: .55; pointer-events: none; }
body.ecp-federal .ecp-nav-utility {
  justify-content: flex-end;
  background: #111;
  border-bottom: 1px solid #2a2a2a;
}

.ecp-foot--summit .ecp-foot-grid { text-align: center; justify-items: center; }
.ecp-foot--summit .ecp-foot-nav { align-items: center; }
.ecp-foot--mint .ecp-foot-affil { justify-content: flex-end; }
.ecp-foot--forge .ecp-foot-affil { border-color: rgba(212,180,90,.28); }
.ecp-foot--treasury .ecp-foot-inner { max-width: none; }
@media (max-width: 900px) {
  body.ecp-mint .ecp-landing-split { grid-template-columns: 1fr; }
}

body[class*="ecp-"] #ecShopperSignInModal,
body[class*="ecp-"] #ecPriceAlertModal,
body[class*="ecp-"] .ec-shopper-actions { display: none !important; }

#ecp-toast, #ec-shopper-toast {
  position: fixed;
  z-index: 80;
  left: 50%;
  bottom: 1.4rem;
  transform: translateX(-50%) translateY(8rem);
  background: var(--ecp-ink, #111);
  color: var(--ecp-panel, #fff);
  padding: .7rem 1.1rem;
  font-size: .9rem;
  max-width: min(28rem, 92vw);
  text-align: center;
  opacity: 0;
  pointer-events: none;
  transition: transform .25s ease, opacity .25s ease;
}
#ecp-toast.is-on, #ec-shopper-toast.is-on {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.ec-wishlist-toggle.ec-wishlist-on,
.ec-alert-toggle.ec-alert-on {
  background: var(--ecp-accent, currentColor);
  color: var(--ecp-cta-ink, var(--ecp-panel, #111));
  border-color: var(--ecp-accent, currentColor);
  font-weight: 700;
}

.ecp-sheet {
  position: fixed;
  inset: 0;
  z-index: 70;
  background: rgba(0,0,0,.5);
  display: grid;
  place-items: center;
  padding: 1.15rem;
}
.ecp-sheet[hidden] { display: none !important; }
.ecp-sheet-panel {
  width: min(34rem, 100%);
  background: var(--ecp-panel, #111);
  color: var(--ecp-ink, #eee);
  padding: 1.35rem 1.3rem 1.45rem;
  max-height: min(88vh, 42rem);
  overflow: auto;
  position: relative;
  border-radius: 12px;
  box-shadow: 0 24px 60px rgba(0,0,0,.32);
}
.ecp-sheet-close {
  position: absolute;
  top: .7rem;
  right: .7rem;
  font: inherit;
  font-size: .78rem;
  background: transparent;
  color: inherit;
  border: 1px solid color-mix(in srgb, currentColor 28%, transparent);
  padding: .25rem .55rem;
  cursor: pointer;
}
.ecp-modal-actions { display: flex; flex-wrap: wrap; gap: .45rem; }
.ecp-set-body { display: flex; flex-direction: column; gap: .75rem; }
.ecp-set-match {
  border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
  padding: .85rem .9rem;
  display: grid;
  gap: .45rem;
}
.ecp-set-match h3 { margin: 0; font-size: 1rem; }
.ecp-set-match p { margin: 0; font-size: .9rem; opacity: .88; }
.ecp-set-match-actions { display: flex; flex-wrap: wrap; gap: .4rem; }
.ecp-set-match-actions button,
.ecp-set-match-actions a {
  font: inherit;
  font-size: .82rem;
  padding: .45rem .7rem;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  background: transparent;
  border: 1px solid color-mix(in srgb, currentColor 28%, transparent);
}
.ecp-set-match-actions .is-primary {
  background: var(--ecp-accent, currentColor);
  color: var(--ecp-cta-ink, var(--ecp-panel, #111));
  border-color: var(--ecp-accent, currentColor);
  font-weight: 700;
}
.ecp-set-series-pick {
  display: grid;
  gap: .35rem;
}
.ecp-set-series-pick a {
  color: inherit;
  text-decoration: none;
  padding: .45rem .55rem;
  border: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}
.ecp-ingot-row { position: static; }
.ecp-ingot-row > .ecp-media,
.ecp-ingot-row > a.ecp-media {
  position: relative !important;
  overflow: hidden;
  isolation: isolate;
}
.ecp-ingot-row .ecp-auction-chip {
  right: 3px;
  bottom: 3px;
  font-size: .58rem;
  padding: .12rem .3rem;
  letter-spacing: .05em;
}
.ecp-auction-chip {
  position: absolute;
  top: auto;
  left: auto;
  right: .35rem;
  bottom: .35rem;
  z-index: 3;
  font-size: .62rem;
  letter-spacing: .07em;
  text-transform: uppercase;
  font-weight: 700;
  min-height: 24px;
  min-width: 24px;
  display: inline-flex;
  align-items: center;
  padding: .25rem .4rem;
  max-width: 70%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: #0b3a66;
  color: #e8f4ff;
  text-decoration: none;
}
.ecp-auction-chip.is-live { background: #8a5a00; color: #fff8e8; }
.ecp-media { position: relative; }
.ecp-auction-banner {
  margin: 0 0 1rem;
  padding: .85rem 1rem;
  border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
}
.ecp-auction-banner.is-live { border-color: #c9a227; }
.ecp-auction-banner strong { display: block; margin-bottom: .3rem; }
.ecp-auction-banner p { margin: .25rem 0 0; font-size: .9rem; }

.ecp-catalog .ecp-actions { width: 100%; }
.ecp-catalog .ecp-buy + .ecp-actions,
.ecp-catalog .ecp-instore + .ecp-actions { margin-top: .15rem; }

.ecp-setmaps-lead { max-width: 42rem; line-height: 1.5; }
.ecp-setmaps-nav, .ecp-setmaps-legend { font-size: .9rem; }
.ecp-setmaps-legend { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem 1rem; }
.ecp-setmap-swatch {
  display: inline-block;
  width: .85rem;
  height: .85rem;
  border: 1px solid color-mix(in srgb, currentColor 30%, transparent);
  vertical-align: middle;
  margin-right: .25rem;
}
.ecp-setmap-swatch.is-owned { background: #1f7a3a; border-color: #1f7a3a; }
.ecp-setmap-swatch.is-live { background: #c9a227; border-color: #c9a227; }
.ecp-setmap-swatch.is-miss { background: transparent; }
.ecp-setmap {
  margin: 1.25rem 0 1.75rem;
  padding: 1rem 1.05rem 1.15rem;
  border: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}
.ecp-setmap-head {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.25rem;
  align-items: flex-start;
  justify-content: space-between;
}
.ecp-setmap-head h2 { margin: 0 0 .25rem; font-size: 1.2rem; }
.ecp-setmap-counts { margin: 0; font-size: .9rem; opacity: .9; }
.ecp-setmap-watch { font-size: .88rem; display: flex; gap: .4rem; align-items: flex-start; max-width: 22rem; }
.ecp-setmap-bar {
  display: block;
  height: .35rem;
  background: color-mix(in srgb, currentColor 14%, transparent);
  margin: .7rem 0 .85rem;
  overflow: hidden;
}
.ecp-setmap-bar > span {
  display: block;
  height: 100%;
  background: var(--ecp-accent, currentColor);
}
.ecp-setmap-grid {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
}
.ecp-setmap-unit { display: flex; flex-direction: column; gap: .15rem; }
.ecp-setmap-cell {
  font: inherit;
  font-size: .78rem;
  min-width: 3.1rem;
  padding: .4rem .45rem;
  cursor: pointer;
  background: transparent;
  color: inherit;
  border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
}
.ecp-setmap-cell.is-owned { background: #1f7a3a; color: #f4fff6; border-color: #1f7a3a; }
.ecp-setmap-cell.is-live { background: #c9a227; color: #1a1408; border-color: #c9a227; font-weight: 700; }
.ecp-setmap-cell.is-miss { opacity: .78; }
.ecp-setmap-cell.is-busy { opacity: .45; pointer-events: none; }
.ecp-setmap-grid.is-named .ecp-setmap-cell { min-width: 9.5rem; text-align: left; padding: .5rem .65rem; }
.ecp-setmap-fill { font-size: .68rem; letter-spacing: .04em; text-transform: uppercase; color: inherit; opacity: .8; }
.ecp-setmaps-group { margin: 1.5rem 0 .65rem; font-size: 1.05rem; }
.ecp-setmaps-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
  gap: .7rem;
}
.ecp-setmaps-card {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  padding: .85rem .9rem;
  border: 1px solid color-mix(in srgb, currentColor 16%, transparent);
  color: inherit;
  text-decoration: none;
}
.ecp-setmaps-card.is-on { border-color: var(--ecp-accent, currentColor); }
.ecp-setmaps-card strong { font-size: 1rem; }
.ecp-setmaps-card span { font-size: .85rem; opacity: .85; }
.ecp-setmaps-card em { font-style: normal; font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; opacity: .75; }
.ecp-setmaps-card .ecp-setmap-bar { margin: .35rem 0 0; }

html[data-ecp-view="list"] .ecp-forge-card { position: static; }
html[data-ecp-view="list"] .ecp-forge-hit { position: relative; overflow: hidden; }
html[data-ecp-view="list"] .ecp-forge-hit .ecp-media,
html[data-ecp-view="list"] .ecp-vault-hit .ecp-media {
  aspect-ratio: 1;
  max-height: 160px;
}

.ecp-slide-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
body[class*="ecp-"] .ecp-dot {
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  position: relative;
  cursor: pointer;
}
body[class*="ecp-"] .ecp-dot::after {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 50%;
  background: rgba(255,255,255,.45);
}
body[class*="ecp-"] .ecp-dot.is-on::after { background: #fff; }

.ecp-live-find {
  position: relative;
  z-index: 30;
  flex: 1 1 22rem;
  width: min(32rem, 46vw);
  min-width: min(22rem, 90vw);
  max-width: 40rem;
}
.ecp-live-q { width: 100%; box-sizing: border-box; min-height: 2.6rem; }
.ecp-live-hits {
  position: absolute;
  top: calc(100% + 2px);
  left: auto;
  right: 0;
  z-index: 90;
  width: min(36rem, 94vw);
  min-width: 100%;
  max-height: min(70vh, 480px);
  overflow: auto;
  box-sizing: border-box;
}
.ecp-nav-findbar .ecp-live-find,
.ecp-nav-searchbar .ecp-live-find {
  width: min(48rem, 100%);
  max-width: 48rem;
  min-width: min(28rem, 100%);
  flex: 1 1 auto;
}
.ecp-nav-findbar .ecp-live-hits,
.ecp-nav-searchbar .ecp-live-hits {
  left: 0;
  right: 0;
  width: 100%;
  min-width: 0;
}
.ecp-live-row {
  display: grid;
  grid-template-columns: 56px minmax(12rem, 1fr) 6rem;
  gap: .75rem;
  align-items: start;
  text-decoration: none;
  color: inherit;
  padding: .7rem .85rem;
}
.ecp-live-row img, .ecp-live-ph { width: 56px; height: 56px; object-fit: contain; display: block; flex-shrink: 0; }
.ecp-live-row span { display: flex; flex-direction: column; min-width: 0; }
.ecp-live-row strong { display: block; font-weight: 650; line-height: 1.35; white-space: normal; }
.ecp-live-row em { font-style: normal; font-size: .78rem; opacity: .75; }
.ecp-live-row b { justify-self: end; text-align: right; white-space: nowrap; font-weight: 700; padding-top: .15rem; }
.ecp-live-note { margin: 0; padding: .75rem .9rem; font-size: .92rem; }
@media (max-width: 900px) {
  .ecp-live-find { width: 100%; min-width: 0 !important; max-width: none; flex: 1 1 100%; }
  body[class*="ecp-"] .ecp-tools { flex-wrap: wrap; max-width: 100%; }
  .ecp-live-hits { width: min(94vw, 36rem); max-width: 94vw; }
  .ecp-live-row { grid-template-columns: 48px minmax(0, 1fr) 4.75rem; gap: .55rem; padding: .55rem .65rem; }
}
body[class*="ecp-"] #ecStoreCart.offcanvas.show,
body[class*="ecp-"] #ecStoreCart.offcanvas.showing {
  visibility: visible !important;
}

/* Pack checkout — same engine IDs, pack chrome. */
.ecp-checkout {
  max-width: var(--ecp-content);
  margin: 0 auto;
  padding: 2rem 1.25rem 4rem;
  box-sizing: border-box;
}
.ecp-checkout-hero { margin: 0 0 1.5rem; max-width: 40rem; }
.ecp-checkout-hero h1 { margin: .2rem 0 .45rem; font-size: clamp(1.6rem, 3vw, 2.4rem); }
.ecp-checkout-lead { margin: 0; opacity: .82; line-height: 1.45; }
.ecp-checkout-preview {
  margin: 0 0 1.25rem;
  padding: .75rem .9rem;
  border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
  font-size: .9rem;
}
.ecp-checkout-board .bg-white,
.ecp-checkout-board .bg-emerald-50,
.ecp-checkout-board .bg-amber-50,
.ecp-checkout-board .ec-checkout-summary {
  background: var(--ecp-panel, #111) !important;
  color: var(--ecp-ink, inherit) !important;
  box-shadow: none !important;
}
.ecp-checkout-board .text-slate-500,
.ecp-checkout-board .text-slate-600,
.ecp-checkout-board .text-xs,
.ecp-checkout-board .text-sm { color: inherit !important; opacity: .82; }
.ecp-checkout-board input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
.ecp-checkout-board textarea,
.ecp-checkout-board select,
.ecp-checkout-board .ec-cardz3n-field {
  background: var(--ecp-input, #fff) !important;
  color: var(--ecp-ink, inherit) !important;
  min-height: 2.7rem;
  padding: .65rem .85rem;
  box-sizing: border-box;
}
.ecp-checkout-board button,
.ecp-checkout-board .rounded-2xl > a {
  min-height: 2.6rem;
}
.ecp-checkout-board #ec-pay-card-btn,
.ecp-checkout-board #ec-pay-plaid-btn {
  background: var(--ecp-accent, currentColor) !important;
  color: var(--ecp-cta-ink, var(--ecp-panel, #111)) !important;
  border: 0 !important;
  font-weight: 700;
}
.ecp-checkout-board .ec-checkout-line {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  padding-bottom: .75rem;
  border-bottom: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}
.ecp-checkout-board .ec-checkout-line-media,
.ecp-checkout-board .ec-checkout-line-img {
  width: 56px !important;
  height: 56px !important;
  max-width: 56px;
  object-fit: cover;
  border-radius: 0;
  flex: 0 0 56px;
}
.ecp-checkout-board .ec-checkout-line-title { color: inherit !important; }
.ecp-checkout-board .grid { display: grid; gap: 1rem; }
.ecp-checkout-board .grid-cols-1 { grid-template-columns: 1fr; }
.ecp-checkout-board .grid-cols-2 { grid-template-columns: 1fr 1fr; }
.ecp-checkout-board .space-y-6 > * + * { margin-top: 1.25rem; }
.ecp-checkout-board .space-y-4 > * + * { margin-top: 1rem; }
.ecp-checkout-board .space-y-3 > * + * { margin-top: .75rem; }
.ecp-checkout-board .space-y-1 > * + * { margin-top: .25rem; }
.ecp-checkout-board .gap-2 { gap: .5rem; }
.ecp-checkout-board .gap-3 { gap: .75rem; }
.ecp-checkout-board .gap-4 { gap: 1rem; }
.ecp-checkout-board .flex { display: flex; }
.ecp-checkout-board .flex-col { flex-direction: column; }
.ecp-checkout-board .items-center { align-items: center; }
.ecp-checkout-board .items-start { align-items: flex-start; }
.ecp-checkout-board .justify-between { justify-content: space-between; }
.ecp-checkout-board .w-full { width: 100%; }
.ecp-checkout-board .block { display: block; }
.ecp-checkout-board .hidden { display: none !important; }
.ecp-checkout-board .p-4 { padding: 1rem; }
.ecp-checkout-board .p-6 { padding: 1.25rem 1.35rem; }
.ecp-checkout-board .mb-1 { margin-bottom: .25rem; }
.ecp-checkout-board .mb-2 { margin-bottom: .45rem; }
.ecp-checkout-board .mb-3 { margin-bottom: .7rem; }
.ecp-checkout-board .mb-4 { margin-bottom: 1rem; }
.ecp-checkout-board .mt-1 { margin-top: .25rem; }
.ecp-checkout-board .mt-2 { margin-top: .5rem; }
.ecp-checkout-board .mt-3 { margin-top: .7rem; }
.ecp-checkout-board .mt-4 { margin-top: 1rem; }
.ecp-checkout-board .pt-2 { padding-top: .5rem; }
.ecp-checkout-board .pt-3 { padding-top: .7rem; }
.ecp-checkout-board .pt-4 { padding-top: 1rem; }
.ecp-checkout-board .border-t { border-top: 1px solid color-mix(in srgb, currentColor 16%, transparent); }
.ecp-checkout-board .font-semibold { font-weight: 650; }
.ecp-checkout-board .font-medium { font-weight: 550; }
.ecp-checkout-board .text-lg { font-size: 1.15rem; }
.ecp-checkout-board .text-center { text-align: center; }
.ecp-checkout-board .min-w-0 { min-width: 0; }
.ecp-checkout-board .flex-1 { flex: 1; }
.ecp-checkout-board label { display: block; }
.ecp-checkout-board label.flex { display: flex; }
@media (min-width: 640px) {
  .ecp-checkout-board .sm\:grid-cols-2 { grid-template-columns: 1fr 1fr; }
  .ecp-checkout-board .sm\:col-span-2 { grid-column: 1 / -1; }
}
@media (min-width: 1024px) {
  .ecp-checkout-board .lg\:grid-cols-12 { grid-template-columns: 1.15fr .85fr; align-items: start; }
  .ecp-checkout-board .lg\:col-span-7,
  .ecp-checkout-board .lg\:col-span-5 { grid-column: auto; }
  .ecp-checkout-board .lg\:sticky { position: sticky; top: 1rem; }
}
.ecp-thankyou-board .max-w-2xl {
  max-width: none;
  margin: 0;
  padding: 0;
  text-align: left;
}
.ecp-thankyou-board .max-w-2xl > .mx-auto.w-16,
.ecp-thankyou-board .max-w-2xl > h1,
.ecp-thankyou-board .max-w-2xl > p.mt-3 { display: none; }
.ecp-thankyou-board .bg-white,
.ecp-thankyou-board .rounded-2xl,
.ecp-thankyou-board .rounded-xl {
  background: var(--ecp-panel, #111) !important;
  color: inherit !important;
  border-radius: 0 !important;
  border-color: color-mix(in srgb, currentColor 18%, transparent) !important;
}
@media (max-width: 900px) {
  .ecp-checkout { padding-top: 1.25rem; }
}

/* Header More dropdown — sits in the same flex row as Shop / Home links */
.ecp-links,
.ecp-forge-links,
.ecp-plaza-cats {
  align-items: center;
}
.ecp-more {
  position: relative;
  display: inline-flex;
  align-items: baseline;
  z-index: 80;
  margin: 0;
  padding: 0;
  line-height: inherit;
}
.ecp-more-btn {
  appearance: none;
  background: none;
  border: 0;
  box-shadow: none;
  color: inherit;
  font: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  line-height: inherit;
  cursor: pointer;
  padding: 0;
  margin: 0;
  height: auto;
  min-height: 0;
  display: inline;
  vertical-align: baseline;
}
.ecp-more-btn::after {
  content: "";
  display: inline-block;
  width: .34em;
  height: .34em;
  margin-left: .28em;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  vertical-align: .12em;
  opacity: .8;
}
.ecp-more-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 13.5rem;
  padding: .4rem 0;
  display: none;
  flex-direction: column;
  background: var(--ecp-panel, #111);
  color: inherit;
  border: 1px solid color-mix(in srgb, currentColor 16%, transparent);
  box-shadow: 0 16px 40px rgba(0,0,0,.28);
  border-radius: 10px;
  z-index: 100;
}
#ecp-nav:has(.ecp-more.is-open),
.ecp-nav:has(.ecp-more.is-open),
.ecp-forge-nav:has(.ecp-more.is-open) {
  z-index: 80;
}
.ecp-links:has(.ecp-more.is-open),
.ecp-forge-links:has(.ecp-more.is-open),
.ecp-plaza-cats:has(.ecp-more.is-open) {
  position: relative;
  z-index: 90;
  overflow: visible;
}
.ecp-more.is-open .ecp-more-menu,
.ecp-more-menu:not([hidden]) { display: flex; }
.ecp-more-menu[hidden] { display: none !important; }
.ecp-more-menu a {
  display: block;
  padding: .7rem 1.05rem;
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
  font-size: .92rem;
  letter-spacing: 0;
  text-transform: none;
  font-weight: 600;
  line-height: 1.25;
  border: 0;
}
.ecp-more-menu a:hover,
.ecp-more-menu a:focus {
  background: color-mix(in srgb, var(--ecp-accent, currentColor) 18%, transparent);
  outline: none;
}
.ecp-more-menu a + a { border-top: 1px solid color-mix(in srgb, currentColor 10%, transparent); }

/* Category tree — top level, then non-empty children */
.ecp-catnav { position: relative; display: inline-flex; align-items: center; z-index: 120; }
.ecp-catnav-btn {
  appearance: none; background: none; border: 0; box-shadow: none;
  color: inherit; font: inherit; font-size: inherit; font-weight: inherit;
  letter-spacing: inherit; text-transform: inherit; line-height: inherit;
  cursor: pointer; padding: 0; margin: 0;
}
.ecp-catnav-btn::after {
  content: ""; display: inline-block; width: .34em; height: .34em; margin-left: .28em;
  border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg); vertical-align: .12em; opacity: .8;
}
.ecp-catnav-menu,
.ecp-catnav-sub {
  list-style: none;
  margin: 0;
  padding: .45rem 0;
  background: #fff;
  color: #1c1c1c;
  border: 1px solid rgba(28,28,28,.12);
  box-shadow: 0 18px 44px rgba(20,18,14,.16);
  border-radius: 12px;
}
.ecp-catnav-menu {
  display: none;
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  left: auto;
  z-index: 220;
  min-width: 22rem;
  max-width: min(28rem, calc(100vw - 1.5rem));
}
.ecp-catnav.is-open > .ecp-catnav-menu { display: block; }
.ecp-catnav-item { position: relative; }
.ecp-links .ecp-catnav-item > a,
.ecp-forge-links .ecp-catnav-item > a,
.ecp-plaza-cats .ecp-catnav-item > a,
.ecp-catnav-item > a {
  display: flex !important;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  padding: .72rem 1.15rem !important;
  margin: 0 !important;
  color: inherit !important;
  text-decoration: none !important;
  font-family: inherit !important;
  font-size: .95rem !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  line-height: 1.3 !important;
  white-space: nowrap;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.ecp-catnav-item > a:hover,
.ecp-catnav-item:hover > a {
  background: rgba(28,28,28,.06) !important;
}
body.ecp-forge .ecp-catnav-item > a:hover,
body.ecp-forge .ecp-catnav-item:hover > a,
body.ecp-vault .ecp-catnav-item > a:hover,
body.ecp-vault .ecp-catnav-item:hover > a,
body.ecp-summit .ecp-catnav-item > a:hover,
body.ecp-summit .ecp-catnav-item:hover > a,
body.ecp-ingot .ecp-catnav-item > a:hover,
body.ecp-ingot .ecp-catnav-item:hover > a {
  background: rgba(255,255,255,.1) !important;
}
.ecp-catnav-n {
  font-size: .7rem !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  opacity: .55;
  flex: 0 0 auto;
  min-width: 1.6rem;
  text-align: right;
}
.ecp-catnav-item.has-kids > a::after {
  content: "";
  width: .38em;
  height: .38em;
  flex: 0 0 auto;
  margin-left: .15rem;
  border-right: 1.6px solid currentColor;
  border-bottom: 1.6px solid currentColor;
  transform: rotate(-45deg);
  opacity: .45;
}
.ecp-catnav-sub {
  display: none;
  position: absolute;
  top: 0;
  left: auto;
  right: 100%;
  z-index: 230;
  min-width: 18rem;
  margin-right: 4px;
}
.ecp-catnav-item.has-kids:hover > .ecp-catnav-sub,
.ecp-catnav-item.has-kids:focus-within > .ecp-catnav-sub,
.ecp-catnav-item.has-kids.is-open > .ecp-catnav-sub { display: block; }
.ecp-catnav-bar {
  display: flex; flex-wrap: wrap; align-items: center; gap: inherit;
  list-style: none; margin: 0; padding: 0;
}
.ecp-catnav-bar > .ecp-catnav-item > .ecp-catnav-sub {
  left: 0; right: auto; top: calc(100% + 8px); margin-right: 0;
}
body.ecp-mint .ecp-catnav-menu, body.ecp-mint .ecp-catnav-sub,
body.ecp-plaza .ecp-catnav-menu, body.ecp-plaza .ecp-catnav-sub,
body.ecp-prairie .ecp-catnav-menu, body.ecp-prairie .ecp-catnav-sub,
body.ecp-atlas .ecp-catnav-menu, body.ecp-atlas .ecp-catnav-sub {
  background: #fff; color: #111; box-shadow: 0 16px 40px rgba(15,23,42,.16);
}
body.ecp-forge .ecp-catnav-menu, body.ecp-forge .ecp-catnav-sub,
body.ecp-vault .ecp-catnav-menu, body.ecp-vault .ecp-catnav-sub,
body.ecp-summit .ecp-catnav-menu, body.ecp-summit .ecp-catnav-sub,
body.ecp-ingot .ecp-catnav-menu, body.ecp-ingot .ecp-catnav-sub {
  background: #111; color: #f5f0e6;
}
body.ecp-ledger .ecp-catnav-menu, body.ecp-ledger .ecp-catnav-sub,
body.ecp-treasury .ecp-catnav-menu, body.ecp-treasury .ecp-catnav-sub,
body.ecp-federal .ecp-catnav-menu, body.ecp-federal .ecp-catnav-sub {
  background: #f7f3ea; color: #1c1910;
}
#ecp-nav:has(.ecp-catnav.is-open),
.ecp-nav:has(.ecp-catnav.is-open),
.ecp-forge-nav:has(.ecp-catnav.is-open),
.ecp-plaza-cats:has(.ecp-catnav-item.is-open),
.ecp-plaza-cats:has(.ecp-catnav-item:hover) {
  z-index: 80;
}
body.ecp-forge .ecp-more-menu,
body.ecp-vault .ecp-more-menu,
body.ecp-summit .ecp-more-menu,
body.ecp-ingot .ecp-more-menu {
  background: #111;
  color: #f5f0e6;
}
body.ecp-mint .ecp-more-menu,
body.ecp-plaza .ecp-more-menu,
body.ecp-prairie .ecp-more-menu,
body.ecp-atlas .ecp-more-menu {
  background: #fff;
  color: #111;
  box-shadow: 0 16px 40px rgba(15,23,42,.16);
}
body.ecp-ledger .ecp-more-menu,
body.ecp-treasury .ecp-more-menu,
body.ecp-federal .ecp-more-menu {
  background: #f7f3ea;
  color: #1c1910;
}
@media (max-width: 900px) {
  #ecp-nav.is-open .ecp-more,
  .ecp-nav.is-open .ecp-more,
  .ecp-forge-nav.is-open .ecp-more {
    display: block;
    width: 100%;
  }
  #ecp-nav.is-open .ecp-more-btn,
  .ecp-nav.is-open .ecp-more-btn,
  .ecp-forge-nav.is-open .ecp-more-btn {
    width: 100%;
    justify-content: flex-start;
    padding: .65rem 0;
  }
  #ecp-nav.is-open .ecp-more-menu,
  .ecp-nav.is-open .ecp-more-menu,
  .ecp-forge-nav.is-open .ecp-more-menu {
    position: static;
    min-width: 0;
    box-shadow: none;
    border: 0;
    background: transparent;
    padding: 0 0 .4rem 0.75rem;
  }
}
