/* Name sign product page only. The Cross page does not use these faces. */
@font-face { font-family: "LamassuMelthoAdiabene"; font-style: normal; font-weight: 400; font-display: swap; size-adjust: 163.381%; ascent-override: 143.14%; descent-override: 155.113%; src: url("fonts/SyrCOMAdiabene.otf") format("opentype"); unicode-range: U+0700-074F; }
@font-face { font-family: "LamassuMelthoNisibin"; font-style: normal; font-weight: 400; font-display: swap; size-adjust: 166.085%; ascent-override: 143.14%; descent-override: 171.144%; src: url("fonts/SyrCOMNisibin.otf") format("opentype"); unicode-range: U+0700-074F; }

/* Photos stay in the left column. base.css keeps them sticky while this column scrolls. */
.pdp-top--sign .pdp-gallery,
.pdp-top--sign .pdp-buy { min-width: 0; }
@media (min-width: 900px) {
  .pdp-top--sign {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: 2rem;
  }
}

/* Build your sign sits under the price. The purchase row sits under the keyboard, then About this piece. */
.pdp-top--sign .pdp-below {
  margin-top: 0.85rem;
  padding-top: 0;
  border-top: 0;
}
.pdp-top--sign .ns-build { margin-top: 0.35rem; }
.pdp-top--sign .pdp-below p,
.pdp-top--sign .ns-about-list li {
  margin: 0.7rem 0 0;
  line-height: 1.45;
}
.pdp-top--sign .ns-about-list { margin: 0.35rem 0 0; padding-left: 1.15rem; }
.pdp-top--sign .ns-pdp-tool {
  margin: 1.15rem 0 0.35rem;
}
.ns-size-row { flex-wrap: nowrap; margin-top: 0.85rem; }
.ns-size-row label { white-space: nowrap; font-weight: 600; }
.ns-size-row select { flex: 1 1 auto; min-width: 0; min-height: 44px; font-size: 1rem; }
.ns-details-row { margin: 0.35rem 0 0; }
.ns-details-link {
  background: none;
  border: 0;
  padding: 0;
  min-height: 44px;
  font: inherit;
  font-size: 0.92rem;
  text-decoration: underline;
  color: var(--bronze-text, #6b4f2a);
  cursor: pointer;
}

.ns-pdp-tool.ns-page {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  padding-bottom: 0;
}
.ns-pdp-tool .ns-stage { gap: 0.45rem; }
.ns-pdp-tool .ns-foot { display: none; }

/* The buy column is narrower than the page, so the overlay buttons use the phone sizes. */
.ns-pdp-tool .ns-ov-row { gap: 0.14rem; }
.ns-pdp-tool .ns-ov-row .ns-ov { flex-basis: 32%; max-width: 32%; }
.ns-pdp-tool .ns-ov-row .ns-ov--font .ns-chip__label,
.ns-pdp-tool .ns-ov-row .ns-ov--join .ns-chip__label { max-width: 3.65rem; }
.ns-pdp-tool .ns-ov-row .ns-ov--helper .ns-chip__label { max-width: 3.55rem; }
.ns-pdp-tool .ns-ov--cut,
.ns-pdp-tool .ns-ov--stack { max-width: 50%; }
.ns-pdp-tool .ns-ov--cut .ns-chip__label { max-width: 7.4rem; }
.ns-pdp-tool .ns-ov--stack { max-width: 68%; }
.ns-pdp-tool .ns-ov--stack .ns-chip__label { max-width: 12rem; }

/* The name is typed on the preview. These fields stay in the page so Add to cart can read them. */
.pz[data-name-sign="true"] { display: none; }

.ns-name-msg {
  margin: 0.35rem 0 0.5rem;
  color: #8a3d2f;
  font-size: 0.92rem;
}

.ns-summary { display: none; margin: 0.4rem 0 0.85rem; }
.ns-break__row, .ns-summary__total {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.75rem;
  margin: 0.35rem 0;
  font-size: 0.95rem;
}
.ns-summary__total { font-weight: 600; margin-top: 0.55rem; }
.ns-break__ship { margin: 0.35rem 0 0; color: var(--text-muted, #5c564e); font-size: 0.88rem; }
.ns-break__row button {
  background: none;
  border: 0;
  padding: 0;
  color: var(--bronze-text, #6b4f2a);
  text-decoration: underline;
  font: inherit;
  cursor: pointer;
  min-height: 44px;
}
.ns-sheet { position: fixed; inset: 0; z-index: 120; }
.ns-sheet[hidden] { display: none; }
.ns-sheet__backdrop { position: absolute; inset: 0; background: rgba(28, 22, 18, 0.45); }
.ns-sheet__panel {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  max-height: min(70vh, 28rem);
  overflow: auto;
  background: var(--warm-white, #faf7f2);
  border-radius: 14px 14px 0 0;
  padding: 1rem var(--gutter) calc(1rem + env(safe-area-inset-bottom, 0px));
  box-shadow: 0 -8px 28px rgba(13, 13, 15, 0.16);
}
.ns-sheet__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.ns-sheet__head h2 { margin: 0; font-size: 1.05rem; }
.ns-sheet__sub { margin: 0.2rem 0 0; font-size: 0.78rem; letter-spacing: 0.06em; text-transform: uppercase; }
.ns-sheet__close {
  background: none;
  border: 0;
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
  min-height: 44px;
  color: var(--bronze-text, #6b4f2a);
}

@media (min-width: 1024px) {
  .ns-pricebar { display: none !important; }
  body.has-pdp-sticky:has(.ns-pricebar) { padding-bottom: 0; }
  .ns-summary { display: block; }
}

