:root {
  --bg: #f4f6f3;
  --panel: #fff;
  --ink: #1d211f;
  --muted: #65706a;
  --line: #dce3dd;
  --accent: #0f766e;
  --accent-dark: #164e47;
  --danger: #a33a2b;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: "Segoe UI", Arial, sans-serif;
}
button, input, select, textarea { font: inherit; }
button {
  border: 1px solid var(--line);
  background: #fff;
  padding: 8px 11px;
  cursor: pointer;
}
.primary {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}
.danger {
  color: #fff;
  background: var(--danger);
  border-color: var(--danger);
}
.layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  min-height: 100vh;
}
.side {
  background: #18221f;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  margin-bottom: 18px;
}
.brand span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  background: #294b43;
}
.side a {
  color: #dce6e2;
  text-decoration: none;
  padding: 10px;
}
.side a.active, .side a:hover { background: #294b43; }
.side-button {
  color: #dce6e2;
  background: transparent;
  border-color: rgba(255, 255, 255, 0.18);
  text-align: left;
}
.nav-button.active, .nav-button:hover { background: #294b43; }
.user-badge {
  color: #c8d7d1;
  background: #22312d;
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: 10px;
  font-size: 13px;
}
main { padding: 24px; }
.topbar {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: start;
  margin-bottom: 18px;
}
h1 { margin: 0; font-size: 30px; }
p { color: var(--muted); }
.panel {
  background: var(--panel);
  border: 1px solid var(--line);
}
.hidden { display: none !important; }
.upload-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
  margin-bottom: 14px;
}
.ck-panel {
  display: grid;
  gap: 12px;
  padding: 14px;
  margin-bottom: 14px;
}
.ck-head, .ck-actions, .ck-item-head, .ck-item-actions {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}
.ck-option {
  display: flex;
  grid-template-columns: none;
  gap: 8px;
  align-items: center;
  color: var(--ink);
  font-size: 13px;
}
.ck-option input {
  width: auto;
}
.ck-panel p {
  margin: 4px 0 0;
}
.ck-panel textarea {
  width: 100%;
  min-height: 110px;
  resize: vertical;
  border: 1px solid var(--line);
  padding: 10px;
}
.ck-queue {
  display: grid;
  gap: 10px;
}
.ck-item {
  border: 1px solid var(--line);
  background: #f8faf8;
  padding: 12px;
}
.ck-item-head span {
  color: var(--muted);
  font-size: 12px;
}
.ck-item pre {
  white-space: pre-wrap;
  overflow-x: auto;
  background: #fff;
  border: 1px solid var(--line);
  padding: 10px;
  margin: 10px 0;
}
.upload-panel p {
  margin: 4px 0 0;
}
.upload-form {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 0;
}
.filters {
  display: flex;
  gap: 10px;
  padding: 14px;
  border-bottom: 1px solid var(--line);
}
.filters input, .store-tools input {
  min-width: 280px;
  border: 1px solid var(--line);
  padding: 10px;
}
.table-wrap { overflow-x: auto; }
table {
  width: 100%;
  border-collapse: collapse;
}
th, td {
  border-bottom: 1px solid var(--line);
  padding: 10px;
  text-align: left;
  vertical-align: top;
}
th {
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
}
.th-button {
  border: 0;
  background: transparent;
  color: var(--muted);
  padding: 0;
  text-transform: uppercase;
  font-size: 12px;
}
.column-filters th {
  background: #f8faf8;
  padding-top: 6px;
}
.column-filters input,
.column-filters select {
  width: 100%;
  min-width: 82px;
  border: 1px solid var(--line);
  padding: 6px;
  color: var(--ink);
  font-size: 12px;
  text-transform: none;
}
.column-filters button {
  width: 100%;
  padding: 6px;
  font-size: 12px;
}
td small {
  display: block;
  color: var(--muted);
  margin-top: 4px;
}
.mini {
  width: 88px;
  border: 1px solid var(--line);
  padding: 6px;
}
dialog {
  width: min(900px, calc(100vw - 28px));
  border: 0;
  padding: 0;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.26);
}
dialog::backdrop { background: rgba(0, 0, 0, 0.35); }
form { padding: 18px; }
.dialog-head, .dialog-actions {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
}
.dialog-actions {
  grid-template-columns: auto 1fr auto auto;
  margin-top: 16px;
}
.form-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 16px;
}
label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 12px;
}
label input, label select, label textarea {
  width: 100%;
  border: 1px solid var(--line);
  padding: 9px;
  color: var(--ink);
}
.wide { grid-column: span 3; }
.empty {
  color: var(--muted);
  padding: 18px;
}
.binder-upload {
  display: grid;
  gap: 14px;
  padding: 14px;
  margin-bottom: 14px;
}
.binder-upload p,
.panel-head p {
  margin: 4px 0 0;
}
.binder-upload-form {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(240px, 1fr) auto;
  gap: 10px;
  align-items: end;
  padding: 0;
}
.binder-layout {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 14px;
}
.binder-list,
.binder-detail {
  min-height: 340px;
}
.panel-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: start;
  padding: 14px;
  border-bottom: 1px solid var(--line);
}
.collection-list {
  display: grid;
}
.collection-item {
  display: grid;
  gap: 4px;
  width: 100%;
  border: 0;
  border-bottom: 1px solid var(--line);
  text-align: left;
  padding: 12px 14px;
}
.collection-item.active {
  background: #eef5f2;
  border-left: 4px solid var(--accent);
}
.collection-item span {
  color: var(--muted);
  font-size: 12px;
}
.binder-thumb {
  width: 58px;
  height: 82px;
  object-fit: cover;
  border: 1px solid var(--line);
  background: #f1f4f0;
}
.binder-edit {
  border: 1px solid var(--line);
  padding: 6px;
  font-size: 12px;
  color: var(--ink);
  background: #fff;
}
.wide-edit {
  width: min(220px, 100%);
}
.short-edit {
  width: 82px;
  margin-top: 5px;
}
.tiny-edit {
  width: 64px;
}
.empty-thumb {
  display: grid;
  place-items: center;
  color: var(--muted);
  font-size: 11px;
  text-align: center;
}
.placeholder-panel {
  padding: 24px;
  color: var(--muted);
}
.login-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 18px;
}
.login-card {
  width: min(440px, 100%);
  background: var(--panel);
  border: 1px solid var(--line);
  padding: 24px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.13);
}
.login-brand {
  color: var(--ink);
  margin-bottom: 18px;
}
.login-form {
  display: grid;
  gap: 12px;
  padding: 0;
  margin-top: 16px;
}
.error {
  color: var(--danger);
  min-height: 22px;
}
.demo-logins {
  display: grid;
  gap: 4px;
  color: var(--muted);
  background: #f1f4f0;
  padding: 12px;
}
.store-page { background: #f6f3ed; color: #24201e; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.shop-notice { background: #2b2522; color: #f5ead5; text-align: center; padding: 7px 16px; font-size: 12px; letter-spacing: .04em; }
.shop-header { background: #741f2b; color: #fff; box-shadow: 0 2px 8px rgba(40, 20, 16, .18); }
.shop-header-inner { max-width: 1240px; margin: auto; padding: 18px 24px; display: grid; grid-template-columns: auto minmax(280px, 1fr) auto; gap: 34px; align-items: center; }
.shop-logo { display: flex; gap: 11px; align-items: center; color: #fff; text-decoration: none; min-width: 210px; }
.shop-logo-mark { display: grid; place-items: center; width: 48px; height: 48px; border: 2px solid #d8b46a; border-radius: 50%; color: #f2d99c; font-family: Georgia, serif; font-weight: 700; }
.shop-logo strong { display: block; font: 700 24px/1 Georgia, serif; }
.shop-logo small { display: block; margin-top: 5px; color: #e6c88d; font-size: 9px; letter-spacing: .2em; }
.shop-search { position: relative; display: block; }
.shop-search input { width: 100%; height: 44px; border: 0; border-radius: 2px; padding: 0 45px 0 15px; color: #282220; background: #fff; }
.shop-search > span:last-child { position: absolute; right: 15px; top: 7px; color: #741f2b; font-size: 25px; }
.search-suggestions { position: absolute; z-index: 30; top: calc(100% + 7px); left: 0; right: 0; max-height: min(520px, 70vh); overflow-y: auto; border: 1px solid #d3c5ba; border-radius: 8px; background: #fff; box-shadow: 0 14px 34px rgba(37, 24, 19, .24); }
.search-suggestions[hidden] { display: none; }
.search-suggestion { width: 100%; display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; align-items: center; gap: 11px; min-height: 64px; padding: 8px 12px; border: 0; border-bottom: 1px solid #eee6df; background: #fff; color: #282220; text-align: left; cursor: pointer; }
.search-suggestion:last-child { border-bottom: 0; }
.search-suggestion:hover, .search-suggestion:focus-visible { background: #f8f2eb; outline: 0; }
.search-suggestion img { width: 42px; height: 56px; border-radius: 3px; object-fit: cover; }
.search-suggestion-copy { min-width: 0; }
.search-suggestion-copy strong, .search-suggestion-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.search-suggestion-copy strong { font-size: 14px; }
.search-suggestion-copy small { margin-top: 4px; color: #776d66; font-size: 11px; }
.search-suggestion-stock { border-radius: 999px; padding: 5px 8px; background: #e8f4e9; color: #276333; font-size: 10px; font-weight: 800; text-transform: uppercase; white-space: nowrap; }
.search-suggestion-stock.out { background: #eeeae6; color: #6e6660; }
.search-suggestion-empty { margin: 0; padding: 17px; color: #716861; text-align: center; }
.shop-account { display: flex; gap: 12px; align-items: center; }
.shop-account a { color: #fff; text-decoration: none; font-size: 13px; }
.cart-button { border: 1px solid #d8b46a; background: #5e1722; color: #fff; border-radius: 2px; padding: 9px 12px; }
.cart-button span { display: inline-grid; place-items: center; min-width: 21px; height: 21px; margin-left: 5px; border-radius: 50%; background: #e1bd73; color: #4a1019; font-weight: 700; }
.shop-nav { background: #5d1721; border-top: 1px solid rgba(255,255,255,.12); }
.shop-nav-inner { max-width: 1240px; margin: auto; padding: 0 24px; display: flex; align-items: center; min-height: 43px; }
.nav-category { align-self: stretch; border: 0; border-right: 1px solid rgba(255,255,255,.12); background: transparent; color: #f7e9df; padding: 0 18px; font-weight: 600; }
.nav-category:first-child { border-left: 1px solid rgba(255,255,255,.12); }
.nav-category:hover, .nav-category.active { background: #8c2937; color: #fff; }
.nav-spacer { flex: 1; }
.shop-nav-inner > span:last-child { color: #d9bd84; font-size: 12px; }
.catalog-shell { max-width: 1240px; margin: 0 auto; padding: 28px 24px 60px; }
.shop-hero { position: relative; overflow: hidden; min-height: 270px; padding: 45px 48px; display: grid; grid-template-columns: minmax(0, 600px) 1fr; align-items: center; background: linear-gradient(120deg, #2a2523 0%, #45362d 58%, #7a2630 100%); color: #fff; box-shadow: 0 8px 24px rgba(52, 32, 25, .16); }
.hero-media { position: absolute; inset: 0; z-index: 0; background-position: center; background-size: cover; opacity: 1; }
.hero-media video { width: 100%; height: 100%; object-fit: cover; }
.shop-hero > div:not(.hero-media) { position: relative; z-index: 1; }
.shop-hero:after { content: ""; position: absolute; inset: 0; opacity: .12; background-image: radial-gradient(#fff 1px, transparent 1px); background-size: 18px 18px; pointer-events: none; }
.eyebrow { display: block; color: #a7762f; font-size: 11px; font-weight: 800; letter-spacing: .17em; }
.shop-hero .eyebrow { color: #e4c783; }
.shop-hero h1 { margin: 7px 0 13px; max-width: 570px; font: 700 clamp(34px, 4vw, 50px)/1.04 Georgia, serif; }
.shop-hero p { max-width: 580px; margin: 0 0 22px; color: #e8dfd8; line-height: 1.6; }
.shop-hero button { position: relative; z-index: 1; border: 0; background: #d4ad62; color: #321d17; padding: 12px 18px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.search-engaged .shop-hero { display: none; }
.search-engaged .catalog-heading { scroll-margin-top: 18px; }
.hero-cards { position: relative; height: 210px; }
.hero-cards span { position: absolute; top: 18px; right: 78px; width: 128px; height: 182px; border: 5px solid #d8c8ad; border-radius: 8px; background: linear-gradient(145deg, #171b2b, #445572); box-shadow: 0 14px 24px rgba(0,0,0,.35); transform: rotate(7deg); }
.hero-cards span:after { content: "CG"; position: absolute; inset: 28px 18px; display: grid; place-items: center; border: 2px solid #b89351; border-radius: 50%; color: #d9bd84; font: 700 28px Georgia, serif; }
.hero-cards span:nth-child(2) { right: 137px; transform: rotate(-4deg); background: linear-gradient(145deg, #2a1517, #8a3433); }
.hero-cards span:nth-child(3) { right: 22px; transform: rotate(16deg); background: linear-gradient(145deg, #17261c, #3b6848); }
.catalog-heading { position: relative; display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-top: 30px; padding: 22px 24px 20px; overflow: hidden; border: 1px solid #ded4ca; border-bottom: 3px solid #741f2b; border-radius: 10px 10px 0 0; background: linear-gradient(115deg, #fff 0%, #fbf8f3 72%, #f1e7da 100%); box-shadow: 0 5px 18px rgba(47,35,29,.07); }
.catalog-heading:after { content: ""; position: absolute; top: -38px; right: 18%; width: 120px; height: 120px; border: 1px solid rgba(116,31,43,.08); border-radius: 50%; box-shadow: 0 0 0 18px rgba(116,31,43,.025), 0 0 0 36px rgba(116,31,43,.018); pointer-events: none; }
.catalog-heading > * { position: relative; z-index: 1; }
.catalog-heading h2 { margin: 4px 0 0; color: #352c28; font: 700 29px Georgia, serif; letter-spacing: -.015em; }
.catalog-heading-actions { display: flex; align-items: center; gap: 12px; color: #71655e; font-size: 13px; }
#storeCount { display: inline-flex; align-items: center; min-height: 32px; padding: 5px 10px; border: 1px solid #ded2c7; border-radius: 999px; background: rgba(255,255,255,.82); color: #584c45; font-weight: 700; }
.mobile-filter-toggle { display: none; align-items: center; gap: 7px; border: 1px solid #741f2b; background: #fff; color: #741f2b; padding: 9px 12px; font-weight: 800; }
.mobile-catalog-toolbar { display: none; }
.filter-count { display: inline-grid; place-items: center; min-width: 20px; height: 20px; border-radius: 50%; background: #741f2b; color: #fff; font-size: 11px; }
.catalog-layout { display: grid; grid-template-columns: 232px minmax(0, 1fr); gap: 24px; padding-top: 22px; }
.catalog-filters { align-self: start; overflow: hidden; background: #fff; border: 1px solid #d8cec4; border-radius: 9px; box-shadow: 0 5px 18px rgba(47,35,29,.06); }
.filter-title { display: flex; justify-content: space-between; align-items: center; min-height: 51px; padding: 14px 16px; background: linear-gradient(115deg, #332c28, #4a3a33); color: #fff; }
.filter-title strong { font: 700 16px Georgia, serif; letter-spacing: .01em; }
.filter-title button { border: 0; border-radius: 4px; padding: 5px 7px; background: rgba(255,255,255,.08); color: #f0d58e; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.filter-title button:hover { background: rgba(255,255,255,.15); color: #fff1c4; }
.catalog-filters > label { padding: 12px 14px; border-bottom: 1px solid #ebe4dc; color: #4a413c; font-size: 11px; font-weight: 800; letter-spacing: .025em; text-transform: uppercase; }
.catalog-filters select { min-height: 38px; margin-top: 6px; border-color: #d6cdc3; border-radius: 5px; background: #fcfbf9; color: #3f3732; font-size: 12px; text-transform: none; transition: border-color .15s ease, box-shadow .15s ease, background .15s ease; }
.catalog-filters select:hover { border-color: #b9a99b; background: #fff; }
.catalog-filters select:focus-visible { border-color: #9e3746; outline: 0; box-shadow: 0 0 0 3px rgba(212,173,98,.32); background: #fff; }
.price-filter { margin: 0; padding: 12px 14px; border: 0; border-bottom: 1px solid #ebe4dc; color: #4a413c; }
.price-filter legend { padding: 0; font-size: 11px; font-weight: 800; letter-spacing: .025em; text-transform: uppercase; }
.price-filter div { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 7px; }
.price-filter label { padding: 0; border: 0; }
.price-filter select { width: 100%; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.service-note { margin: 14px; padding: 14px; border: 1px solid #e2d4c1; border-left: 3px solid #b4863f; border-radius: 5px; background: linear-gradient(135deg, #f8f3eb, #f1e8db); font-size: 13px; }
.service-note p { margin: 6px 0 0; color: #6e625a; line-height: 1.45; }
.results-toolbar { min-height: 51px; margin-bottom: 14px; padding: 9px 12px 9px 16px; display: flex; justify-content: space-between; align-items: center; gap: 20px; background: linear-gradient(90deg, #fff, #f8f4ef); border: 1px solid #d8cec4; border-left: 4px solid #741f2b; border-radius: 8px; box-shadow: 0 3px 12px rgba(47,35,29,.055); color: #675c55; font-size: 13px; }
#resultSummary { color: #4d433d; font-weight: 700; }
.results-toolbar label { display: flex; grid-template-columns: auto auto; align-items: center; gap: 8px; color: #675c55; }
.results-toolbar select { min-height: 34px; border: 1px solid #d0c5ba; border-radius: 5px; background: #fff; padding: 6px 30px 6px 9px; color: #403732; font-weight: 600; }
.results-toolbar select:focus-visible { border-color: #9e3746; outline: 0; box-shadow: 0 0 0 3px rgba(212,173,98,.32); }
.active-filter-chips { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: -2px 0 14px; color: #675c55; font-size: 12px; }
.active-filter-chips[hidden] { display: none; }
.active-filter-chips > span { font-weight: 800; }
.active-filter-chips button { display: inline-flex; align-items: center; gap: 4px; max-width: 100%; border: 1px solid #cdbfc0; border-radius: 999px; background: #fff; color: #5f1722; padding: 6px 9px; cursor: pointer; }
.active-filter-chips button:hover { border-color: #741f2b; background: #f7edef; }
.active-filter-chips button:focus-visible { outline: 3px solid #e4c783; outline-offset: 2px; }
.active-filter-chips button span { font-size: 16px; line-height: 10px; }
.product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(185px, 1fr)); align-items: stretch; gap: 12px; }
.catalog-pager { display: flex; justify-content: center; align-items: center; gap: 14px; padding: 26px 0 8px; color: #675c55; font-size: 13px; }
.catalog-pager[hidden] { display: none; }
.catalog-pager button { border: 1px solid #741f2b; background: #741f2b; color: #fff; padding: 10px 16px; font-weight: 800; cursor: pointer; }
.catalog-pager button:hover { background: #5f1722; }
.store-card { width: 100%; min-width: 0; max-width: 100%; overflow: hidden; display: grid; grid-template-rows: auto 1fr; background: #fff; border: 1px solid #d8cfc5; border-radius: 10px; box-shadow: 0 3px 10px rgba(47,35,29,.07); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.store-card:hover { transform: translateY(-3px); border-color: #c6b7aa; box-shadow: 0 12px 28px rgba(47,35,29,.14); }
.art { position: relative; width: 100%; min-width: 0; max-width: 100%; aspect-ratio: 1 / 1.08; display: grid; place-items: center; overflow: hidden; border-bottom: 1px solid #e3dbd2; background: radial-gradient(circle at 50% 38%, #fff 0, #f2eee8 48%, #e2d9cf 100%); }
.art img { display: block; width: auto; height: auto; max-width: 86%; max-height: 88%; object-fit: contain; border-radius: 3.5%; filter: drop-shadow(0 9px 9px rgba(37,28,24,.24)); transition: transform .2s ease, filter .2s ease; }
.store-card:hover .art img { transform: scale(1.015); filter: drop-shadow(0 11px 12px rgba(37,28,24,.3)); }
.art-placeholder { display: grid; place-items: center; width: 66%; aspect-ratio: 5 / 7; border: 5px solid #dacdbf; border-radius: 8px; background: linear-gradient(145deg, #292323, #73404a); color: #e7cb8c; box-shadow: 0 9px 18px rgba(0,0,0,.24); }
.art-placeholder small { font-size: 8px; color: #e7ddd4; }
.stock-badge { position: absolute; right: 7px; bottom: 7px; padding: 4px 7px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: rgba(44,38,35,.9); color: #fff; font-size: 8px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; box-shadow: 0 3px 9px rgba(0,0,0,.18); }
.store-card-body { min-width: 0; overflow: hidden; display: grid; grid-template-rows: auto auto auto 1fr auto; padding: 10px; }
.product-kind { color: #8c2937; font-size: 8px; font-weight: 800; letter-spacing: .12em; }
.store-card { cursor: pointer; }
.store-card:hover { transform: translateY(-3px); border-color: #c5aa78; box-shadow: 0 12px 28px rgba(58, 42, 34, .14); }
.store-card:focus-visible { outline: 3px solid #d4ad62; outline-offset: 3px; }
.store-card h3 { min-width: 0; min-height: 34px; margin: 4px 0 1px; overflow: hidden; overflow-wrap: anywhere; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font: 700 15px/1.15 Georgia, serif; }
.product-title-button { border: 0; padding: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.product-title-button:hover { color: #741f2b; text-decoration: underline; text-underline-offset: 3px; }
.product-title-button:focus-visible { border-radius: 2px; outline: 3px solid #d4ad62; outline-offset: 3px; }
.set-line { min-height: 15px; margin: 0 0 7px; color: #756a63; font-size: 10px; }
.product-details { min-width: 0; display: flex; flex-wrap: wrap; align-content: flex-start; gap: 4px; margin-bottom: 9px; }
.product-details span { padding: 3px 6px; border: 1px solid #e1d8cf; border-radius: 999px; background: #f5f1ec; color: #554b45; font-size: 8px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
.catalog-card-cart-status { display: flex; justify-content: space-between; gap: 6px; margin: -1px 0 8px; border-top: 1px solid #e6ddd4; padding-top: 7px; color: #655a53; font-size: 9px; line-height: 1.3; }
.catalog-card-cart-status[hidden] { display: none; }
.catalog-cart-summary { min-width: 0; display: grid; gap: 1px; }
.catalog-card-cart-status strong { color: #741f2b; font-size: 10px; }
.catalog-card-cart-status .catalog-cart-summary > span { text-align: left; }
.catalog-card-cart-status.at-stock-limit,
.catalog-card-cart-status.at-stock-limit strong { color: #4a6b36; }
.catalog-view-cart { align-self: center; flex: 0 0 auto; border: 1px solid currentColor; border-radius: 4px; padding: 4px 6px; background: #fff; color: #4a6b36; font: inherit; font-weight: 800; cursor: pointer; }
.catalog-view-cart:hover { background: #eef7e9; }
.catalog-view-cart:focus-visible { outline: 3px solid #d4ad62; outline-offset: 2px; }
.store-card.cart-stock-limit { border-color: #b9cfae; }
.card-bottom { min-width: 0; display: flex; justify-content: space-between; gap: 7px; align-items: end; padding-top: 8px; border-top: 1px solid #e9e2da; }
.card-bottom div { display: grid; gap: 2px; }
.card-bottom small { color: #7a6e67; font-size: 9px; text-transform: uppercase; }
.card-bottom strong { color: #741f2b; font-size: 16px; letter-spacing: -.01em; }
.card-bottom button { min-height: 30px; border: 0; border-radius: 5px; background: #741f2b; color: #fff; padding: 6px 8px; font-size: 10px; font-weight: 800; }
.card-bottom button:hover { background: #54131c; }
.card-bottom button:focus-visible { outline: 3px solid #d4ad62; outline-offset: 2px; }
.card-bottom button:disabled { background: #aaa19b; cursor: not-allowed; }
.catalog-empty { grid-column: 1 / -1; min-height: 220px; display: grid; place-content: center; gap: 7px; text-align: center; background: #fff; border: 1px solid #ddd4ca; }
.catalog-empty strong { color: #3a312d; font: 700 22px Georgia, serif; }
.catalog-empty button { justify-self: center; margin-top: 8px; border: 1px solid #741f2b; background: #fff; color: #741f2b; padding: 9px 13px; font-weight: 800; }
.catalog-empty button:hover { background: #741f2b; color: #fff; }
.catalog-loading, .catalog-error { grid-column: 1 / -1; background: #fff; border: 1px solid #ddd4ca; }
.store-assurances { border-top: 1px solid #ded4ca; background: #fffdf9; }
.order-lookup { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(480px, 1.3fr); gap: 18px 54px; max-width: 1192px; margin: 0 auto; padding: 44px 24px; }
.order-lookup-copy h2 { margin: 6px 0 8px; color: #4e1520; font: 700 30px/1.1 Georgia, serif; }
.order-lookup-copy p { max-width: 410px; margin: 0; color: #74665e; font-size: 13px; line-height: 1.55; }
.order-lookup-form { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 12px; }
.order-lookup-actions { display: grid; gap: 6px; }
.order-lookup-form label { display: grid; gap: 6px; color: #584942; font-size: 11px; font-weight: 850; }
.phone-help { color: #7b6d65; font-size: 10px; font-weight: 650; line-height: 1.35; }
.order-lookup-form input { width: 100%; min-height: 44px; border: 1px solid #d1c3b8; border-radius: 5px; padding: 10px 11px; background: #fff; color: #342b27; font: inherit; box-sizing: border-box; }
.order-lookup-form input:focus { border-color: #9e3746; outline: 0; box-shadow: 0 0 0 3px rgba(158,55,70,.12); }
.order-lookup-form [aria-invalid="true"] { border-color: #a32838; background: #fffafb; box-shadow: 0 0 0 3px rgba(163,40,56,.1); }
.order-lookup-form button { min-height: 44px; border: 0; border-radius: 5px; padding: 11px 18px; background: #741f2b; color: #fff; font-weight: 850; cursor: pointer; }
.order-lookup-form button:disabled { cursor: wait; opacity: .65; }
.order-lookup-form .order-lookup-clear { min-height: 32px; border: 1px solid #c9b9ad; padding: 6px 10px; background: #fff; color: #6d5b52; font-size: 10px; }
.order-lookup-form .order-lookup-clear:hover:not(:disabled), .order-lookup-form .order-lookup-clear:focus-visible { border-color: #741f2b; background: #fff7f7; color: #741f2b; }
.order-lookup-form .order-lookup-clear:disabled { cursor: not-allowed; opacity: .45; }
.order-lookup-status, .order-lookup-result { grid-column: 2; }
.order-lookup-status { min-height: 0; margin: 0; border-radius: 5px; font-size: 12px; font-weight: 800; }
.order-lookup-status:empty { display: none; }
.order-lookup-pending, .order-lookup-error, .order-lookup-success, .order-lookup-stale { padding: 9px 11px; border: 1px solid; }
.order-lookup-pending { border-color: #dfd0c2; background: #faf3e8; color: #66574f; }
.order-lookup-error { border-color: #e2b9be; background: #fff2f3; color: #8e2634; }
.order-lookup-success { border-color: #b7d5c3; background: #eff9f3; color: #286140; }
.order-lookup-stale { border-color: #dfc487; background: #fff8e9; color: #785116; }
.order-lookup-retry { margin-left: 10px; border: 1px solid currentColor; border-radius: 4px; padding: 5px 8px; background: #fff; color: inherit; font: inherit; cursor: pointer; }
.order-lookup-retry:hover { background: #fff8f8; }
.order-lookup-retry:focus-visible { outline: 3px solid #d4ad62; outline-offset: 2px; }
.order-lookup-result { overflow: hidden; border: 1px solid #dacbbb; border-radius: 8px; background: #fffdf9; box-shadow: 0 10px 28px rgba(75,48,34,.08); }
.order-lookup-result-stale { border-color: #d2a14b; background: #fffbf2; }
.order-lookup-result-stale::before { content: "OUTDATED RESULT — CHECK AGAIN"; display: block; padding: 8px 17px; background: #f6e4bd; color: #6f4811; font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.order-lookup-result:focus { outline: 3px solid rgba(212,173,98,.55); outline-offset: 3px; }
.lookup-result-head { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 15px 17px; background: linear-gradient(135deg, #fbf4e9, #f5e8d8); }
.lookup-result-head span { color: #9a6b36; font-size: 9px; font-weight: 900; letter-spacing: .14em; }
.lookup-result-head h3 { margin: 3px 0 0; color: #4e1520; font: 800 16px ui-monospace, SFMono-Regular, Consolas, monospace; }
.lookup-result-head > strong { border-radius: 999px; padding: 6px 9px; background: #e8f4ec; color: #286140; font-size: 10px; text-transform: uppercase; }
.order-lookup-result dl { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; border-block: 1px solid #eadfd5; }
.order-lookup-result dl > div { padding: 11px 14px; border-right: 1px solid #eadfd5; }
.order-lookup-result dl > div:last-child { border-right: 0; }
.order-lookup-result dt { color: #826f64; font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.order-lookup-result dd { margin: 3px 0 0; color: #40332d; font-size: 12px; font-weight: 800; }
.lookup-items { padding: 13px 17px; }
.lookup-guidance { margin: 13px 17px 0; border-left: 3px solid #d4ad62; padding: 10px 12px; background: #faf3e8; }
.lookup-guidance span { color: #9a6b36; font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.lookup-guidance p { margin: 4px 0 0; color: #493b35; font-size: 12px; font-weight: 750; line-height: 1.45; }
.lookup-items > strong { display: block; margin-bottom: 6px; color: #4e1520; font: 700 15px Georgia, serif; }
.lookup-items p { display: flex; justify-content: space-between; gap: 15px; margin: 0; padding: 6px 0; border-top: 1px solid #eee5dc; color: #51443d; font-size: 12px; }
.lookup-items b { flex: 0 0 auto; color: #741f2b; }
.lookup-result-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 0 17px 15px; }
.lookup-result-footer small { color: #7b6d65; line-height: 1.4; }
.lookup-result-footer button { flex: 0 0 auto; min-height: 36px; border: 1px solid #741f2b; border-radius: 5px; padding: 8px 12px; background: #fff; color: #741f2b; font-size: 11px; font-weight: 850; cursor: pointer; }
.lookup-result-footer button:hover, .lookup-result-footer button:focus-visible { background: #741f2b; color: #fff; }
.store-assurances-inner { max-width: 1192px; margin: 0 auto; padding: 27px 24px; display: grid; grid-template-columns: repeat(3, 1fr); }
.store-assurances article { min-width: 0; display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 13px; padding: 2px 28px; border-right: 1px solid #e7ded5; }
.store-assurances article:first-child { padding-left: 0; }
.store-assurances article:last-child { padding-right: 0; border-right: 0; }
.assurance-icon { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid #c8a45f; border-radius: 50%; color: #7b2632; font: 800 11px/1 Arial, sans-serif; letter-spacing: .05em; }
.store-assurances article div { min-width: 0; display: grid; gap: 4px; }
.store-assurances strong { color: #40342f; font: 700 16px/1.15 Georgia, serif; }
.store-assurances article div span { color: #776a62; font-size: 11px; line-height: 1.45; }
.shop-footer { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(240px, .8fr) minmax(420px, 1.2fr); gap: 26px 70px; padding: 39px max(24px, calc((100vw - 1192px) / 2)) 25px; background: linear-gradient(120deg, #292321, #352925); color: #d9d0c8; font-size: 12px; }
.shop-footer:after { content: "CG"; position: absolute; right: 5%; bottom: -48px; color: rgba(228,199,131,.035); font: 700 150px/1 Georgia, serif; pointer-events: none; }
.footer-brand, .footer-details > div { display: grid; align-content: start; gap: 6px; }
.footer-logo { width: fit-content; display: inline-flex; align-items: center; gap: 10px; color: #f5eee7; text-decoration: none; }
.footer-logo > span { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #c9a45e; border-radius: 50%; color: #e4c783; font: 800 10px Arial, sans-serif; letter-spacing: .06em; }
.footer-logo strong { color: #e4c783; font: 700 21px Georgia, serif; }
.footer-brand p { max-width: 300px; margin: 4px 0 0; color: #bfb5ae; line-height: 1.55; }
.footer-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.footer-details span { color: #cfae6b; font-size: 9px; font-weight: 900; letter-spacing: .14em; }
.footer-details strong { color: #f4ede7; font: 700 15px Georgia, serif; }
.footer-details small { color: #afa49d; font-size: 11px; line-height: 1.45; }
.footer-fineprint { z-index: 1; grid-column: 1 / -1; margin: 6px 0 0; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.1); color: #8f8580; font-size: 10px; letter-spacing: .04em; }
.cart-toast { position: fixed; right: 24px; bottom: 24px; z-index: 10; max-width: 340px; padding: 12px 16px; background: #2d2825; color: #fff; border-left: 4px solid #d4ad62; box-shadow: 0 10px 30px rgba(0,0,0,.25); opacity: 0; transform: translateY(15px); pointer-events: none; transition: .2s; }
.cart-toast.show { opacity: 1; transform: translateY(0); }
.product-dialog { width: min(980px, calc(100vw - 28px)); max-height: 92vh; border: 0; border-radius: 10px; padding: 0; overflow: auto; color: #2d2825; box-shadow: 0 24px 80px rgba(0,0,0,.36); }
.product-dialog::backdrop { background: rgba(24,18,17,.72); }
.product-dialog-head { position: sticky; top: 0; z-index: 2; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px 20px; border-bottom: 1px solid #e1d8cf; background: #fff; }
.product-dialog-context { display: flex; min-width: 0; align-items: center; gap: 12px; color: #756a63; font-size: 12px; }
.product-dialog-context > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product-dialog-head .product-dialog-back { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 7px; min-height: 38px; border: 0; background: transparent; color: #741f2b; font-weight: 800; cursor: pointer; }
.product-dialog-head .product-dialog-back:hover { text-decoration: underline; text-underline-offset: 3px; }
.product-dialog-nav { display: flex; gap: 6px; margin-left: auto; }
.product-dialog-nav button { min-height: 36px; border: 1px solid #d8cec4; border-radius: 5px; padding: 7px 10px; background: #fff; color: #4b3d36; font-weight: 700; cursor: pointer; }
.product-dialog-nav button:hover:not(:disabled) { border-color: #9e3746; color: #741f2b; }
.product-dialog-nav button:disabled { opacity: .42; cursor: not-allowed; }
.product-dialog-head .product-dialog-close { display: grid; flex: 0 0 auto; place-items: center; width: 40px; height: 40px; border: 0; border-radius: 50%; background: #f1ebe4; color: #4b3d36; font-size: 26px; cursor: pointer; }
.product-dialog-head button:focus-visible { outline: 3px solid #d4ad62; outline-offset: 2px; }
.product-dialog-content { display: grid; grid-template-columns: minmax(320px, 43%) 1fr; }
.product-dialog-art { min-height: 430px; display: grid; place-items: center; padding: 28px; background: #ece6de; }
.product-dialog-art img { width: 100%; height: 100%; max-height: 470px; object-fit: contain; }
.product-dialog-art .art-placeholder { width: min(230px, 80%); }
.product-dialog-copy { display: flex; flex-direction: column; align-items: flex-start; padding: 40px 34px 32px; }
.product-dialog-copy h2 { margin: 7px 0 8px; font: 700 clamp(26px, 4vw, 38px)/1.08 Georgia, serif; }
.product-dialog-set { margin: 0 0 20px; color: #756a63; }
.product-selection { width: 100%; display: grid; grid-template-columns: auto 1fr; gap: 7px 18px; margin-bottom: 20px; padding: 14px 16px; border: 1px solid #dfd5ca; background: #faf8f5; }
.product-selection span { color: #7a6e67; font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.product-selection strong { text-align: right; }
.product-specs { width: 100%; margin: 0 0 18px; border-top: 1px solid #e1d8cf; }
.product-specs div { display: grid; grid-template-columns: 130px 1fr; gap: 12px; padding: 8px 0; border-bottom: 1px solid #eee7e0; }
.product-specs dt { color: #7a6e67; font-size: 12px; }
.product-specs dd { margin: 0; color: #403732; font-size: 12px; font-weight: 700; text-align: right; }
.product-dialog-stock { display: flex; align-items: center; gap: 7px; margin: 2px 0 20px; color: #4d694d; font-weight: 700; }
.product-dialog-stock span { width: 8px; height: 8px; border-radius: 50%; background: #4f8b55; }
.product-dialog-cart-status { width: 100%; margin: -10px 0 20px; padding: 10px 12px; border: 1px solid #d6e5cf; border-radius: 6px; background: #f5faf2; color: #385938; font-size: 13px; font-weight: 700; }
.product-dialog-cart-status:focus-visible { outline: 3px solid #d4ad62; outline-offset: 2px; }
.product-dialog-buy { width: 100%; margin-top: auto; padding-top: 18px; display: flex; justify-content: space-between; align-items: end; gap: 18px; border-top: 1px solid #e1d8cf; }
.product-dialog-buy .dialog-price { display: grid; gap: 3px; margin-right: auto; }
.product-dialog-buy small { color: #7a6e67; text-transform: uppercase; }
.product-dialog-buy strong { color: #741f2b; font-size: 25px; }
.product-dialog-actions { display: grid; gap: 7px; }
.product-dialog-buy button { border: 0; background: #741f2b; color: #fff; padding: 12px 16px; font-weight: 800; cursor: pointer; }
.product-dialog-buy button:hover { background: #54131c; }
.product-dialog-buy button:disabled { cursor: not-allowed; opacity: .62; }
.product-dialog-buy .product-dialog-view-cart { border: 1px solid #741f2b; background: #fff; color: #741f2b; }
.product-dialog-buy .product-dialog-view-cart:hover { background: #f8edef; }
.product-dialog-buy button:focus-visible { outline: 3px solid #d4ad62; outline-offset: 3px; }
.dialog-quantity { display: grid; gap: 4px; color: #7a6e67; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.dialog-quantity input { width: 62px; height: 40px; border: 1px solid #cfc3b8; padding: 7px; font: inherit; text-align: center; }
@media (max-width: 760px) {
  .layout { grid-template-columns: 1fr; }
  .side { min-height: auto; }
  .topbar { flex-direction: column; }
  .form-grid { grid-template-columns: 1fr; }
  .wide { grid-column: span 1; }
  .upload-panel { grid-template-columns: 1fr; }
  .upload-form { flex-direction: column; align-items: stretch; }
  .binder-upload-form, .binder-layout { grid-template-columns: 1fr; }
  .ck-head, .ck-actions, .ck-item-head, .ck-item-actions { align-items: stretch; flex-direction: column; }
  .shop-notice { padding: 7px 12px; font-size: 11px; line-height: 1.35; letter-spacing: .025em; }
  .shop-header-inner { grid-template-columns: minmax(0, 1fr) auto; gap: 13px; padding: 14px 16px 15px; }
  .shop-logo { min-width: 0; gap: 9px; }
  .shop-logo-mark { flex: 0 0 auto; width: 42px; height: 42px; font-size: 14px; }
  .shop-logo strong { overflow: hidden; font-size: 20px; line-height: 1.05; text-overflow: ellipsis; white-space: nowrap; }
  .shop-logo small { margin-top: 4px; font-size: 8px; letter-spacing: .15em; }
  .shop-search { grid-column: 1 / -1; grid-row: 2; }
  .shop-search input { height: 46px; border-radius: 6px; padding-left: 14px; box-shadow: 0 3px 12px rgba(49, 11, 18, .18); }
  .shop-search > span:last-child { top: 8px; }
  .cart-button { min-height: 42px; border-radius: 6px; padding: 8px 10px; font-weight: 700; }
  .shop-account a { display: none; }
  .shop-nav-inner { min-height: 45px; padding: 0 8px; overflow-x: auto; scrollbar-width: none; }
  .shop-nav-inner::-webkit-scrollbar { display: none; }
  .nav-category { flex: 0 0 auto; min-height: 45px; border-right: 0; padding: 0 13px; font-size: 13px; }
  .nav-category:first-child { border-left: 0; }
  .nav-category.active { box-shadow: inset 0 -3px #e1bd73; }
  .shop-nav-inner > span { display: none; }
  .catalog-shell { padding: 18px 14px 40px; }
  .shop-hero { min-height: 0; grid-template-columns: 1fr; padding: 36px 26px 38px; border-radius: 9px; background: linear-gradient(138deg, #292321 0%, #49352f 62%, #781f2c 100%); }
  .shop-hero:before { content: ""; position: absolute; right: -58px; bottom: -78px; width: 190px; height: 190px; border: 1px solid rgba(225,189,115,.24); border-radius: 50%; box-shadow: 0 0 0 26px rgba(225,189,115,.06), 0 0 0 52px rgba(225,189,115,.035); }
  .shop-hero > div:first-child { position: relative; z-index: 1; }
  .shop-hero .eyebrow { font-size: 10px; letter-spacing: .2em; }
  .shop-hero h1 { margin: 9px 0 14px; max-width: 520px; font-size: clamp(33px, 8.8vw, 42px); line-height: 1.03; letter-spacing: -.025em; text-wrap: balance; }
  .shop-hero p { max-width: 520px; margin-bottom: 23px; font-size: 15px; line-height: 1.55; }
  .shop-hero button { min-height: 44px; border-radius: 5px; padding: 12px 16px; font-size: 12px; box-shadow: 0 5px 15px rgba(25,13,10,.22); }
  .hero-cards { display: none; }
  .catalog-heading { padding-top: 30px; }
  .mobile-catalog-toolbar { position: sticky; top: 0; z-index: 8; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; margin: 0 -14px; padding: 10px 14px; background: rgba(246, 243, 237, .97); border-bottom: 1px solid #d8cec3; box-shadow: 0 5px 14px rgba(47, 35, 29, .1); backdrop-filter: blur(8px); }
  .mobile-catalog-toolbar label { position: relative; min-width: 0; }
  .mobile-catalog-toolbar input { width: 100%; height: 40px; border: 1px solid #cdbfc0; border-radius: 2px; padding: 0 38px 0 12px; background: #fff; color: #282220; }
  .mobile-catalog-toolbar label > span:last-child { position: absolute; right: 11px; top: 5px; color: #741f2b; font-size: 23px; }
  .mobile-catalog-toolbar button { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; border: 1px solid #741f2b; background: #741f2b; color: #fff; padding: 7px 11px; font-weight: 800; }
  .mobile-catalog-toolbar .filter-count { background: #f2d99c; color: #4a1019; }
  .mobile-catalog-toolbar input:focus-visible, .mobile-catalog-toolbar button:focus-visible { outline: 3px solid #d4ad62; outline-offset: 2px; }
  .catalog-layout { grid-template-columns: 1fr; }
  .mobile-filter-toggle { display: inline-flex; }
  .catalog-filters { display: none; grid-template-columns: 1fr 1fr; }
  .catalog-filters.is-open { display: grid; }
  .filter-title, .service-note { grid-column: 1 / -1; }
  .results-toolbar { align-items: stretch; flex-direction: column; }
  .results-toolbar label { justify-content: space-between; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .store-card-body { padding: 10px; }
  .store-card h3 { font-size: 15px; }
  .card-bottom { align-items: stretch; flex-direction: column; }
  .product-dialog-content { grid-template-columns: 1fr; }
  .product-dialog-head { padding: 9px 12px; }
  .product-dialog-context { min-width: 0; gap: 8px; }
  .product-dialog-context > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .product-dialog-nav { gap: 4px; }
  .product-dialog-nav button { padding: 7px 8px; font-size: 12px; }
  .product-dialog-art { min-height: 240px; max-height: 40vh; padding: 18px; }
  .product-dialog-copy { padding: 25px 22px 22px; }
  .product-dialog-copy h2 { font-size: 27px; }
  .product-dialog-buy { flex-wrap: wrap; }
  .store-assurances-inner { grid-template-columns: 1fr; padding-block: 18px; }
  .order-lookup { grid-template-columns: 1fr; gap: 18px; padding-block: 34px; }
  .order-lookup-form { grid-template-columns: 1fr 1fr; }
  .order-lookup-actions { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
  .order-lookup-status, .order-lookup-result { grid-column: 1; }
  .order-lookup-result dl { grid-template-columns: repeat(2, 1fr); }
  .order-lookup-result dl > div:nth-child(2) { border-right: 0; }
  .order-lookup-result dl > div:nth-child(-n+2) { border-bottom: 1px solid #eadfd5; }
  .store-assurances article { padding: 13px 0; border-right: 0; border-bottom: 1px solid #e7ded5; }
  .store-assurances article:last-child { border-bottom: 0; }
  .shop-footer { grid-template-columns: 1fr; gap: 28px; padding-top: 32px; }
  .footer-details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 430px) {
  .order-lookup-form { grid-template-columns: 1fr; }
  .order-lookup-actions { grid-column: auto; grid-template-columns: 1fr; }
  .order-lookup-result dl { grid-template-columns: 1fr; }
  .order-lookup-result dl > div { border-right: 0; border-bottom: 1px solid #eadfd5; }
  .order-lookup-result dl > div:last-child { border-bottom: 0; }
  .lookup-result-footer { align-items: stretch; flex-direction: column; gap: 10px; }
  .store-assurances-inner { padding-inline: 18px; }
  .footer-details { grid-template-columns: 1fr; gap: 20px; }
  .shop-header-inner { padding-inline: 13px; }
  .shop-logo-mark { width: 38px; height: 38px; font-size: 12px; }
  .shop-logo strong { font-size: 18px; }
  .shop-logo small { font-size: 7px; }
  .cart-button { min-height: 40px; padding-inline: 9px; }
  .cart-button span { min-width: 19px; height: 19px; margin-left: 3px; }
  .shop-hero { padding: 30px 20px 32px; }
  .shop-hero h1 { font-size: clamp(30px, 10vw, 36px); }
  .shop-hero p { font-size: 14px; }
  .catalog-heading > div:first-child .eyebrow { display: none; }
  .catalog-heading h2 { font-size: 23px; }
  .catalog-heading-actions { gap: 8px; }
  .catalog-heading-actions .mobile-filter-toggle { display: none; }
  .product-grid { grid-template-columns: 1fr; }
  .catalog-filters { grid-template-columns: 1fr; }
  .filter-title, .service-note { grid-column: auto; }
}

.cart-dialog { width: min(640px, calc(100vw - 28px)); max-height: 92vh; border: 1px solid rgba(116,31,43,.12); border-radius: 12px; padding: 0; overflow: auto; color: #342b27; background: #fffdf9; box-shadow: 0 28px 90px rgba(34,22,20,.42); }
.cart-dialog::backdrop { background: rgba(35,24,22,.72); backdrop-filter: blur(2px); }
.cart-dialog-head { position: sticky; top: 0; z-index: 2; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 20px 24px; border-bottom: 1px solid #e7dcd2; background: linear-gradient(135deg, #fffaf2, #f7eee5); }
.cart-dialog-title { display: grid; gap: 2px; }
.cart-dialog-title > span, .checkout-heading > span { color: #9a6b36; font-size: 10px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.cart-dialog-title strong { color: #4e1520; font: 700 27px/1.05 Georgia, serif; }
.cart-dialog-title small, .checkout-heading small { color: #776b64; font-size: 12px; }
.cart-dialog-head button { display: grid; flex: 0 0 auto; place-items: center; width: 40px; height: 40px; border: 1px solid #e0d3c7; border-radius: 50%; padding: 0; background: rgba(255,255,255,.72); color: #5c4d46; font-size: 1.65rem; cursor: pointer; }
.cart-dialog-head button:hover { border-color: #9e3746; color: #741f2b; background: #fff; }
.cart-dialog-head button:focus-visible, .cart-line-actions button:focus-visible, #placeOrderButton:focus-visible { outline: 3px solid #d4ad62; outline-offset: 2px; }
.cart-return-context { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 11px 24px; border-bottom: 1px solid #e7dcd2; background: #fff9ed; }
.cart-return-context[hidden] { display: none; }
.cart-return-context button { border: 0; padding: 5px 0; background: transparent; color: #741f2b; font: inherit; font-weight: 850; text-align: left; cursor: pointer; }
.cart-return-context button:hover { text-decoration: underline; text-underline-offset: 3px; }
.cart-return-context button:focus-visible { border-radius: 3px; outline: 3px solid #d4ad62; outline-offset: 3px; }
.cart-return-context small { color: #776b64; font-size: 11px; text-align: right; }
.checkout-edit-return-context { border-bottom-color: #d7e8d4; background: #f3faf4; }
.cart-items { padding: 8px 24px; max-height: 250px; overflow: auto; scrollbar-color: #c8aa82 #f4ede6; }
.cart-items > .empty { margin: 10px 0; padding: 32px 20px; border: 1px dashed #d9c8b9; border-radius: 8px; background: #faf5ef; color: #776b64; text-align: center; }
.cart-availability { margin: 0 24px 10px; border: 1px solid; border-radius: 5px; padding: 9px 11px; font-size: .76rem; font-weight: 750; line-height: 1.4; }
.cart-availability-checking { border-color: #dfd0c2; background: #faf3e8; color: #66574f; }
.cart-availability-confirmed { border-color: #b7d5c3; background: #eff9f3; color: #286140; }
.cart-availability-warning { border-color: #e2b9be; background: #fff2f3; color: #8e2634; }
.cart-availability-retry { margin-left: 10px; border: 1px solid currentColor; border-radius: 4px; padding: 5px 8px; background: #fff; color: inherit; font: inherit; cursor: pointer; }
.cart-availability-retry:hover { background: #fff8f8; }
.cart-availability-retry:focus-visible { outline: 3px solid #d4ad62; outline-offset: 2px; }
.cart-line { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 16px 0; border-bottom: 1px solid #eee4da; }
.cart-line-error { margin-inline: -10px; border: 1px solid #e2b9be; border-radius: 6px; padding-inline: 10px; background: #fff5f5; }
.cart-line-adjusted { margin-inline: -10px; border: 1px solid #d6b675; border-radius: 6px; padding-inline: 10px; background: #fff9eb; }
.cart-line-adjusted:focus-visible { outline: 3px solid #d4ad62; outline-offset: 2px; }
.cart-line-after-removal { margin-inline: -10px; border-radius: 6px; padding-inline: 10px; background: #fff9eb; }
.cart-line-recheck-confirmed { margin-inline: -10px; border-radius: 6px; padding-inline: 10px; background: #f3faf4; }
.cart-line-quantity-changed { margin-inline: -10px; border-radius: 6px; padding-inline: 10px; background: #f3faf4; }
.cart-line-edit-target { margin-inline: -10px; border-radius: 6px; padding-inline: 10px; background: #fff9eb; }
.cart-line-after-removal:focus-visible, .cart-line-recheck-confirmed:focus-visible, .cart-line-quantity-changed:focus-visible, .cart-line-edit-target:focus-visible, .cart-availability:focus-visible, #cartItems > .empty:focus-visible { outline: 3px solid #d4ad62; outline-offset: 2px; }
.cart-line:last-child { border-bottom: 0; }
.cart-product-action { border: 0; padding: 0; background: transparent; color: #3e332e; font: 700 16px/1.25 Georgia, serif; text-align: left; cursor: pointer; }
.cart-product-action:hover { color: #741f2b; text-decoration: underline; text-underline-offset: 3px; }
.cart-product-action:focus-visible { border-radius: 2px; outline: 3px solid #d4ad62; outline-offset: 3px; }
.cart-line small { display: block; margin-top: 5px; color: #806f65; font-size: 11px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; }
.cart-stock-note { display: block; margin-top: 5px; color: #56705e; font-size: .7rem; font-weight: 800; }
.cart-line-adjustment { margin: 8px 0 0; color: #805b17; font-size: .76rem; font-weight: 800; line-height: 1.4; }
.cart-line-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 7px; }
.cart-line-actions > span { min-width: 22px; color: #4e4039; font-weight: 800; text-align: center; }
.cart-line-actions button { display: grid; place-items: center; min-width: 32px; min-height: 32px; border: 1px solid #d8c9bb; border-radius: 5px; padding: 5px; background: #fff; color: #5b4840; cursor: pointer; }
.cart-line-actions button:hover { border-color: #9e3746; color: #741f2b; background: #fff9f5; }
.cart-line-actions button:disabled { border-color: #ded7d0; background: #f4f1ee; color: #aaa19a; cursor: not-allowed; }
.cart-line-actions .cart-remove { min-width: auto; border: 0; background: transparent; color: #8e3441; font-size: .75rem; font-weight: 800; }
.cart-line-message { margin: 9px 0 0; color: #8e2634; font-size: .76rem; font-weight: 750; line-height: 1.4; }
.cart-line-message button { margin-left: 6px; border: 1px solid currentColor; border-radius: 4px; padding: 4px 7px; background: #fff; color: inherit; font: inherit; cursor: pointer; }
.cart-line-message button:hover { background: #fff0f1; }
.cart-line-message button:focus-visible { outline: 3px solid #d4ad62; outline-offset: 2px; }
.cart-total { display: flex; justify-content: space-between; align-items: center; padding: 18px 24px; border-block: 1px solid #dfd0c2; background: #f5eadc; }
.cart-total span { color: #736058; font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.cart-total strong { color: #741f2b; font: 700 24px Georgia, serif; }
.checkout-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 22px 24px 26px; background: #fffdf9; }
.checkout-heading { grid-column: 1 / -1; display: grid; gap: 3px; margin-bottom: 2px; }
.checkout-heading strong { color: #43352f; font: 700 20px Georgia, serif; }
.checkout-form label { display: grid; gap: 7px; color: #574842; font-size: .78rem; font-weight: 800; }
.checkout-form input, .checkout-form select, .checkout-form textarea { width: 100%; min-height: 42px; border: 1px solid #d6c8bc; border-radius: 5px; padding: 10px 11px; background: #fff; color: #342b27; font: inherit; box-sizing: border-box; transition: border-color .15s, box-shadow .15s; }
.checkout-form textarea { min-height: 68px; resize: vertical; }
.checkout-form input:hover, .checkout-form select:hover, .checkout-form textarea:hover { border-color: #b8a394; }
.checkout-form input:focus, .checkout-form select:focus, .checkout-form textarea:focus { border-color: #9e3746; outline: 0; box-shadow: 0 0 0 3px rgba(158,55,70,.12); }
.checkout-form [aria-invalid="true"] { border-color: #a32838; background: #fffafb; box-shadow: 0 0 0 3px rgba(163,40,56,.1); }
.field-error { min-height: 0; color: #9a2635; font-size: .72rem; font-weight: 750; line-height: 1.3; }
.field-error:empty { display: none; }
.checkout-form label:nth-of-type(n+5), .checkout-connection, .checkout-privacy, .checkout-note, .order-review, .checkout-submit-row, #checkoutStatus { grid-column: 1 / -1; }
.checkout-connection { display: flex; align-items: center; gap: 8px; margin: 0; border: 1px solid; border-radius: 5px; padding: 9px 11px; font-size: .75rem; font-weight: 800; line-height: 1.4; }
.checkout-connection::before { content: ""; flex: 0 0 auto; width: 8px; height: 8px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 3px rgba(40,97,64,.12); }
.checkout-connection-online { border-color: #b7d5c3; background: #eff9f3; color: #286140; }
.checkout-connection-offline { border-color: #e2b9be; background: #fff2f3; color: #8e2634; }
.checkout-connection-offline::before { box-shadow: 0 0 0 3px rgba(142,38,52,.12); }
.checkout-privacy { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: -4px; }
.checkout-privacy small { color: #776b64; font-size: .68rem; line-height: 1.4; }
.checkout-privacy button { flex: 0 0 auto; min-height: 32px; border: 1px solid #c9b9ad; border-radius: 5px; padding: 6px 10px; background: #fff; color: #6d5b52; font-size: .68rem; font-weight: 800; cursor: pointer; }
.checkout-privacy button:hover:not(:disabled), .checkout-privacy button:focus-visible { border-color: #741f2b; background: #fff7f7; color: #741f2b; }
.checkout-privacy button:disabled { cursor: not-allowed; opacity: .45; }
.checkout-section-return-context { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: -3px 0 1px; border: 1px solid #b7d5c3; border-radius: 5px; padding: 9px 11px; background: #f3faf4; }
.checkout-section-return-context[hidden] { display: none; }
.checkout-section-return-context button, .review-edit-detail { border: 0; padding: 3px 0; background: transparent; color: #741f2b; font: inherit; font-size: .7rem; font-weight: 850; cursor: pointer; }
.checkout-section-return-context button:hover, .review-edit-detail:hover { text-decoration: underline; text-underline-offset: 3px; }
.checkout-section-return-context button:focus-visible, .review-edit-detail:focus-visible { border-radius: 2px; outline: 3px solid #d4ad62; outline-offset: 2px; }
.checkout-section-return-context small { color: #526b58; font-size: .68rem; text-align: right; }
.checkout-note { margin: 2px 0 0; padding: 10px 12px; border-left: 3px solid #d4ad62; background: #faf3e8; color: #73655d; font-size: .79rem; line-height: 1.45; }
.order-review { overflow: hidden; border: 1px solid #dacbbb; border-radius: 7px; background: #fff; }
.order-review-heading { display: grid; gap: 2px; padding: 13px 15px; border-bottom: 1px solid #eadfd5; background: linear-gradient(135deg, #fbf4e9, #f5e8d8); }
.order-review-heading span { color: #9a6b36; font-size: 9px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.order-review-heading strong { color: #4e1520; font: 700 17px Georgia, serif; }
.review-readiness-summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 15px; border-bottom: 1px solid #eadfd5; background: #f3faf4; color: #286140; font-size: .72rem; font-weight: 900; }
.review-readiness-summary span::before { content: "\2713"; display: inline-grid; width: 17px; height: 17px; margin-right: 6px; place-items: center; border-radius: 50%; background: currentColor; color: #fff; font-size: .65rem; }
.review-readiness-summary-missing { background: #fff7f7; color: #8e2634; }
.review-readiness-summary-missing span::before { content: "!"; }
.review-readiness-summary button { flex: 0 0 auto; border: 1px solid currentColor; border-radius: 999px; padding: 5px 9px; background: #fff; color: inherit; font: inherit; font-size: .68rem; cursor: pointer; }
.review-readiness-summary button:hover { text-decoration: underline; text-underline-offset: 2px; }
.review-readiness-summary button:focus-visible { outline: 3px solid #d4ad62; outline-offset: 2px; }
.review-readiness-summary button[hidden] { display: none; }
.order-review dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.order-review dl > div { min-width: 0; padding: 11px 15px; border-bottom: 1px solid #eee5dc; }
.order-review dl > div:nth-child(odd) { border-right: 1px solid #eee5dc; }
.order-review dl > div:nth-last-child(-n+2) { border-bottom: 0; }
.order-review dl > .review-notes { grid-column: 1 / -1; border-right: 0; }
.order-review dt { margin-bottom: 3px; color: #826f64; font-size: 9px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.order-review dd { overflow-wrap: anywhere; margin: 0; color: #40332d; font-size: .78rem; font-weight: 800; line-height: 1.35; }
.order-review .review-readiness-missing { background: #fff7f7; box-shadow: inset 3px 0 #a32838; }
.review-readiness { display: inline-flex; align-items: center; gap: 5px; margin-top: 7px; border-radius: 999px; padding: 4px 7px; background: #fde8eb; color: #8e2634; font-size: .64rem; font-weight: 900; letter-spacing: .03em; line-height: 1; }
.review-readiness::before { content: "!"; display: grid; width: 15px; height: 15px; place-items: center; border-radius: 50%; background: currentColor; color: #fff; font-size: .62rem; }
.review-readiness-ready { background: #e9f6ec; color: #286140; }
.review-readiness-ready::before { content: "\2713"; }
.order-review .review-notes dd { white-space: pre-line; }
.order-review .review-edit-detail { margin-top: 5px; }
.order-review dl > div:last-child dd { color: #741f2b; font-size: .95rem; }
.order-review-products { border-top: 1px solid #eee5dc; padding: 12px 15px 14px; }
.order-review-products > span { display: block; margin-bottom: 7px; color: #826f64; font-size: 9px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
#reviewProductList { display: grid; gap: 7px; }
#reviewProductList > div { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; align-items: baseline; gap: 8px; }
#reviewProductList button { min-width: 0; overflow-wrap: anywhere; border: 0; padding: 2px 0; background: transparent; color: #3e332e; cursor: pointer; }
#reviewProductList .review-product-action { font: 700 .78rem/1.35 Georgia, serif; text-align: left; }
#reviewProductList .review-edit-quantity { color: #741f2b; font: 800 .68rem/1.35 Arial, sans-serif; white-space: nowrap; }
#reviewProductList button:hover { color: #741f2b; text-decoration: underline; text-underline-offset: 3px; }
#reviewProductList button:focus-visible { border-radius: 2px; outline: 3px solid #d4ad62; outline-offset: 2px; }
#reviewProductList span, #reviewProductList strong { color: #776b64; font-size: .7rem; white-space: nowrap; }
.review-edit-return-target { margin-inline: -7px; border-radius: 5px; padding-inline: 7px; background: #f3faf4; }
#reviewProductList strong { color: #40332d; }
.checkout-submit-row { display: flex; align-items: flex-start; gap: 12px; }
.checkout-submit-row #placeOrderButton { flex: 0 0 auto; margin-left: auto; }
.order-recovery-actions { display: grid; justify-items: start; gap: 8px; }
.order-recovery-actions[hidden] { display: none; }
.order-retry-explanation { margin: 0; color: #66574f; font-size: .72rem; font-weight: 800; line-height: 1.45; }
.order-retry-explanation-focus-return {
  border-radius: 5px;
  outline: 3px solid #d4ad62;
  outline-offset: 3px;
  animation: order-retry-focus-return 2.5s ease-out both;
}
@keyframes order-retry-focus-return {
  0%, 45% { background: #fff2c9; box-shadow: 0 0 0 7px rgba(212, 173, 98, .2); outline-color: #d4ad62; }
  100% { background: transparent; box-shadow: 0 0 0 0 rgba(212, 173, 98, 0); outline-color: transparent; }
}
@media (prefers-reduced-motion: reduce) {
  .order-retry-explanation-focus-return { background: #fff2c9; animation: none; }
}
.order-retry-items { width: min(100%, 430px); overflow: hidden; border: 1px solid #dccdbf; border-radius: 6px; background: #fffdf9; color: #4d403a; font-size: .72rem; }
.order-retry-items[hidden] { display: none; }
.order-retry-items-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 10px; background: #f6ede3; }
.order-retry-items-head > div { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; min-width: 0; flex: 1 1 auto; }
.order-retry-items-head strong { color: #49372f; }
.order-retry-items-head span { color: #745f54; font-weight: 800; white-space: nowrap; }
.order-retry-items-head button { flex: 0 0 auto; border: 1px solid #9a6f20; border-radius: 999px; padding: 5px 9px; background: #fff; color: #74530f; font: inherit; font-size: .62rem; font-weight: 850; cursor: pointer; white-space: nowrap; }
.order-retry-items-head button:hover { background: #fff8e8; text-decoration: underline; text-underline-offset: 2px; }
.order-retry-items-head button:focus-visible { outline: 3px solid #d4ad62; outline-offset: 2px; }
.order-retry-items-head button:disabled { cursor: wait; opacity: .55; }
.order-retry-totals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border-top: 1px solid #e7d9cc; border-bottom: 1px solid #e7d9cc; background: #fffaf4; }
.order-retry-totals div { display: grid; gap: 2px; min-width: 0; padding: 8px 10px; }
.order-retry-totals div + div { border-left: 1px solid #e7d9cc; }
.order-retry-totals dt { color: #7b6b63; font-size: .62rem; font-weight: 800; }
.order-retry-totals dd { margin: 0; color: #49372f; font-size: .74rem; font-weight: 900; white-space: nowrap; }
.order-retry-total-higher dd { color: #8a2937; }
.order-retry-total-lower dd { color: #386127; }
.order-retry-totals-note { margin: 0; padding: 6px 10px; background: #fffdf9; color: #7b6b63; font-size: .62rem; line-height: 1.35; }
.order-retry-items ul { display: grid; gap: 0; max-height: 150px; margin: 0; padding: 0; overflow-y: auto; list-style: none; }
.order-retry-items li { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; padding: 7px 10px; border-top: 1px solid #eee4da; }
.order-retry-items li > span { display: grid; min-width: 0; }
.order-retry-items li strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.order-retry-items li small { color: #7b6b63; font-size: .65rem; }
.order-retry-item-status { display: grid; flex: 0 0 auto; justify-items: end; gap: 1px; text-align: right; }
.order-retry-item-status b { border-radius: 999px; padding: 3px 7px; background: #f0e3d5; color: #60483d; font-size: .66rem; white-space: nowrap; }
.order-retry-item-status small { font-size: .62rem; font-weight: 750; white-space: nowrap; }
.order-retry-item-status button { margin-top: 3px; border: 1px solid #9a6f20; border-radius: 999px; padding: 4px 8px; background: #fff; color: #74530f; font: inherit; font-size: .62rem; font-weight: 850; cursor: pointer; white-space: nowrap; }
.order-retry-item-status button:hover { background: #fff8e8; text-decoration: underline; text-underline-offset: 2px; }
.order-retry-item-status button:focus-visible { outline: 3px solid #d4ad62; outline-offset: 2px; }
.order-retry-item-unchanged .order-retry-item-status b { background: #e8f4e3; color: #386127; }
.order-retry-item-changed .order-retry-item-status b,
.order-retry-item-added .order-retry-item-status b { background: #fff0c9; color: #75530f; }
.order-retry-item-removed .order-retry-item-status b { background: #fbe5e8; color: #8a2937; }
.order-retry-details { width: min(100%, 430px); overflow: hidden; border: 1px solid #dccdbf; border-radius: 6px; background: #fffdf9; color: #4d403a; font-size: .72rem; }
.order-retry-details[hidden] { display: none; }
.order-retry-details-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 10px; background: #f6ede3; }
.order-retry-details-head strong { color: #49372f; }
.order-retry-details-head-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; }
.order-retry-details-head-actions span { border-radius: 999px; padding: 3px 7px; font-size: .64rem; font-weight: 850; white-space: nowrap; }
.order-retry-details-head-actions button { border: 1px solid #9a6f20; border-radius: 999px; padding: 5px 9px; background: #fff; color: #74530f; font: inherit; font-size: .62rem; font-weight: 850; cursor: pointer; white-space: nowrap; }
.order-retry-details-head-actions button:hover { background: #fff8e8; text-decoration: underline; text-underline-offset: 2px; }
.order-retry-details-head-actions button:focus-visible { outline: 3px solid #d4ad62; outline-offset: 2px; }
.order-retry-details-head-actions button:disabled { cursor: wait; opacity: .55; }
.order-retry-details-head .order-retry-details-same { background: #e8f4e3; color: #386127; }
.order-retry-details-head .order-retry-details-changed { background: #fff0c9; color: #75530f; }
#orderRetryDetailsList > section { padding: 8px 10px; border-top: 1px solid #eee4da; }
#orderRetryDetailsList > section > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
#orderRetryDetailsList > section > div span { border-radius: 999px; padding: 3px 7px; font-size: .64rem; font-weight: 850; }
.order-retry-detail-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.order-retry-detail-actions button { border: 1px solid #9a6f20; border-radius: 999px; padding: 4px 8px; background: #fff; color: #74530f; font: inherit; font-size: .64rem; font-weight: 850; cursor: pointer; white-space: nowrap; }
.order-retry-detail-actions button:hover { background: #fff8e8; text-decoration: underline; text-underline-offset: 2px; }
.order-retry-detail-actions button:focus-visible { outline: 3px solid #d4ad62; outline-offset: 2px; }
.order-retry-detail-same > div span { background: #e8f4e3; color: #386127; }
.order-retry-detail-changed > div span { background: #fff0c9; color: #75530f; }
.order-retry-details dl { display: grid; gap: 5px; margin: 7px 0 0; }
.order-retry-details dl div { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 8px; }
.order-retry-details dt { color: #7b6b63; font-size: .62rem; font-weight: 800; }
.order-retry-details dd { min-width: 0; margin: 0; overflow-wrap: anywhere; color: #49372f; font-size: .68rem; font-weight: 750; }
.order-retry-detail-note dd { max-height: 74px; overflow-y: auto; white-space: pre-wrap; }
.order-retry-details > p { margin: 0; padding: 7px 10px; border-top: 1px solid #eee4da; background: #fffaf4; color: #7b6b63; font-size: .62rem; line-height: 1.4; }
.order-retry-draft-warning { max-width: 430px; margin: 0; border: 1px solid #d9b066; border-radius: 6px; padding: 9px 10px; background: #fff8e8; color: #74521c; font-size: .72rem; font-weight: 700; line-height: 1.45; }
.order-retry-draft-warning[hidden] { display: none; }
.order-retry-draft-warning strong { display: block; color: #5d3d0c; }
.restore-pending-order-attempt { border: 1px solid #75530f; border-radius: 5px; padding: 8px 11px; background: #75530f; color: #fffaf0; font: inherit; font-size: .72rem; font-weight: 900; cursor: pointer; }
.restore-pending-order-attempt[hidden] { display: none; }
.restore-pending-order-attempt:hover { background: #5d3d0c; }
.restore-pending-order-attempt:focus-visible { outline: 3px solid #d4ad62; outline-offset: 2px; }
.restore-pending-order-attempt:disabled { cursor: wait; opacity: .55; }
.restore-pending-order-attempt-focus-return { animation: restore-pending-order-focus-return 2.5s ease-out both; }
@keyframes restore-pending-order-focus-return {
  0%, 45% { background: #5d3d0c; box-shadow: 0 0 0 7px rgba(212, 173, 98, .35); outline-color: #d4ad62; }
  100% { background: #75530f; box-shadow: 0 0 0 0 rgba(212, 173, 98, 0); outline-color: transparent; }
}
@media (prefers-reduced-motion: reduce) {
  .restore-pending-order-attempt-focus-return { background: #5d3d0c; box-shadow: 0 0 0 7px rgba(212, 173, 98, .35); animation: none; }
}
.undo-pending-order-restore { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: min(100%, 430px); box-sizing: border-box; border: 1px solid #b7d5c3; border-radius: 6px; padding: 9px 10px; background: #eff9f3; color: #286140; font-size: .7rem; font-weight: 750; line-height: 1.4; }
.undo-pending-order-restore[hidden] { display: none; }
.undo-pending-order-restore-countdown { display: inline-block; margin-top: 3px; border-radius: 999px; padding: 2px 7px; background: #d8eee1; color: #205336; font-size: .65rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.undo-pending-order-restore button { flex: 0 0 auto; border: 1px solid #286140; border-radius: 4px; padding: 6px 8px; background: #fff; color: #286140; font: inherit; font-weight: 900; cursor: pointer; white-space: nowrap; }
.undo-pending-order-restore button:hover { background: #e3f3e9; }
.undo-pending-order-restore button:focus-visible { outline: 3px solid #d4ad62; outline-offset: 2px; }
.undo-pending-order-restore button:disabled { cursor: wait; opacity: .55; }
.undo-pending-order-discard { border-color: #e1c58e; background: #fff8e8; color: #6f5525; }
.undo-pending-order-discard .undo-pending-order-restore-countdown { background: #f3e4bd; color: #634817; }
.undo-pending-order-discard button { border-color: #8a682d; color: #6f5525; }
.undo-pending-order-discard button:hover { background: #f9edcf; }
.undo-pending-order-restore-expiry-cue { width: min(100%, 430px); box-sizing: border-box; margin: 0; border-left: 3px solid #b28a43; border-radius: 4px; padding: 7px 9px; background: #fff8e8; color: #6f5525; font-size: .68rem; font-weight: 800; line-height: 1.4; opacity: 0; }
.undo-pending-order-restore-expiry-cue[hidden] { display: none; }
.undo-pending-order-restore-expiry-cue-visible { animation: undo-expiry-cue 4.5s ease both; }
@keyframes undo-expiry-cue {
  0% { opacity: 0; transform: translateY(-3px); }
  10%, 82% { opacity: 1; transform: translateY(0); }
  100% { opacity: 0; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .undo-pending-order-restore-expiry-cue-visible { opacity: 1; animation: none; }
}
.discard-pending-order { border: 0; padding: 2px 0; background: transparent; color: #741f2b; font: inherit; font-size: .7rem; font-weight: 850; text-align: left; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.discard-pending-order:hover { color: #4e1520; }
.discard-pending-order:focus-visible, .discard-pending-order-confirm button:focus-visible { border-radius: 3px; outline: 3px solid #d4ad62; outline-offset: 2px; }
.discard-pending-order:disabled { cursor: wait; opacity: .5; }
.discard-pending-order-confirm { display: grid; max-width: 430px; gap: 5px; border: 1px solid #e2b9be; border-radius: 6px; padding: 10px 11px; background: #fff2f3; color: #6f202c; font-size: .72rem; line-height: 1.4; }
.discard-pending-order-confirm[hidden] { display: none; }
.discard-pending-order-confirm > span { color: #755c58; }
.discard-pending-order-confirm > div { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 3px; }
.discard-pending-order-confirm button { min-height: 34px; border: 1px solid #a6636d; border-radius: 4px; padding: 6px 9px; background: #fff; color: #741f2b; font: inherit; font-weight: 850; cursor: pointer; }
.discard-pending-order-confirm button:last-child { background: #741f2b; color: #fff; }
.discard-pending-order-confirm button:hover:not(:disabled) { border-color: #741f2b; box-shadow: inset 0 0 0 1px #741f2b; }
.discard-pending-order-confirm button:disabled { cursor: wait; opacity: .5; }
#placeOrderButton { min-height: 46px; border: 0; border-radius: 4px; padding: 13px; background: #741f2b; color: white; font-weight: 900; letter-spacing: .01em; cursor: pointer; box-shadow: 0 8px 18px rgba(116,31,43,.2); }
#placeOrderButton:hover { background: #591722; }
#placeOrderButton:disabled { cursor: wait; opacity: .65; }
.place-order-focus-return {
  animation: place-order-focus-return 2.5s ease-out both;
}
@keyframes place-order-focus-return {
  0%, 45% { background: #591722; box-shadow: 0 0 0 7px rgba(212, 173, 98, .35), 0 8px 18px rgba(116,31,43,.2); outline-color: #d4ad62; }
  100% { background: #741f2b; box-shadow: 0 0 0 0 rgba(212, 173, 98, 0), 0 8px 18px rgba(116,31,43,.2); outline-color: transparent; }
}
@media (prefers-reduced-motion: reduce) {
  .place-order-focus-return { background: #591722; box-shadow: 0 0 0 7px rgba(212, 173, 98, .35), 0 8px 18px rgba(116,31,43,.2); animation: none; }
}
.checkout-connection-offline ~ #placeOrderButton:disabled { cursor: not-allowed; }
#checkoutStatus { min-height: 0; margin: 0 24px 24px; border-radius: 5px; color: #5b4b44; font-size: .84rem; font-weight: 800; line-height: 1.45; }
#checkoutStatus:empty { display: none; }
.checkout-status-pending, .checkout-status-error, .checkout-status-success { padding: 11px 13px; border: 1px solid; }
.checkout-status-pending { border-color: #dfd0c2; background: #faf3e8; color: #66574f; }
.checkout-status-error { border-color: #e2b9be; background: #fff2f3; color: #8e2634; }
.checkout-status-success { border-color: #b7d5c3; background: #eff9f3; color: #286140; }
.order-receipt { display: grid; justify-items: center; gap: 16px; margin: 24px; border: 1px solid #d8c5ae; border-radius: 10px; padding: 28px; background: linear-gradient(145deg, #fffdf8, #f7ecdf); text-align: center; box-shadow: 0 12px 30px rgba(88,57,39,.08); }
.order-receipt:focus { outline: 0; }
.order-receipt-mark { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: #2f704c; color: #fff; font-size: 1.45rem; font-weight: 900; box-shadow: 0 7px 18px rgba(47,112,76,.22); }
.order-receipt-heading { display: grid; gap: 3px; }
.order-receipt-heading > span, .receipt-next-step > span { color: #9a6b36; font-size: 9px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.order-receipt-heading h2 { margin: 0; color: #4e1520; font: 700 25px/1.15 Georgia, serif; }
.order-receipt-heading p { margin: 2px 0 0; color: #776b64; font-size: .78rem; }
.receipt-order-number { border: 1px dashed #bd9d76; border-radius: 6px; padding: 10px 14px; background: #fff; color: #4a3931; font: 800 1rem/1.2 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .035em; }
.receipt-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; margin: 0; overflow: hidden; border: 1px solid #e1d4c7; border-radius: 7px; background: rgba(255,255,255,.8); }
.receipt-summary > div { min-width: 0; padding: 12px; border-right: 1px solid #e8ddd2; }
.receipt-summary > div:last-child { border-right: 0; }
.receipt-summary dt { margin-bottom: 4px; color: #826f64; font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.receipt-summary dd { overflow-wrap: anywhere; margin: 0; color: #40332d; font-size: .8rem; font-weight: 850; line-height: 1.35; }
.receipt-summary > div:last-child dd { color: #741f2b; font-size: .95rem; }
.receipt-next-step { width: 100%; border-left: 3px solid #d4ad62; padding: 11px 13px; background: rgba(255,255,255,.66); box-sizing: border-box; text-align: left; }
.receipt-next-step p { margin: 4px 0 3px; color: #493b35; font-size: .82rem; font-weight: 800; line-height: 1.4; }
.receipt-next-step small { color: #776b64; font-size: .72rem; }
.receipt-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; }
.receipt-actions button { min-height: 42px; border: 1px solid #741f2b; border-radius: 5px; padding: 10px 18px; font-weight: 850; cursor: pointer; }
#receiptTrackOrder { background: #741f2b; color: #fff; }
#receiptTrackOrder:hover { background: #591722; }
#receiptContinue { background: #fff; color: #741f2b; }
#receiptContinue:hover { background: #f8eef0; }
#receiptDone { border-color: #b9aaa0; background: transparent; color: #6d5b52; }
#receiptDone:hover { border-color: #741f2b; background: #fff7f7; color: #741f2b; }
.receipt-actions button:focus-visible { outline: 3px solid #d4ad62; outline-offset: 2px; }
.hidden { display: none !important; }
@media (max-width: 560px) {
  .cart-dialog { width: calc(100vw - 16px); max-height: 94vh; border-radius: 9px; }
  .cart-dialog-head { padding: 16px 18px; }
  .cart-return-context { align-items: flex-start; flex-direction: column; gap: 2px; padding: 10px 18px; }
  .cart-return-context small { text-align: left; }
  .cart-dialog-title strong { font-size: 24px; }
  .cart-dialog-title small { max-width: 230px; }
  .cart-items { padding-inline: 18px; }
  .cart-availability { margin-inline: 18px; }
  .cart-line { align-items: stretch; flex-direction: column; gap: 12px; }
  .cart-line-actions { justify-content: flex-start; }
  .cart-line-actions .cart-remove { margin-left: auto; }
  .cart-total { padding-inline: 18px; }
  .checkout-form { grid-template-columns: 1fr; padding: 20px 18px 24px; }
  .checkout-privacy { align-items: stretch; flex-direction: column; }
  .checkout-section-return-context { align-items: flex-start; flex-direction: column; gap: 2px; }
  .checkout-section-return-context small { text-align: left; }
  .checkout-privacy button { width: 100%; }
  .order-review dl { grid-template-columns: 1fr; }
  .order-review dl > div, .order-review dl > div:nth-child(odd), .order-review dl > div:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid #eee5dc; }
  .order-review dl > div:last-child { border-bottom: 0; }
  #reviewProductList > div { grid-template-columns: minmax(0, 1fr) auto auto; }
  #reviewProductList .review-edit-quantity { grid-column: 1 / -1; justify-self: start; }
  .checkout-submit-row { align-items: stretch; flex-direction: column; }
  .checkout-submit-row #placeOrderButton { width: 100%; margin-left: 0; }
  .order-retry-items-head { align-items: stretch; flex-direction: column; gap: 7px; }
  .order-retry-items-head button { align-self: flex-start; }
  .order-retry-details-head { align-items: stretch; flex-direction: column; gap: 7px; }
  .order-retry-details-head-actions { justify-content: space-between; }
  .undo-pending-order-restore { align-items: stretch; flex-direction: column; }
  .undo-pending-order-restore button { align-self: flex-start; }
  #checkoutStatus { margin-inline: 18px; }
  .order-receipt { margin: 18px; padding: 23px 16px; }
  .receipt-summary { grid-template-columns: 1fr; }
  .receipt-summary > div { border-right: 0; border-bottom: 1px solid #e8ddd2; }
  .receipt-summary > div:last-child { border-bottom: 0; }
}
.shop-logo-image { display: block; width: 68px; height: 68px; box-sizing: border-box; padding: 8px; border: 1px solid rgba(21, 78, 170, .15); border-radius: 50%; background: #fff; object-fit: contain; object-position: center; box-shadow: 0 3px 10px rgba(31, 42, 54, .1); }
.catalog-only-card .stock-badge { background: #5f646b; color: #fff; }

/* Circle Games brand palette: logo blue, logo green, and clean white. */
.store-page {
  --cg-blue: #0877be;
  --cg-blue-dark: #07558b;
  --cg-blue-soft: #eaf6fd;
  --cg-green: #61bd32;
  --cg-green-dark: #398a1c;
  --cg-green-soft: #effbe9;
  --cg-ink: #12364d;
  --cg-muted: #597484;
  --cg-line: #cfe2ed;
  background: #f5fbfe;
  color: var(--cg-ink);
}
.store-page .shop-notice { background: #063f68; color: #fff; }
.store-page .shop-header { background: linear-gradient(110deg, #0877be, #0868a6); box-shadow: 0 3px 12px rgba(5, 75, 120, .2); }
.store-page .shop-search > span:last-child { color: var(--cg-blue); }
.store-page .shop-search input { color: var(--cg-ink); }
.store-page .search-suggestions { border-color: var(--cg-line); box-shadow: 0 14px 34px rgba(4, 70, 112, .2); }
.store-page .search-suggestion { border-bottom-color: #e3f0f7; color: var(--cg-ink); }
.store-page .search-suggestion:hover,
.store-page .search-suggestion:focus-visible { background: var(--cg-blue-soft); }
.store-page .search-suggestion-stock { background: var(--cg-green-soft); color: var(--cg-green-dark); }
.store-page .search-suggestion-stock.out { background: #edf3f6; color: #647985; }
.store-page .cart-button { border-color: rgba(255,255,255,.7); background: #075c95; }
.store-page .cart-button span { background: var(--cg-green); color: #fff; }
.store-page .shop-nav { background: #07588f; }
.store-page .nav-category:hover,
.store-page .nav-category.active { background: #61bd32; color: #083a5a; }
.store-page .shop-nav-inner > span:last-child { color: #d8f5cb; }
.store-page .shop-hero { background: linear-gradient(120deg, #064b79 0%, #0877be 60%, #55b62e 100%); box-shadow: 0 8px 24px rgba(5, 75, 120, .18); }
.store-page .shop-hero .eyebrow { color: #dfffd0; }
.store-page .shop-hero p { color: #e9f8ff; }
.store-page .shop-hero button { background: #fff; color: var(--cg-blue-dark); box-shadow: inset 0 0 0 2px var(--cg-green); }
.store-page .eyebrow { color: var(--cg-green-dark); }
.store-page .hero-cards span { border-color: #fff; background: linear-gradient(145deg, #063f68, #0c8cd8); }
.store-page .hero-cards span:after { border-color: #8fdd68; color: #dfffd0; }
.store-page .hero-cards span:nth-child(2) { background: linear-gradient(145deg, #064b79, #0877be); }
.store-page .hero-cards span:nth-child(3) { background: linear-gradient(145deg, #256e17, #61bd32); }
.store-page .catalog-heading { border-color: var(--cg-line); border-bottom-color: var(--cg-blue); background: linear-gradient(115deg, #fff 0%, #f3fbff 72%, #e8f8e3 100%); box-shadow: 0 5px 18px rgba(4, 70, 112, .07); }
.store-page .catalog-heading:after { border-color: rgba(8,119,190,.1); box-shadow: 0 0 0 18px rgba(97,189,50,.04), 0 0 0 36px rgba(8,119,190,.025); }
.store-page .catalog-heading h2,
.store-page .catalog-empty strong { color: var(--cg-ink); }
.store-page #storeCount { border-color: var(--cg-line); color: var(--cg-blue-dark); }
.store-page .mobile-filter-toggle { border-color: var(--cg-blue); color: var(--cg-blue); }
.store-page .filter-count { background: var(--cg-green); color: #fff; }
.store-page .catalog-filters,
.store-page .results-toolbar,
.store-page .store-card,
.store-page .catalog-empty,
.store-page .catalog-loading,
.store-page .catalog-error { border-color: var(--cg-line); box-shadow: 0 5px 18px rgba(4,70,112,.06); }
.store-page .filter-title { background: linear-gradient(115deg, #064b79, #0877be); }
.store-page .filter-title button { color: #dfffd0; }
.store-page .catalog-filters > label,
.store-page .price-filter { border-bottom-color: #e3f0f7; color: var(--cg-ink); }
.store-page .catalog-filters select { border-color: var(--cg-line); background: #fbfdff; color: var(--cg-ink); }
.store-page .catalog-filters select:focus-visible,
.store-page .results-toolbar select:focus-visible { border-color: var(--cg-blue); box-shadow: 0 0 0 3px rgba(97,189,50,.24); }
.store-page .service-note { border-color: #cfe9c1; border-left-color: var(--cg-green); background: linear-gradient(135deg, #f6fff2, #eaf8ff); }
.store-page .service-note p,
.store-page .results-toolbar,
.store-page #resultSummary,
.store-page .results-toolbar label,
.store-page .active-filter-chips { color: var(--cg-muted); }
.store-page .results-toolbar { border-left-color: var(--cg-blue); background: linear-gradient(90deg, #fff, #f2faff); }
.store-page .active-filter-chips button { border-color: #bcdbe9; color: var(--cg-blue-dark); }
.store-page .active-filter-chips button:hover { border-color: var(--cg-blue); background: var(--cg-blue-soft); }
.store-page .active-filter-chips button:focus-visible,
.store-page .store-card:focus-visible,
.store-page .product-title-button:focus-visible,
.store-page .card-bottom button:focus-visible { outline-color: var(--cg-green); }
.store-page .catalog-pager button,
.store-page .card-bottom button,
.store-page .catalog-empty button:hover { border-color: var(--cg-blue); background: var(--cg-blue); }
.store-page .catalog-pager button:hover,
.store-page .card-bottom button:hover { background: var(--cg-blue-dark); }
.store-page .store-card:hover { border-color: #88cbea; box-shadow: 0 12px 28px rgba(4,70,112,.15); }
.store-page .art { border-bottom-color: #dcecf4; background: radial-gradient(circle at 50% 38%, #fff 0, #eef8fd 52%, #dceff8 100%); }
.store-page .art-placeholder { border-color: #bde4f5; background: linear-gradient(145deg, #064b79, #0877be); color: #dfffd0; }
.store-page .stock-badge { background: rgba(5,77,122,.92); }
.store-page .product-kind,
.store-page .product-title-button:hover,
.store-page .card-bottom strong { color: var(--cg-blue); }
.store-page .product-details span { border-color: #d5e8f1; background: #f1f9fd; color: #426579; }
.store-page .catalog-card-cart-status { border-top-color: #deedf4; color: #426579; }
.store-page .catalog-card-cart-status strong { color: var(--cg-blue); }
.store-page .catalog-card-cart-status.at-stock-limit,
.store-page .catalog-card-cart-status.at-stock-limit strong { color: #39751b; }
.store-page .store-card.cart-stock-limit { border-color: #9ac983; }
.store-page .card-bottom { border-top-color: #deedf4; }
.store-page .catalog-empty button { border-color: var(--cg-blue); color: var(--cg-blue); }
.store-page .store-assurances { border-top-color: var(--cg-line); background: #fff; }
.store-page .assurance-icon { border-color: var(--cg-green); color: var(--cg-blue); }
.store-page .store-assurances article { border-right-color: #dcecf4; }
.store-page .store-assurances strong { color: var(--cg-ink); }
.store-page .shop-footer { background: linear-gradient(120deg, #053d64, #075b91); color: #dceff8; }
.store-page .footer-logo > span { border-color: var(--cg-green); color: #dfffd0; }
.store-page .footer-logo strong,
.store-page .footer-details span { color: #a5e785; }
.store-page .footer-details strong,
.store-page .footer-logo { color: #fff; }
.store-page .footer-brand p,
.store-page .footer-details small { color: #c7e2ef; }
.store-page .cart-toast { background: #053d64; border-left-color: var(--cg-green); }
.store-page .order-lookup-copy h2,
.store-page .lookup-result-head h3,
.store-page .lookup-items > strong { color: var(--cg-blue-dark); }
.store-page .order-lookup-form input:focus { border-color: var(--cg-blue); box-shadow: 0 0 0 3px rgba(8,119,190,.14); }
.store-page .order-lookup-form button { background: var(--cg-blue); }
.store-page .order-lookup-form .order-lookup-clear { background: #fff; color: var(--cg-blue-dark); }
.store-page .lookup-result-head { background: linear-gradient(135deg, #f2faff, #eefbe8); }
.store-page .lookup-guidance { border-left-color: var(--cg-green); background: #f2faff; }
.store-page .lookup-result-footer button { border-color: var(--cg-blue); color: var(--cg-blue); }
.store-page .lookup-result-footer button:hover,
.store-page .lookup-result-footer button:focus-visible { background: var(--cg-blue); color: #fff; }
.store-page .product-dialog,
.store-page .cart-dialog { color: var(--cg-ink); background: #fff; box-shadow: 0 24px 80px rgba(3,55,88,.34); }
.store-page .product-dialog::backdrop,
.store-page .cart-dialog::backdrop { background: rgba(3,45,72,.72); }
.store-page .product-dialog-head,
.store-page .cart-dialog-head { border-bottom-color: var(--cg-line); background: linear-gradient(135deg, #fff, #eff9fe); }
.store-page .product-dialog-head .product-dialog-back,
.store-page .product-dialog-buy strong { color: var(--cg-blue); }
.store-page .product-dialog-head button:focus-visible,
.store-page .product-dialog-buy button:focus-visible { outline-color: var(--cg-green); }
.store-page .product-dialog-art { background: linear-gradient(145deg, #e8f5fb, #edf9e8); }
.store-page .product-dialog-buy button { background: var(--cg-blue); }
.store-page .product-dialog-buy button:hover { background: var(--cg-blue-dark); }
.store-page .product-dialog-stock { color: var(--cg-green-dark); }
.store-page .product-dialog-stock span { background: var(--cg-green); }
.store-page .cart-dialog button[type="submit"],
.store-page #placeOrderButton { background: var(--cg-blue); border-color: var(--cg-blue); color: #fff; }
.store-page .cart-dialog input:focus,
.store-page .cart-dialog textarea:focus,
.store-page .cart-dialog select:focus { border-color: var(--cg-blue); box-shadow: 0 0 0 3px rgba(97,189,50,.2); }
.store-page .cart-dialog-title > span,
.store-page .checkout-heading > span,
.store-page .order-review-heading span,
.store-page .order-receipt-heading > span,
.store-page .receipt-next-step > span { color: var(--cg-green-dark); }
.store-page .cart-dialog-title strong,
.store-page .checkout-heading strong,
.store-page .order-review-heading strong,
.store-page .order-receipt-heading h2 { color: var(--cg-blue-dark); }
.store-page .cart-dialog-title small,
.store-page .checkout-heading small,
.store-page .checkout-privacy small { color: var(--cg-muted); }
.store-page .cart-dialog-head button { border-color: var(--cg-line); color: var(--cg-blue-dark); }
.store-page .cart-dialog-head button:hover { border-color: var(--cg-blue); color: var(--cg-blue); background: var(--cg-blue-soft); }
.store-page .cart-return-context { border-bottom-color: var(--cg-line); background: linear-gradient(90deg, #f2faff, #f5fbed); }
.store-page .cart-return-context button { color: var(--cg-blue); }
.store-page .cart-return-context button:focus-visible { outline-color: var(--cg-green); }
.store-page .cart-return-context small { color: var(--cg-muted); }
.store-page .cart-dialog-head button:focus-visible,
.store-page .cart-line-actions button:focus-visible,
.store-page #placeOrderButton:focus-visible,
.store-page .cart-availability-retry:focus-visible,
.store-page .cart-line-adjusted:focus-visible,
.store-page .cart-line-after-removal:focus-visible,
.store-page .cart-line-recheck-confirmed:focus-visible,
.store-page .cart-line-quantity-changed:focus-visible,
.store-page .cart-line-edit-target:focus-visible,
.store-page .cart-availability:focus-visible,
.store-page #cartItems > .empty:focus-visible { outline-color: var(--cg-green); }
.store-page .cart-items > .empty { border-color: #bddaea; background: #f3faff; color: var(--cg-muted); }
.store-page .cart-line { border-bottom-color: #dfedf4; }
.store-page .cart-product-action { color: var(--cg-ink); }
.store-page .cart-product-action:hover { color: var(--cg-blue); }
.store-page .cart-product-action:focus-visible { outline-color: var(--cg-green); }
.store-page .cart-line small { color: var(--cg-muted); }
.store-page .cart-stock-note { color: var(--cg-green-dark); }
.store-page .cart-line-actions button { border-color: #bfdbe8; color: var(--cg-blue-dark); }
.store-page .cart-line-actions button:hover { border-color: var(--cg-blue); color: var(--cg-blue); background: var(--cg-blue-soft); }
.store-page .cart-line-actions .cart-remove { color: var(--cg-blue); }
.store-page .cart-total { border-color: #cfe2ed; background: linear-gradient(100deg, #eaf6fd, #effbe9); }
.store-page .cart-total span { color: var(--cg-muted); }
.store-page .cart-total strong { color: var(--cg-blue); }
.store-page .checkout-form { background: #fff; }
.store-page .checkout-form label { color: var(--cg-ink); }
.store-page .checkout-form input,
.store-page .checkout-form select,
.store-page .checkout-form textarea { border-color: #c5dce8; color: var(--cg-ink); }
.store-page .checkout-form input:hover,
.store-page .checkout-form select:hover,
.store-page .checkout-form textarea:hover { border-color: #85bed9; }
.store-page .checkout-privacy button { border-color: #bddaea; color: var(--cg-blue-dark); }
.store-page .checkout-privacy button:hover:not(:disabled),
.store-page .checkout-privacy button:focus-visible { border-color: var(--cg-blue); background: var(--cg-blue-soft); color: var(--cg-blue); }
.store-page .checkout-section-return-context { border-color: #b9dcb0; background: #f1faed; }
.store-page .checkout-section-return-context button,
.store-page .review-edit-detail { color: var(--cg-blue); }
.store-page .checkout-section-return-context button:focus-visible,
.store-page .review-edit-detail:focus-visible { outline-color: var(--cg-green); }
.store-page .checkout-note { border-left-color: var(--cg-green); background: #f2faff; color: var(--cg-muted); }
.store-page .order-review { border-color: var(--cg-line); }
.store-page .order-review-heading { border-bottom-color: var(--cg-line); background: linear-gradient(135deg, #f2faff, #effbe9); }
.store-page .review-readiness-summary { border-bottom-color: var(--cg-line); background: #f1faed; color: #357321; }
.store-page .review-readiness-summary-missing { background: #fff5f6; color: #a12236; }
.store-page .review-readiness-summary button:focus-visible { outline-color: var(--cg-green); }
.store-page .order-review dl > div { border-color: #dfedf4; }
.store-page .order-review-products { border-color: #dfedf4; }
.store-page .order-review dt { color: var(--cg-muted); }
.store-page .order-review dd { color: var(--cg-ink); }
.store-page .order-review .review-readiness-missing { background: #fff5f6; box-shadow: inset 3px 0 #c23b4f; }
.store-page .review-readiness { background: #ffe7eb; color: #a12236; }
.store-page .review-readiness-ready { background: #e9f7e4; color: #357321; }
.store-page .order-review dl > div:last-child dd { color: var(--cg-blue); }
.store-page .order-review-products > span,
.store-page #reviewProductList span { color: var(--cg-muted); }
.store-page #reviewProductList button,
.store-page #reviewProductList strong { color: var(--cg-ink); }
.store-page #reviewProductList button:hover { color: var(--cg-blue); }
.store-page #reviewProductList .review-edit-quantity { color: var(--cg-blue); }
.store-page #placeOrderButton { background: var(--cg-blue); box-shadow: 0 8px 18px rgba(8,119,190,.2); }
.store-page #placeOrderButton:hover { background: var(--cg-blue-dark); }
.store-page .order-receipt { border-color: #c7e1ed; background: linear-gradient(145deg, #fff, #edf9e8); box-shadow: 0 12px 30px rgba(4,70,112,.08); }
.store-page .order-receipt-mark { background: var(--cg-green); }
.store-page .receipt-order-number { border-color: #82c9e8; color: var(--cg-ink); }
.store-page .receipt-summary { border-color: var(--cg-line); }
.store-page .receipt-summary > div { border-color: #dfedf4; }
.store-page .receipt-summary dt { color: var(--cg-muted); }
.store-page .receipt-summary dd { color: var(--cg-ink); }
.store-page .receipt-summary > div:last-child dd { color: var(--cg-blue); }
.store-page .receipt-next-step { border-left-color: var(--cg-green); }
.store-page .receipt-actions button { border-color: var(--cg-blue); }
.store-page #receiptTrackOrder { background: var(--cg-blue); }
.store-page #receiptTrackOrder:hover { background: var(--cg-blue-dark); }
.store-page #receiptContinue { color: var(--cg-blue); }
.store-page #receiptContinue:hover,
.store-page #receiptDone:hover { background: var(--cg-blue-soft); color: var(--cg-blue); }
.store-page .receipt-actions button:focus-visible { outline-color: var(--cg-green); }

@media (max-width: 760px) {
  .store-page .shop-hero { background: linear-gradient(138deg, #064b79 0%, #0877be 64%, #55b62e 100%); }
  .store-page .nav-category.active { box-shadow: inset 0 -3px #dfffd0; }
  .store-page .mobile-catalog-toolbar { background: rgba(245,251,254,.97); border-bottom-color: var(--cg-line); box-shadow: 0 5px 14px rgba(4,70,112,.1); }
  .store-page .mobile-catalog-toolbar input { border-color: #bcdbe9; color: var(--cg-ink); }
  .store-page .mobile-catalog-toolbar label > span:last-child { color: var(--cg-blue); }
  .store-page .mobile-catalog-toolbar button { border-color: var(--cg-blue); background: var(--cg-blue); }
  .store-page .mobile-catalog-toolbar .filter-count { background: var(--cg-green); color: #fff; }
  .store-page .mobile-catalog-toolbar input:focus-visible,
  .store-page .mobile-catalog-toolbar button:focus-visible { outline-color: var(--cg-green); }
}
.catalog-only-card .card-bottom strong { color: #686e75; font-size: 15px; }
