:root {
  --ink: #111;
  --muted: #6b6b6b;
  --orange: #f15a22;
  --orange-dark: #d94c18;
  --line: #ececec;
  --bg: #f6f6f7;
  --card: #fff;
  --sale: #c41e3a;
  --wa: #25d366;
  --bar-glass: rgba(0, 0, 0, .52);
}
html { scroll-behavior: smooth; }
* { box-sizing: border-box; }
body.sf {
  margin: 0;
  font: 15px/1.5 "Segoe UI", system-ui, -apple-system, sans-serif;
  color: var(--ink);
  background: var(--bg);
}
a { color: inherit; text-decoration: none; }
body.sf input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="search"]):not([type="color"]),
body.sf select,
body.sf textarea {
  font: inherit;
  font-weight: 500;
  color: var(--ink);
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: .48rem .7rem;
  line-height: 1.25;
  transition: border-color .15s, box-shadow .15s;
}
body.sf textarea { min-height: 5.5rem; resize: vertical; width: 100%; }
body.sf select {
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%236b6b6b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 6l4 4 4-4'/></svg>");
  background-repeat: no-repeat;
  background-position: right .65rem center;
  padding-right: 2rem;
}
body.sf input:hover:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body.sf select:hover,
body.sf textarea:hover { border-color: #c8c8c8; }
body.sf input:focus:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body.sf select:focus,
body.sf textarea:focus {
  outline: none;
  border-color: var(--orange);
  box-shadow: 0 0 0 3px rgba(241, 90, 34, .18);
}
body.sf input[type="number"] {
  font-variant-numeric: tabular-nums;
  appearance: textfield;
  -moz-appearance: textfield;
}
body.sf input[type="number"]::-webkit-inner-spin-button,
body.sf input[type="number"]::-webkit-outer-spin-button {
  appearance: none;
  margin: 0;
}
body.sf input[type="checkbox"],
body.sf input[type="radio"] {
  width: 1.05rem;
  height: 1.05rem;
  accent-color: var(--orange);
  cursor: pointer;
}
.wrap { max-width: 1180px; margin: 0 auto; padding: 1.2rem 1.4rem; }
.announce {
  background: linear-gradient(var(--bar-glass), var(--bar-glass)), var(--orange);
  backdrop-filter: blur(2px);
  color: #fff;
  text-align: center;
  padding: .42rem 1rem;
  font-size: .78rem;
  letter-spacing: .03em;
}
.staff-preview {
  background: #b45309;
  color: #fff;
  text-align: center;
  padding: .42rem 1rem;
  font-size: .82rem;
  font-weight: 650;
}
.staff-preview a { color: #fff; text-decoration: underline; }
.sf-chrome { position: relative; z-index: 12; background: #fff; border-bottom: 1px solid var(--line); }
.sf-pages {
  display: flex; flex-wrap: nowrap; gap: 0; overflow-x: auto;
  padding-top: .4rem; padding-bottom: .4rem;
  border-bottom: 1px solid var(--line);
  scrollbar-width: none;
}
.sf-pages::-webkit-scrollbar { display: none; }
.sf-pages a {
  flex: 0 0 auto;
  font-size: .75rem; font-weight: 600; color: #666;
  padding: .12rem .75rem; border-right: 1px solid var(--line);
}
.sf-pages a:first-child { padding-left: 0; }
.sf-pages a:last-child { border-right: 0; }
.sf-pages a:hover { color: var(--orange); }
.sf-pages a.on { color: var(--ink); }
.izipay-box .kr-smart-form { min-height: 240px; margin: 1rem 0; }
.legal-page .section-title {
  font-size: 1.85rem;
  letter-spacing: -.03em;
  margin: 0 0 1.15rem;
}
.legal-page .legal-body {
  color: #2a2d33;
  font-size: 1.02rem;
  line-height: 1.7;
}
.legal-page .legal-body p { margin: 0 0 1em; }
.legal-page .legal-body h2 {
  font-size: 1.22rem;
  margin: 2rem 0 .55rem;
  padding: 0 0 .4rem;
  border-bottom: 1px solid #ececec;
  letter-spacing: -.02em;
  line-height: 1.35;
}
.legal-page .legal-body h2:first-child { margin-top: 0; }
.legal-page .legal-body h3, .legal-page .legal-body h4 {
  font-size: 1.06rem;
  margin: 1.35em 0 .4em;
  color: #222;
}
.legal-page .legal-body ul,
.legal-page .legal-body ol {
  margin: .2em 0 1em 1.2em;
  padding: 0;
}
.legal-page .legal-body li { margin: .28em 0; }
.sf-head {
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  align-items: center;
  gap: .8rem 1.2rem;
  padding-top: .85rem;
  padding-bottom: .75rem;
}
.brand { display: flex; align-items: center; min-width: 0; }
.sf-place-wrap { position: relative; min-width: 0; }
.sf-place {
  display: flex;
  align-items: center;
  gap: .45rem;
  margin: 0;
  padding: .28rem .55rem .28rem .35rem;
  border: 0;
  border-radius: 12px;
  background: none;
  color: var(--ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
  max-width: 12.2rem;
}
.sf-place:hover { color: var(--orange); background: #fff7f2; }
.sf-place[aria-expanded="true"] { color: var(--orange); background: #fff7f2; }
.sf-place svg { flex: 0 0 auto; color: var(--orange); }
.sf-place-txt {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.15;
}
.sf-place-txt small {
  font-size: .68rem;
  font-weight: 650;
  color: var(--muted);
}
.sf-place-txt strong {
  font-size: .86rem;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sf-place-txt em {
  font-style: normal;
  font-size: .68rem;
  font-weight: 650;
  color: var(--orange);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sf-place-txt em.is-off { display: none; }
.sf-place-panel {
  position: absolute;
  top: calc(100% + .55rem);
  left: 0;
  z-index: 14;
  width: min(23.5rem, calc(100vw - 1.5rem));
  padding: 0 1.1rem 1.15rem;
  background: #fff;
  border: 1px solid #f0e4dc;
  border-radius: 18px;
  box-shadow: 0 16px 40px rgba(17, 17, 17, .14), 0 2px 8px rgba(241, 90, 34, .08);
}
.sf-place-panel[hidden] { display: none; }
.sf-place-head {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  margin: 0 -1.1rem .95rem;
  padding: 1rem 1.1rem .9rem;
  background: linear-gradient(180deg, #fff7f2 0%, #fff 100%);
  border-bottom: 1px solid #ffe8d9;
  border-radius: 18px 18px 0 0;
}
.sf-place-head-row {
  display: flex;
  align-items: center;
  gap: .65rem;
}
.sf-place-ico {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #ffd8c4;
  color: var(--orange);
  box-shadow: 0 1px 4px rgba(241, 90, 34, .12);
}
.sf-place-ico svg { display: block; }
.sf-place-lead {
  margin: 0;
  font-weight: 800;
  font-size: 1.02rem;
  letter-spacing: -.02em;
  line-height: 1.2;
  white-space: nowrap;
}
.sf-place-sub {
  margin: 0;
  font-size: .78rem;
  color: var(--muted);
  font-weight: 500;
  line-height: 1.35;
}
.sf-place-status {
  margin: 0 0 .6rem;
  padding: .45rem .6rem;
  border-radius: 10px;
  background: #fff7f2;
  color: var(--orange-dark);
  font-size: .78rem;
  font-weight: 650;
}
.sf-place-status:empty { display: none; }
.sf-place-panel label {
  display: block;
  margin: 0;
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .02em;
  color: #555;
}
.sf-place-fields { display: grid; gap: .6rem; margin-bottom: .8rem; }
.sf-place-panel select,
.sf-place-panel input {
  display: block;
  width: 100%;
  margin-top: .32rem;
  min-height: 2.5rem;
  background-color: #fafafa;
  border-radius: 10px;
}
.sf-place-panel select:focus,
.sf-place-panel input:focus {
  background-color: #fff;
}
.sf-place-panel .is-off { display: none; }
.sf-place-geo,
#place-save {
  width: 100%;
  gap: .45rem;
  min-height: 2.55rem;
  border-radius: 10px;
}
.sf-place-geo { margin: 0 0 .1rem; }
#place-save { margin: 0; }
.sf-place-or {
  display: flex;
  align-items: center;
  gap: .6rem;
  margin: .75rem 0 .7rem;
  color: var(--muted);
  font-size: .7rem;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.sf-place-or::before,
.sf-place-or::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #f0e4dc;
}
.sf-place-stores { margin-top: .95rem; border-top: 1px solid #ffe8d9; padding-top: .8rem; }
.sf-place-stores h3 { margin: 0 0 .55rem; font-size: .78rem; font-weight: 800; }
.sf-place-stores ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.sf-place-stores li {
  display: flex;
  flex-direction: column;
  gap: .12rem;
  padding: .7rem .75rem;
  border: 1px solid #f0e4dc;
  border-radius: 12px;
  background: #fffaf7;
  font-size: .8rem;
  line-height: 1.3;
}
.sf-place-stores li strong { font-weight: 800; color: var(--orange); }
.sf-place-stores small { color: var(--muted); }
.brand img { display: block; height: 44px; width: auto; max-width: 240px; object-fit: contain; border-radius: 8px; }
.site-name { font-weight: 800; font-size: 1.25rem; letter-spacing: -.04em; }
.search {
  display: flex;
  border: 1px solid #ddd;
  border-radius: 999px;
  overflow: hidden;
  background: #fafafa;
  min-width: 0;
  transition: border-color .15s, box-shadow .15s;
}
.search:focus-within {
  border-color: var(--orange);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(241, 90, 34, .16);
}
.search input { flex: 1; border: 0; background: transparent; padding: .52rem 1.1rem; font: inherit; min-width: 0; }
.search input:focus { outline: none; }
.search button {
  border: 0; background: var(--ink); color: #fff; padding: .52rem 1rem;
  cursor: pointer; font: inherit; font-weight: 700; font-size: .85rem;
}
.search button:hover { background: var(--orange); }
.sf-end { display: flex; gap: .85rem; align-items: center; justify-content: flex-end; min-width: 0; }
.sf-tools { display: flex; gap: .85rem; align-items: center; font-size: .88rem; font-weight: 650; white-space: nowrap; }
.tool-ico { display: none; color: var(--ink); }
.tool-ico svg { display: block; }
.sf-cats { display: none; position: relative; flex: 0 0 auto; }
.sf-cats-toggle {
  display: flex;
  align-items: center;
  gap: .45rem;
  margin: 0;
  padding: .35rem .55rem .35rem .45rem;
  border: 0;
  border-radius: 10px;
  background: none;
  color: var(--ink);
  font: inherit;
  font-size: .88rem;
  font-weight: 650;
  cursor: pointer;
}
.sf-cats-toggle:hover { color: var(--orange); background: #f3f3f4; }
.sf-cats-burger {
  position: relative;
  display: block;
  width: 1.15rem;
  height: .82rem;
}
.sf-cats-burger span {
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  transition: transform .2s ease, opacity .2s ease, top .2s ease;
}
.sf-cats-burger span:nth-child(1) { top: 0; }
.sf-cats-burger span:nth-child(2) { top: 50%; margin-top: -1px; }
.sf-cats-burger span:nth-child(3) { bottom: 0; }
.sf-cats.is-open .sf-cats-toggle { color: var(--orange); background: #f3f3f4; }
.sf-cats.is-open .sf-cats-burger span:nth-child(1) {
  top: 50%;
  margin-top: -1px;
  transform: rotate(45deg);
}
.sf-cats.is-open .sf-cats-burger span:nth-child(2) { opacity: 0; }
.sf-cats.is-open .sf-cats-burger span:nth-child(3) {
  top: 50%;
  bottom: auto;
  margin-top: -1px;
  transform: rotate(-45deg);
}
.sf-cats-panel {
  display: none;
  position: absolute;
  top: calc(100% + .4rem);
  left: 0;
  z-index: 13;
  min-width: 15.5rem;
  max-width: min(18rem, calc(100vw - 2rem));
  max-height: min(62vh, 24rem);
  overflow-x: hidden;
  overflow-y: auto;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 14px 36px rgba(17, 17, 17, .14);
  -webkit-overflow-scrolling: touch;
}
.sf-cats.is-open .sf-cats-panel { display: flex; }
.sf-cats-panel a {
  padding: .72rem .95rem;
  font-size: .9rem;
  font-weight: 650;
  color: var(--ink);
  border-top: 1px solid var(--line);
  white-space: normal;
  line-height: 1.3;
}
.sf-cats-panel a:first-child { border-top: 0; }
.sf-cats-panel a:hover { background: #f6f6f7; color: var(--orange); }
.sf-tools .tool:hover, .cart-ico:hover { color: var(--orange); }
.sf-tools .tool {
  display: inline-flex; align-items: center; justify-content: center;
  font: inherit; font-weight: 650; background: none; border: 0; padding: 0; cursor: pointer; color: inherit;
}
.sf-tools .tool-account:hover .tool-ico { color: var(--orange); }
.auth-modal {
  position: relative;
  width: min(24.5rem, calc(100vw - 1.6rem));
  border: 0;
  border-radius: 16px;
  padding: 1.45rem 1.3rem 1.3rem;
  max-height: min(42rem, calc(100vh - 1.6rem));
  overflow: auto;
  box-shadow: 0 18px 50px rgba(17, 17, 17, .2);
}
.auth-modal::backdrop { background: rgba(17, 17, 17, .45); }
.auth-modal h2 {
  margin: 0 1.8rem .95rem;
  text-align: center;
  font-size: 1.12rem;
  letter-spacing: -.02em;
}
.auth-modal-x {
  position: absolute; top: .55rem; right: .65rem;
  width: 2rem; height: 2rem; border: 0; background: none;
  font: inherit; font-size: 1.35rem; line-height: 1; cursor: pointer; color: #888;
}
.auth-modal-x:hover { color: var(--ink); }
.auth-modal form { margin: 0; }
.auth-choices { display: flex; flex-direction: column; gap: .5rem; }
.auth-choices[hidden], .auth-main[hidden], .auth-pane[hidden] { display: none !important; }
.auth-choice {
  display: flex; align-items: center; justify-content: center; gap: .55rem;
  width: 100%; min-height: 2.75rem; margin: 0; padding: .5rem .75rem;
  border: 1.5px solid #222; border-radius: 8px;
  background: #fff; color: #111; font: inherit; font-weight: 650;
  text-align: center; cursor: pointer;
}
.auth-choice:hover { background: #f7f7f8; }
.auth-main { min-width: 0; }
.auth-links {
  margin: .95rem 0 0;
  display: flex; flex-direction: column; align-items: center; gap: .42rem;
}
.auth-links-line {
  margin: 0;
  font-size: .82rem;
  font-weight: 500;
  color: var(--ink);
  text-align: center;
  white-space: nowrap;
}
.auth-links-line button { display: inline; }
.auth-links button {
  font: inherit; font-size: .82rem; font-weight: 650; line-height: 1.3;
  color: var(--orange); background: none; border: 0; padding: 0; cursor: pointer;
  text-align: center;
}
.auth-links button:hover { color: var(--orange-dark); }
.auth-modal .flash { margin: 0 0 .75rem; }
.auth-pane label { display: flex; flex-direction: column; gap: .3rem; margin: .5rem 0; font-weight: 650; }
.auth-pane input { width: 100%; }
.auth-pane .btn-cart { width: 100%; margin-top: .45rem; }
.auth-pane .muted { margin: 0 0 .7rem; }
.add-modal {
  position: relative;
  width: min(42rem, calc(100vw - 2rem));
  border: 0;
  border-radius: 16px;
  padding: 1.45rem 1.35rem 1.25rem;
  box-shadow: 0 18px 50px rgba(17, 17, 17, .2);
}
.add-modal::backdrop { background: rgba(17, 17, 17, .45); }
.add-modal-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(16rem, 1fr);
  gap: 1.15rem 1.4rem;
  align-items: stretch;
}
.add-modal-media {
  display: grid;
  place-items: center;
  min-height: 14.5rem;
  background: #f6f6f6;
  border-radius: 12px;
}
.add-modal-media img {
  width: 100%;
  height: 100%;
  max-height: 16.5rem;
  object-fit: contain;
  padding: .7rem;
}
.add-modal:has(#add-modal-img[hidden]) .add-modal-media { display: none; }
.add-modal:has(#add-modal-img[hidden]) .add-modal-grid { grid-template-columns: 1fr; }
.add-modal-side {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding-right: 1.4rem;
}
.add-modal-side strong { display: block; font-size: 1.08rem; line-height: 1.3; }
.add-modal-side .price { margin: .35rem 0 .9rem; font-size: 1.25rem; }
.add-modal .qty-row { margin: 0 0 .15rem; }
.add-modal .btn-cart { width: 100%; margin-top: .95rem; min-height: 2.6rem; }
.add-modal-more {
  display: block; text-align: center; margin-top: .65rem;
  font-size: .88rem; color: var(--muted);
}
.add-modal-err { color: #b42318 !important; margin: .45rem 0 0; }
@media (max-width: 640px) {
  .add-modal-grid { grid-template-columns: 1fr; }
  .add-modal-media { min-height: 11rem; }
  .add-modal-media img { max-height: 12.5rem; }
  .add-modal-side { padding-right: 0; }
}
.cart-scrim {
  position: fixed;
  inset: 0;
  z-index: 80;
  border: 0;
  padding: 0;
  margin: 0;
  background: rgba(17, 17, 17, .45);
  cursor: pointer;
}
.cart-scrim[hidden] { display: none; }
dialog.cart-drawer {
  width: min(28rem, 100%);
  height: 100vh;
  height: 100dvh;
  max-height: 100vh;
  max-height: 100dvh;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  overflow: hidden;
  position: fixed;
  inset: 0 0 0 auto;
  z-index: 81;
  box-shadow: -16px 0 40px rgba(17, 17, 17, .18);
  scrollbar-width: none;
  -ms-overflow-style: none;
}
dialog.cart-drawer:not([open]) { display: none; }
dialog.cart-drawer::-webkit-scrollbar { width: 0; height: 0; display: none; }
dialog.cart-drawer[open] {
  display: flex;
  flex-direction: column;
}
html.is-cart-open,
html.is-cart-open body {
  overflow: hidden;
}
html.is-cart-open body {
  padding-right: var(--sbw, 0px);
}
body.is-cart-open .wa-fab { visibility: hidden; }
.cart-drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .6rem;
  padding: 1rem 1.1rem .75rem;
  border-bottom: 1px solid var(--line);
  flex: 0 0 auto;
}
.cart-drawer-head h2 { margin: 0; font-size: 1.15rem; }
.cart-drawer-head .auth-modal-x { position: static; }
.cart-drawer-clip {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
.cart-drawer-body {
  height: 100%;
  overflow-x: hidden;
  overflow-y: scroll;
  box-sizing: border-box;
  margin-right: -24px;
  padding: .35rem calc(1.1rem + 24px) 1.25rem 1.1rem;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.cart-drawer-body::-webkit-scrollbar { width: 0; height: 0; display: none; }
.cart-drawer .cart-line {
  grid-template-columns: 64px minmax(0, 1fr) auto;
  gap: .7rem;
}
.cart-drawer .cart-thumb { width: 64px; height: 64px; }
.cart-drawer .cart-line-copy { min-width: 0; }
.cart-drawer .cart-line-price { display: block; margin-top: .25rem; }
.cart-drawer .cart-qty { grid-column: 2; }
.cart-drawer .cart-line form:last-child { grid-column: 3; grid-row: 1; }
.cart-drawer .cart-qty .ghost { display: none; }
.cart-drawer .cart-remove {
  width: 2.4rem;
  height: 2.4rem;
  padding: 0;
  display: grid;
  place-items: center;
  color: #9a9a9a;
}
.cart-drawer .cart-remove:hover { color: var(--sale); }
.cart-drawer .cart-remove .ph-svg { display: block; width: 22px; height: 22px; }
.cart-drawer .qty-step { margin-top: .4rem; }
.cart-drawer .qty-step button { width: 2rem; }
.cart-drawer .qty-step .qty-input {
  width: 2.4rem;
  max-width: 2.4rem;
  border: 0;
  padding: .38rem 0;
}
.cart-drawer .cart-foot { position: sticky; bottom: 0; background: #fff; padding-top: 1rem; }
.cart-drawer .cart-foot .btn-cart { width: 100%; }
.cart-drawer-empty { text-align: center; padding: 2rem .6rem; }
.cart-drawer-empty .btn-cart { margin-top: .6rem; }
.cart-ico {
  display: inline-flex; align-items: center; gap: .4rem;
  font: inherit; font-weight: 650; background: none; border: 0; padding: 0;
  cursor: pointer; color: inherit;
}
.cart-ico-mark {
  position: relative;
  display: inline-flex;
  color: var(--orange);
}
.cart-ico-svg { display: block; }
.cart-ico b {
  position: absolute; top: -.45rem; right: -.55rem;
  min-width: 1.05rem; height: 1.05rem; padding: 0 .28rem; border-radius: 999px;
  background: var(--ink); color: #fff; font-size: .62rem; display: grid; place-items: center;
  line-height: 1;
}
.cart-ico b.is-empty { display: none; }
.cart-ico-mark.is-pop { animation: cart-pop .45s ease; }
@keyframes cart-pop {
  0% { transform: scale(1); }
  30% { transform: scale(1.38); }
  100% { transform: scale(1); }
}
.sf-nav {
  display: flex; flex-wrap: nowrap; gap: .2rem .15rem; overflow-x: auto;
  padding-top: 0; padding-bottom: .75rem;
  scrollbar-width: none;
}
.sf-nav::-webkit-scrollbar { display: none; }
.sf-nav a {
  flex: 0 0 auto; padding: .35rem .7rem; border-radius: 999px; font-size: .88rem; font-weight: 600; color: #444;
}
.sf-nav a:hover { background: #f3f3f4; color: var(--ink); }
.sf-nav a.on { background: #111; color: #fff; }
.auth-box { max-width: 420px; }
.auth-switch { margin-top: 1rem; }
.btn-google {
  display: flex; align-items: center; justify-content: center; gap: .55rem;
  width: 100%; min-height: 2.5rem; margin: .35rem 0 .7rem;
  border: 1px solid #dadce0; border-radius: 8px;
  background: #fff; color: #3c4043; font: inherit; font-weight: 650;
}
.btn-google:hover { background: #f8f9fa; border-color: #c6c8cc; }
.auth-or {
  display: flex; align-items: center; gap: .7rem;
  color: var(--muted); font-size: .82rem; font-weight: 650; margin: .2rem 0 .85rem;
}
.auth-or:before, .auth-or:after {
  content: ""; flex: 1; height: 1px; background: var(--line);
}
.auth-alta {
  margin: 1rem 0 0; border: 1px solid var(--line); border-radius: 10px; padding: .7rem .9rem;
}
.auth-alta summary { cursor: pointer; font-weight: 700; }
.auth-alta form { margin-top: .75rem; }
.auth-google-hint { margin: -.4rem 0 .8rem; font-size: .82rem; }
.auth-box .btn-now { width: 100%; }
details.account-opt { margin: 1rem 0; border: 1px solid var(--line); border-radius: 8px; padding: .6rem .9rem; }
details.account-opt summary { cursor: pointer; font-weight: 700; }
.trust {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem;
  padding-top: 1.4rem; padding-bottom: 0;
}
.home-slider-wrap {
  position: relative;
  margin: 0;
  padding: 0;
}
.slider-cats {
  position: absolute;
  top: 0; left: 0; right: 0;
  z-index: 4;
  display: flex;
  justify-content: center;
  background: var(--bar-glass);
  backdrop-filter: blur(2px);
}
.slider-cats-inner {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  width: 100%;
  gap: 0;
  padding: 0 1.4rem;
  overflow-x: auto;
  scrollbar-width: none;
}
.slider-cats-inner::-webkit-scrollbar { display: none; }
.slider-cats a {
  flex: 0 0 auto;
  padding: .42rem .9rem;
  font-size: .82rem;
  font-weight: 600;
  color: rgba(255,255,255,.88);
  white-space: nowrap;
  border-right: 1px solid rgba(255,255,255,.1);
  transition: background .15s, color .15s;
}
.slider-cats a:last-child { border-right: 0; }
.slider-cats a:hover { background: rgba(255,255,255,.18); color: #fff; }
.home-slider-stage {
  position: relative;
  aspect-ratio: 8 / 3;
  overflow: hidden;
  background: #ececec;
}
.home-slider-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity .45s ease;
}
.home-slider-slide.is-on { opacity: 1; pointer-events: auto; z-index: 1; }
.home-slider-slide picture,
.home-slider-slide a { display: block; width: 100%; height: 100%; }
.home-slider-slide img {
  width: 100%; height: 100%; object-fit: cover; object-position: center center; display: block;
}
.home-slider-nav {
  position: absolute; top: 50%; transform: translateY(-50%);
  z-index: 3; width: 2.2rem; height: 2.2rem; padding: 0;
  border: 0; border-radius: 50%;
  background: rgba(255,255,255,.92); color: var(--ink);
  font-size: 1.35rem; line-height: 1; cursor: pointer;
  box-shadow: 0 2px 10px rgba(16,18,24,.12);
}
.home-slider-nav.is-prev { left: .7rem; }
.home-slider-nav.is-next { right: .7rem; }
.home-slider-nav:hover { background: #fff; }
.home-slider-dots {
  position: absolute; left: 50%; bottom: .7rem; transform: translateX(-50%);
  z-index: 3; display: flex; gap: .4rem;
}
.home-slider-dots button {
  width: .55rem; height: .55rem; padding: 0; border: 0; border-radius: 50%;
  background: rgba(255,255,255,.55); cursor: pointer;
}
.home-slider-dots button.is-on { background: #fff; box-shadow: 0 0 0 2px rgba(0,0,0,.12); }
.trust div { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: .85rem 1rem; }
.trust strong { display: flex; align-items: center; gap: .4rem; font-size: .82rem; margin-bottom: .15rem; }
.trust .ph-svg { color: var(--orange); flex: 0 0 auto; }
.trust span { color: var(--muted); font-size: .84rem; }
.trust a { color: var(--orange); font-weight: 650; }
.hero-photo {
  display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: center;
  margin: 1.4rem auto; background: #fff; border: 1px solid var(--line); border-radius: 18px;
  padding: 1.6rem 1.8rem; overflow: hidden;
}
.hero-copy-hit { color: inherit; text-decoration: none; display: block; }
.hero-copy h1 { font-size: clamp(1.6rem, 3vw, 2.4rem); letter-spacing: -.04em; margin: .2rem 0 .5rem; }
.hero-copy .muted { margin: 0 0 .6rem; }
.hero-copy .btn-cart { display: inline-flex; margin-top: .4rem; }
.hero-media { min-height: 240px; display: grid; place-items: center; background: #fafafa; border-radius: 14px; overflow: hidden; }
.hero-media img { max-width: 100%; max-height: 320px; object-fit: contain; transition: transform .4s ease; }
.hero-photo:hover .hero-media img { transform: scale(1.05); }
.hero-photo.is-plain { grid-template-columns: 1fr; }
.home-mosaic {
  display: grid;
  gap: 1rem;
  margin: 1.4rem auto;
  padding-top: 0;
  padding-bottom: 0;
  align-items: stretch;
}
.trust + .home-mosaic { padding-top: 1.2rem; }
.home-mosaic.has-main.has-side { grid-template-columns: 1.12fr 1fr; }
.home-mosaic-main,
.home-mosaic-sides {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.home-mosaic.has-main.has-side .home-mosaic-main,
.home-mosaic.has-main.has-side .home-mosaic-sides { min-height: 520px; }
.home-mosaic-sides .mosaic-card { flex: 1; }
.mosaic-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow: hidden;
  min-height: 0;
}
.mosaic-card-main {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1.65rem 1.45rem 1.05rem;
  text-align: center;
}
.mosaic-card-main .mosaic-copy { max-width: 28rem; margin: 0 auto; }
.mosaic-card-main .mosaic-media {
  flex: 1;
  display: grid;
  place-items: center;
  min-height: 220px;
  margin-top: .55rem;
}
.mosaic-card-main .mosaic-media img {
  max-width: 100%;
  max-height: 280px;
  object-fit: contain;
  transition: transform .4s ease;
}
.mosaic-card-side {
  display: grid;
  grid-template-columns: minmax(140px, 44%) minmax(0, 1fr);
  align-items: center;
  gap: .55rem 1rem;
  padding: 1.05rem 1.15rem;
  height: 100%;
}
.mosaic-card-side .mosaic-copy { text-align: center; }
.mosaic-card-side .mosaic-media {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 168px;
  background: #fafafa;
  border-radius: 12px;
}
.mosaic-card-side .mosaic-media img {
  width: 100%;
  height: 168px;
  max-width: 100%;
  object-fit: contain;
  transition: transform .4s ease;
}
.mosaic-card:hover .mosaic-media img { transform: scale(1.05); }
.mosaic-card h2 {
  margin: .12rem 0 .35rem;
  font-size: clamp(1.12rem, 2vw, 1.65rem);
  letter-spacing: -.04em;
  text-transform: uppercase;
  line-height: 1.12;
}
.mosaic-card-side h2 { font-size: clamp(.98rem, 1.55vw, 1.28rem); }
.mosaic-card h2 a { color: inherit; text-decoration: none; }
.mosaic-blurb {
  margin: 0 0 .4rem;
  color: var(--muted);
  font-size: .86rem;
  line-height: 1.35;
}
.mosaic-from {
  margin: 0 0 .7rem;
  color: var(--muted);
  font-size: .86rem;
}
.mosaic-buy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--orange);
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: .88rem;
  padding: .52rem 1.15rem;
  border-radius: 8px;
}
.mosaic-buy:hover { background: var(--orange-dark); color: #fff; }
.home-promo { padding-top: 0; }
.trust + .home-promo { padding-top: 1.2rem; }
.home-promo-card {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid var(--line);
  background: #111;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 10px 28px rgba(16, 18, 24, .08);
}
.home-promo-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 5;
  max-height: 320px;
  object-fit: cover;
}
.home-promo-overlay {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: .75rem 1.2rem;
  padding: 2.4rem 1.2rem 1rem;
  background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .72));
  color: #fff;
  pointer-events: none;
}
.home-promo-overlay.is-timer { justify-content: flex-end; }
.home-promo-copy { min-width: 0; }
.home-promo-title {
  margin: 0;
  font-size: clamp(1.05rem, 2.4vw, 1.45rem);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.15;
  text-shadow: 0 1px 8px rgba(0, 0, 0, .35);
}
.home-promo-units { display: flex; gap: .55rem; }
.home-promo-unit {
  min-width: 4.15rem;
  padding: .52rem .55rem .42rem;
  text-align: center;
  background: rgba(255, 255, 255, .16);
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 12px;
  backdrop-filter: blur(8px);
}
.home-promo-unit b {
  display: block;
  font-size: 1.7rem;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
}
.home-promo-unit span {
  font-size: .72rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  opacity: .82;
}
.home-fold:not(.home-open) #home-more,
.home-fold:not(.home-open) .sf-foot { display: none; }
.home-more-cue {
  --cue: var(--orange);
  position: relative;
  display: none;
  width: 58px;
  height: 58px;
  margin: 1.25rem auto 1.85rem;
  padding: 0;
  border: 2.5px solid var(--cue);
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 32%, #fff 0%, #fff8f4 58%, #ffe8dc 100%);
  color: var(--cue);
  cursor: pointer;
  align-items: center;
  justify-content: center;
  box-shadow:
    0 0 0 5px rgba(241, 90, 34, .1),
    0 12px 28px rgba(241, 90, 34, .28),
    0 4px 10px rgba(16, 18, 24, .08),
    inset 0 1px 0 rgba(255, 255, 255, .9);
  animation: home-cue-bounce 2.45s cubic-bezier(.45, 0, .28, 1) infinite;
}
.home-fold:not(.home-open) .home-more-cue { display: flex; }
.home-more-cue svg {
  display: block;
  position: relative;
  z-index: 1;
  transform: translateY(.5px);
  filter: drop-shadow(0 1px 0 rgba(255, 255, 255, .6));
}
.home-more-cue::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(118deg, transparent 32%, rgba(255, 255, 255, .72) 50%, transparent 68%);
  background-size: 220% 100%;
  background-position: 130% 0;
  animation: home-cue-shine 2.45s ease-in-out infinite;
  pointer-events: none;
}
.home-more-cue:hover {
  color: var(--orange-dark);
  border-color: var(--orange-dark);
  box-shadow:
    0 0 0 6px rgba(241, 90, 34, .16),
    0 14px 32px rgba(241, 90, 34, .36),
    0 4px 10px rgba(16, 18, 24, .1),
    inset 0 1px 0 rgba(255, 255, 255, .95);
}
.home-more-cue:hover::after { animation-duration: 1.6s; }
.home-more-cue[hidden] { display: none; }
@keyframes home-cue-bounce {
  0%, 22% { transform: translateY(0); }
  40% { transform: translateY(9px); }
  52% { transform: translateY(3px); }
  64% { transform: translateY(9px); }
  82%, 100% { transform: translateY(0); }
}
@keyframes home-cue-shine {
  0%, 38% { background-position: 130% 0; opacity: 0; }
  50% { opacity: 1; }
  68%, 100% { background-position: -30% 0; opacity: 0; }
}
.eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: .72rem; color: var(--orange); font-weight: 700; margin: 0; }
.section-head {
  display: flex; justify-content: space-between; align-items: baseline; gap: 1rem;
  margin: 1.6rem 0 .9rem;
}
.section-head h2 { margin: 0; font-size: 1.2rem; letter-spacing: -.03em; }
.section-head a { font-weight: 700; font-size: .88rem; color: var(--orange); }
.section-title { text-align: left; font-size: 1.2rem; letter-spacing: -.03em; }
.section-title:after { display: none; }
.cat-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: .8rem; }
.cat-card {
  background: #fff; border: 1px solid var(--line); border-radius: 14px; overflow: hidden;
  display: flex; flex-direction: column; font-weight: 700;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.cat-card:hover { border-color: #ccc; transform: translateY(-3px); box-shadow: 0 10px 24px rgba(16,18,24,.08); }
.cat-card-img {
  aspect-ratio: 1; background: linear-gradient(180deg, #f8f8f9, #efeff1); display: grid; place-items: center;
  color: #9aa0a8; overflow: hidden;
}
.cat-card-img img { width: 100%; height: 100%; object-fit: contain; padding: 8%; transition: transform .35s ease; }
.cat-card:hover .cat-card-img img { transform: scale(1.07); }
.cat-card strong {
  padding: .65rem .7rem .8rem; font-size: .82rem; line-height: 1.25; font-weight: 700;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; min-height: 2.5em;
}
.ph-mark, .ph { color: #c3c6cc; display: grid; place-items: center; }
.rail-wrap { position: relative; }
.rail-wrap:after {
  content: "";
  position: absolute; top: 0; right: 0; bottom: 8px; width: 2.4rem;
  pointer-events: none;
  background: linear-gradient(to right, transparent, var(--bg));
}
.product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1rem; }
.product-grid.rail {
  grid-auto-flow: column;
  grid-auto-columns: 210px;
  overflow-x: auto;
  grid-template-columns: none;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
  overscroll-behavior-x: contain;
}
.product-grid.rail::-webkit-scrollbar { width: 0; height: 0; display: none; }
.product-grid.rail .card-p { scroll-snap-align: start; }
.featured-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.card-p {
  background: #fff; border: 1px solid var(--line); overflow: hidden; display: flex; flex-direction: column;
  padding-bottom: .8rem; border-radius: 14px;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.card-p-hit {
  display: flex; flex-direction: column; flex: 1; min-width: 0;
  color: inherit; text-decoration: none;
}
.card-p:hover { border-color: #ccc; transform: translateY(-3px); box-shadow: 0 10px 24px rgba(16,18,24,.08); }
.card-p-lg .card-p-img { aspect-ratio: 4/3; }
.card-p-img { aspect-ratio: 1; background: #f6f6f6; display: grid; place-items: center; position: relative; color: var(--muted); overflow: hidden; }
.card-p-img > img { width: 100%; height: 100%; object-fit: contain; transition: transform .35s ease; }
.card-p:hover .card-p-img > img { transform: scale(1.08); }
.card-p-img em {
  position: absolute;
  bottom: .5rem;
  right: .5rem;
  z-index: 2;
  background: #fff;
  border: 1px solid var(--line);
  color: #111;
  font-style: normal;
  font-size: .72rem;
  font-weight: 700;
  line-height: 1.2;
  padding: .15rem .4rem;
  border-radius: 999px;
  box-shadow: none;
}
.card-p-img em.low { background: #fff7ed; border-color: #f0c48a; color: #b45309; font-weight: 700; }
.import-badge {
  position: absolute;
  top: .45rem;
  left: .45rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: .22rem;
  max-width: calc(100% - .9rem);
  padding: .15rem .4rem;
  border-radius: 999px;
  background: #2563eb;
  border: 1px solid #1d4ed8;
  color: #fff;
  box-shadow: none;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
  white-space: nowrap;
}
.import-badge svg {
  flex: 0 0 auto;
  width: .82rem;
  height: .82rem;
  display: block;
  color: #fff;
}
.import-badge > span {
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 0 !important;
}
.import-badge-lg {
  top: .65rem;
  left: .65rem;
  padding: .18rem .45rem;
  font-size: .75rem;
  gap: .25rem;
}
.import-badge-lg svg {
  width: .9rem;
  height: .9rem;
}
.import-plane-btn {
  color: #fff;
  flex: 0 0 auto;
  display: block;
  opacity: .95;
}
.arrive-today {
  position: absolute;
  top: .45rem;
  left: .45rem;
  z-index: 2;
  background: #16a34a;
  color: #fff;
  border: 1px solid #15803d;
  border-radius: 999px;
  padding: .15rem .4rem;
  font-size: .72rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  box-shadow: none;
}
.off { position: absolute; top: .5rem; right: .5rem; background: var(--sale); color: #fff; font-size: .78rem; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; }
.card-p small, .card-p strong, .card-p s { padding: 0 .8rem; }
.card-p .card-cond,
.card-p .card-price,
.card-p .pay-alts { padding: 0 .8rem; }
.card-p-img .import-badge,
.card-p-img .arrive-today,
.card-p-img em { padding-left: .4rem; padding-right: .4rem; }
.card-p small { color: var(--muted); margin-top: .55rem; font-size: .75rem; }
.card-p strong {
  font-size: .92rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.7em;
}
.card-cond { color: var(--muted); font-size: .8rem; }
.card-price { font-weight: 800; }
.card-price.sale, .price.sale { color: var(--sale); }
.card-p s { color: var(--muted); font-size: .85rem; }
.pay-alts {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: .35rem;
  font-size: .75rem;
  color: var(--muted);
  line-height: 1.2;
}
.card-p .pay-alts { padding: .2rem .8rem 0; }
.card-p .pay-alts span { padding: 0; font-weight: 650; }
.pay-alts b { font-weight: 750; color: var(--ink); font-variant-numeric: tabular-nums; }
.pay-alt { display: inline-flex; align-items: center; gap: .35rem; flex-wrap: nowrap; }
.pay-alt-icons { display: inline-flex; align-items: center; gap: .14rem; }
.pay-alt-icon {
  width: 1.12rem; height: 1.12rem; object-fit: cover; display: block;
  border-radius: 50%; overflow: hidden; flex-shrink: 0;
}
.pay-alt-transfer-icon {
  object-fit: contain;
  background: #fff;
}
.price-card-hint {
  margin: 0 0 .3rem;
  font-size: .78rem;
  font-weight: 650;
  color: var(--muted);
}
.hero-copy .pay-alts, .buybox .pay-alts {
  margin: 0 0 .85rem;
  font-size: .88rem;
}
.hero-copy .pay-alt-icon, .buybox .pay-alt-icon {
  width: 1.22rem; height: 1.22rem;
}
.card-cta {
  margin: .55rem .8rem 0; text-align: center; background: var(--ink); color: #fff;
  border: 0; border-radius: 8px; padding: .5rem .6rem; font: inherit; font-weight: 700; font-size: .82rem;
  cursor: pointer; width: calc(100% - 1.6rem);
  display: inline-flex; align-items: center; justify-content: center;
  box-sizing: border-box; text-decoration: none;
}
.card-cta-sm { font-size: .78rem; padding: .42rem .5rem; }
.card-p-lg:hover .card-cta:not(.card-cta-import), .card-cta:not(.card-cta-import):hover { background: var(--orange); }
.card-cta-import {
  background: #2563eb;
  color: #fff;
  letter-spacing: .04em;
}
.card-cta-import:hover,
.card-p-lg:hover .card-cta-import {
  background: #1d4ed8;
  color: #fff;
}
.pay-bar, .market-bar { padding-bottom: 1rem; }
.pay-pills, .market-links { display: flex; flex-wrap: wrap; gap: .5rem; }
.pay-pills > span, .market-links a {
  background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: .45rem .9rem; font-weight: 650;
}
.market-links a:hover { border-color: var(--orange); color: var(--orange); }
.product-page {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.05fr) minmax(250px, .82fr);
  gap: 1.35rem 1.6rem;
  align-items: start;
}
.gallery-panel {
  background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 1rem;
  position: relative;
}
.gallery-stage {
  overflow: hidden; border-radius: 10px; background: #f6f6f6;
  aspect-ratio: 1;
  position: relative;
}
.gallery-panel img { width: 100%; display: block; }
.gallery-main {
  width: 100%; height: 100%; object-fit: contain; display: block;
  transition: transform .35s ease;
}
.gallery-stage:hover .gallery-main { transform: scale(1.06); }
.gallery-thumbs {
  display: flex; gap: .45rem; flex-wrap: wrap; align-items: center;
  margin-top: .55rem; min-height: 68px;
}
.gallery-thumb {
  box-sizing: border-box; width: 68px; height: 68px; flex: 0 0 68px;
  padding: 0; border: 1px solid var(--line); border-radius: 8px;
  background: #fff; cursor: pointer; overflow: hidden;
}
.gallery-thumb img { width: 100%; height: 100%; object-fit: contain; border: 0; }
.gallery-thumb.on { border-color: #111; box-shadow: inset 0 0 0 1px #111; }
.gallery-fav {
  position: absolute; top: .7rem; right: .7rem; z-index: 2;
  width: 2.35rem; height: 2.35rem; padding: 0;
  display: grid; place-items: center;
  border: 1px solid var(--line); border-radius: 999px;
  background: #fff; color: #111; cursor: pointer;
}
.gallery-fav.is-plain { position: absolute; top: 1.15rem; right: 1.15rem; }
.gallery-fav svg { display: block; fill: none; stroke: currentColor; stroke-width: 1.7; }
.gallery-fav.on { color: var(--sale); border-color: var(--sale); }
.gallery-fav.on svg { fill: currentColor; stroke: currentColor; }
.product-facts { min-width: 0; }
.product-sku { margin: -.35rem 0 .7rem; font-size: .82rem; color: var(--muted); }
.product-about { margin: 1.15rem 0 .4rem; }
.product-about > h2 { font-size: 1rem; margin: 0 0 .45rem; }
.buy-assurances {
  border: 1px solid var(--line); border-radius: 12px;
  padding: .75rem .85rem; margin: 0 0 1rem; background: #fafafa;
}
.buy-assurances p { margin: .35rem 0; font-size: .9rem; }
.buy-legal { font-size: .82rem; }
.buy-legal a { text-decoration: underline; color: var(--muted); }
.buy-legal a:hover { color: var(--orange); }
.qty-row { display: flex; flex-direction: column; gap: .35rem; align-items: flex-start; width: auto; }
.qty-step {
  display: inline-flex; align-items: stretch; width: max-content;
  flex: 0 0 auto; align-self: flex-start;
  border: 1px solid var(--line); border-radius: 10px; overflow: hidden; background: #fff;
}
.qty-step button {
  width: 2.2rem; border: 0; background: #fff; font: inherit; font-size: 1.1rem;
  cursor: pointer; color: var(--ink);
}
.qty-step button:hover { background: #f3f3f3; }
.qty-step .qty-input {
  width: 2.8rem; max-width: 2.8rem; border: 0; border-radius: 0;
  text-align: center; padding: .42rem 0;
}
.buy-pays { margin-top: .45rem; }
.cuota-pill {
  display: flex;
  align-items: stretch;
  width: 100%;
  margin: 0 0 .55rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  overflow: hidden;
  cursor: pointer;
  font: inherit;
  background: transparent;
  box-shadow: none;
}
.cuota-pill-label,
.cuota-pill-amt {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.35rem;
  font-weight: 750;
  line-height: 1;
  white-space: nowrap;
}
.cuota-pill-label {
  flex: 1 1 auto;
  min-width: 0;
  padding: .4rem .5rem .4rem .65rem;
  background: var(--orange);
  color: #fff;
  font-size: .7rem;
  letter-spacing: -.02em;
  text-align: center;
}
.cuota-pill-amt {
  flex: 0 0 auto;
  padding: .4rem .7rem;
  background: #111;
  color: #fff;
  font-size: .78rem;
  letter-spacing: -.01em;
}
.cuota-pill:hover .cuota-pill-label { background: var(--orange-dark); }
.cuota-pill:focus-visible {
  outline: 2px solid var(--orange);
  outline-offset: 2px;
}
.cuota-modal {
  position: relative;
  width: min(28rem, calc(100vw - 2rem));
  border: 0;
  border-radius: 16px;
  padding: 1.55rem 1.35rem 1.2rem;
  box-shadow: 0 18px 50px rgba(17, 17, 17, .2);
}
.cuota-modal::backdrop { background: rgba(17, 17, 17, .45); }
.cuota-modal h2 {
  margin: 0 1.6rem .65rem 0;
  font-size: 1.2rem;
  letter-spacing: -.02em;
}
.cuota-modal p {
  margin: 0 0 1.05rem;
  color: #333;
  font-size: .95rem;
  line-height: 1.55;
}
.cuota-modal .btn-cart { width: 100%; min-height: 2.55rem; }
.import-open {
  width: 100%;
  margin-top: .75rem;
  min-height: 2.7rem;
  letter-spacing: .06em;
  font-size: .95rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  background: #2563eb;
  border-color: #2563eb;
  color: #fff;
  animation: import-pulse 1.6s ease-in-out infinite;
  box-shadow: 0 0 0 0 rgba(37, 99, 235, .45);
}
.import-open:hover {
  animation: none;
  background: #1d4ed8;
  border-color: #1d4ed8;
  color: #fff;
}
@keyframes import-pulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(37, 99, 235, .4);
    filter: brightness(1);
  }
  50% {
    transform: scale(1.02);
    box-shadow: 0 0 0 10px rgba(37, 99, 235, 0);
    filter: brightness(1.08);
  }
}
@media (prefers-reduced-motion: reduce) {
  .import-open { animation: none; }
}
.import-modal {
  position: relative;
  width: min(24rem, calc(100vw - 2rem));
  border: 0;
  border-radius: 16px;
  padding: 1.35rem 1.25rem 1.2rem;
  box-shadow: 0 18px 50px rgba(17, 17, 17, .2);
}
.import-modal::backdrop { background: rgba(17, 17, 17, .45); }
.import-modal h2 {
  margin: 0 1.8rem .55rem 0;
  font-size: 1.15rem;
  letter-spacing: -.02em;
}
.import-status {
  margin: 0 0 .75rem;
  padding: .55rem .7rem;
  border-radius: 10px;
  background: #fff7f2;
  color: var(--orange-dark);
  font-size: .85rem;
  font-weight: 650;
}
.import-status.is-err { background: #fde8e8; color: #b42318; }
.import-status.is-warn { background: #fff7ed; color: #b45309; }
.import-head {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin: 0 0 .85rem;
  padding-bottom: .85rem;
  border-bottom: 1px solid var(--line);
}
.import-thumb {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 10px;
  object-fit: cover;
  background: #f4f4f5;
  flex: 0 0 auto;
  border: 1px solid var(--line);
}
.import-thumb.is-empty {
  display: block;
  background: linear-gradient(145deg, #f4f4f5, #e8e8ea);
}
.import-head-txt {
  min-width: 0;
  flex: 1;
  display: grid;
  gap: .15rem;
}
.import-head-txt strong {
  font-size: .95rem;
  line-height: 1.25;
  letter-spacing: -.02em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.import-head-txt span {
  font-size: .78rem;
  color: var(--muted);
  font-weight: 550;
}
.import-cur {
  flex: 0 0 auto;
  align-self: flex-start;
  margin-top: .15rem;
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .06em;
  color: #666;
  background: #f3f3f4;
  border: 1px solid #e4e4e7;
  border-radius: 999px;
  padding: .2rem .45rem;
}
.import-resume {
  list-style: none;
  margin: 0 0 .85rem;
  padding: 0;
  display: grid;
  gap: .5rem;
}
.import-qty-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .55rem .75rem;
  margin: 0 0 .85rem;
}
.import-qty-label {
  font-weight: 700;
  font-size: .9rem;
  color: #333;
}
.import-qty-hint {
  color: var(--muted);
  font-size: .78rem;
  font-weight: 550;
}
.import-qty-step {
  margin: 0;
}
.import-resume li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  padding: .55rem .75rem;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: #fafafa;
  font-size: .9rem;
}
.import-resume li span {
  color: #555;
  font-weight: 650;
}
.import-resume li span small {
  display: block;
  margin-top: .12rem;
  font-size: .7rem;
  font-weight: 550;
  color: var(--muted);
  letter-spacing: .01em;
}
.import-resume li strong {
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  font-size: .95rem;
}
.import-resume li.is-tax {
  border-color: #ffc9a8;
  background: linear-gradient(120deg, #fff8f3 0%, #ffeede 100%);
  box-shadow: 0 1px 0 rgba(241, 90, 34, .06);
}
.import-resume li.is-tax span {
  color: var(--orange-dark);
  font-weight: 750;
}
.import-resume li.is-tax span small {
  color: #a85a32;
  font-weight: 600;
}
.import-resume li.is-tax strong {
  color: var(--orange-dark);
  font-size: 1.05rem;
  letter-spacing: -.02em;
}
.import-foot {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: .75rem 1rem;
  margin: 0 0 1rem;
  padding: .85rem 0 0;
  border-top: 1px solid var(--line);
}
.import-foot-label {
  display: block;
  margin: 0 0 .2rem;
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #888;
}
.import-total {
  margin: 0;
  font-size: 1.65rem;
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1.1;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.import-eta-date {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.2;
  color: var(--ink);
  text-transform: capitalize;
}
.import-foot-eta small {
  display: block;
  margin-top: .2rem;
  font-size: .72rem;
  color: var(--muted);
  font-weight: 550;
}
@media (max-width: 420px) {
  .import-foot {
    grid-template-columns: 1fr;
    gap: .7rem;
  }
  .import-total { font-size: 1.45rem; }
}
.import-pay {
  border: 1px solid var(--line);
  border-radius: 12px;
  margin: 0 0 .9rem;
  padding: .55rem .65rem .65rem;
  display: grid;
  gap: .4rem;
}
.import-pay legend {
  font-weight: 800;
  font-size: .8rem;
  padding: 0 .3rem;
  color: #444;
}
.import-pay-opt {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin: 0;
  padding: .55rem .65rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fafafa;
  cursor: pointer;
  font-weight: 600;
}
.import-pay-opt:has(input:checked) {
  border-color: var(--orange);
  background: #fff7f2;
}
.import-pay-opt input {
  width: 1.05rem;
  height: 1.05rem;
  margin: 0;
  accent-color: var(--orange);
  flex: 0 0 auto;
}
.import-pay-txt {
  display: flex;
  flex-direction: column;
  gap: .1rem;
  min-width: 0;
  flex: 1;
}
.import-pay-txt strong {
  font-size: .9rem;
  font-weight: 750;
}
.import-pay-txt strong small {
  font-weight: 650;
  color: var(--muted);
  font-size: .78rem;
}
.import-pay-txt em {
  font-style: normal;
  font-size: .95rem;
  font-weight: 800;
  color: var(--ink);
}
.import-modal .btn-cart { width: 100%; min-height: 2.55rem; }
.buy-pays .pay-hint { margin: .2rem 0 .1rem; font-size: .82rem; line-height: 1.4; }
.buy-pay-marks {
  display: flex;
  flex-direction: column;
  gap: .22rem;
  margin-top: .28rem;
}
.buy-pays .pay-brands {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  width: 100%;
  margin-top: 0;
  gap: .18rem;
}
.buy-pays .pay-brands img {
  flex: 1 1 0;
  min-width: 0;
  height: 18px;
  width: auto;
  max-width: none;
  padding: 3px 4px;
  box-sizing: border-box;
}
.buy-pays .pay-banks img,
.buy-pays .pay-methods img {
  height: 18px;
  max-width: none;
  padding: 3px 4px;
  background: #fff;
}
.opt-label { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; margin: .9rem 0 .35rem; color: var(--muted); }
.listing-filters {
  display: flex; flex-wrap: wrap; gap: .7rem 1rem; align-items: end;
  margin: 0 0 1.2rem; padding: .9rem 1rem; border: 1px solid var(--line); border-radius: 14px; background: #fff;
}
.listing-filters label { display: flex; flex-direction: column; gap: .25rem; font-size: .82rem; font-weight: 650; }
.listing-filters label.check { flex-direction: row; align-items: center; gap: .4rem; font-weight: 500; }
.listing-filters select { min-width: 10.5rem; background: #fff; }
.listing-filters button {
  font: inherit; font-weight: 700; font-size: .88rem; cursor: pointer;
  background: var(--orange); color: #fff; border: 0; border-radius: 8px;
  padding: .48rem .95rem; min-height: 2.3rem;
}
.listing-filters button:hover { background: var(--orange-dark); }
.ph { min-height: 280px; display: grid; place-items: center; color: #c3c6cc; }
.price { font-size: 1.7rem; font-weight: 800; display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; margin-bottom: .1rem; }
.price s { color: var(--muted); font-size: 1rem; }
.off-tag { background: var(--sale); color: #fff; font-size: .75rem; padding: .2rem .45rem; border-radius: 4px; }
.opts { display: flex; flex-wrap: wrap; gap: .32rem; margin: .55rem 0; }
.opts a {
  border: 1px solid var(--line); padding: .2rem .55rem; border-radius: 999px;
  background: #fff; font-size: .78rem; font-weight: 650; line-height: 1.25;
}
.opts a.on { border-color: #111; background: #111; color: #fff; }
.opts a.opt-color {
  display: inline-flex; align-items: center; gap: .28rem;
  border-color: color-mix(in srgb, var(--swatch) 50%, #ccc);
}
.opts a.opt-color:before {
  content: "";
  width: .58rem; height: .58rem; border-radius: 50%;
  background: var(--swatch);
  border: 1px solid rgba(0,0,0,.15);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.25);
}
.opts a.opt-color.on {
  background: var(--swatch);
  border-color: var(--swatch);
  color: var(--swatch-ink);
  box-shadow: 0 0 0 1.5px #fff, 0 0 0 3px var(--swatch);
}
.opts a.opt-color.on:before { border-color: rgba(255,255,255,.35); }
.opts a.is-sold {
  position: relative;
  overflow: hidden;
  opacity: .48;
  color: #6b7280;
}
.opts a.is-sold::after {
  content: "";
  position: absolute;
  left: -18%;
  right: -18%;
  top: 50%;
  border-top: 1.6px solid currentColor;
  transform: rotate(-28deg);
  pointer-events: none;
  opacity: .9;
}
.opts a.is-sold.on { opacity: .72; }
.opts a.opt-color.is-sold { color: #4b5563; }
.opts a.is-import-opt:not(.on) {
  opacity: 1;
  color: inherit;
  border-style: dashed;
}
.flash { padding: .8rem 1rem; border-radius: 10px; transition: opacity .35s ease, transform .35s ease; }
.flash.ok { background: #e7f6ef; color: #0b6e4f; }
.flash.err { background: #fde8e8; color: #b42318; }
.flash.is-gone { opacity: 0; transform: translateY(-6px); pointer-events: none; }
.cart-line {
  display: grid;
  grid-template-columns: 72px 1fr auto auto auto;
  gap: .9rem;
  align-items: center;
  padding: .9rem 0;
  border-bottom: 1px solid var(--line);
}
.cart-thumb {
  width: 72px; height: 72px; border-radius: 10px; background: #f6f6f6;
  display: grid; place-items: center; overflow: hidden; font-size: .72rem; color: var(--muted);
}
.cart-thumb img { width: 100%; height: 100%; object-fit: contain; }
.cart-thumb .ph-svg { width: 28px; height: 28px; }
.cart-qty { display: flex; align-items: center; gap: .45rem; }
.cart-sheet, .empty-panel, .checkout-form, .checkout-sum {
  background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 1.15rem 1.25rem;
}
.empty-panel { text-align: center; padding: 2.2rem 1.2rem; }
.empty-panel .btn-cart, .empty-panel .btn-now { margin: .35rem .3rem 0; }
.cart-foot { padding-top: 1rem; }
.cart-foot form { display: inline-block; margin-top: .2rem; }
button.ghost {
  background: transparent; color: var(--muted); border: 0; padding: .35rem .45rem;
  font: inherit; font-weight: 650; text-transform: none; cursor: pointer;
}
button.ghost:hover { color: var(--sale); }
.checkout-form h1 { margin: .1rem 0 .7rem; letter-spacing: -.03em; }
.checkout-form input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
.checkout-form select,
.checkout-form textarea { width: 100%; }
.checkout-form label { display: flex; flex-direction: column; gap: .3rem; margin: .7rem 0; font-weight: 600; }
.checkout-form fieldset { border: 1px solid var(--line); border-radius: 12px; margin: 1rem 0; padding: .85rem 1rem; }
.checkout-form label.check {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: .28rem .55rem;
  font-weight: 650;
}
.checkout-form label.check > input {
  grid-column: 1;
  grid-row: 1;
  width: auto;
  height: auto;
  margin: .22rem 0 0;
  flex: none;
}
.checkout-form label.check > span:not(.co-err) {
  grid-column: 2;
  grid-row: 1;
  font-weight: 650;
  line-height: 1.4;
}
.checkout-form label.check > .co-err {
  grid-column: 2;
  grid-row: 2;
}
.checkout-form label.check.ship-opt { align-items: start; }
.district-wrap.is-off,
.checkout-form .ship-opt.is-off,
.checkout-form .pay-pick.is-off,
.checkout-form #ship-need-district.is-off,
.checkout-form #ship-home-empty.is-off,
.checkout-form #pay-zone-empty.is-off {
  display: none !important;
}
.checkout-form .ship-opt.is-closed {
  opacity: .62;
  cursor: not-allowed;
  pointer-events: none;
}
.checkout-form .ship-opt span { display: flex; flex-direction: column; gap: .12rem; min-width: 0; }
.checkout-form .ship-opt-note {
  font-size: .78rem; font-weight: 500; color: var(--muted); line-height: 1.3;
}
.checkout-form label.check.co-store-pick {
  align-items: start;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: .85rem 1rem;
  margin: .35rem 0;
  cursor: pointer;
  background: #fff;
}
.checkout-form label.check.co-store-pick:has(input:checked) {
  border-color: var(--orange);
  background: #fff7f2;
}
.checkout-form label.check.co-store-pick span {
  display: flex;
  flex-direction: column;
  gap: .12rem;
  min-width: 0;
  font-weight: 500;
}
.checkout-form label.check.co-store-pick strong { color: var(--orange); font-weight: 750; }
.checkout-form label.check.co-store-pick p { margin: .1rem 0; font-weight: 500; }
.co-pickup-cal {
  margin: .85rem 0 1.1rem;
  padding: .9rem 1rem 1rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}
.co-pickup-cal.is-off { display: none; }
.co-pickup-cal h3 { margin: 0 0 .2rem; font-size: 1rem; }
.co-pickup-cal #pickup-cal-hours { margin: 0 0 .7rem; }
.co-cal-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  margin-bottom: .55rem;
}
.co-cal-nav strong { font-size: .95rem; text-transform: capitalize; }
.co-cal-nav-btn {
  width: 2.1rem;
  height: 2.1rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
}
.co-cal-nav-btn:hover { border-color: var(--orange); color: var(--orange); }
.co-cal-nav-btn:disabled { opacity: .35; cursor: not-allowed; }
.co-cal-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: .3rem;
}
.co-cal-dow {
  text-align: center;
  font-size: .72rem;
  font-weight: 700;
  color: var(--muted);
  padding: .15rem 0 .25rem;
}
.co-cal-day {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  min-height: 2.35rem;
  font-weight: 700;
  cursor: pointer;
}
.co-cal-day.is-open {
  border-color: #ffd0b5;
  background: #fffaf7;
  color: var(--ink);
  box-shadow: inset 0 0 0 1px rgba(241, 90, 34, .08);
}
.co-cal-day.is-today:not(.is-off) {
  outline: 1px dashed var(--orange);
  outline-offset: -2px;
}
.co-cal-day:hover:not(:disabled) { border-color: var(--orange); }
.co-cal-day.on {
  border-color: var(--orange);
  background: var(--orange);
  color: #fff;
  box-shadow: none;
}
.co-cal-day.is-off,
.co-cal-day:disabled {
  opacity: .38;
  cursor: not-allowed;
  background: #f4f4f5;
  color: #888;
  box-shadow: none;
}
.co-cal-day.is-past {
  text-decoration: line-through;
  opacity: .28;
}
.co-cal-day.is-empty {
  border: 0;
  background: transparent;
  min-height: 2.35rem;
  pointer-events: none;
}
.co-pickup-cal #pickup-cal-chosen { margin: .65rem 0 0; font-weight: 600; color: #111; }
.pay-pills-pick { display: grid; gap: .55rem; }
.checkout-form .pay-pick {
  position: relative; display: flex; flex-direction: column; gap: 0;
  border: 1px solid var(--line); border-radius: 12px; cursor: pointer; background: #fafafa;
  overflow: hidden;
  margin: 0;
  font-weight: 650;
}
.pay-pick.on { border-color: #111; box-shadow: 0 0 0 1px #111; background: #fff; }
body.sf .checkout-form .pay-pick-head > input[type="radio"] {
  position: absolute; inset: 0; width: auto; height: auto; margin: 0;
  opacity: 0; cursor: pointer; z-index: 1; accent-color: unset;
}
.pay-pick-head {
  display: flex; align-items: center; gap: .45rem .65rem; flex-wrap: wrap;
  padding: .7rem 1rem; position: relative; z-index: 2;
}
.pay-pick-head .pay-brands { margin: 0; }
.pay-pick-head .pay-brands img {
  height: 20px; max-width: 48px; padding: 2px 4px; border: 0;
}
.pay-pick-chevron {
  margin-left: auto; width: .42rem; height: .42rem; flex-shrink: 0;
  border-right: 2px solid #888; border-bottom: 2px solid #888;
  transform: rotate(45deg); transition: transform .15s ease;
}
.pay-pick.on .pay-pick-chevron { transform: rotate(-135deg); }
.pay-pick-body {
  display: none; flex-direction: column; gap: .25rem;
  padding: 0 1rem .85rem; position: relative; z-index: 3; font-weight: 500;
}
.pay-pick.on .pay-pick-body { display: flex; }
.pay-qr {
  margin-top: .45rem; padding-top: .55rem; border-top: 1px solid var(--line); text-align: center;
}
.pay-qr img {
  display: block;
  width: min(220px, 100%);
  height: auto;
  margin: 0 auto .45rem;
  background: #fff;
  border-radius: 10px;
  padding: 8px;
}
.pay-qr-num {
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: .06em;
  margin: .2rem 0 .15rem;
  font-variant-numeric: tabular-nums;
}
.pay-transfer { margin-top: .45rem; padding-top: .55rem; border-top: 1px solid var(--line); }
.pay-transfer p { margin: .2rem 0; font-weight: 500; }
.pay-box .pay-qr { display: block; border: 0; padding: 0; margin: .4rem 0 .8rem; }
.pay-box .pay-qr img { width: min(240px, 100%); }
.checkout-sum { align-self: start; position: sticky; top: .8rem; min-width: 0; }
.checkout-form { min-width: 0; }
.checkout-sum h2 { margin: .1rem 0 .8rem; font-size: 1.1rem; }
.sum-lines { list-style: none; padding: 0; margin: 0 0 .55rem; }
.sum-lines li {
  display: flex; justify-content: space-between; align-items: baseline; gap: .8rem;
  margin: .28rem 0; font-size: .9rem; color: var(--muted);
}
.sum-line-name {
  flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.sum-lines li .sum-line-amt, .sum-row > span:last-child, .sum-grand span {
  flex-shrink: 0; margin-left: auto; text-align: right; white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.sum-totals { margin: 0; }
.sum-row, .sum-grand {
  display: flex; justify-content: space-between; align-items: baseline; gap: .8rem;
  margin: .22rem 0;
}
.sum-row.is-off { display: none; }
.sum-adj { min-height: 1.35em; }
.sum-grand {
  margin: .55rem 0 .15rem; padding-top: .55rem; border-top: 1px solid var(--line);
  font-size: 1.35rem; font-weight: 800;
}
.sum-note { margin: .45rem 0 0; }
.checkout-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 2rem; }
.checkout-grid.checkout-form {
  background: transparent; border: 0; padding: 0;
}
.qty-label { font-weight: 600; display: flex; flex-direction: column; gap: .3rem; }
.buybox .qty-input, .cart-line .qty-input {
  width: 3.8rem;
  max-width: 3.8rem;
  text-align: center;
  padding: .42rem .35rem;
}
.buy-actions { display: flex; flex-direction: column; gap: .45rem; margin: .8rem 0; align-items: stretch; }
.buy-actions form { margin: 0; width: 100%; }
.buy-actions .qty-row { align-self: flex-start; }
.buy-actions .btn-cart, .buy-actions .btn-now, .buy-actions .btn-wa-buy { min-width: 0; width: 100%; }
.btn-cart, .btn-now {
  font: inherit; font-size: .9rem; font-weight: 700; line-height: 1.2;
  display: inline-flex; align-items: center; justify-content: center;
  padding: .48rem 1rem; min-height: 2.3rem; border-radius: 8px; cursor: pointer;
}
.btn-cart {
  background: var(--orange); color: #fff; border: 0;
}
.btn-cart:hover { background: var(--orange-dark); }
.btn-cart.import-open {
  background: #2563eb;
  border: 0;
  color: #fff;
  box-shadow: 0 0 0 0 rgba(37, 99, 235, .45);
}
.btn-cart.import-open:hover {
  background: #1d4ed8;
  color: #fff;
}
.btn-now {
  background: #fff; color: var(--orange); border: 1.5px solid var(--orange);
}
.btn-now:hover { background: #fff7f2; }
.btn-wa { display: inline-block; background: var(--wa); color: #fff; padding: .55rem 1rem; border-radius: 6px; font-weight: 700; margin: .4rem 0; }
.btn-wa-buy {
  font: inherit; font-size: .9rem; font-weight: 700; line-height: 1.2;
  display: inline-flex; align-items: center; justify-content: center;
  padding: .48rem 1rem; min-height: 2.3rem; border-radius: 8px;
  background: var(--wa); color: #fff; text-decoration: none; border: 0;
  box-sizing: border-box;
}
.btn-wa-buy:hover { background: #1ebe5d; color: #fff; }
.ok-stock { color: #12805c; font-weight: 600; display: flex; align-items: center; gap: .4rem; }
.ok-stock.low { color: #b45309; }
.ok-stock i { width: 8px; height: 8px; background: #22c55e; border-radius: 50%; display: inline-block; }
.ok-stock.low i { background: #f59e0b; }
.sold { color: var(--sale); font-weight: 700; }
.muted { color: var(--muted); }
.crumbs { font-size: .85rem; color: var(--muted); display: flex; gap: .4rem; align-items: center; }
.crumbs-sep { opacity: .45; }
.lead { color: var(--muted); margin: 0 0 1rem; }
.listing-page.wrap { padding-top: .7rem; }
.listing-page .section-head { margin-top: .85rem; }
.listing-page .section-head h1, .cart-page .section-head h1 { margin: 0; font-size: 1.55rem; letter-spacing: -.03em; }
.cat-tabs {
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
  overflow-x: auto;
  margin: 0 0 .15rem;
  padding: 0;
  border-bottom: 1px solid var(--line);
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.cat-tabs::-webkit-scrollbar { display: none; }
.cat-tabs a {
  flex: 0 0 auto;
  padding: .55rem .95rem .5rem;
  margin-bottom: -1px;
  font-size: .84rem;
  font-weight: 600;
  color: var(--muted);
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  transition: color .15s, border-color .15s;
}
.cat-tabs a:hover { color: var(--ink); }
.cat-tabs a.is-on {
  color: var(--ink);
  border-bottom-color: var(--orange);
}
.product-page h1 { font-size: clamp(1.2rem, 1.9vw, 1.5rem); letter-spacing: -.03em; margin: .15rem 0 .6rem; }
.product-page .buybox { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 1.2rem 1.3rem; }
.product-buy { position: sticky; top: .85rem; }
.wa-quiet {
  display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
  color: var(--wa); font-weight: 650; margin: .35rem 0 .55rem; text-decoration: none;
}
.wa-quiet:hover { color: #1ebe5d; }
.buybox .wa-quiet { width: 100%; }
.desc { color: #333; }
.product-desc {
  grid-column: 1 / -1;
  background: #fff; border: 1px solid var(--line); border-radius: 16px;
  padding: 1.2rem 1.35rem 1.15rem; margin: 0;
}
.desc-html-body { position: relative; }
.desc-html p { margin: 0 0 .65em; }
.desc-html p:last-child { margin-bottom: 0; }
.desc-html ul, .desc-html ol { margin: .35em 0 .8em 1.25em; padding: 0; }
.desc-html li { margin: .15em 0; }
.desc-html a { color: var(--orange); text-decoration: underline; }
.desc-html a:hover { color: var(--orange-dark); }
.desc-html h2, .desc-html h3, .desc-html h4 { margin: .8em 0 .35em; font-size: 1.05em; }
.desc-html.is-folded { position: relative; }
.desc-html.is-folded .desc-html-body {
  max-height: 7.4em;
  overflow: hidden;
}
.ficha-panel.is-folded .desc-html-body { max-height: 22em; }
.desc-fold .desc-lead { margin: 0; }
.desc-rest { position: relative; }
.desc-fold.is-folded .desc-rest {
  max-height: 2.1em;
  overflow: hidden;
}
.desc-fold.is-folded .desc-rest-text {
  filter: blur(1.2px);
  opacity: .55;
}
.desc-fade {
  display: none;
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 2.1em;
  background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 72%);
  pointer-events: none;
}
.desc-fold.is-folded .desc-fade,
.desc-html.is-folded .desc-fade { display: block; }
.desc-more {
  display: block;
  width: auto;
  margin: .55rem 0 0;
  padding: .15rem 0;
  background: none;
  border: 0;
  color: var(--orange);
  font: inherit;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
}
.desc-more:hover { color: var(--orange-dark); }
.product-ficha {
  margin: 1.8rem auto 0;
  background: #fff; border: 1px solid var(--line); border-radius: 16px;
  padding: 0 1.35rem 1.4rem;
  scroll-margin-top: .8rem;
}
.ficha-tabs {
  display: flex; gap: 1.5rem;
  border-bottom: 1px solid var(--line);
  margin: 0 -1.35rem 1.15rem;
  padding: 0 1.35rem;
}
.ficha-tab {
  background: none; border: 0; border-bottom: 2px solid transparent;
  margin-bottom: -1px; padding: .9rem 0 .65rem;
  font: inherit; font-weight: 750; color: var(--muted); cursor: pointer;
}
.ficha-tab.is-on { color: var(--orange); border-bottom-color: var(--orange); }
.ficha-panel { display: none; }
.ficha-panel.is-on { display: block; }
.ficha-more {
  display: inline-flex; align-items: center; justify-content: center;
  margin: 1.15rem auto 0; padding: .38rem 1.05rem;
  background: #fff; border: 1px solid var(--line); border-radius: 999px;
  color: var(--ink); font: inherit; font-weight: 650; cursor: pointer;
}
.ficha-panel { text-align: left; }
.ficha-panel .ficha-more { display: flex; width: fit-content; }
.spec-table { width: 100%; border-collapse: collapse; margin: 0 0 .8rem; }
.spec-table th, .spec-table td {
  padding: .62rem .15rem; border-bottom: 1px solid var(--line);
  text-align: left; font-size: .92rem; vertical-align: top;
}
.spec-table th { width: 34%; color: var(--muted); font-weight: 650; }
.seen-section { margin-top: 1.8rem; }
.seen-head { align-items: flex-start; }
.seen-head h2 { margin: 0; }
.seen-head .muted { margin: .2rem 0 0; font-size: .88rem; }
.seen-section[hidden] { display: none; }
.sf-foot { background: #111; color: #ddd; margin-top: 3rem; padding: 2.2rem 0 1.2rem; }
.foot-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 1.5rem; }
.foot-grid h3 { color: #fff; font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; margin: 0 0 .7rem; }
.foot-brand { display: inline-block; margin: 0 0 .7rem; }
.foot-brand img { display: block; height: 44px; width: auto; max-width: 220px; object-fit: contain; }
.foot-grid a, .foot-grid p, .foot-grid .foot-link { display: block; margin: .25rem 0; color: #ccc; font-size: .9rem; }
.foot-grid .foot-link {
  background: none; border: 0; padding: 0; cursor: pointer;
  font: inherit; font-size: .9rem; text-align: left;
}
.foot-grid a:hover, .foot-grid .foot-link:hover { color: #fff; }
.foot-social a { display: inline-block; margin-right: .8rem; }
.pay-brands {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem;
  vertical-align: middle;
}
.pay-brands img {
  display: block;
  height: 22px;
  width: auto;
  max-width: 56px;
  object-fit: contain;
  background: #fff;
  border-radius: 5px;
  padding: 3px 6px;
  box-sizing: content-box;
  border: 1px solid rgba(16,18,24,.08);
}
.pay-bar .pay-brands { display: flex; margin-top: .15rem; }
.pay-bar .pay-brands img { height: 26px; max-width: 68px; padding: 4px 7px; }
.pay-hint .pay-brands { display: flex; margin-top: .45rem; }
.pay-strip {
  display: flex; flex-wrap: wrap; align-items: center; gap: .45rem .65rem;
  color: #aaa; font-size: .85rem; margin: 1.4rem auto .3rem;
}
.pay-strip-label { font-weight: 650; font-size: .85rem; }
.pay-strip .pay-brands img { height: 20px; max-width: 52px; padding: 3px 5px; }
.foot-grid a.foot-libro {
  display: inline-block;
  margin: .85rem 0 0;
  line-height: 0;
}
.foot-grid a.foot-libro img {
  display: block;
  height: 64px;
  width: auto;
  max-width: 110px;
}
.lr-page { padding-bottom: 2.5rem; }
.lr-badge { display: inline-block; margin: .2rem 0 1rem; }
.lr-badge img { display: block; height: 140px; width: auto; max-width: 240px; }
.lr-provider {
  background: #fff; border: 1px solid var(--line); border-radius: 12px;
  padding: .95rem 1.1rem; margin: 1rem 0 1.3rem;
}
.lr-provider h2 { margin: 0 0 .4rem; font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.lr-provider p { margin: .2rem 0; }
.lr-form .row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
.lr-form { position: relative; }
.lr-form .hp {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); border: 0;
}
.lr-submit { width: 100%; min-height: 2.6rem; margin-top: .4rem; }
@media (max-width: 640px) {
  .lr-form .row-2 { grid-template-columns: 1fr; }
  .foot-grid a.foot-libro img { height: 56px; }
  .lr-badge img { height: 120px; }
}
.wa-fab {
  position: fixed; right: 1.1rem; bottom: 1.1rem; width: 56px; height: 56px;
  background: var(--wa); color: #fff; border-radius: 50%; display: grid; place-items: center;
  font-weight: 800; box-shadow: 0 8px 20px rgba(0,0,0,.2); z-index: 40;
}
.buybox input:not(.qty-input), .buybox select, .buybox textarea { width: 100%; }
.buybox label { display: flex; flex-direction: column; gap: .3rem; margin: .7rem 0; font-weight: 600; }
.buybox fieldset { border: 1px solid var(--line); border-radius: 10px; margin: 1rem 0; }
.buybox .check { flex-direction: row; align-items: center; font-weight: 500; }
.buybox .check input { width: auto; }
.buybox .pay-opt { align-items: flex-start; gap: .65rem; }
.buybox .pay-opt span { display: flex; flex-direction: column; gap: .15rem; font-weight: 500; }
.buybox .pay-opt strong { font-weight: 700; }
.pay-adj { font-size: .85rem; color: var(--orange); font-weight: 650; }
.pay-box {
  border: 1px solid var(--line); border-radius: 12px; padding: 1.1rem 1.2rem; margin: 1.1rem 0;
  background: #fff7f2;
}
.pay-box h2 { margin: .2rem 0 .8rem; }
.pay-code {
  font-size: 1.7rem; font-weight: 800; letter-spacing: .08em; margin: .15rem 0 .6rem;
  font-variant-numeric: tabular-nums;
}
.coupon-box { margin: 1rem 0; padding: 0.85rem 0 0; border-top: 1px solid var(--line); }
.coupon-actions { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .35rem; }
.checkout-form .coupon-actions button {
  width: auto; padding: .42rem .8rem; min-height: 2.15rem; font-size: .85rem;
}

.account-page h1 { margin: .4rem 0 .35rem; }
.account-page h2 { font-size: 1.05rem; margin: 1.4rem 0 .7rem; }
.account-hello {
  margin: .15rem 0 1.1rem; font-size: 1.15rem; font-weight: 400; letter-spacing: -.03em;
}
.account-hello strong { display: block; font-size: 1.85rem; font-weight: 800; margin-top: .1rem; }
.account-layout {
  display: grid; grid-template-columns: 16.2rem minmax(0, 1fr); gap: 1.6rem; align-items: start;
}
.account-side {
  display: flex; flex-direction: column; background: #f3f4f6; border-radius: 16px; overflow: hidden;
}
.account-side a, .account-side button {
  display: flex; align-items: center; justify-content: space-between; gap: .6rem;
  width: 100%; margin: 0; padding: .85rem 1rem;
  border: 0; border-bottom: 1px solid #e7e8eb; border-radius: 0;
  background: transparent; color: #111; font: inherit; font-weight: 650;
  text-align: left; cursor: pointer; text-transform: none;
}
.account-side form { margin: 0; }
.account-side a:last-of-type { border-bottom: 1px solid #e7e8eb; }
.account-side form button { border-bottom: 0; }
.account-side a.on {
  background: var(--orange); color: #fff; border-bottom-color: var(--orange);
}
.account-side span { color: var(--orange); font-size: 1.25rem; font-weight: 400; line-height: 1; }
.account-side a.on span { color: #fff; }
.account-main { min-width: 0; }
.account-title { margin: 0 0 .7rem; font-size: 1.35rem; letter-spacing: -.03em; }
.account-page h2.account-title { margin: 0 0 .7rem; font-size: 1.35rem; }
.account-head {
  display: flex; align-items: center; justify-content: space-between; gap: .8rem; margin: 0 0 .9rem;
}
.account-head .account-title { margin: 0; }
.account-back { margin: 0 0 .45rem; }
.account-back a, .account-add { color: var(--orange); font-weight: 700; }
.account-empty {
  margin: 2.2rem 0; text-align: center; font-weight: 700; color: #444;
}
.addr-card {
  border: 1px solid var(--line); border-radius: 14px; padding: 1rem 1.1rem; margin: 0 0 .7rem; background: #fff;
}
.addr-card.is-primary { border-color: var(--orange); }
.addr-card p { margin: .12rem 0; }
.addr-card-act {
  display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: .55rem .85rem;
  margin: .75rem 0 0;
}
.addr-card-act a { color: var(--orange); font-weight: 700; }
.addr-card-act form { margin: 0; }
.addr-primary-btn {
  appearance: none; -webkit-appearance: none;
  font: inherit; font-size: .78rem; font-weight: 800; letter-spacing: .02em;
  color: var(--orange); background: #fff7f2;
  border: 1.5px solid var(--orange); border-radius: 999px;
  padding: .32rem .75rem; cursor: pointer; line-height: 1.2;
}
.addr-primary-btn:hover { background: var(--orange); color: #fff; }
.addr-form {
  border: 1px solid var(--line); border-radius: 14px; padding: 1.1rem 1.15rem; background: #fff;
  display: grid; gap: .15rem;
}
.addr-form label { display: flex; flex-direction: column; gap: .3rem; margin: .55rem 0; font-weight: 650; }
.addr-form input, .addr-form select { width: 100%; }
.addr-form label.check { flex-direction: row; align-items: center; font-weight: 650; }
.addr-form label.check input { width: auto; }
.addr-form .btn-cart { width: 100%; margin-top: .55rem; }
.addr-delete { margin-top: .45rem; }
.profile-grid {
  display: grid; grid-template-columns: minmax(0, 1fr) 16.5rem; gap: 1.35rem; align-items: start;
}
.profile-card, .news-card {
  border: 1px solid var(--line); border-radius: 14px; padding: 1.15rem 1.2rem; background: #fff;
}
.profile-fields {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1.05rem 1.6rem; margin: 0 0 .35rem;
}
.profile-fields dt { font-weight: 800; margin: 0 0 .2rem; }
.profile-fields dd { margin: 0; color: #6b7280; min-height: 1.2em; word-break: break-word; }
.profile-card .btn-cart { width: 100%; margin-top: 1.05rem; min-height: 2.65rem; }
.news-card h3 { margin: 0 0 .55rem; font-size: 1.02rem; }
.news-card p { margin: 0 0 .75rem; color: #444; font-size: .92rem; line-height: 1.4; }
.news-check {
  display: flex; align-items: flex-start; gap: .5rem; font-size: .9rem; line-height: 1.35; cursor: pointer;
}
.news-check input { margin-top: .15rem; flex: 0 0 auto; }
.profile-pass { margin-top: 1.1rem; }
.profile-pass .account-title { font-size: 1.05rem; }
.account-stats {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: .7rem; margin: 1.1rem 0 1.4rem;
}
@media (max-width: 800px) {
  .account-layout, .profile-grid, .profile-fields { grid-template-columns: 1fr; }
  .account-stats { grid-template-columns: 1fr 1fr; }
}
.account-stats a {
  border: 1px solid var(--line); border-radius: 12px; padding: .9rem 1rem; background: #fff;
}
.account-stats a.alert { border-color: var(--orange); background: #fff7f2; }
.account-stats strong { display: block; font-size: 1.55rem; font-weight: 800; letter-spacing: -.03em; }
.account-stats span { color: var(--muted); font-size: .82rem; font-weight: 600; }
.order-card {
  display: grid; grid-template-columns: 1fr auto; gap: 1rem;
  border: 1px solid var(--line); border-radius: 12px; padding: 1rem 1.1rem; margin: 0 0 .7rem; background: #fff;
}
.order-card h3 { margin: .1rem 0 .2rem; font-size: 1.05rem; }
.order-card-kicker { margin: 0; font-size: .78rem; color: var(--muted); }
.order-card-side { display: flex; flex-direction: column; align-items: flex-end; gap: .35rem; }
.order-pill {
  display: inline-flex; font-size: .75rem; font-weight: 700; padding: .18rem .55rem;
  border-radius: 999px; background: #eef0f4; color: #333;
}
.order-pill.wait { background: #fff7f2; color: var(--orange); }
.order-link { font-size: .85rem; font-weight: 700; }
.order-link.pay { color: var(--orange); }
.order-track-code { margin: .25rem 0 0; font-weight: 700; font-variant-numeric: tabular-nums; }
.order-reorder, .account-logout button {
  font: inherit; background: transparent; border: 0; padding: 0; cursor: pointer;
  font-size: .85rem; font-weight: 700; color: var(--muted); text-transform: none;
}
.order-reorder:hover, .account-logout button:hover { color: var(--orange); }
.account-logout { margin-top: 1.8rem; }

.po-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  margin: 0 0 .85rem;
}
.po-card-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  background: #fff4ec;
  padding: .85rem 1.1rem;
}
.po-card-meta { display: flex; gap: 2.2rem; }
.po-card-meta span {
  display: block; font-size: .68rem; font-weight: 800;
  letter-spacing: .06em; text-transform: uppercase; color: #5f6570;
}
.po-card-meta strong { font-size: .95rem; font-weight: 600; }
.po-card-meta .po-total { color: var(--orange); font-weight: 800; }
.po-card-status { display: flex; flex-direction: column; align-items: flex-end; gap: .45rem; }
.po-num { font-size: .78rem; color: var(--muted); }
.po-badge {
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--orange); color: #fff;
  font-size: .82rem; font-weight: 700;
  border-radius: 8px; padding: .4rem .75rem; min-width: 9.5rem; text-align: center;
}
.po-badge.is-off { background: #9aa0a8; }
.po-card-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  padding: 1rem 1.1rem 1.1rem;
  align-items: center;
}
.po-line { display: flex; gap: .75rem; align-items: center; margin: 0 0 .7rem; }
.po-line:last-child { margin-bottom: 0; }
.po-thumb, .po-thumb-empty {
  width: 64px; height: 64px; border-radius: 8px;
  border: 1px solid var(--line); background: #f6f7f9;
  flex: 0 0 64px; overflow: hidden;
}
.po-thumb img { width: 100%; height: 100%; object-fit: contain; }
.po-line-title { margin: 0 0 .15rem; font-weight: 500; }
.po-line-hint { margin: 0; font-size: .82rem; color: var(--muted); }
.po-line-qty { margin: .25rem 0 0; font-weight: 800; }
.po-card-actions {
  display: flex; flex-direction: column; align-items: flex-end; gap: .55rem; min-width: 11.5rem;
}
.po-again {
  display: inline-flex; align-items: center; gap: .35rem;
  font: inherit; font-size: .88rem; font-weight: 700; color: var(--orange);
  background: none; border: 0; padding: 0; cursor: pointer;
}
.po-again:hover { color: var(--orange-dark); }
.po-details {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 11.5rem; padding: .55rem 1rem;
  border: 1.5px solid var(--orange); border-radius: 8px;
  color: var(--orange); font-weight: 700;
}
.po-details:hover { background: #fff7f2; }

.po-page { padding-bottom: 2rem; }
.po-back { margin: 0 0 .6rem; }
.po-back a {
  color: var(--orange); font-weight: 700;
  display: inline-flex; align-items: center; gap: .35rem;
}
.po-back a:before { content: "←"; }
.po-page-head {
  display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start;
  margin: 0 0 1.1rem;
}
.po-page-head h1 { margin: 0 0 .35rem; font-size: 1.55rem; letter-spacing: -.03em; }
.po-page-head p { margin: 0; color: var(--muted); display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.po-chip {
  display: inline-flex; align-items: center;
  background: #e8f1fb; color: #1d4f91;
  font-size: .78rem; font-weight: 700;
  border-radius: 999px; padding: .2rem .65rem;
}
.po-chip.is-pay { background: #e8f1fb; color: #1d4f91; }
.po-chip.is-off { background: #eef0f4; color: #5f6570; }
.po-info {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .85rem;
  margin: 0 0 1rem;
}
.po-box {
  background: #fff; border: 1px solid var(--line); border-radius: 12px;
  padding: 1rem 1.1rem;
}
.po-box h2 { margin: 0 0 .55rem; font-size: .95rem; }
.po-box p { margin: .15rem 0; }
.po-sum { display: flex; justify-content: space-between; gap: 1rem; margin: .2rem 0; }
.po-sum-total { font-weight: 800; margin-top: .45rem; padding-top: .45rem; border-top: 1px solid var(--line); }
.po-extra { margin-top: .65rem; }
.po-extra summary {
  cursor: pointer; color: var(--muted); font-weight: 650; font-size: .88rem; list-style: none;
}
.po-extra summary::-webkit-details-marker { display: none; }
.po-extra > div { margin-top: .7rem; }
.po-extra .pay-code { font-size: 1.2rem; }
.po-bill { margin: .55rem 0 .35rem; font-size: .92rem; }
.po-doc-link { color: var(--orange); font-weight: 700; }
.po-upload { margin: .7rem 0 .35rem; display: grid; gap: .45rem; }
.po-upload button { justify-self: start; }
.po-track { margin: 0 0 1.2rem; }
.po-track h2 {
  letter-spacing: -.02em;
  display: flex; align-items: center; gap: .5rem;
}
.po-track h2:before {
  content: "";
  width: 4px; height: 1.05em;
  border-radius: 99px;
  background: var(--orange);
}
.po-steps {
  --po-dot: 34px;
  list-style: none; padding: .85rem .15rem 0; margin: 0;
  display: grid; grid-template-columns: repeat(var(--po-n, 5), minmax(0, 1fr));
  position: relative;
}
.po-steps:before,
.po-steps:after {
  content: "";
  position: absolute;
  top: calc(.85rem + var(--po-dot) / 2);
  left: calc(100% / var(--po-n, 5) / 2);
  width: calc(100% - (100% / var(--po-n, 5)));
  height: 3px;
  border-radius: 99px;
  transform: translateY(-50%);
}
.po-steps:before { background: #eceef3; }
.po-steps:after {
  width: calc((100% - (100% / var(--po-n, 5))) * var(--po-fill, 0));
  background: linear-gradient(90deg, #ffb089, var(--orange) 70%);
  box-shadow: 0 0 12px rgba(241, 90, 34, .28);
  transform-origin: left center;
  animation: po-rail-x .85s cubic-bezier(.22, .8, .32, 1);
}
.po-steps li {
  position: relative; z-index: 1;
  display: flex; flex-direction: column; align-items: center; gap: .55rem;
  text-align: center;
  color: var(--muted);
  padding: 0 .35rem;
  animation: po-step .55s ease both;
  animation-delay: var(--po-delay, 0ms);
}
.po-step-dot {
  width: var(--po-dot); height: var(--po-dot);
  border-radius: 50%;
  display: grid; place-items: center;
  background: #fff;
  color: #9aa1ad;
  border: 2px solid #dfe3ea;
  box-shadow: 0 1px 0 rgba(255,255,255,.8);
  transition: background .25s ease, border-color .25s ease, color .25s ease, transform .25s ease;
}
.po-step-dot svg { width: 16px; height: 16px; display: block; }
.po-step-label {
  font-size: .78rem; font-weight: 650; line-height: 1.25;
  max-width: 8.4rem;
}
.po-steps li.done { color: var(--ink); }
.po-steps li.done .po-step-dot {
  background: var(--orange);
  border-color: var(--orange);
  color: #fff;
  box-shadow: 0 6px 14px rgba(241, 90, 34, .22);
}
.po-steps li.current { color: var(--orange); }
.po-steps li.current .po-step-label { font-weight: 800; }
.po-steps li.current .po-step-dot {
  background: var(--orange);
  border-color: var(--orange);
  color: #fff;
  transform: scale(1.06);
  animation: po-pulse 1.8s ease-out infinite;
}
.po-track.is-off .po-steps:after { width: 0; animation: none; box-shadow: none; }
.po-track.is-off .po-steps li,
.po-track.is-off .po-steps li.done,
.po-track.is-off .po-steps li.current { color: var(--muted); }
.po-track.is-off .po-step-dot,
.po-track.is-off .po-steps li.done .po-step-dot,
.po-track.is-off .po-steps li.current .po-step-dot {
  background: #eef0f4; border-color: #d9dde4; color: #8b909a;
  box-shadow: none; animation: none; transform: none;
}
.po-courier {
  margin: 1.65rem 0 .1rem;
  padding: 1rem 1.05rem;
  display: flex; flex-wrap: wrap; align-items: center; gap: .7rem 1.1rem;
  background: linear-gradient(180deg, #fff8f4, #fff);
  border: 1px solid #f3d5c6;
  border-radius: 12px;
  animation: po-step .5s ease .35s both;
}
.po-courier-btn {
  display: inline-flex; align-items: center; gap: .45rem;
  font: inherit; font-size: .9rem; font-weight: 800;
  color: #fff; background: var(--orange);
  border-radius: 999px; padding: .55rem 1.05rem;
  box-shadow: 0 8px 18px rgba(241, 90, 34, .22);
  transition: background .15s ease, transform .15s ease, box-shadow .15s ease;
}
.po-courier-btn:hover {
  background: var(--orange-dark);
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(241, 90, 34, .28);
}
.po-courier-meta {
  margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .55rem;
  color: #6f4a3a; font-size: .88rem;
}
.po-courier-meta span + span:before {
  content: "·";
  margin-right: .55rem;
  color: #c4a091;
}
.po-courier-meta strong {
  font-variant-numeric: tabular-nums; letter-spacing: .02em;
}
@keyframes po-rail-x {
  from { transform: translateY(-50%) scaleX(0); }
  to { transform: translateY(-50%) scaleX(1); }
}
@keyframes po-rail-y {
  from { transform: translateX(-50%) scaleY(0); }
  to { transform: translateX(-50%) scaleY(1); }
}
@keyframes po-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(241, 90, 34, .42), 0 6px 14px rgba(241, 90, 34, .22); }
  70% { box-shadow: 0 0 0 10px rgba(241, 90, 34, 0), 0 6px 14px rgba(241, 90, 34, .22); }
}
@keyframes po-step {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}
.po-ship-title { font-size: 1.15rem; margin: 1.2rem 0 .55rem; }
.po-ship {
  background: #fff; border: 1px solid var(--line); border-radius: 12px; overflow: hidden;
  margin: 0 0 .35rem;
}
.po-ship header {
  display: flex; align-items: center; gap: .65rem; flex-wrap: wrap;
  background: #f3f4f6; padding: .8rem 1.1rem;
}
.po-ship header strong { display: inline-flex; align-items: center; gap: .4rem; font-size: 1rem; }
.po-ship header span {
  background: #5c6370; color: #fff; font-size: .75rem; font-weight: 700;
  border-radius: 999px; padding: .18rem .55rem;
}
.po-ship-line {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto auto;
  gap: .75rem;
  align-items: center;
  padding: .85rem 1.1rem;
  border-top: 1px solid var(--line);
}
.po-ship-line .po-thumb { width: 56px; height: 56px; flex-basis: 56px; }
.po-ship-line p { margin: 0; }
.po-return { margin-top: 1.75rem; }
.po-ret-steps {
  list-style: none; padding: 0; margin: .4rem 0 0;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .45rem;
}
.po-ret-steps li {
  text-align: center; font-size: .85rem; font-weight: 650; color: var(--muted);
  padding: .65rem .4rem; border-radius: 10px; background: #f4f4f5;
}
.po-ret-steps li.done, .po-ret-steps li.current { background: #e7f6ef; color: #0b7a4b; }
.po-ret-steps li.current { box-shadow: inset 0 0 0 2px #0b7a4b; }
.po-ret-dot { display: none; }
.po-ret-msg { background: #fff7ed; border-radius: 10px; padding: .7rem .85rem; }
.po-ret-lines { margin: .6rem 0 0; padding-left: 1.1rem; }
.po-ret-photos { display: flex; flex-wrap: wrap; gap: .5rem; }
.po-ret-photos a { display: block; width: 96px; height: 96px; border-radius: 8px; overflow: hidden; border: 1px solid var(--line); }
.po-ret-photos img { width: 100%; height: 100%; object-fit: cover; }
.po-ret-hist { list-style: none; padding: 0; margin: 0; }
.po-ret-hist li { padding: .55rem 0; border-bottom: 1px solid var(--line); }
.po-ret-hist li:last-child { border-bottom: 0; }
.po-ret-hist p { margin: .2rem 0 0; }
.track { border: 1px solid var(--line); border-radius: 12px; padding: 1.1rem 1.2rem; margin: 1.1rem 0; }
.track h2 { margin: .15rem 0 .9rem; font-size: 1.2rem; }
.track-steps {
  list-style: none; padding: 0; margin: 0 0 .8rem; display: grid;
  grid-template-columns: repeat(4, 1fr); gap: .6rem;
}
.track-steps li {
  position: relative; padding: .2rem 0 .2rem .15rem; color: var(--muted); font-size: .85rem;
  border-top: 3px solid var(--line);
}
.track-steps li strong { display: block; color: inherit; font-size: .9rem; margin: .45rem 0 .15rem; }
.track-steps li span { display: block; }
.track-steps li.done { border-color: #22c55e; color: #12805c; }
.track-steps li.current { border-color: var(--orange); color: var(--ink); }
.track .btn-now { display: inline-flex; }

.fx-in.fx-wait {
  opacity: 0;
  transform: translateY(14px);
}
.fx-in.is-in, .fx-in.fx-wait.is-in {
  opacity: 1;
  transform: none;
  transition: opacity .5s ease, transform .5s ease;
}
.cut-clock { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--orange); }
.sticky-buy { display: none; }
.sticky-buy.is-on {
  display: flex;
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 36;
  background: #fff;
  border-top: 1px solid var(--line);
  padding: .65rem 1.1rem calc(.65rem + env(safe-area-inset-bottom));
  gap: .85rem;
  align-items: center;
  box-shadow: 0 -8px 24px rgba(0,0,0,.08);
}
.sticky-buy-thumb {
  width: 52px; height: 52px; object-fit: contain; flex: 0 0 52px;
  border: 1px solid var(--line); border-radius: 8px; background: #f6f6f6;
}
.sticky-buy-copy { min-width: 0; flex: 1; }
.sticky-buy-title {
  margin: 0 0 .1rem; font-weight: 700; font-size: .92rem;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.sticky-buy .price { font-size: 1.05rem; margin: 0; }
.sticky-buy .btn-cart { flex: 0 0 auto; min-width: 10.5rem; }
body.has-sticky-buy { padding-bottom: 5.2rem; }
body.has-sticky-buy .wa-fab { bottom: 5.4rem; }

@media (max-width: 1080px) {
  .product-page { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .product-buy { grid-column: 1 / -1; position: static; }
}

@media (max-width: 1024px) {
  .sf-cats { display: block; }
  .slider-cats { display: none; }
}

@media (max-width: 900px) {
  .sf-head {
    grid-template-columns: minmax(5.25rem, 1fr) auto minmax(5.25rem, 1fr);
    grid-template-areas:
      "cats brand tools"
      "place place place"
      "search search search";
    gap: .55rem .3rem;
    padding-top: .7rem;
  }
  .sf-place-wrap { grid-area: place; justify-self: stretch; max-width: none; }
  .sf-place { max-width: none; }
  .sf-place-panel { width: 100%; }
  .sf-place-lead { white-space: normal; }
  .sf-end { display: contents; }
  .sf-cats { grid-area: cats; justify-self: start; align-self: center; }
  .brand { grid-area: brand; justify-self: center; }
  .sf-tools {
    grid-area: tools;
    justify-self: end;
    gap: .2rem;
    padding-left: .55rem;
    margin-right: -.65rem;
  }
  .search { grid-area: search; }
  .sf-tool-txt { display: none; }
  .tool-ico { display: flex; }
  .sf-cats-toggle {
    width: 2.85rem;
    height: 2.85rem;
    padding: 0;
    justify-content: center;
    border-radius: 10px;
  }
  .sf-cats-burger { width: 1.55rem; height: 1.12rem; }
  .sf-cats-burger span { height: 2.5px; }
  .tool-account {
    width: 2.85rem;
    height: 2.85rem;
    justify-content: center;
  }
  .tool-ico svg { width: 26px; height: 26px; }
  .cart-ico {
    width: auto;
    min-width: 2.9rem;
    height: 2.9rem;
    padding: .1rem .05rem 0 0;
    justify-content: center;
    gap: 0;
    overflow: visible;
  }
  .cart-ico-mark { padding: .1rem .48rem 0 0; }
  .cart-ico-svg { width: 28px; height: 28px; }
  .cart-ico b {
    top: 0;
    right: 0;
    min-width: 1.05rem;
    height: 1.05rem;
    font-size: .6rem;
  }
  .hero-photo, .home-mosaic.has-main.has-side, .product-page, .checkout-grid { grid-template-columns: 1fr; }
  .home-mosaic.has-main.has-side .home-mosaic-main,
  .home-mosaic.has-main.has-side .home-mosaic-sides { min-height: 0; }
  .trust { grid-template-columns: 1fr 1fr; }
  .home-slider-stage { aspect-ratio: 16 / 9; }
  .home-promo-card img { aspect-ratio: 16 / 6; max-height: 240px; }
  .foot-grid { grid-template-columns: 1fr 1fr; }
  .cart-line { grid-template-columns: 72px 1fr auto; }
  .cart-line .cart-qty, .cart-line-price { grid-column: 2; }
  .cart-line form:last-child { grid-column: 3; grid-row: 1; }
  .account-stats, .track-steps { grid-template-columns: 1fr 1fr; }
  .order-card { grid-template-columns: 1fr; }
  .order-card-side { align-items: flex-start; }
  .po-card-head, .po-card-body, .po-page-head, .po-info { grid-template-columns: 1fr; }
  .po-card-head { flex-direction: column; }
  .po-card-status, .po-card-actions { align-items: flex-start; }
  .po-details { width: 100%; }
  .po-steps {
    display: flex; flex-direction: column;
    padding: .35rem 0 0; gap: 0;
  }
  .po-steps:before,
  .po-steps:after {
    top: calc(.35rem + var(--po-dot) / 2);
    left: calc(var(--po-dot) / 2);
    width: 3px;
    height: calc(100% - var(--po-dot) - .35rem);
    transform: translateX(-50%);
  }
  .po-steps:after {
    width: 3px;
    height: calc((100% - var(--po-dot) - .35rem) * var(--po-fill, 0));
    transform-origin: top center;
    animation-name: po-rail-y;
  }
  .po-steps li {
    flex-direction: row;
    justify-content: flex-start;
    text-align: left;
    gap: .85rem;
    padding: 0 0 1.05rem;
  }
  .po-steps li:last-child { padding-bottom: 0; }
  .po-step-label { font-size: .88rem; max-width: none; }
  .po-courier { margin-top: 1.35rem; padding: .9rem .95rem; }
  .po-ship-line { grid-template-columns: 56px minmax(0, 1fr); }
  .po-ship-line span, .po-ship-line strong { grid-column: 2; }
  .sticky-buy-title { display: none; }
  .sticky-buy .btn-cart { min-width: 8.5rem; }
}

@media (max-width: 768px) {
  .home-slider-stage { aspect-ratio: 4 / 5; }
}

@media (max-width: 640px) {
  .tool-reg { display: none; }
  .rail-wrap:after { display: none; }
  .home-slider-stage { aspect-ratio: 4 / 5; }
  .home-slider-nav { width: 1.9rem; height: 1.9rem; font-size: 1.15rem; }
  .mosaic-card-side { grid-template-columns: minmax(120px, 40%) minmax(0, 1fr); padding: 1.1rem 1rem 1.2rem; }
  .mosaic-card-side .mosaic-media,
  .mosaic-card-side .mosaic-media img { min-height: 140px; height: 140px; }
  .home-promo-card img { aspect-ratio: 16 / 7; max-height: 200px; }
  .home-promo-overlay { padding: 1.8rem .85rem .8rem; }
  .home-promo-unit { min-width: 3.25rem; padding: .4rem .42rem .32rem; }
  .home-promo-unit b { font-size: 1.28rem; }
  .home-promo-unit span { font-size: .66rem; }
  .sticky-qty { display: none; }
  .sticky-buy-thumb { width: 44px; height: 44px; flex-basis: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .fx-in, .fx-in.fx-wait, .card-p, .cat-card, .card-p-img > img, .cat-card-img img, .gallery-main, .hero-media img {
    transition: none;
    opacity: 1;
    transform: none;
  }
  .home-slider-slide { transition: none; }
  .sf-cats-burger span { transition: none; }
  .card-p:hover, .cat-card:hover, .card-p:hover .card-p-img > img, .cat-card:hover .cat-card-img img,
  .gallery-stage:hover .gallery-main, .hero-photo:hover .hero-media img {
    transform: none;
  }
  .cart-ico-mark.is-pop { animation: none; }
  .home-more-cue { animation: none; }
  .home-more-cue::after { animation: none; opacity: .35; }
  .po-steps li, .po-courier, .po-steps:after, .po-steps li.current .po-step-dot, .po-courier-btn {
    animation: none;
  }
  .po-steps li, .po-courier, .po-courier-btn:hover, .po-steps li.current .po-step-dot {
    transform: none;
  }
}

.co-flow { display: grid; gap: 1rem; min-width: 0; }
.co-card {
  background: #fff; border: 1px solid var(--line); border-radius: 16px;
  padding: 1.15rem 1.25rem 1.2rem;
}
.co-card.is-off { display: none; }
.co-card-head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: .8rem;
  margin: 0 0 .35rem;
}
.co-card-head h1, .co-card-head h2 {
  margin: 0; font-size: 1.2rem; letter-spacing: -.03em;
}
.co-card-lead { margin: 0 0 1rem; color: var(--muted); }
.co-edit {
  width: 2.2rem; height: 2.2rem; border-radius: 50%;
  border: 1.5px solid var(--orange); background: #fff; color: var(--orange);
  display: none; place-items: center; cursor: pointer; padding: 0; flex: 0 0 auto;
}
.co-card.is-done .co-edit { display: grid; }
.co-card.is-done .co-card-body { display: none; }
.co-card.is-done .co-card-lead { display: none; }
.co-card-summary { display: none; color: var(--muted); font-size: .92rem; }
.co-card.is-done .co-card-summary { display: block; }
.co-card-summary p { margin: .15rem 0; }
.co-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 .85rem; }
.co-doc { display: grid; grid-template-columns: 7.2rem 1fr; gap: .45rem; align-items: end; }
.co-doc select { min-height: 2.45rem; }
.co-err { color: #b42318; font-size: .82rem; font-weight: 600; margin: .2rem 0 0; display: none; }
.co-field.is-bad input, .co-field.is-bad select { border-color: #b42318; }
.co-field.is-bad .co-err { display: block; }
.co-invoice-toggle {
  display: inline-flex; align-items: center; gap: .4rem;
  margin: .35rem 0 1rem; color: var(--orange); font-weight: 650; cursor: pointer;
  background: none; border: 0; padding: 0; font: inherit;
}
.co-invoice-toggle .ph-svg { color: var(--orange); }
.co-invoice-toggle.is-off { display: none; }
.co-company { margin: .2rem 0 1rem; padding: .85rem 0 0; border-top: 1px solid var(--line); }
.co-company.is-off { display: none; }
.co-company-head {
  display: flex; align-items: center; justify-content: space-between; gap: .6rem;
  margin: 0 0 .4rem;
}
.co-company-head h3 { margin: 0; font-size: 1rem; }
.co-company-head button {
  background: none; border: 0; color: var(--orange); font: inherit; font-weight: 650;
  text-decoration: underline; cursor: pointer; padding: 0;
}
.co-checks { display: grid; gap: .45rem; margin: .9rem 0 1rem; }
.co-checks .check { margin: 0; }
.co-checks a { color: var(--orange); text-decoration: underline; }
.co-mail { margin: 0 0 1rem; }
.co-mail a { color: #2563eb; font-weight: 650; }
.co-mail form { display: inline; }
.co-mail button {
  background: none; border: 0; color: #2563eb; font: inherit; font-weight: 650;
  cursor: pointer; padding: 0; text-decoration: underline;
}
.co-ship-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; margin: .4rem 0 1rem; }
.co-ship-tab {
  display: flex; align-items: center; justify-content: center; gap: .45rem;
  min-height: 3.1rem; border: 1.5px solid var(--line); border-radius: 12px;
  background: #fff; font: inherit; font-weight: 700; cursor: pointer; color: #888;
}
.co-ship-tab .ph-svg { color: currentColor; }
.co-ship-tab.on {
  border-color: var(--orange); color: var(--orange); background: #fff7f2;
}
.co-ship-home.is-off, .co-ship-pick.is-off, .co-recv-other.is-off, #ship-manual.is-off, #co-addr-other.is-off { display: none; }
.co-addr-book { display: flex; flex-direction: column; gap: .5rem; margin: .35rem 0 .55rem; }
.checkout-form .co-addr-pick {
  position: relative; display: flex; flex-direction: column; gap: .15rem;
  border: 1.5px solid var(--line); border-radius: 12px; padding: .7rem .85rem;
  background: #fff; cursor: pointer;
  margin: 0;
}
body.sf .checkout-form .co-addr-pick > input[type="radio"] {
  position: absolute; inset: 0; width: auto; height: auto; margin: 0;
  opacity: 0; pointer-events: none; accent-color: unset;
}
.co-addr-pick.on { border-color: var(--orange); background: #fff7f2; }
.co-addr-pick.is-sub { padding: .55rem .75rem; }
.co-addr-line { font-weight: 650; }
#co-addr-other { display: flex; flex-direction: column; gap: .5rem; margin: 0 0 1rem; }
.co-addr-other-lead { margin: 0; }
.addr-badge {
  display: inline-flex; align-self: flex-start;
  font-size: .72rem; font-weight: 800; letter-spacing: .02em; text-transform: uppercase;
  color: var(--orange); background: #fff7f2; border: 1px solid var(--orange);
  border-radius: 999px; padding: .12rem .5rem; margin: 0 0 .35rem;
}
.co-store {
  display: grid; grid-template-columns: auto 1fr; gap: .7rem .85rem;
  border: 1px solid var(--line); border-radius: 12px; padding: .9rem 1rem; margin: .35rem 0 1rem;
}
.co-store .ph-svg { color: var(--orange); width: 22px; height: 22px; }
.co-store strong { color: var(--orange); }
.co-store p { margin: .1rem 0; }
.co-pills { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .45rem; }
.co-pill {
  display: inline-flex; font-size: .75rem; font-weight: 700;
  padding: .18rem .55rem; border-radius: 999px; background: #e8f6ef; color: #0b6e4f;
}
.co-recv { margin: 1rem 0 .4rem; }
.co-recv h3 { margin: 0 0 .55rem; font-size: 1rem; }
.co-recv-opts { display: flex; gap: 1.2rem; }
.co-next { width: 100%; min-height: 2.7rem; margin-top: .4rem; }
.co-sum-head {
  display: flex; align-items: center; justify-content: space-between; gap: .6rem;
  margin: 0 0 .85rem;
}
.co-sum-head h2 { margin: 0; }
.checkout-sum .co-sum-head h2 { margin: 0; }
.co-sum-back { color: var(--orange); font-weight: 650; background: none; border: 0; font: inherit; cursor: pointer; padding: 0; }
.co-sum-item {
  display: grid; grid-template-columns: 64px 1fr auto; gap: .7rem; align-items: center;
  background: #f6f6f7; border-radius: 12px; padding: .65rem; margin: 0 0 .55rem;
}
.co-sum-thumb {
  position: relative; width: 64px; height: 64px; border-radius: 10px;
  background: #fff; overflow: hidden; display: grid; place-items: center;
}
.co-sum-thumb img { width: 100%; height: 100%; object-fit: contain; }
.co-sum-qty {
  position: absolute; top: .2rem; left: .2rem; min-width: 1.15rem; height: 1.15rem;
  padding: 0 .28rem; border-radius: 999px; background: #111; color: #fff;
  font-size: .68rem; font-weight: 800; display: grid; place-items: center;
}
.co-sum-item strong {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; font-size: .88rem; line-height: 1.3;
}
.co-coupon-in {
  display: flex; align-items: center; gap: .35rem;
  border: 1px solid var(--line); border-radius: 10px; padding: 0 .65rem;
  background: #fff; min-width: 0;
}
.co-coupon-in .ph-svg { color: var(--muted); flex: 0 0 auto; }
.checkout-form .co-coupon-in input { border: 0; padding: .55rem 0; min-width: 0; box-shadow: none; }
.co-sr {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); border: 0;
}
.co-ship-pick { position: relative; }
.co-buy.is-off { display: none !important; }
.checkout-form .pay-pick.on {
  border-color: var(--orange); box-shadow: 0 0 0 1px var(--orange);
}
.co-coupon { margin: .85rem 0 .5rem; }
.co-coupon-row { display: grid; grid-template-columns: 1fr auto; gap: .4rem; }
.co-coupon-row button { min-height: 2.45rem; }
.co-notes { margin-top: .9rem; }
.co-buy { width: 100%; min-height: 2.8rem; gap: .4rem; margin-top: 1rem; }
@media (max-width: 640px) {
  .co-grid-2, .co-doc, .co-ship-tabs { grid-template-columns: 1fr; }
  #pay-submit-side { display: none !important; }
}
@media (min-width: 641px) {
  .co-flow #pay-submit { display: none; }
}
