/**
 * Promot visual layer — same components & CMS content,
 * refined type, surfaces, hero, cards, and motion.
 */
:root {
  --promot-red: #9e3040;
  --promot-red-deep: #7a2431;
  --promot-red-bright: #c43a4d;
  --promot-red-soft: rgba(158, 48, 64, 0.1);
  --promot-ink: #1a1514;
  --promot-ink-muted: #5c534f;
  --promot-line: #e8e2de;
  --promot-surface: #f7f4f1;
  --promot-surface-warm: #f3eee8;
  --promot-white: #ffffff;
  --promot-radius: 18px;
  --promot-radius-sm: 12px;
  --promot-shadow: 0 1px 2px rgba(26, 21, 20, 0.04), 0 10px 28px rgba(26, 21, 20, 0.07);
  --promot-shadow-hover: 0 6px 16px rgba(26, 21, 20, 0.08), 0 20px 48px rgba(26, 21, 20, 0.12);
  --promot-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --promot-font: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;
  --promot-display: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--promot-font);
  color: var(--promot-ink);
  background: var(--promot-white);
  background-color: var(--promot-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Force storefront sans — never serif / display faces */
body,
body *:not(i):not(.fa):not([class*="fa-"]),
h1, h2, h3, h4, h5, h6,
p, a, span, button, input, textarea, select, label, li,
.Homebanner .bannerInnerContent h1,
.home-banner__title,
.home-banner__subtitle,
.home-banner__brand,
.home-banner__cta,
.Homesection2 h2,
.Homesection2 h3,
.Homesection6 h2,
.Homesection6 h3,
.why-choose-us h2,
.why-choose-us h3,
.why-choose-us .feature h3,
.why-choose-us .feature p,
.Customcard .sec4title,
.Customcard p,
.section2cardInnerBtn button,
.home-btn,
.Bannerbutton button,
.productName,
.price,
.newsletter h2,
.newsletter h3,
.footer,
.filtertitle h1,
.filtertitle h3 {
  font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

#main-content {
  overflow-x: clip;
}

/* Allow PDP preview column to stick while scrolling the customize form */
body:has(.stamp-pdp) #main-content {
  overflow-x: clip;
  overflow-y: visible;
}

/* ——— Nav v2 (always opaque white — never transparent) ——— */
#promotNav.stampingNavbar.pn2,
header.stampingNavbar.pn2,
.stampingNavbar.pn2,
.stampingNavbar.pn2.is-scrolled,
.stampingNavbar.pn2.stampingNavbarActive {
  position: sticky !important;
  top: 0 !important;
  z-index: 1040 !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom: 1px solid rgba(26, 21, 20, 0.08) !important;
  box-shadow: 0 1px 0 rgba(26, 21, 20, 0.04);
  transition: none;
}

html.promot-ready #promotNav.stampingNavbar.pn2,
html.promot-ready header.stampingNavbar.pn2,
html.promot-ready .stampingNavbar.pn2,
html.promot-ready .stampingNavbar.pn2.is-scrolled {
  transition: box-shadow 0.3s var(--promot-ease);
}

#promotNav.stampingNavbar.pn2::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: #ffffff;
  pointer-events: none;
}

.stampingNavbar.pn2.is-scrolled {
  box-shadow: 0 12px 40px rgba(26, 21, 20, 0.08) !important;
}

#promotNav .pn2__nav,
#promotNav .navbar,
#promotNav .menu,
.pn2__nav,
.stampingNavbar.pn2 .navbar,
.stampingNavbar.pn2 .menu {
  padding: 0 !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  opacity: 1 !important;
  position: relative;
  z-index: 1;
}

#promotNav .pn2__bar,
.pn2__bar {
  display: flex !important;
  align-items: center;
  gap: 1rem;
  min-height: 70px;
  position: relative;
  z-index: 1;
  background: #ffffff !important;
  background-color: #ffffff !important;
}

.pn2__brand {
  flex: 0 0 auto;
  margin: 0 !important;
  padding: 0.25rem 0 !important;
}

.pn2__brand img {
  width: auto !important;
  max-width: 132px;
  height: 38px;
  object-fit: contain;
}

.pn2__collapse {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}

.pn2__menu {
  display: flex;
  align-items: center;
  gap: 0.15rem;
  margin: 0 !important;
  flex: 0 1 auto;
}

/* Neutralize legacy theme rules that reflow the pn2 menu — do not touch .active */
#promotNav #navbarScroll ul li,
#promotNav .pn2__menu > li {
  margin: 0 !important;
  padding: 0 !important;
}

#promotNav #navbarScroll ul li a.pn2__link:not(.active):not(.pn2__wizard) {
  font-size: 0.9rem !important;
  margin: 0 !important;
  padding: 0.5rem 0.85rem !important;
}

.stampingNavbar.pn2 .pn2__link.nav-link,
.stampingNavbar.pn2 .pn2__link {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  gap: 0.3rem;
  margin: 0 !important;
  padding: 0.5rem 0.85rem !important;
  border-radius: 999px !important;
  color: #3d3633 !important;
  font-family: var(--promot-font) !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em;
  background: transparent !important;
  border: 0 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: color 0.2s var(--promot-ease), background 0.2s var(--promot-ease),
    box-shadow 0.2s var(--promot-ease);
}

.stampingNavbar.pn2 .pn2__link.dropdown-toggle::after {
  display: none !important;
}

.stampingNavbar.pn2 .pn2__link:hover,
.stampingNavbar.pn2 .pn2__link:focus {
  color: var(--promot-ink) !important;
  background: #f3eee9 !important;
}

#promotNav a.pn2__link.active,
#promotNav .pn2__link.nav-link.active,
.stampingNavbar.pn2 .pn2__link.active,
.stampingNavbar.pn2 .pn2__store.active > .pn2__link {
  color: var(--promot-red) !important;
  background: rgba(158, 48, 64, 0.1) !important;
  font-weight: 600 !important;
  /* Soft glow like original — not a heavy drop shadow */
  box-shadow: 0 4px 14px rgba(158, 48, 64, 0.14) !important;
}

.pn2__chev {
  transition: transform 0.25s var(--promot-ease);
  opacity: 0.7;
}

.pn2__store.show .pn2__chev,
.pn2__store:hover .pn2__chev {
  transform: rotate(180deg);
}

.stampingNavbar.pn2 .pn2__wizard {
  display: inline-flex !important;
  align-items: center;
  margin-left: 0.25rem !important;
  padding: 0.5rem 1rem !important;
  border-radius: 999px !important;
  background: var(--promot-red) !important;
  color: #fff !important;
  font-family: var(--promot-font) !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(158, 48, 64, 0.22);
  transition: background 0.2s var(--promot-ease), transform 0.2s var(--promot-ease),
    box-shadow 0.2s var(--promot-ease);
}

.stampingNavbar.pn2 .pn2__wizard:hover,
.stampingNavbar.pn2 .pn2__wizard:focus,
.stampingNavbar.pn2 .pn2__wizard.active {
  background: var(--promot-red-deep) !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(158, 48, 64, 0.3);
}

/* Store mega menu */
.pn2__store {
  position: static !important;
}

.pn2__mega.dropdown-menu,
.dropdown-menu.pn2__mega {
  width: min(920px, calc(100vw - 2rem)) !important;
  max-width: none !important;
  max-height: none !important;
  padding: 0 !important;
  margin-top: 0.85rem !important;
  border: 1px solid rgba(26, 21, 20, 0.08) !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 24px 60px rgba(26, 21, 20, 0.14) !important;
  overflow: hidden !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
}

.pn2__mega.show {
  animation: pn2MegaIn 0.28s var(--promot-ease);
}

@keyframes pn2MegaIn {
  from { opacity: 0; transform: translateX(-50%) translateY(8px); }
  to { opacity: 1; transform: translateX(-50%) translateY(0); }
}

.pn2__mega-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
  align-items: stretch;
  width: 100%;
}

.pn2__mega-cats {
  padding: 1.25rem 1.35rem 1.15rem;
  min-width: 0;
}

.pn2__mega-aside {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  margin: 0;
  padding: 1.15rem 1.2rem 1.35rem;
  box-sizing: border-box;
  background:
    radial-gradient(500px 220px at 80% 0%, rgba(158, 48, 64, 0.16), transparent 60%),
    linear-gradient(165deg, #1a1514 0%, #2c2220 100%);
  color: #fff;
}

.pn2__mega-aside .pn2__mega-kicker {
  color: rgba(255, 255, 255, 0.55);
  margin-bottom: 0.75rem;
}

.pn2__mega-feature {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0.65rem;
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  box-sizing: border-box;
}

.pn2__mega-feature-media {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
  margin-bottom: 0.15rem;
}

.pn2__mega-feature-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 70%, rgba(12, 10, 10, 0.18) 100%);
  pointer-events: none;
}

.pn2__mega-feature-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  transform: scale(1.01);
  transition: transform 0.45s var(--promot-ease);
}

.pn2__mega-aside:hover .pn2__mega-feature-media img {
  transform: scale(1.06);
}

.pn2__mega-feature-title {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.pn2__mega-feature-text {
  margin: 0;
  max-width: 28ch;
  font-size: 0.88rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.72);
}

.pn2__mega-feature-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  flex-shrink: 0;
  margin-top: auto;
  padding: 0.7rem 1.15rem;
  border-radius: 999px;
  background: #fff;
  color: var(--promot-ink) !important;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none !important;
  transition: transform 0.2s var(--promot-ease), box-shadow 0.2s var(--promot-ease);
}

.pn2__mega-feature-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25);
}

.pn2__mega-kicker {
  margin: 0 0 0.85rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #8a807a;
}

.pn2__mega-tiles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
}

.pn2__tile {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.55rem 0.65rem;
  border-radius: 14px;
  text-decoration: none !important;
  color: inherit;
  transition: background 0.2s var(--promot-ease), transform 0.2s var(--promot-ease);
}

.pn2__tile:hover,
.pn2__tile:focus {
  background: #f6f1ec;
  transform: translateY(-1px);
}

.pn2__tile-img {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  overflow: hidden;
  background: #efe8e1;
  border: 1px solid rgba(26, 21, 20, 0.06);
}

.pn2__tile-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.pn2__tile-copy {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

.pn2__tile-name {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--promot-ink);
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.pn2__tile-go {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--promot-red);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity 0.2s var(--promot-ease), transform 0.2s var(--promot-ease);
}

.pn2__tile:hover .pn2__tile-go,
.pn2__tile:focus .pn2__tile-go {
  opacity: 1;
  transform: translateX(0);
}

.pn2__mega-all {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.95rem;
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--promot-red) !important;
  text-decoration: none !important;
}

.pn2__mega-all:hover {
  color: var(--promot-red-deep) !important;
}

/* Inline search — sits with icons on the right; grow wide enough to avoid a huge empty gap */
.pn2__search {
  display: flex !important;
  align-items: center;
  flex: 1 1 300px;
  max-width: 480px;
  min-width: 240px;
  margin-left: auto;
  height: 44px;
  padding: 4px 4px 4px 14px;
  border-radius: 999px;
  background: #f4f0ec !important;
  border: 1px solid transparent;
  gap: 0.35rem;
  transition: border-color 0.2s var(--promot-ease), background 0.2s var(--promot-ease),
    box-shadow 0.2s var(--promot-ease);
}

html.promot-ready .pn2__search:focus-within {
  max-width: 520px;
  transition: border-color 0.2s var(--promot-ease), background 0.2s var(--promot-ease),
    box-shadow 0.2s var(--promot-ease), max-width 0.3s var(--promot-ease);
}

.pn2__search:focus-within {
  background: #fff !important;
  border-color: rgba(158, 48, 64, 0.35);
  box-shadow: 0 0 0 4px rgba(158, 48, 64, 0.1);
}

.pn2__search-icon {
  flex: 0 0 auto;
  color: #7a716c;
  pointer-events: none;
}

.pn2__search-input,
.pn2__search input#search-box,
.pn2__search input.search_input,
.pn2__search input.pn2__search-input {
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 0.4rem !important;
  margin: 0 !important;
  font-family: var(--promot-font) !important;
  font-size: 0.88rem !important;
  color: var(--promot-ink) !important;
  line-height: 1.2 !important;
  -webkit-appearance: none;
  appearance: none;
}

.pn2__search-input::placeholder,
.pn2__search input#search-box::placeholder {
  color: #9a918b;
  opacity: 1;
}

.pn2__search-go {
  flex: 0 0 auto !important;
  height: 36px;
  padding: 0 1rem;
  margin-left: auto;
  border: 0;
  border-radius: 999px;
  background: var(--promot-ink);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.2s var(--promot-ease);
}

.pn2__search-go:hover {
  background: var(--promot-red);
}

.pn2__suggest.search-result-theme1,
#search-results.pn2__suggest,
#search-results.search-result-theme1 {
  position: absolute !important;
  left: auto !important;
  right: 0 !important;
  top: calc(100% + 12px) !important;
  width: min(680px, calc(100vw - 2rem)) !important;
  max-height: min(560px, 78vh) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  border: 1px solid rgba(26, 21, 20, 0.08) !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 24px 60px rgba(26, 21, 20, 0.14) !important;
  padding: 0 !important;
  z-index: 1050 !important;
  animation: pn2SuggestIn 0.24s var(--promot-ease);
}

.pn2__suggest.search-result-theme1.d-none,
#search-results.pn2__suggest.d-none {
  display: none !important;
}

@keyframes pn2SuggestIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.pn2__suggest-panel {
  display: flex;
  flex-direction: column;
  min-height: 0;
  max-height: inherit;
}

.pn2__suggest-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem 0.85rem;
  border-bottom: 1px solid rgba(26, 21, 20, 0.07);
  background:
    radial-gradient(280px 90px at 100% 0%, rgba(158, 48, 64, 0.08), transparent 70%),
    #faf7f4;
}

.pn2__suggest-kicker {
  margin: 0;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--promot-red);
}

.pn2__suggest-query {
  margin: 0;
  max-width: 60%;
  font-size: 0.84rem;
  font-weight: 600;
  color: var(--promot-ink-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pn2__suggest-list {
  list-style: none;
  margin: 0;
  padding: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  overflow-y: auto;
  max-height: min(420px, 58vh);
  background: #fff;
}

.pn2__suggest-item {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  list-style: none !important;
  background: transparent !important;
}

.pn2__suggest-link {
  display: grid !important;
  grid-template-columns: 80px minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 0.85rem 0.95rem !important;
  border: 1px solid rgba(26, 21, 20, 0.08) !important;
  border-radius: 16px !important;
  background: #faf8f6 !important;
  text-decoration: none !important;
  color: inherit !important;
  box-shadow: 0 1px 0 rgba(26, 21, 20, 0.03);
  transition: background 0.2s var(--promot-ease), border-color 0.2s var(--promot-ease),
    transform 0.2s var(--promot-ease), box-shadow 0.2s var(--promot-ease);
}

.pn2__suggest-link:hover,
.pn2__suggest-link:focus {
  background: #fff !important;
  border-color: rgba(158, 48, 64, 0.22) !important;
  outline: none;
  transform: translateY(-1px);
  box-shadow: 0 10px 28px rgba(26, 21, 20, 0.08);
}

.pn2__suggest-media {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(26, 21, 20, 0.06);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6);
}

.pn2__suggest-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
  margin: 0 !important;
  border-radius: 0 !important;
  transition: transform 0.35s var(--promot-ease);
}

.pn2__suggest-link:hover .pn2__suggest-media img,
.pn2__suggest-link:focus .pn2__suggest-media img {
  transform: scale(1.05);
}

.pn2__suggest-copy {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  min-width: 0;
}

.pn2__suggest-name {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-family: var(--promot-font) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.3;
  color: var(--promot-ink) !important;
  white-space: normal;
  letter-spacing: -0.01em;
}

.pn2__suggest-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.75rem;
}

.pn2__suggest-sku {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 0.55rem;
  border-radius: 999px;
  background: rgba(26, 21, 20, 0.05);
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  color: var(--promot-ink-muted) !important;
  letter-spacing: 0.03em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.pn2__suggest-go {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--promot-red);
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity 0.2s var(--promot-ease), transform 0.2s var(--promot-ease);
}

.pn2__suggest-link:hover .pn2__suggest-go,
.pn2__suggest-link:focus .pn2__suggest-go {
  opacity: 1;
  transform: translateX(0);
}

.pn2__suggest-aside {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 0.35rem;
}

.pn2__suggest-price {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 0.85rem;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(26, 21, 20, 0.08);
  font-family: var(--promot-font) !important;
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  color: var(--promot-ink) !important;
  white-space: nowrap;
  margin-left: 0 !important;
  box-shadow: 0 1px 0 rgba(26, 21, 20, 0.04);
}

.pn2__suggest-link:hover .pn2__suggest-price,
.pn2__suggest-link:focus .pn2__suggest-price {
  border-color: rgba(158, 48, 64, 0.28);
  color: var(--promot-red) !important;
}

.pn2__suggest-empty {
  margin: 0;
  padding: 2rem 1.25rem;
  text-align: center;
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--promot-ink-muted);
}

.pn2__suggest-foot {
  padding: 0.85rem 1.15rem 1rem;
  border-top: 1px solid rgba(26, 21, 20, 0.07);
  background: #faf7f4;
}

.pn2__suggest-all {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--promot-red) !important;
  text-decoration: none !important;
}

.pn2__suggest-all:hover {
  color: var(--promot-red-deep) !important;
}

.pn2__suggest-all svg {
  transition: transform 0.18s var(--promot-ease);
}

.pn2__suggest-all:hover svg {
  transform: translateX(3px);
}

/* Kill legacy green/bordered suggest rows inside new panel */
.pn2__suggest.search-result-theme1 li,
#search-results li {
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}

.pn2__suggest.search-result-theme1 li:hover,
#search-results li:hover {
  background: transparent !important;
}

@media (max-width: 767.98px) {
  .pn2__suggest.search-result-theme1,
  #search-results.pn2__suggest,
  #search-results.search-result-theme1 {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-height: min(70vh, 520px) !important;
  }

  .pn2__suggest-link {
    grid-template-columns: 68px minmax(0, 1fr) auto;
    gap: 0.75rem;
    padding: 0.7rem 0.75rem !important;
  }

  .pn2__suggest-media {
    width: 68px;
    height: 68px;
  }

  .pn2__suggest-name {
    font-size: 0.92rem !important;
  }

  .pn2__suggest-go {
    display: none;
  }
}

/* Actions */
.pn2__actions {
  position: relative;
  flex: 0 0 auto;
  gap: 0.4rem;
  margin-left: 0.25rem;
}

.pn2__icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
  color: var(--promot-ink);
  text-decoration: none !important;
  cursor: pointer;
  transition: background 0.2s var(--promot-ease), border-color 0.2s var(--promot-ease), color 0.2s var(--promot-ease);
}

.pn2__icon:hover,
.pn2__icon:focus {
  background: #f4f0ec;
  border-color: rgba(26, 21, 20, 0.08);
  color: var(--promot-ink);
}

.pn2__cart {
  width: 46px !important;
  height: 46px !important;
}

.pn2__cart svg {
  width: 24px;
  height: 24px;
}

.pn2__user svg {
  width: 22px;
  height: 22px;
}

.pn2__search-mobile {
  display: none;
}

.pn2__badge {
  position: absolute;
  top: 4px;
  right: 4px;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  border-radius: 999px;
  background: var(--promot-red) !important;
  color: #fff !important;
  font-size: 9px !important;
  font-weight: 700;
  line-height: 17px;
  text-align: center;
  box-shadow: 0 0 0 2px #fff;
}

.pn2__cart .pn2__badge {
  top: 3px;
  right: 3px;
}

a.signin.pn2__user,
.signin.pn2__user,
a.pn2__user.signin {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  border-radius: 12px !important;
  background: transparent !important;
  color: var(--promot-ink) !important;
  font-size: 0 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transform: none !important;
}

a.signin.pn2__user:hover,
.signin.pn2__user:hover,
a.pn2__user.signin:hover {
  background: #f4f0ec !important;
  color: var(--promot-red) !important;
  border-color: rgba(26, 21, 20, 0.08);
  box-shadow: none !important;
  transform: none !important;
}

.pn2__admin {
  display: inline-flex;
  align-items: center;
  height: 36px;
  padding: 0 0.8rem;
  border-radius: 10px;
  background: #efe8e1;
  color: var(--promot-ink) !important;
  font-size: 0.75rem;
  font-weight: 700;
  text-decoration: none !important;
}

button.pn2__avatar.pn2__user,
.pn2__avatar.pn2__user {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  overflow: visible;
  background: transparent !important;
  color: var(--promot-ink) !important;
  box-shadow: none !important;
  line-height: 0;
  cursor: pointer;
}

button.pn2__avatar.pn2__user:hover,
.pn2__avatar.pn2__user:hover,
button.pn2__avatar.pn2__user:focus,
.pn2__avatar.pn2__user:focus {
  background: #f4f0ec !important;
  color: var(--promot-red) !important;
  border-color: rgba(26, 21, 20, 0.08) !important;
  outline: none;
  box-shadow: none !important;
}

.pn2__avatar.pn2__user svg {
  width: 22px;
  height: 22px;
  display: block;
}

/* Legacy avatar image (unused in nav) */
.pn2__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Account dropdown */
.pn2__account {
  position: relative;
}

.pn2__account-menu.dropdown-menu,
.dropdown-menu.pn2__account-menu {
  width: min(280px, calc(100vw - 1.5rem)) !important;
  min-width: 240px !important;
  max-width: none !important;
  padding: 0.45rem !important;
  margin-top: 0.7rem !important;
  border: 1px solid rgba(26, 21, 20, 0.08) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 18px 48px rgba(26, 21, 20, 0.14) !important;
  overflow: hidden;
}

.pn2__account-menu.show {
  animation: pn2AccountIn 0.22s var(--promot-ease);
}

@keyframes pn2AccountIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

.pn2__account-head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 0.85rem 0.95rem;
  margin: 0 0 0.25rem;
  border-radius: 14px;
  background:
    radial-gradient(120px 60px at 100% 0%, rgba(158, 48, 64, 0.1), transparent 70%),
    linear-gradient(180deg, #faf7f4 0%, #f4f0ec 100%);
}

.pn2__account-avatar {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: #fff;
  color: var(--promot-red);
  box-shadow: 0 1px 0 rgba(26, 21, 20, 0.06);
}

.pn2__account-meta {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.pn2__account-name {
  font-family: var(--promot-font);
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--promot-ink);
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pn2__account-email {
  font-size: 0.75rem;
  color: rgba(61, 54, 51, 0.72);
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pn2__account-list,
.pn2__account-foot {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.15rem;
}

.pn2__account-foot {
  margin-top: 0.2rem;
  padding-top: 0.35rem;
  border-top: 1px solid rgba(26, 21, 20, 0.08);
}

.pn2__account-item {
  display: flex !important;
  align-items: center;
  gap: 0.7rem;
  width: 100%;
  padding: 0.7rem 0.8rem !important;
  border-radius: 12px !important;
  color: var(--promot-ink) !important;
  font-family: var(--promot-font) !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  background: transparent !important;
  transition: background 0.2s var(--promot-ease), color 0.2s var(--promot-ease), transform 0.2s var(--promot-ease);
}

.pn2__account-item svg {
  flex: 0 0 auto;
  color: rgba(61, 54, 51, 0.72);
  transition: color 0.2s var(--promot-ease);
}

.pn2__account-item:hover,
.pn2__account-item:focus {
  background: #f4f0ec !important;
  color: var(--promot-ink) !important;
  transform: translateX(2px);
}

.pn2__account-item:hover svg,
.pn2__account-item:focus svg {
  color: var(--promot-red);
}

.pn2__account-item--logout {
  color: #8a2a36 !important;
}

.pn2__account-item--logout svg {
  color: #8a2a36;
}

.pn2__account-item--logout:hover,
.pn2__account-item--logout:focus {
  background: rgba(158, 48, 64, 0.08) !important;
  color: var(--promot-red) !important;
}

/* Quiet legacy FA spacing if old markup remains */
.pn2__account-menu .dropdown-item i,
#profile_dropdown .dropdown-item i {
  margin-right: 0.55rem;
}

.pn2__burger {
  display: none;
  width: 42px;
  height: 42px;
  padding: 0 !important;
  margin-left: auto;
  border: 1px solid #ebe4de !important;
  border-radius: 12px !important;
  background: #f7f4f1 !important;
  box-shadow: none !important;
  order: 3;
}

.pn2__burger-lines {
  display: flex;
  flex-direction: column;
  gap: 5px;
  width: 16px;
  margin: 0 auto;
}

.pn2__burger-lines i {
  display: block;
  height: 2px;
  width: 100%;
  border-radius: 2px;
  background: var(--promot-ink);
  transition: transform 0.25s var(--promot-ease), opacity 0.25s var(--promot-ease);
}

.pn2__burger[aria-expanded="true"] .pn2__burger-lines i:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.pn2__burger[aria-expanded="true"] .pn2__burger-lines i:nth-child(2) {
  opacity: 0;
}

.pn2__burger[aria-expanded="true"] .pn2__burger-lines i:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

@media (max-width: 1199.98px) {
  .pn2__search {
    max-width: 360px;
    min-width: 220px;
  }
  html.promot-ready .pn2__search:focus-within {
    max-width: 400px;
  }
  .stampingNavbar.pn2 .pn2__link {
    padding: 0.45rem 0.65rem !important;
    font-size: 0.84rem !important;
  }
}

@media (max-width: 991.98px) {
  .pn2__bar {
    flex-wrap: wrap;
    min-height: 64px;
    gap: 0.55rem;
  }

  .pn2__brand {
    order: 0;
  }

  .pn2__actions {
    order: 1;
    margin-left: auto;
  }

  .pn2__burger {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    order: 2;
    margin-left: 0;
  }

  .pn2__collapse {
    order: 4;
    flex-basis: 100%;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
  }

  .pn2__collapse.collapsing,
  .pn2__collapse.show {
    display: flex !important;
  }

  .pn2__collapse.show {
    padding: 0.35rem 0 1rem;
    border-top: 1px solid rgba(26, 21, 20, 0.08);
    animation: pn2Drawer 0.3s var(--promot-ease);
  }

  @keyframes pn2Drawer {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
  }

  .pn2__menu {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100%;
    gap: 0.2rem;
  }

  .stampingNavbar.pn2 .pn2__link,
  .stampingNavbar.pn2 .pn2__wizard {
    width: 100%;
    justify-content: space-between;
    margin: 0 !important;
    border-radius: 12px !important;
    padding: 0.85rem 0.95rem !important;
    font-size: 1rem !important;
    box-shadow: none !important;
  }

  .stampingNavbar.pn2 .pn2__wizard {
    justify-content: center;
    margin-top: 0.25rem !important;
  }

  .pn2__store {
    position: relative !important;
  }

  .pn2__mega.dropdown-menu {
    position: static !important;
    width: 100% !important;
    transform: none !important;
    left: auto !important;
    margin: 0.35rem 0 0.5rem !important;
    border-radius: 16px !important;
    box-shadow: none !important;
  }

  .pn2__mega-grid {
    grid-template-columns: 1fr;
  }

  .pn2__mega-tiles {
    grid-template-columns: 1fr;
  }

  .pn2__mega-aside {
    min-height: auto;
    padding: 1.25rem 1.25rem 1.4rem;
  }

  .pn2__mega-feature {
    min-height: auto;
    height: auto;
    justify-content: flex-start;
  }

  .pn2__search {
    display: none;
    max-width: none;
    width: 100%;
    margin: 0;
  }

  .pn2.is-search-open .pn2__search,
  .pn2.stampingNavbarActive .pn2__search {
    display: flex;
    order: -1;
  }

  .pn2__search-mobile {
    display: inline-flex;
  }

  .pn2__search-go span {
    display: none;
  }

  .pn2__search-go {
    width: 32px;
    padding: 0;
  }

  .pn2__search-go::before {
    content: "→";
    font-size: 0.95rem;
  }

  body.promot-nav-open {
    overflow: hidden;
  }
}

@media (min-width: 992px) {
  .navbar-expand-lg .pn2__collapse {
    display: flex !important;
    flex-basis: auto;
  }

  .pn2__burger {
    display: none !important;
  }

  /* Desktop hover mega — click on Store still navigates */
  .pn2__store:hover > .pn2__mega,
  .pn2__store:focus-within > .pn2__mega,
  .pn2__store > .pn2__mega.show {
    display: block !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pn2__mega.show,
  .pn2__collapse.show {
    animation: none;
  }
}

/* Keep legacy helpers quiet inside new nav */
.pn2 .stampingIcons,
.pn2 .stampingIconsSearch,
.pn2 .stampingIconsFieldWrp {
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* ——— Hero (full-bleed editorial) ——— */
.Homebanner {
  position: relative;
  min-height: min(86vh, 700px) !important;
  padding-bottom: 0 !important;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  background: #111;
}

.Homebanner__img {
  transform: scale(1.03);
  transition: transform 9s var(--promot-ease);
}

.Homebanner:hover .Homebanner__img {
  transform: scale(1.07);
}

/* Hero background slider */
.Homebanner__slides {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.Homebanner__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 1s var(--promot-ease);
  pointer-events: none;
}

.Homebanner__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.Homebanner__slide .Homebanner__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  max-width: none;
}

.Homebanner__controls {
  position: absolute;
  right: max(1rem, 4vw);
  bottom: 1.5rem;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.65rem;
}

.Homebanner__slide-label {
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.88) !important;
  font-family: "Montserrat", system-ui, sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.45);
}

.Homebanner__dots {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.Homebanner__dot {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 1.5px solid rgba(255, 255, 255, 0.65);
  border-radius: 999px;
  background: transparent;
  cursor: pointer;
  transition: background 0.25s var(--promot-ease), border-color 0.25s var(--promot-ease), transform 0.25s var(--promot-ease), width 0.25s var(--promot-ease);
}

.Homebanner__dot.is-active {
  width: 22px;
  background: #fff;
  border-color: #fff;
}

.Homebanner__dot:hover {
  background: rgba(255, 255, 255, 0.45);
  transform: scale(1.08);
}

/* Left readability plane — text rail, image stays full-bleed */
.Homebanner::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg,
      rgba(12, 10, 10, 0.92) 0%,
      rgba(12, 10, 10, 0.72) 34%,
      rgba(12, 10, 10, 0.28) 58%,
      rgba(12, 10, 10, 0.05) 78%,
      transparent 100%),
    linear-gradient(180deg, rgba(12, 10, 10, 0.2) 0%, transparent 35%, rgba(12, 10, 10, 0.35) 100%);
}

.Homebanner .bannerInnerContent {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 560px;
  margin: 0 !important;
  margin-left: max(1.25rem, 6vw) !important;
  padding: 4.5rem 1.25rem 4.5rem 0 !important;
  gap: 1rem;
  align-items: flex-start !important;
  text-align: left !important;
}

.home-banner__brand {
  margin: 0 0 0.15rem !important;
  font-family: var(--promot-font) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase;
  color: #fff !important;
  opacity: 0.92;
}

.Homebanner .bannerInnerContent h1,
.Homebanner .home-banner__title {
  font-family: var(--promot-display) !important;
  font-weight: 700 !important;
  letter-spacing: -0.035em;
  line-height: 1.08;
  color: #fff !important;
  text-shadow: none;
  font-size: clamp(2.15rem, 4.6vw, 3.5rem) !important;
  max-width: 11ch;
  margin: 0 !important;
  text-align: left !important;
}

.Homebanner .bannerInnerContent p,
.Homebanner .home-banner__subtitle {
  color: rgba(255, 255, 255, 0.86) !important;
  letter-spacing: 0.01em;
  font-weight: 500 !important;
  font-size: clamp(1rem, 1.5vw, 1.15rem) !important;
  max-width: 34ch;
  margin: 0 !important;
  text-align: left !important;
  text-shadow: none;
  line-height: 1.55;
  font-family: var(--promot-font) !important;
}

.home-banner__cta {
  color: #fff !important;
  background-color: var(--promot-red) !important;
  font-family: var(--promot-font) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  cursor: pointer;
}

.home-banner__cta:hover {
  background-color: var(--promot-red-deep) !important;
}

.Bannerbutton {
  margin-top: 0.85rem;
}

.Bannerbutton button,
.home-btn {
  border-radius: 999px !important;
  padding: 0.9rem 1.9rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em;
  border: none !important;
  transition: transform 0.35s var(--promot-ease), box-shadow 0.35s var(--promot-ease), background 0.3s var(--promot-ease) !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
}

.Bannerbutton button:hover,
.home-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.4);
}

@keyframes promotHeroIn {
  from {
    opacity: 0;
    transform: translateX(-16px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.Homebanner .bannerInnerContent > * {
  animation: promotHeroIn 0.7s var(--promot-ease) both;
}

.Homebanner .bannerInnerContent > *:nth-child(2) {
  animation-delay: 0.08s;
}

.Homebanner .bannerInnerContent > *:nth-child(3) {
  animation-delay: 0.16s;
}

.Homebanner .bannerInnerContent > *:nth-child(4) {
  animation-delay: 0.24s;
}

/* ——— Section titles ——— */
.Homesection2 h2,
.Homesection2 h3,
.Homesection6 h2,
.Homesection6 h3,
.why-choose-us > h2,
.why-choose-us > h3,
.filtertitle h1,
.filtertitle h3 {
  font-family: var(--promot-display) !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em;
  color: var(--promot-ink) !important;
  line-height: 1.2;
}

.Homesection2 h2,
.Homesection2 h3 {
  padding-top: 4.75rem;
  padding-bottom: 0.35rem;
  font-size: clamp(1.75rem, 3vw, 2.35rem) !important;
  position: relative;
}

.Homesection2 h2::after,
.Homesection6 h2::after {
  content: "";
  display: block;
  width: 48px;
  height: 3px;
  margin: 0.85rem auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--promot-red), var(--promot-red-bright));
}

.Homesection6 p {
  color: var(--promot-ink-muted) !important;
  font-weight: 500 !important;
  max-width: 42ch;
  margin-left: auto;
  margin-right: auto;
}

/* ——— Category cards ——— */
.Homesection2 + .row,
.container > .row {
  --bs-gutter-y: 1.25rem;
}

.section2cardInner {
  margin: 0.5rem !important;
  border-radius: var(--promot-radius);
  background: transparent;
  transition: transform 0.4s var(--promot-ease);
}

/* Photo-first overlay: name sits in a soft fade, no pill / no bar */
a.section2cardInner--category {
  display: block;
  text-decoration: none !important;
  color: inherit;
  cursor: pointer;
  margin: 0.65rem 0.35rem !important;
  border: none;
  background: transparent;
  box-shadow: none;
  overflow: visible;
  transition: transform 0.45s var(--promot-ease);
}

a.section2cardInner--category:hover,
a.section2cardInner--category:focus-visible {
  transform: translateY(-4px);
  outline: none;
}

.section2cardInner--category .section2cardInnerImg {
  border-radius: var(--promot-radius) !important;
  overflow: hidden;
  box-shadow: var(--promot-shadow);
  position: relative;
  background: var(--promot-surface);
  aspect-ratio: 1 / 1;
  transition: box-shadow 0.4s var(--promot-ease);
}

.section2cardInner--category:hover .section2cardInnerImg {
  box-shadow: var(--promot-shadow-hover);
}

.section2cardInner--category .section2cardInnerImg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    transparent 42%,
    rgba(26, 21, 20, 0.28) 72%,
    rgba(26, 21, 20, 0.72) 100%
  );
  opacity: 0.92;
  pointer-events: none;
  z-index: 1;
  transition: opacity 0.4s var(--promot-ease);
}

.section2cardInner--category:hover .section2cardInnerImg::after {
  opacity: 1;
}

.section2cardInner--category .section2cardInnerImg img {
  transition: transform 0.75s var(--promot-ease);
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.section2cardInner--category:hover .section2cardInnerImg img {
  transform: scale(1.07);
}

.section2cardInner--category .section2cardInnerBtn {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 0.55rem;
  margin: 0 !important;
  padding: 0 1.25rem 1.5rem !important;
  background: transparent !important;
  color: #fff;
  text-align: center;
  pointer-events: none;
}

.section2cardInner--category .category-card-label,
.section2cardInner--category .home-btn.category-card-label {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: #fff !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em;
  text-align: center !important;
  text-shadow: 0 1px 12px rgba(26, 21, 20, 0.35);
  line-height: 1.2;
  transform: none !important;
}

.section2cardInner--category .category-card-rule {
  display: block;
  width: 2rem;
  height: 2px;
  border-radius: 2px;
  background: var(--cat-accent, var(--promot-red));
  transform: scaleX(0.85);
  transform-origin: center;
  transition: width 0.4s var(--promot-ease), transform 0.4s var(--promot-ease), background 0.3s var(--promot-ease);
}

.section2cardInner--category:hover .category-card-rule {
  width: 3.25rem;
  transform: scaleX(1);
}

/* Keep legacy pill styles for non-category CTAs */
.section2cardInnerBtn button,
.btn-cardss {
  border-radius: 999px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  padding: 0.65rem 1.35rem !important;
  border: 1.5px solid rgba(255, 255, 255, 0.35) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 6px 20px rgba(26, 21, 20, 0.2);
  transition: transform 0.3s var(--promot-ease), box-shadow 0.3s var(--promot-ease), filter 0.3s var(--promot-ease) !important;
}

.section2cardInnerBtn button:hover,
.btn-cardss:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 10px 28px rgba(26, 21, 20, 0.28);
  filter: brightness(1.05);
}

.seeMore,
.seeMore2 {
  padding: 1.75rem 0 0.5rem;
}

.seeMore a,
.seeMore2 a {
  color: var(--promot-red) !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.85rem;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  text-decoration: none !important;
  padding: 0.55rem 1.1rem;
  border-radius: 999px;
  border: 1px solid var(--promot-line);
  background: var(--promot-white);
  transition: border-color 0.25s var(--promot-ease), background 0.25s var(--promot-ease), transform 0.25s var(--promot-ease), color 0.25s var(--promot-ease);
}

.seeMore a:hover,
.seeMore2 a:hover {
  border-color: var(--promot-red);
  background: var(--promot-red-soft);
  transform: translateY(-1px);
  opacity: 1;
}

.see-more-arrow {
  transition: transform 0.3s var(--promot-ease);
}

.seeMore a:hover .see-more-arrow,
.seeMore2 a:hover .see-more-arrow {
  transform: translateX(3px);
}

/* ——— Product cards ——— */
.product-cards-row {
  --bs-gutter-y: 1.25rem;
}

.section2cardInner--product,
.product-card {
  display: flex;
  flex-direction: column;
  background: var(--promot-white);
  border: 1px solid var(--promot-line);
  border-radius: var(--promot-radius);
  padding: 0;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(26, 21, 20, 0.03);
  height: 100%;
  margin: 0 !important;
  transition:
    transform 0.4s var(--promot-ease),
    box-shadow 0.4s var(--promot-ease),
    border-color 0.35s var(--promot-ease);
}

.section2cardInner--product:hover,
.product-card:hover {
  box-shadow: var(--promot-shadow-hover);
  border-color: #d9d2cc;
  transform: translateY(-4px);
}

.product-card__media {
  position: relative;
}

.product-card__image-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.section2cardInner--product .section2cardInnerImg,
.product-card .section2cardInnerImg {
  border-radius: 0 !important;
  box-shadow: none;
  aspect-ratio: auto;
  overflow: hidden;
  margin: 0;
}

.section2cardInner--product:hover .product-img-wrapper .primary-img,
.product-card:hover .product-img-wrapper .primary-img {
  transform: scale(1.04);
}

.product-img-wrapper {
  position: relative;
  width: 100%;
  padding-top: 100%;
  overflow: hidden;
  background: var(--promot-surface) !important;
  border-radius: 0;
}

.product-img-wrapper img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: opacity 0.3s ease;
}

.product-img-wrapper .secondary-img {
  opacity: 0;
}

.product-card:hover .product-img-wrapper .secondary-img,
.product-img-wrapper:hover .secondary-img {
  opacity: 1;
}

.product-card:hover .product-img-wrapper .primary-img,
.product-img-wrapper:hover .primary-img {
  opacity: 0;
}

.product-img-wrapper .primary-img {
  transition: transform 0.55s var(--promot-ease), opacity 0.3s ease;
}

/* Owl / carousel slides using product cards */
.stampingCateSliderItem .product-card,
.owl-item .product-card {
  height: auto;
  margin: 0 !important;
}

.product-cards-carousel.owl-carousel .owl-item,
.stampingTrendingSlider.owl-carousel .owl-item,
.stampingCateSlider.owl-carousel .owl-item {
  background: transparent !important;
  background-color: transparent !important;
}

.product-cards-carousel .stampingCateSliderItem,
.stampingTrendingSlider .stampingCateSliderItem.detailCateSliderItem {
  height: auto !important;
  padding-bottom: 0 !important;
}

.product-cards-carousel .product-card,
.stampingTrendingSlider .product-card {
  background: var(--promot-white) !important;
}

.product-card__badge {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.55rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 4px;
  line-height: 1;
}

.product-card__badge--sale {
  background: var(--promot-red);
  color: #fff;
}

.product-card__badge--featured {
  background: var(--promot-ink);
  color: #fff;
}

.product-card__wishlist.favourite-btn {
  position: absolute;
  top: 0.65rem;
  right: 0.65rem;
  z-index: 4;
  width: 2.25rem;
  height: 2.25rem;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid var(--promot-line);
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 4px 14px rgba(26, 21, 20, 0.08);
  color: var(--promot-red) !important;
  font-size: 0.95rem;
  cursor: pointer;
  padding: 0;
  transition: transform 0.25s var(--promot-ease), background 0.25s var(--promot-ease), border-color 0.25s var(--promot-ease);
}

.product-card__wishlist.favourite-btn:hover,
.product-card__wishlist.favourite-btn:focus-visible {
  transform: scale(1.08);
  background: #fff;
  border-color: var(--promot-red);
  outline: none;
}

.section3cardInnerNamePrice,
.product-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  text-align: left;
  margin: 0 !important;
  padding: 0.95rem 1rem 1.05rem !important;
  gap: 0.4rem;
}

.product-card__title-link {
  text-decoration: none !important;
  color: inherit;
}

.section3cardInnerNamePrice .productName,
.product-card .productName {
  margin: 0 !important;
  font-weight: 600 !important;
  color: var(--promot-ink) !important;
  letter-spacing: -0.01em;
  font-size: 0.95rem !important;
  line-height: 1.35;
  min-height: 2.7em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.25s var(--promot-ease);
}

.product-card:hover .productName {
  color: var(--promot-red) !important;
}

.product-card__rating {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: wrap;
}

.product-card__stars {
  display: inline-flex;
  gap: 0.12rem;
  color: #d4a017;
  font-size: 0.72rem;
  line-height: 1;
}

.product-card__stars .far,
.product-card__stars .fa-regular {
  color: #cfc7c1;
}

.product-card__rating-meta {
  font-size: 0.75rem;
  color: var(--promot-ink-muted);
  font-weight: 500;
}

.product-card__footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: auto;
  padding-top: 0.35rem;
}

.product-card__price-wrap {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.4rem;
  min-width: 0;
}

.section3cardInnerNamePrice .price,
.product-card__price {
  margin: 0 !important;
  font-weight: 700 !important;
  color: var(--promot-red) !important;
  font-size: 1.05rem !important;
  line-height: 1.2;
}

.product-card__price-was {
  margin: 0 !important;
  font-size: 0.82rem;
  color: var(--promot-ink-muted);
  text-decoration: line-through;
  font-weight: 500;
}

.product-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  flex-shrink: 0;
  color: var(--promot-ink) !important;
  text-decoration: none !important;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  border-bottom: 1.5px solid transparent;
  padding-bottom: 1px;
  transition: color 0.25s var(--promot-ease), border-color 0.25s var(--promot-ease), gap 0.25s var(--promot-ease);
}

.product-card__cta svg {
  transition: transform 0.3s var(--promot-ease);
}

.product-card__cta:hover,
.product-card:hover .product-card__cta {
  color: var(--promot-red) !important;
  border-bottom-color: var(--promot-red);
}

.product-card__cta:hover svg,
.product-card:hover .product-card__cta svg {
  transform: translateX(3px);
}

/* Legacy wishlist chip (non product-card contexts) */
.favourite-btn {
  width: 38px;
  height: 38px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid var(--promot-line);
  box-shadow: 0 4px 14px rgba(26, 21, 20, 0.08);
  color: var(--promot-red) !important;
  transition: transform 0.25s var(--promot-ease), background 0.25s var(--promot-ease);
}

.favourite-btn:hover {
  transform: scale(1.08);
  background: #fff;
}

/* ——— Customize split ——— */
.Homesection4 {
  margin: 4rem 0 0 !important;
  padding: 3.75rem 0 3.25rem;
  background: #fff;
  border-top: 1px solid var(--promot-line);
  border-bottom: none;
}

.Homesection4 .section4Media {
  border-radius: var(--promot-radius);
  overflow: hidden;
  box-shadow: var(--promot-shadow);
  background: var(--promot-white);
}

.Homesection4 .section4Media img,
.Homesection4 .section4Media video,
.Homesection4 .section4Video video {
  display: block;
  width: 100%;
  border-radius: var(--promot-radius);
  box-shadow: none;
}

.section4Content {
  margin-left: 0 !important;
  display: flex;
  align-items: center;
  height: 100%;
  padding: 1.5rem 0.5rem;
}

.Customcard {
  max-width: 440px !important;
  padding: 0.5rem 0.25rem !important;
  margin: 0 !important;
}

.Customcard h2.sec4title,
.Customcard .sec4title {
  font-family: var(--promot-display) !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em;
  line-height: 1.2;
  margin-bottom: 1rem !important;
}

.Customcard p {
  line-height: 1.65;
  color: var(--promot-ink-muted) !important;
}

.sec4btn {
  display: inline-flex !important;
  align-items: center;
  border-radius: 999px !important;
  font-weight: 600 !important;
  padding: 0.8rem 1.6rem !important;
  margin-top: 0.75rem;
  text-decoration: none !important;
  transition: transform 0.3s var(--promot-ease), box-shadow 0.3s var(--promot-ease) !important;
  box-shadow: 0 6px 18px rgba(26, 21, 20, 0.15);
}

.sec4btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(26, 21, 20, 0.2);
}

.play-button {
  box-shadow: 0 10px 30px rgba(26, 21, 20, 0.2);
  transition: transform 0.3s var(--promot-ease);
}

.video-with-cover:hover .play-button {
  transform: scale(1.06);
}

/* ——— Why choose us ——— */
.Indexsection5 {
  margin: 0 !important;
  padding: 0 !important;
}

.why-choose-us {
  margin: 0 !important;
  background:
    radial-gradient(900px 420px at 15% 0%, rgba(158, 48, 64, 0.32), transparent 58%),
    radial-gradient(700px 360px at 90% 100%, rgba(196, 58, 77, 0.14), transparent 55%),
    linear-gradient(165deg, #23161a 0%, #140e10 55%, #0f0a0c 100%) !important;
  border-radius: 0;
  padding: 4.25rem 1.25rem 3.75rem !important;
  color: #fff;
}

.why-choose-us > h2,
.why-choose-us > h3 {
  text-align: center;
  margin-bottom: 2.5rem !important;
  font-size: clamp(1.75rem, 3vw, 2.25rem) !important;
  color: #fff !important;
}

.why-choose-us > h2::after {
  content: "";
  display: block;
  width: 48px;
  height: 3px;
  margin: 0.85rem auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--promot-red-bright), #e8a0aa);
}

.why-choose-us .features {
  gap: 1.5rem !important;
  max-width: 1100px;
  margin: 0 auto;
}

.why-choose-us .feature {
  max-width: 260px !important;
  padding: 1.5rem 1.15rem !important;
  border-radius: var(--promot-radius);
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(6px);
  transition: transform 0.35s var(--promot-ease), box-shadow 0.35s var(--promot-ease), background 0.35s var(--promot-ease), border-color 0.35s var(--promot-ease);
}

.why-choose-us .feature:hover {
  transform: translateY(-4px);
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.22);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.28);
}

.why-choose-us .feature .icon {
  width: 64px !important;
  height: 64px !important;
  max-width: 64px !important;
  max-height: 64px !important;
  aspect-ratio: 1 / 1;
  flex-shrink: 0;
  margin: 0 auto 1rem !important;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  box-sizing: border-box;
}

.why-choose-us .feature .icon img {
  width: 32px !important;
  height: 32px !important;
  max-width: 32px !important;
  object-fit: contain;
}

.why-choose-us .feature h3 {
  letter-spacing: -0.015em;
  color: #fff !important;
  margin-bottom: 0.45rem !important;
}

.why-choose-us .feature p {
  color: rgba(255, 255, 255, 0.7) !important;
  line-height: 1.55;
  margin-bottom: 0;
}

/* ——— Gallery ——— */
.Indexsection6,
.Homesection6 {
  padding-bottom: 1rem;
}

.Homesection6 h2 {
  text-align: center;
  padding-top: 3.5rem;
  font-size: clamp(1.75rem, 3vw, 2.25rem) !important;
}

.section6cardInner {
  margin: 0.35rem !important;
}

.section6cardInner .section6cardInnerImg {
  border-radius: var(--promot-radius) !important;
  overflow: hidden;
  box-shadow: var(--promot-shadow);
  aspect-ratio: 1 / 1;
  background: var(--promot-surface);
  transition: box-shadow 0.4s var(--promot-ease), transform 0.4s var(--promot-ease);
}

.section6cardInner:hover .section6cardInnerImg {
  box-shadow: var(--promot-shadow-hover);
  transform: translateY(-3px);
}

.section6cardInner .section6cardInnerImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.65s var(--promot-ease);
}

.section6cardInner:hover .section6cardInnerImg img {
  transform: scale(1.05);
}

/* Store / collection product cards */
.customstampcard {
  border: 1px solid var(--promot-line);
  border-radius: var(--promot-radius);
  box-shadow: var(--promot-shadow);
  transition: box-shadow 0.35s var(--promot-ease), transform 0.35s var(--promot-ease), border-color 0.35s var(--promot-ease);
  overflow: hidden;
  background: var(--promot-white);
}

.customstampcard:hover {
  box-shadow: var(--promot-shadow-hover);
  transform: translateY(-3px);
  border-color: #d6d3d1;
}

.customstampcard .card-title {
  color: var(--promot-ink);
  letter-spacing: -0.01em;
}

.customstampcard .customize-btn {
  background-color: var(--promot-red) !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
  transition: background 0.25s var(--promot-ease), transform 0.25s var(--promot-ease) !important;
}

.customstampcard .customize-btn:hover {
  background-color: var(--promot-red-deep) !important;
  transform: translateY(-1px);
}

.productcategorycard {
  transition: transform 0.4s var(--promot-ease) !important;
  border-radius: var(--promot-radius);
  overflow: hidden;
}

.productcategorycard:hover {
  transform: translateY(-4px) scale(1.01) !important;
}

/* Category carousel */
.stampsCategoryOwlCarousl .owl-stage-outer .owl-item .item .carouselImgContainer {
  border: 1px solid transparent;
  border-radius: var(--promot-radius-sm);
  overflow: hidden;
  transition: border-color 0.3s var(--promot-ease), box-shadow 0.3s var(--promot-ease), transform 0.3s var(--promot-ease);
}

.stampsCategoryOwlCarousl .owl-stage-outer .owl-item .item .carouselImgContainer:hover,
.clicked-border {
  border-color: var(--promot-red) !important;
  box-shadow: var(--promot-shadow);
  transform: translateY(-2px);
}

.carouselFilterContainer.active p,
.carouselFilterContainer.selected_class p {
  color: var(--promot-red) !important;
  font-weight: 600;
}

.carouselFilterContainer p {
  font-weight: 500;
  color: var(--promot-ink-muted);
  transition: color 0.25s var(--promot-ease);
}

.stampsCategoryOwlCarousl .owl-nav button.owl-next::before,
.stampsCategoryOwlCarousl .owl-nav button.owl-prev::before {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--promot-white);
  border: 1px solid var(--promot-line);
  box-shadow: var(--promot-shadow);
  font-size: 18px !important;
  color: var(--promot-ink) !important;
  transition: border-color 0.25s var(--promot-ease), color 0.25s var(--promot-ease);
}

.stampsCategoryOwlCarousl .owl-nav button:hover::before {
  border-color: var(--promot-red);
  color: var(--promot-red) !important;
}

/* Filters */
.filterContainer {
  align-items: center;
}

.filtertitle h1 {
  font-size: 1.5rem !important;
  letter-spacing: -0.02em;
}

.rangeContainer {
  border-radius: var(--promot-radius-sm) !important;
  border-color: var(--promot-line) !important;
  background: var(--promot-surface);
}

.FilterapplyBtn button {
  background-color: var(--promot-red) !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
  padding: 0.55rem 1.5rem !important;
  transition: background 0.25s var(--promot-ease), transform 0.25s var(--promot-ease) !important;
}

.FilterapplyBtn button:hover {
  background-color: var(--promot-red-deep) !important;
  transform: translateY(-1px);
}

/* Newsletter + footer — modern editorial shell */
.promot-footer {
  --pf-ink: #140e10;
  --pf-panel: #1c1316;
  --pf-line: rgba(255, 255, 255, 0.12);
  --pf-muted: rgba(255, 255, 255, 0.68);
  --pf-soft: rgba(255, 255, 255, 0.88);
  position: relative;
  margin-top: 4.5rem;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(920px 420px at 12% -10%, rgba(158, 48, 64, 0.38), transparent 58%),
    radial-gradient(720px 380px at 92% 18%, rgba(196, 58, 77, 0.18), transparent 55%),
    linear-gradient(165deg, #23161a 0%, var(--pf-ink) 46%, #0f0a0c 100%);
  font-family: var(--promot-font) !important;
}

.promot-footer__glow {
  position: absolute;
  inset: auto -10% -35% 35%;
  height: 280px;
  background: radial-gradient(circle, rgba(158, 48, 64, 0.22), transparent 68%);
  pointer-events: none;
  filter: blur(8px);
}

.promot-footer .newsletter,
.promot-footer__newsletter {
  background: transparent !important;
  padding: 3.75rem 0 2.25rem !important;
  margin-top: 0 !important;
  text-align: left !important;
  position: relative;
  z-index: 1;
}

.promot-footer__newsletter-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: 2.5rem 3rem;
  align-items: end;
}

.promot-footer__brand {
  margin: 0 0 0.65rem;
  font-family: var(--promot-font);
  font-size: clamp(1.85rem, 3vw, 2.35rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1;
  color: #fff;
}

.promot-footer .newsletter h2,
.promot-footer .newsletter h3,
.promot-footer .footer-title {
  font-family: var(--promot-font) !important;
  font-weight: 600 !important;
  letter-spacing: -0.025em;
  font-size: clamp(1.15rem, 2vw, 1.45rem) !important;
  line-height: 1.25 !important;
  margin: 0 0 0.55rem !important;
  max-width: 22ch;
  color: #fff !important;
}

.promot-footer__newsletter-note {
  margin: 0;
  max-width: 34ch;
  color: var(--pf-muted);
  font-size: 0.95rem;
  line-height: 1.55;
  font-weight: 450;
}

.promot-footer__newsletter-actions {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
  align-items: stretch;
}

.promot-footer .newsletter-form {
  display: flex !important;
  gap: 0.65rem;
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  flex-wrap: wrap;
}

.promot-footer .newsletter-form input {
  flex: 1 1 220px;
  min-width: 0;
  border-radius: 10px !important;
  padding: 0.85rem 1.1rem !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  background: rgba(255, 255, 255, 0.06) !important;
  backdrop-filter: blur(8px);
  color: #fff !important;
  box-shadow: none !important;
}

.promot-footer .newsletter-form input::placeholder {
  color: rgba(255, 255, 255, 0.55);
}

.promot-footer .newsletter-form input:focus {
  border-color: rgba(255, 255, 255, 0.45) !important;
  box-shadow: 0 0 0 3px rgba(158, 48, 64, 0.35) !important;
}

.promot-footer .newsletter-form button {
  border-radius: 10px !important;
  color: var(--promot-red) !important;
  background: #fff !important;
  padding: 0.85rem 1.45rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  font-size: 0.8rem !important;
  border: 1px solid #fff !important;
  transition: transform 0.25s var(--promot-ease), background 0.25s var(--promot-ease), color 0.25s var(--promot-ease) !important;
  white-space: nowrap;
}

.promot-footer .newsletter-form button:hover {
  transform: translateY(-1px);
  background: #fff5f5 !important;
}

.promot-footer__social {
  display: flex !important;
  justify-content: flex-start !important;
  gap: 0.65rem !important;
  margin: 0 !important;
}

.promot-footer .iconContainer {
  width: 44px;
  height: 44px;
  border-radius: 10px !important;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.04);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.25s var(--promot-ease), background 0.25s var(--promot-ease), border-color 0.25s var(--promot-ease) !important;
}

.promot-footer .iconContainer:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.35);
}

.promot-footer .iconContainer img {
  width: 20px !important;
  height: 20px !important;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.92;
}

.promot-footer__main.footer,
.promot-footer .footer {
  background: transparent !important;
  padding: 0 0 1.75rem !important;
  line-height: 1.5 !important;
  position: relative;
  z-index: 1;
  font-family: var(--promot-font) !important;
}

.promot-footer__columns {
  margin: 0 !important;
  padding: 2.35rem 0 2rem;
  border-top: 1px solid var(--pf-line);
  row-gap: 1.75rem;
}

.promot-footer__columns > [class*="col-"] {
  margin-bottom: 0 !important;
}

.promot-footer h3.footer-column-title,
.promot-footer h5,
.promot-footer .footer-column-title {
  letter-spacing: 0.06em !important;
  text-transform: uppercase;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  opacity: 1 !important;
  margin: 0 0 1rem !important;
  line-height: 1.3 !important;
}

.promot-footer .footer-content a,
.promot-footer .footer-content p,
.promot-footer .footer-content span {
  display: block;
  color: var(--pf-soft) !important;
  opacity: 1 !important;
  font-weight: 450 !important;
  font-size: 0.92rem !important;
  line-height: 1.55 !important;
  margin: 0 0 0.55rem !important;
  text-decoration: none !important;
  max-width: 28ch;
  transition: color 0.22s var(--promot-ease), transform 0.22s var(--promot-ease) !important;
}

.promot-footer .footer-content a:hover {
  color: #fff !important;
  transform: translateX(2px);
}

.promot-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  flex-wrap: wrap;
  padding: 1.25rem 0 0.5rem;
  border-top: 1px solid var(--pf-line);
}

.promot-footer__payments {
  display: flex !important;
  align-items: center;
  justify-content: flex-start !important;
  gap: 0.65rem !important;
  margin: 0 !important;
}

.promot-footer__payments .icon-styles {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 58px;
  height: 36px;
  padding: 0.25rem 0.55rem;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
}

.promot-footer__payments img {
  width: auto !important;
  height: 22px !important;
  object-fit: contain;
}

.promot-footer .footer-copyright,
.promot-footer .footerCopyright {
  margin: 0 !important;
  text-align: right !important;
  color: var(--pf-muted) !important;
  font-size: 0.85rem !important;
  font-weight: 450 !important;
  letter-spacing: 0.01em;
}

@media (max-width: 991.98px) {
  .promot-footer__newsletter-grid {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }

  .promot-footer .footer-title,
  .promot-footer__newsletter-note {
    max-width: none;
  }
}

@media (max-width: 767.98px) {
  .promot-footer {
    margin-top: 3rem;
  }

  .promot-footer .newsletter,
  .promot-footer__newsletter {
    padding: 2.75rem 0 1.75rem !important;
  }

  .promot-footer__columns {
    padding-top: 1.75rem;
  }

  .promot-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
  }

  .promot-footer .footer-copyright,
  .promot-footer .footerCopyright {
    text-align: left !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .promot-footer .iconContainer,
  .promot-footer .newsletter-form button,
  .promot-footer .footer-content a {
    transition: none !important;
  }
}

/* Modals */
.modal-content {
  border: 1px solid var(--promot-line) !important;
  border-radius: var(--promot-radius) !important;
  box-shadow: var(--promot-shadow-hover) !important;
}

.modal-header {
  border-bottom-color: var(--promot-line) !important;
}

/* Forms */
input:not([type="checkbox"]):not([type="radio"]),
textarea,
select {
  transition: border-color 0.2s var(--promot-ease), box-shadow 0.2s var(--promot-ease);
}

input:not([type="checkbox"]):not([type="radio"]):focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: #e8a0aa !important;
  box-shadow: 0 0 0 3px var(--promot-red-soft);
}

/* Section entrance motion */
@keyframes promotFadeUp {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.Homesection2,
.Homesection4,
.Homesection6,
.why-choose-us,
.CustomParentContainer .filterContainer {
  animation: promotFadeUp 0.6s var(--promot-ease) both;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .Homebanner:hover .Homebanner__img {
    transform: none;
  }
}

@media (max-width: 991px) {
  .Homebanner {
    min-height: min(78vh, 580px) !important;
  }

  .Homebanner .bannerInnerContent {
    max-width: 480px;
    margin-left: 1.25rem !important;
    padding: 3.5rem 1.25rem 3rem 0 !important;
  }

  .Homebanner::after {
    background:
      linear-gradient(90deg,
        rgba(12, 10, 10, 0.9) 0%,
        rgba(12, 10, 10, 0.62) 45%,
        rgba(12, 10, 10, 0.35) 100%),
      linear-gradient(180deg, rgba(12, 10, 10, 0.25) 0%, transparent 40%, rgba(12, 10, 10, 0.45) 100%);
  }

  .section4Content {
    padding-top: 2rem;
  }

  .Homesection4 {
    margin: 2.5rem 0 0 !important;
    padding: 2.25rem 0 2rem;
  }
}

@media (max-width: 768px) {
  .Homesection2 h2,
  .Homesection2 h3 {
    padding-top: 3rem;
  }

  .Homebanner {
    min-height: 72vh !important;
    align-items: flex-end;
  }

  .Homebanner .bannerInnerContent {
    margin-left: 1rem !important;
    padding: 2.5rem 1rem 4.5rem 0 !important;
  }

  .Homebanner .bannerInnerContent h1 {
    max-width: 14ch;
  }

  .Homebanner__controls {
    right: 1rem;
    bottom: 1rem;
  }

  .section2cardInnerBtn button {
    font-size: 0.85rem !important;
    padding: 0.55rem 1rem !important;
  }

  a.section2cardInner--category {
    margin: 0.5rem 0 !important;
  }

  .section2cardInner--category .section2cardInnerBtn {
    padding: 0 1rem 1.15rem !important;
  }

  .section2cardInner--category .category-card-label,
  .section2cardInner--category .home-btn.category-card-label {
    font-size: 1rem !important;
    letter-spacing: 0.04em;
  }

  .product-card__body {
    padding: 0.75rem 0.7rem 0.85rem !important;
  }

  .product-card .productName {
    font-size: 0.85rem !important;
    min-height: 2.4em;
  }

  .product-card__price {
    font-size: 0.95rem !important;
  }

  .product-card__cta {
    font-size: 0.75rem;
  }

  .product-card__wishlist.favourite-btn {
    width: 2rem;
    height: 2rem;
    font-size: 0.85rem;
  }

  .why-choose-us .feature {
    max-width: 100% !important;
    flex: 1 1 100%;
  }
}

/* ——— Cart drawer / Shopping bag ——— */
.cart-drawer.offcanvas {
  width: min(420px, 100vw) !important;
  border: none;
  box-shadow: -12px 0 40px rgba(0, 0, 0, 0.14);
}

.cart-drawer .cart-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 1.35rem;
  border-bottom: 1px solid #e8e8e8;
  background: #fff;
}

.cart-drawer .cart-drawer__title {
  font-family: Montserrat, sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #111;
}

.cart-drawer .cart-drawer__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  height: calc(100% - 4.35rem);
  background: #fff;
}

.cart-drawer .cart-drawer__items,
.cart-drawer .cart_modal_content > .offcanvas-body {
  flex: 1 1 auto;
  overflow-y: auto;
  overflow-x: hidden;
  max-height: none !important;
  padding: 0;
}

.cart-drawer .cart-drawer__list {
  padding: 0 1.35rem;
}

.cart-drawer .stampingCartItemWrp,
.cart-drawer .cart-drawer__row {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  background: transparent;
  padding: 1.25rem 0;
  margin-bottom: 0;
  border-radius: 0;
  border-bottom: 1px solid #ececec;
}

.cart-drawer .stampingCartItemWrp:last-child,
.cart-drawer .cart-drawer__row:last-child {
  border-bottom: none;
}

.cart-drawer .stampingCartItemWrp--empty {
  background: transparent;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3rem 1rem;
  border-bottom: none;
  gap: 0.5rem;
}

.cart-drawer .stampingCartItemWrpLeft,
.cart-drawer .cart-drawer__thumb {
  position: relative;
  flex: 0 0 88px;
  width: 88px;
  height: 88px;
  background: #f5f5f5;
  border: none;
  border-radius: 6px;
  padding: 0;
  overflow: hidden;
  display: block;
  text-decoration: none;
}

.cart-drawer .stampingCartItemWrpLeftImg {
  position: absolute;
  inset: 0;
}

.cart-drawer .stampingCartItemWrpLeftImg img {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 8px;
}

.cart-drawer .stampingCartItemWrpRight,
.cart-drawer .cart-drawer__info {
  flex: 1 1 auto;
  width: auto;
  margin-left: 0;
  position: relative;
  min-width: 0;
}

.cart-drawer .cart-drawer__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}

.cart-drawer .cart-drawer__titles {
  min-width: 0;
  flex: 1 1 auto;
}

.cart-drawer .stampingCartItemWrpRightCnt .stampingCartProductTitle,
.cart-drawer .cart-drawer__name {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.05rem;
  font-weight: 500;
  margin: 0 0 0.2rem;
  line-height: 1.3;
  color: #111;
  text-decoration: none;
  display: block;
}

.cart-drawer .cart-drawer__name:hover {
  color: #9e3040;
}

.cart-drawer .cart-drawer__code,
.cart-drawer .stampingCartItemWrpRightCnt .cart-drawer__code {
  font-family: Montserrat, sans-serif;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #888;
  margin: 0;
}

.cart-drawer .cart-drawer__remove {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  color: #999;
  padding: 0;
  cursor: pointer;
  transition: color 0.15s ease;
}

.cart-drawer .cart-drawer__remove:hover {
  color: #111;
}

.cart-drawer .cart-drawer__controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.cart-drawer .cart-drawer__qty-pill {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  min-width: 108px;
  height: 36px;
  padding: 0 0.35rem;
  border-radius: 999px;
  background: #f0f0f0;
  gap: 0.15rem;
}

.cart-drawer .cart-drawer__qty-btn {
  width: 30px;
  height: 30px;
  border: none;
  background: transparent;
  color: #333;
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.cart-drawer .cart-drawer__qty-btn:hover {
  background: rgba(0, 0, 0, 0.06);
}

.cart-drawer .cart-drawer__qty-val {
  font-family: Montserrat, sans-serif;
  font-size: 0.85rem;
  font-weight: 600;
  color: #111;
  min-width: 1.25rem;
  text-align: center;
}

.cart-drawer .stampingCartPrice,
.cart-drawer .cart-drawer__price {
  position: static !important;
  width: auto !important;
  text-align: right;
  margin: 0;
  flex: 0 0 auto;
  white-space: nowrap;
}

.cart-drawer .stampingCartPrice span,
.cart-drawer .cart-drawer__price span {
  font-family: Montserrat, sans-serif;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: #111 !important;
  margin-left: 0 !important;
}

.cart-drawer .cart-drawer__oos {
  font-size: 0.8rem;
}

.cart-drawer .cart-drawer__footer {
  flex-shrink: 0;
  display: block;
  padding: 1.1rem 1.35rem 1.4rem;
  border-top: 1px solid #e8e8e8;
  background: #fff;
  justify-content: stretch;
}

.cart-drawer .cart-drawer__summary {
  margin-bottom: 1rem;
}

.cart-drawer .cart-drawer__summary-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  font-family: Montserrat, sans-serif;
  font-size: 0.875rem;
  color: #333;
  margin-bottom: 0.55rem;
}

.cart-drawer .cart-drawer__summary-row--total {
  font-size: 1rem;
  font-weight: 700;
  color: #111;
  margin-top: 0.35rem;
  margin-bottom: 0;
}

.cart-drawer .cart-drawer__checkout-link {
  display: block;
  width: 100%;
  text-decoration: none;
}

.cart-drawer .cart-drawer__checkout,
.cart-drawer .cart-drawer__footer .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  background: #111;
  color: #fff;
  padding: 0.95rem 1.25rem;
  border-radius: 999px;
  font-family: Montserrat, sans-serif;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border: none;
  transition: background 0.2s ease, transform 0.15s ease;
}

.cart-drawer .cart-drawer__checkout-arrow {
  font-size: 1rem;
  line-height: 1;
}

.cart-drawer .cart-drawer__checkout:hover,
.cart-drawer .cart-drawer__footer .btn:hover {
  background: #000;
  color: #fff;
}

.cart-drawer .cart-drawer__continue {
  display: block;
  width: 100%;
  margin-top: 0.85rem;
  border: none;
  background: transparent;
  font-family: Montserrat, sans-serif;
  font-size: 0.85rem;
  color: #111;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
  padding: 0;
  text-align: center;
}

.cart-drawer .cart-drawer__continue:hover {
  color: #9e3040;
}

.cart-drawer .stampingCartEmptyMsg {
  font-family: Montserrat, sans-serif;
  font-size: 0.95rem;
  color: #888;
}

@media (max-width: 575.98px) {
  .cart-drawer.offcanvas {
    width: 100vw !important;
  }
}

/* ============================================
   Auth pages — modern split-stage redesign
   ============================================ */

body.auth-page {
  background: var(--promot-white) !important;
  background-color: var(--promot-white) !important;
}

body.auth-page .stampingFooter,
body.auth-page #footerCon {
  margin-top: 0;
}

.auth-modern {
  --auth-pad: clamp(1.25rem, 3vw, 2.75rem);
  position: relative;
  padding: 0 !important;
  overflow: hidden;
  min-height: calc(100vh - 88px);
  display: flex;
  align-items: stretch;
}

.auth-modern__shell {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(1.5rem, 4vw, 3rem) clamp(1rem, 3vw, 2rem);
  display: flex;
  align-items: center;
}

.auth-modern__stage {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 0;
  width: 100%;
  min-height: min(640px, calc(100vh - 140px));
  border-radius: 28px;
  overflow: hidden;
  background: var(--promot-white);
  border: 1px solid var(--promot-line);
  box-shadow: none !important;
  animation: authStageIn 0.7s var(--promot-ease) both;
}

@keyframes authStageIn {
  from {
    opacity: 0;
    transform: translateY(18px) scale(0.985);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

/* ——— Brand panel (visual plane) ——— */
.auth-modern__brand {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: var(--auth-pad);
  color: #fff;
  background: linear-gradient(165deg, #2a1a1c 0%, #1a1514 42%, #9e3040 160%) !important;
  overflow: hidden;
  isolation: isolate;
}

.auth-modern__brand::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 60% at 20% 110%, rgba(158, 48, 64, 0.55), transparent 60%),
    radial-gradient(ellipse 50% 40% at 90% 10%, rgba(196, 58, 77, 0.25), transparent 55%);
  z-index: 0;
  pointer-events: none;
}

.auth-modern__brand::after {
  content: "";
  position: absolute;
  inset: -20%;
  background-image:
    repeating-linear-gradient(
      -18deg,
      transparent,
      transparent 46px,
      rgba(255, 255, 255, 0.03) 46px,
      rgba(255, 255, 255, 0.03) 47px
    );
  z-index: 0;
  animation: authGrainDrift 28s linear infinite;
  pointer-events: none;
}

@keyframes authGrainDrift {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-40px, 24px, 0); }
}

.auth-modern__brand-media {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  z-index: 0;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  overflow: hidden;
}

.auth-modern__brand-media img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  opacity: 0.88;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  transform: scale(1.03);
  animation: authMediaBreath 16s var(--promot-ease) infinite alternate;
}

@keyframes authMediaBreath {
  from { transform: scale(1.03); }
  to { transform: scale(1.07); }
}

.auth-modern__brand-media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(26, 21, 20, 0.18) 0%, rgba(26, 21, 20, 0.4) 50%, rgba(26, 21, 20, 0.92) 100%),
    linear-gradient(105deg, transparent 40%, rgba(158, 48, 64, 0.2) 100%);
  pointer-events: none;
}

.auth-modern__brand-content {
  position: relative;
  z-index: 2;
  max-width: 28rem;
  animation: authBrandIn 0.85s var(--promot-ease) 0.12s both;
}

@keyframes authBrandIn {
  from {
    opacity: 0;
    transform: translateY(22px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

.auth-modern__mark {
  display: inline-block;
  font-family: var(--promot-display);
  font-size: clamp(2.75rem, 5.5vw, 4.25rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 0.95;
  margin: 0 0 1.35rem;
  color: #fff;
  text-shadow: 0 8px 40px rgba(0, 0, 0, 0.25);
}

.auth-modern__mark span {
  color: #f4a8b2;
}

.auth-modern__title {
  font-family: var(--promot-display) !important;
  font-size: clamp(1.55rem, 2.6vw, 2.15rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em;
  line-height: 1.2 !important;
  margin: 0 0 0.85rem !important;
  color: #fff !important;
}

.auth-modern__lede {
  font-size: 1rem !important;
  line-height: 1.55 !important;
  color: rgba(255, 255, 255, 0.78) !important;
  margin: 0 0 1.5rem !important;
  max-width: 22rem;
}

.auth-modern__brand-cta {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.85rem 1.5rem !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  color: #fff !important;
  font-family: var(--promot-font) !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition:
    background 0.25s var(--promot-ease),
    border-color 0.25s var(--promot-ease),
    transform 0.25s var(--promot-ease),
    box-shadow 0.25s var(--promot-ease) !important;
  box-shadow: none !important;
  width: auto !important;
}

.auth-modern__brand-cta:hover {
  background: #fff !important;
  color: var(--promot-ink) !important;
  border-color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.2) !important;
}

.auth-modern__brand-cta svg {
  width: 14px;
  height: 14px;
  transition: transform 0.25s var(--promot-ease);
}

.auth-modern__brand-cta:hover svg {
  transform: translateX(3px);
}

/* ——— Form panel ——— */
.auth-modern__panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.75rem, 4vw, 3.25rem) clamp(1.5rem, 4vw, 3.5rem);
  background: var(--promot-white);
  animation: authPanelIn 0.85s var(--promot-ease) 0.2s both;
}

@keyframes authPanelIn {
  from {
    opacity: 0;
    transform: translateX(16px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

.auth-modern__panel-head {
  margin-bottom: 1.75rem;
}

.auth-modern__eyebrow {
  display: inline-block;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--promot-red);
  margin: 0 0 0.65rem;
}

.auth-modern__panel-title {
  font-family: var(--promot-display) !important;
  font-size: clamp(1.65rem, 2.4vw, 2rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em;
  line-height: 1.15 !important;
  color: var(--promot-ink) !important;
  margin: 0 0 0.4rem !important;
}

.auth-modern__panel-sub {
  font-size: 0.9375rem;
  color: var(--promot-ink-muted);
  margin: 0;
  line-height: 1.5;
}

.auth-modern__form {
  width: 100%;
  max-width: 400px;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.auth-modern form.ContactUsForm,
.auth-modern .ContactUsForm,
.auth-modern .ContactUsForm.RegistrationForm,
.auth-modern .ContactUsForm.LoginForm {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.auth-modern__alert {
  padding: 0.85rem 1rem;
  border-radius: 12px;
  background: rgba(2, 181, 2, 0.08);
  border: 1px solid rgba(2, 181, 2, 0.2);
  color: #1a6b1a;
  font-size: 0.875rem;
  margin-bottom: 1.25rem;
}

.auth-modern__field {
  margin-bottom: 1.05rem;
  position: relative;
}

.auth-modern__label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--promot-ink-muted);
  margin-bottom: 0.45rem;
}

/* Kill legacy contact-form wrapper box (white shell + icon gutter) */
.auth-modern .ContactUsFleidWrp,
.auth-modern .ContactUsForm .ContactUsFleidWrp {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  position: relative !important;
}

.auth-modern__input,
.auth-modern .ContactUsFleid,
.auth-modern input.ContactUsFleid,
.auth-modern .ContactUsForm .ContactUsFleid {
  width: 100% !important;
  max-width: 100% !important;
  height: 52px !important;
  margin: 0 !important;
  margin-left: 0 !important;
  padding: 0 1rem !important;
  border: 1.5px solid var(--promot-line) !important;
  border-radius: 14px !important;
  background: var(--promot-surface) !important;
  color: var(--promot-ink) !important;
  font-family: var(--promot-font) !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  outline: none !important;
  box-shadow: none !important;
  transition:
    border-color 0.2s var(--promot-ease),
    background 0.2s var(--promot-ease),
    box-shadow 0.2s var(--promot-ease) !important;
}

.auth-modern__input::placeholder,
.auth-modern .ContactUsFleid::placeholder {
  color: #a39b96 !important;
  font-weight: 400 !important;
}

.auth-modern__input:hover,
.auth-modern .ContactUsFleid:hover {
  border-color: #d4ccc6 !important;
}

.auth-modern__input:focus,
.auth-modern .ContactUsFleid:focus {
  border-color: var(--promot-red) !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px var(--promot-red-soft) !important;
}

.auth-modern__input.is-invalid,
.auth-modern .ContactUsFleid.is-invalid {
  border-color: #c43a4d !important;
}

.auth-modern__password-wrap {
  position: relative !important;
}

.auth-modern__password-wrap .auth-modern__input,
.auth-modern__password-wrap .ContactUsFleid {
  padding-right: 3rem !important;
}

.auth-modern__toggle-pass {
  position: absolute;
  top: 0;
  right: 0;
  width: 52px;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  color: var(--promot-ink-muted);
  cursor: pointer;
  z-index: 2;
  padding: 0;
  transition: color 0.2s var(--promot-ease);
}

.auth-modern__toggle-pass:hover,
.auth-modern__toggle-pass:focus-visible {
  color: var(--promot-ink);
  outline: none;
}

.auth-modern__toggle-pass svg {
  width: 18px;
  height: 18px;
  display: block;
  pointer-events: none;
}

.auth-modern__toggle-pass .auth-eye-off {
  display: none;
}

.auth-modern__toggle-pass.is-visible .auth-eye-on {
  display: none;
}

.auth-modern__toggle-pass.is-visible .auth-eye-off {
  display: block;
}

.auth-modern__field .invalid-feedback,
.auth-modern__field .text-danger {
  font-size: 0.8125rem !important;
  margin-top: 0.4rem !important;
}

.auth-modern__row-end {
  display: flex;
  justify-content: flex-end;
  margin: -0.35rem 0 1.15rem;
}

.auth-modern__link {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--promot-red) !important;
  text-decoration: none !important;
  transition: color 0.2s var(--promot-ease), opacity 0.2s var(--promot-ease);
}

.auth-modern__link:hover {
  color: var(--promot-red-deep) !important;
  opacity: 0.9;
}

.auth-modern__actions {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 0.35rem;
}

.auth-modern__btn,
.auth-modern .ContactUsSubmit,
.auth-modern input.ContactUsSubmit,
.auth-modern button.ContactUsSubmit {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  height: 52px !important;
  padding: 0 1.5rem !important;
  border: none !important;
  border-radius: 999px !important;
  background: var(--promot-red) !important;
  color: #fff !important;
  font-family: var(--promot-font) !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: none !important;
  transition:
    background 0.22s var(--promot-ease),
    transform 0.22s var(--promot-ease),
    box-shadow 0.22s var(--promot-ease) !important;
}

.auth-modern__btn:hover,
.auth-modern .ContactUsSubmit:hover,
.auth-modern input.ContactUsSubmit:hover,
.auth-modern button.ContactUsSubmit:hover {
  background: var(--promot-red-deep) !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(158, 48, 64, 0.22) !important;
}

.auth-modern__btn:active,
.auth-modern .ContactUsSubmit:active {
  transform: translateY(0);
}

.auth-modern__btn--ghost,
.auth-modern button.ContactUsSubmit.guest_login,
.auth-modern .guest_login {
  background: transparent !important;
  color: var(--promot-ink) !important;
  border: 1.5px solid var(--promot-line) !important;
  box-shadow: none !important;
}

.auth-modern__btn--ghost:hover,
.auth-modern button.ContactUsSubmit.guest_login:hover,
.auth-modern .guest_login:hover {
  background: var(--promot-surface) !important;
  color: var(--promot-ink) !important;
  border-color: #d4ccc6 !important;
  box-shadow: none !important;
}

.auth-modern__divider {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 1.5rem 0 1.15rem;
  color: var(--promot-ink-muted);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.auth-modern__divider::before,
.auth-modern__divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--promot-line);
}

.auth-modern__social {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.auth-modern__social-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  border: 1.5px solid var(--promot-line);
  background: #fff;
  transition:
    border-color 0.2s var(--promot-ease),
    transform 0.2s var(--promot-ease),
    box-shadow 0.2s var(--promot-ease);
}

.auth-modern__social-btn:hover {
  border-color: #d4ccc6;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(26, 21, 20, 0.08);
}

.auth-modern__social-btn img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.auth-modern__foot-link {
  margin-top: 1.5rem;
  text-align: center;
  font-size: 0.875rem;
  color: var(--promot-ink-muted);
}

.auth-modern__foot-link a {
  color: var(--promot-red) !important;
  font-weight: 700;
  text-decoration: none !important;
}

.auth-modern__foot-link a:hover {
  text-decoration: underline !important;
}

.auth-modern .g-recaptcha {
  margin: 0.5rem 0 1rem;
  transform-origin: left top;
}

.auth-modern #recaptchaError {
  font-size: 0.8125rem;
  margin-bottom: 0.75rem;
}


.auth-modern .auth-modern__brand-cta.ContactUsSubmit,
.auth-modern a.auth-modern__brand-cta {
  background: rgba(255, 255, 255, 0.14) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  color: #fff !important;
  box-shadow: none !important;
  width: auto !important;
  height: auto !important;
  min-height: 48px;
}

.auth-modern .auth-modern__brand-cta.ContactUsSubmit:hover,
.auth-modern a.auth-modern__brand-cta:hover {
  background: #fff !important;
  color: var(--promot-ink) !important;
  border-color: #fff !important;
}

.auth-modern__panel {
  overflow: visible;
}

/* Password strength */
.auth-modern #popover-password {
  margin: 0.25rem 0 1rem;
  padding: 0.85rem 1rem;
  border-radius: 14px;
  background: var(--promot-surface);
  border: 1px solid var(--promot-line);
}

.auth-modern #popover-password p {
  margin: 0 0 0.5rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--promot-ink);
}

.auth-modern #popover-password .progress {
  height: 4px !important;
  border-radius: 999px;
  background: #e8e2de;
  overflow: hidden;
  margin-bottom: 0.75rem;
}

.auth-modern #popover-password ul {
  margin: 0;
  padding: 0;
}

.auth-modern #popover-password li {
  font-size: 0.75rem;
  color: var(--promot-ink-muted);
  margin-bottom: 0.25rem;
}

.auth-modern #popover-password .fa-check {
  color: #02b502;
}

/* Name row on register */
.auth-modern__name-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.85rem;
}

@media (max-width: 991.98px) {
  .auth-modern__stage {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .auth-modern__brand {
    min-height: 280px;
    justify-content: flex-end;
    padding: 1.75rem 1.5rem;
  }

  .auth-modern__mark {
    font-size: 2.5rem;
    margin-bottom: 0.85rem;
  }

  .auth-modern__title {
    font-size: 1.4rem !important;
  }

  .auth-modern__panel {
    padding: 1.75rem 1.35rem 2.25rem;
  }

  .auth-modern__form {
    max-width: none;
  }
}

@media (max-width: 575.98px) {
  .auth-modern__shell {
    padding: 1rem 0.75rem 1.5rem;
  }

  .auth-modern__stage {
    border-radius: 20px;
  }

  .auth-modern__name-grid {
    grid-template-columns: 1fr;
  }

  .auth-modern__brand {
    min-height: 240px;
  }

  .auth-modern .g-recaptcha {
    transform: scale(0.92);
  }
}

@media (prefers-reduced-motion: reduce) {
  .auth-modern__stage,
  .auth-modern__brand-content,
  .auth-modern__panel,
  .auth-modern__brand-media img,
  .auth-modern__brand::after {
    animation: none !important;
  }
}

/* ——— Store / collections page ——— */
.store-page.CustomParentContainer {
  max-width: 1240px;
  margin: 0 auto;
  padding: 1.75rem 1.25rem 3.5rem;
}

.store-page__intro {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.25rem 2rem;
  flex-wrap: wrap;
  margin-bottom: 1.75rem;
  padding-bottom: 1.35rem;
  border-bottom: 1px solid var(--promot-line);
}

.store-page__eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--promot-ink-muted);
}

.store-page__title,
.store-page .store-page__title {
  margin: 0 !important;
  font-size: clamp(1.65rem, 2.4vw, 2.15rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em;
  color: var(--promot-ink) !important;
  line-height: 1.15;
}

.store-page__range {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.store-page__range-label {
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--promot-ink-muted);
}

.store-page__range-fields {
  display: flex !important;
  align-items: center;
  gap: 0.45rem;
  margin: 0 !important;
  width: auto !important;
}

.store-page__range-field {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin: 0;
  min-width: 88px;
  padding: 0.35rem 0.65rem !important;
  border: 1px solid var(--promot-line) !important;
  border-radius: 999px !important;
  background: var(--promot-surface) !important;
}

.store-page__range-field .rangePrice {
  color: var(--promot-ink-muted);
  font-size: 0.85rem;
  font-weight: 600;
}

.store-page__range-field input {
  width: 3.25rem;
  border: none !important;
  background: transparent !important;
  outline: none;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--promot-ink);
  padding: 0;
}

.store-page__range-sep {
  color: var(--promot-ink-muted);
  font-weight: 500;
}

.store-page .FilterapplyBtn {
  margin: 0 !important;
}

.store-page .FilterapplyBtn button {
  background: var(--promot-ink) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 0.55rem 1.15rem !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.store-page .FilterapplyBtn button:hover {
  background: var(--promot-red) !important;
  transform: none;
}

/* Parent category strip — compact */
.store-cats {
  position: relative;
  margin: 0 0 1.5rem;
  padding: 0.1rem 0 0.25rem;
}

.store-page .stampsCategoryOwlCarousl {
  padding: 0 2.25rem;
}

.store-page .stampsCategoryOwlCarousl .owl-stage {
  display: flex !important;
  align-items: stretch;
}

.store-page .customActiveCard.store-cat,
.store-page .store-cat.customActiveCard {
  padding: 0.15rem 0.3rem !important;
  cursor: pointer;
  text-align: center;
}

.store-page .store-cat__media.carouselImgContainer,
.store-page #categorieswrap .carouselImgContainer {
  position: relative;
  width: 168px;
  height: 168px;
  aspect-ratio: 1 / 1;
  margin: 0 auto;
  padding: 0 !important;
  border: 1.5px solid var(--promot-line) !important;
  border-radius: 16px !important;
  background: #f4f2f0 !important;
  overflow: hidden;
  box-shadow: none !important;
  transition: border-color 0.25s var(--promot-ease), background 0.25s var(--promot-ease), transform 0.25s var(--promot-ease);
}

.store-page .store-cat__media::before {
  display: none;
}

.store-page .store-cat__media img,
.store-page #categorieswrap .carouselImgContainer img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 0 !important;
  padding: 0 !important;
  transition: transform 0.4s var(--promot-ease);
}

.store-page .store-cat:hover .store-cat__media,
.store-page .store-cat.active-category .store-cat__media,
.store-page .clicked-border {
  border-color: var(--promot-red) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(158, 48, 64, 0.12) !important;
  transform: none;
}

.store-page .store-cat:hover .store-cat__media img,
.store-page .store-cat.active-category .store-cat__media img {
  transform: scale(1.05);
}

.store-page .store-cat__label.carouselFilterContainer {
  position: static;
  margin: 0.55rem 0 0;
  padding: 0;
  background: transparent !important;
  text-align: center;
}

.store-page .store-cat__label p {
  margin: 0;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--promot-ink-muted);
  text-decoration: none !important;
  text-shadow: none;
  line-height: 1.25;
}

.store-page .store-cat__label.active p,
.store-page .store-cat__label.selected_class p,
.store-page .store-cat.active-category .store-cat__label p {
  color: var(--promot-red) !important;
  text-decoration: none !important;
  position: relative;
}

.store-page .store-cat__label.active p::after,
.store-page .store-cat.active-category .store-cat__label p::after {
  content: "";
  display: block;
  width: 16px;
  height: 2px;
  margin: 0.3rem auto 0;
  background: var(--promot-red);
  border-radius: 2px;
}

.store-page .stampsCategoryOwlCarousl .owl-nav button {
  margin: 0 !important;
  background: transparent !important;
  top: 48% !important;
  transform: translateY(-50%);
}

.store-page .stampsCategoryOwlCarousl .owl-nav button.owl-prev {
  left: 0 !important;
}

.store-page .stampsCategoryOwlCarousl .owl-nav button.owl-next {
  right: 0 !important;
}

.store-page .stampsCategoryOwlCarousl .owl-nav button.owl-next::before,
.store-page .stampsCategoryOwlCarousl .owl-nav button.owl-prev::before {
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  background: #fff !important;
  border: 1px solid var(--promot-line) !important;
  box-shadow: 0 2px 10px rgba(26, 21, 20, 0.08) !important;
  color: var(--promot-ink) !important;
  font-size: 14px !important;
  line-height: 34px !important;
  transition: border-color 0.2s var(--promot-ease), color 0.2s var(--promot-ease), background 0.2s var(--promot-ease);
}

.store-page .stampsCategoryOwlCarousl .owl-nav button:hover::before {
  background: var(--promot-ink) !important;
  border-color: var(--promot-ink) !important;
  color: #fff !important;
  transform: none;
}

.store-page .stampsCategoryOwlCarousl .owl-nav button.disabled {
  opacity: 0.25;
  pointer-events: none;
}

/* Subcategory cards — photo-first */
.store-page .StamTestsection3.store-subcats {
  margin: 0 0 2rem;
}

.store-page .store-subcats__crumbs {
  margin-bottom: 1rem;
}

.store-page .store-subcats__crumbs .breadcrumb {
  margin: 0;
  padding: 0;
  background: transparent;
  font-size: 0.85rem;
}

.store-page .store-subcats__crumbs .breadcrumb-item a {
  color: var(--promot-ink-muted);
  text-decoration: none;
}

.store-page .store-subcats__crumbs .breadcrumb-item.active,
.store-page .store-subcats__crumbs .last-breadcrumb {
  color: var(--promot-red) !important;
  font-weight: 600;
}

.store-page .store-subcats__grid.StamTestsection3Con {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
  margin: 0;
}

.store-page .store-subcats__grid > .section3InnerContainer,
.store-page .store-subcat.section3InnerContainer {
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
  margin: 0 !important;
  padding: 0 !important;
  cursor: pointer;
  background: transparent;
  border: none;
  box-shadow: none;
}

.store-page .store-subcat__tile {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  min-height: 76px;
  padding: 0.55rem 0.85rem 0.55rem 0.55rem;
  border: 1px solid var(--promot-line);
  border-radius: 14px;
  background: #fff;
  transition: border-color 0.25s var(--promot-ease), background 0.25s var(--promot-ease), transform 0.25s var(--promot-ease);
}

.store-page .store-subcat:hover .store-subcat__tile,
.store-page .store-subcat:focus-within .store-subcat__tile {
  border-color: var(--promot-ink);
  background: var(--promot-surface);
  transform: translateY(-2px);
}

.store-page .store-subcat__media.section3carouselImgContainer {
  position: relative;
  flex: 0 0 58px;
  width: 58px;
  height: 58px;
  aspect-ratio: auto;
  border-radius: 10px;
  overflow: hidden;
  background: var(--promot-surface);
  border: none;
  box-shadow: none;
}

.store-page .store-subcat__media::after {
  display: none;
}

.store-page .store-subcat__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  padding: 6px;
  transition: transform 0.35s var(--promot-ease);
}

.store-page .store-subcat:hover .store-subcat__media {
  border-color: transparent;
  transform: none;
  box-shadow: none;
}

.store-page .store-subcat:hover .store-subcat__media img {
  transform: scale(1.06);
}

.store-page .store-subcat__label.category-btn-style,
.store-page .category-btn-style.store-subcat__label {
  position: static !important;
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--promot-ink) !important;
  text-align: left;
  font-size: 0.9rem !important;
  font-weight: 600;
  letter-spacing: -0.01em;
  box-shadow: none !important;
  line-height: 1.25;
}

.store-page .store-subcat__label p {
  margin: 0;
  color: var(--promot-ink) !important;
  font-size: inherit;
  font-weight: inherit;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.store-page .store-subcat:hover .store-subcat__label p {
  color: var(--promot-red) !important;
}

.store-page .store-subcat__arrow {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: var(--promot-ink-muted);
  background: transparent;
  transition: color 0.2s var(--promot-ease), background 0.2s var(--promot-ease), transform 0.2s var(--promot-ease);
}

.store-page .store-subcat:hover .store-subcat__arrow {
  color: #fff;
  background: var(--promot-red);
  transform: translateX(2px);
}

.store-page .store-products__title,
.store-page #search_text {
  margin: 0 !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: var(--promot-ink) !important;
  letter-spacing: -0.02em;
}

.store-page .store-products__toolbar {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid transparent;
}

.store-page .visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 991.98px) {
  .store-page .store-subcats__grid.StamTestsection3Con {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .store-page.CustomParentContainer {
    padding: 1.15rem 0.85rem 2.5rem;
  }

  .store-page__intro {
    align-items: flex-start;
    flex-direction: column;
  }

  .store-page .stampsCategoryOwlCarousl {
    padding: 0 1.75rem;
  }

  .store-page .store-subcats__grid.StamTestsection3Con {
    grid-template-columns: 1fr;
    gap: 0.65rem;
  }

  .store-page .store-subcat__label.category-btn-style {
    font-size: 0.875rem !important;
  }
}

/* ——— Orders page ——— */
.po-page {
  padding: 2.75rem 0 4.75rem;
  background: #fff;
}

.po-page__inner {
  max-width: 760px;
}

.po-title {
  margin: 0;
  font-family: var(--promot-font);
  font-size: clamp(1.7rem, 2.6vw, 2.1rem);
  font-weight: 700;
  color: var(--promot-ink);
  letter-spacing: -0.02em;
}

.po-sub {
  margin: 0.4rem 0 1.85rem;
  font-size: 0.92rem;
  color: var(--promot-ink-muted);
}

.po-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.po-order {
  padding: 1.25rem 1.35rem 1.2rem;
  border: 1px solid rgba(26, 21, 20, 0.09);
  border-radius: 16px;
  background: #fff;
}

.po-order__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  padding-bottom: 0.95rem;
  border-bottom: 1px solid rgba(26, 21, 20, 0.07);
}

.po-order__id {
  margin: 0;
  font-size: 1.02rem;
  font-weight: 700;
  color: var(--promot-ink);
}

.po-order__meta {
  margin: 0.3rem 0 0;
  font-size: 0.84rem;
  color: var(--promot-ink-muted);
}

.po-dot {
  margin: 0 0.35rem;
}

.po-status {
  font-weight: 600;
}

.po-status.is-shipped { color: #2f7a4f; }
.po-status.is-cancelled { color: #a32828; }
.po-status.is-processing { color: #9a5a10; }
.po-status.is-shipping { color: #2a5f9a; }
.po-status.is-pending { color: var(--promot-ink-muted); }

.po-order__total {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--promot-ink);
  white-space: nowrap;
}

.po-order__items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}

.po-line {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 0.9rem;
  align-items: start;
}

.po-line__img {
  width: 64px;
  height: 64px;
  object-fit: contain;
  border-radius: 10px;
  background: #f6f4f2;
}

.po-line__copy {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}

.po-line__name {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--promot-ink) !important;
  text-decoration: none !important;
  line-height: 1.3;
}

a.po-line__name:hover {
  color: var(--promot-red) !important;
}

.po-line__meta,
.po-line__done {
  font-size: 0.8rem;
  color: var(--promot-ink-muted);
}

.po-order__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1.15rem;
  margin-top: 1.1rem;
  padding-top: 0.95rem;
  border-top: 1px solid rgba(26, 21, 20, 0.07);
}

.po-order__actions form {
  margin: 0;
}

.po-text-btn {
  appearance: none;
  border: 0;
  background: none;
  padding: 0;
  margin: 0;
  font-family: var(--promot-font);
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--promot-ink-muted);
  text-decoration: none;
  cursor: pointer;
}

.po-text-btn:hover {
  color: var(--promot-red);
}

.po-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.65rem 1.35rem;
  border: 0;
  border-radius: 999px;
  background: var(--promot-red);
  color: #fff !important;
  font-family: var(--promot-font);
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none !important;
  cursor: pointer;
  transition: background 0.2s var(--promot-ease), transform 0.2s var(--promot-ease);
}

.po-btn:hover {
  background: var(--promot-red-deep);
  color: #fff !important;
  transform: translateY(-1px);
}

.po-btn--sm {
  min-height: 36px;
  padding: 0.45rem 0.95rem;
  font-size: 0.82rem;
  font-weight: 600;
}

.po-empty {
  margin-top: 1.75rem;
  padding: 2.75rem 1.5rem 2.85rem;
  text-align: center;
  border-radius: 20px;
  border: 1px solid rgba(26, 21, 20, 0.08);
  background: #faf8f6;
}

.po-empty__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin-bottom: 1rem;
  border-radius: 14px;
  background: #fff;
  color: var(--promot-red);
  border: 1px solid rgba(26, 21, 20, 0.06);
}

.po-empty__title {
  margin: 0 0 0.45rem;
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--promot-ink);
}

.po-empty__text {
  margin: 0 auto 1.35rem;
  max-width: 22rem;
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--promot-ink-muted);
}

@media (max-width: 575.98px) {
  .po-page {
    padding: 2rem 0 3.5rem;
  }

  .po-order {
    padding: 1.1rem 1rem 1.05rem;
  }

  .po-order__top {
    flex-direction: column;
    gap: 0.35rem;
  }

  .po-empty {
    padding: 2.25rem 1.15rem 2.35rem;
  }
}

/* ——— Stamp Wizard ——— */
.promot-wizard {
  padding: 1.5rem 0 4rem;
  background: var(--promot-white);
  font-family: var(--promot-font);
  color: var(--promot-ink);
}

.promot-wizard__container {
  max-width: 1240px;
}

.promot-wizard__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
  margin-bottom: 1.75rem;
  padding-top: 0.5rem;
}

.promot-wizard__eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--promot-red);
}

.promot-wizard__title {
  margin: 0 0 0.45rem;
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: var(--promot-ink);
}

.promot-wizard__lede {
  margin: 0;
  max-width: 42ch;
  font-size: 0.98rem;
  line-height: 1.55;
  color: var(--promot-ink-muted);
}

.promot-wizard__status {
  display: flex;
  gap: 0.65rem;
  flex-wrap: wrap;
}

.promot-wizard__stat {
  min-width: 7.5rem;
  padding: 0.7rem 0.95rem;
  border-radius: 12px;
  background: #fff;
  border: 1px solid var(--promot-line);
  box-shadow: 0 1px 2px rgba(26, 21, 20, 0.04);
}

.promot-wizard__stat-label {
  display: block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--promot-ink-muted);
  margin-bottom: 0.2rem;
}

.promot-wizard__stat-value {
  font-size: 0.95rem;
  font-weight: 650;
  color: var(--promot-ink);
}

.promot-wizard__stat-value.is-warn {
  color: var(--promot-red);
}

.promot-wizard__grid {
  display: grid;
  grid-template-columns: minmax(280px, 1.05fr) minmax(320px, 1.2fr) minmax(240px, 0.85fr);
  gap: 1.25rem;
  align-items: start;
}

.promot-wizard__preview-col {
  position: sticky;
  top: 92px;
  z-index: 2;
}

.promot-wizard__canvas.canvas_wid {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border: 1px solid var(--promot-line) !important;
  border-radius: 18px;
  background:
    linear-gradient(180deg, #fff 0%, #f7f4f1 100%);
  box-shadow: var(--promot-shadow);
  overflow: hidden;
  min-height: 360px;
  text-align: center;
  position: relative;
}

.promot-wizard__canvas-stage {
  width: 100%;
  position: relative;
  padding: 2.75rem 2.5rem 2.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 340px;
}

.promot-wizard__canvas-el,
.promot-wizard #myCanvas {
  background-color: #f3f1ef !important;
  margin: 0 !important;
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px rgba(26, 21, 20, 0.06);
}

.promot-wizard__dim-h {
  position: absolute;
  text-align: center;
  width: calc(100% - 5rem);
  left: 50%;
  transform: translateX(-50%);
  top: 1.1rem;
}

.promot-wizard__dim-h .inch_width {
  font-size: 0.72rem !important;
  font-weight: 600;
  color: var(--promot-ink-muted);
  position: absolute;
  top: -2px;
  left: 50%;
  transform: translateX(-50%);
}

.promot-wizard__dim-v {
  position: absolute !important;
  top: 50% !important;
  left: 0.85rem !important;
}

.promot-wizard__dim-v .inch_height {
  font-size: 0.72rem !important;
  font-weight: 600;
  color: var(--promot-ink-muted);
  position: absolute;
  top: -1.1rem;
  left: -0.35rem;
  white-space: nowrap;
}

.promot-wizard__loader {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 12;
  background: rgba(255, 255, 255, 0.78);
  backdrop-filter: blur(4px);
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 600;
  color: var(--promot-ink);
}

#loader.promot-wizard__loader {
  padding-top: 0 !important;
}

.promot-wizard__empty-hint {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: none;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,0.35), rgba(247,244,241,0.55));
}

.promot-wizard__empty-hint.is-visible {
  display: flex;
}

.promot-wizard__empty-hint p {
  margin: 0;
  padding: 0.75rem 1.1rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid var(--promot-line);
  color: var(--promot-ink-muted);
  font-size: 0.9rem;
  font-weight: 550;
  box-shadow: 0 8px 24px rgba(26, 21, 20, 0.06);
}

.promot-wizard__panel {
  background: #fff;
  border: 1px solid var(--promot-line);
  border-radius: 18px;
  padding: 1.35rem 1.35rem 1.2rem;
  box-shadow: var(--promot-shadow);
}

.promot-wizard__sku {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--promot-ink-muted);
  margin-bottom: 0.35rem;
}

.promot-wizard__panel-title {
  margin: 0 0 1rem;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.promot-wizard__toolbar {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem 0.75rem;
  margin: 0 !important;
}

.promot-wizard__toolbar > .col {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  padding: 0 !important;
}

.promot-wizard__control label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--promot-ink-muted);
}

.promot-wizard__control select,
.promot-wizard .selected_f_basic,
.promot-wizard .selected_s_basic,
.promot-wizard .border_basic {
  width: 100%;
  height: 42px;
  border-radius: 10px !important;
  border: 1px solid var(--promot-line) !important;
  background: #faf9f8 !important;
  padding: 0 0.75rem !important;
  font-size: 0.9rem !important;
  color: var(--promot-ink) !important;
  box-shadow: none !important;
}

.promot-wizard__btn-group {
  display: inline-flex;
  gap: 0.35rem;
}

.promot-wizard__btn-group button,
.promot-wizard .switch_button,
.promot-wizard .all_bold_basic,
.promot-wizard .all_underline_basic,
.promot-wizard .all_italic_basic {
  width: 40px;
  height: 40px;
  border-radius: 10px !important;
  border: 1px solid var(--promot-line) !important;
  background: #fff !important;
  color: var(--promot-ink) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  transition: background 0.2s var(--promot-ease), border-color 0.2s var(--promot-ease), color 0.2s var(--promot-ease), transform 0.2s var(--promot-ease);
}

.promot-wizard__btn-group button:hover,
.promot-wizard .switch_button:hover,
.promot-wizard .all_bold_basic:hover,
.promot-wizard .all_underline_basic:hover,
.promot-wizard .all_italic_basic:hover {
  border-color: #d8cfc8 !important;
  transform: translateY(-1px);
}

.promot-wizard .switch_button.active,
.promot-wizard .align-left-simple.active,
.promot-wizard .align-center-simple.active,
.promot-wizard .align-right-simple.active,
.promot-wizard .all_bold_basic.active,
.promot-wizard .all_underline_basic.active,
.promot-wizard .all_italic_basic.active,
.promot-wizard .Justify.active {
  background: var(--promot-red) !important;
  border-color: var(--promot-red) !important;
  color: #fff !important;
}

.promot-wizard__textarea,
.promot-wizard #myTextarea {
  border-radius: 12px !important;
  border: 1px solid var(--promot-line) !important;
  background: #faf9f8 !important;
  min-height: 110px;
  padding: 0.9rem 1rem !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;
  resize: vertical;
  box-shadow: none !important;
}

.promot-wizard__ink {
  margin-top: 1.15rem;
}

.promot-wizard__ink-label {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--promot-ink-muted);
  margin-bottom: 0.55rem;
}

.promot-wizard__swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
}

.promot-wizard .select_color {
  margin: 0 !important;
  padding: 0 !important;
  border: 2px solid transparent;
  border-radius: 999px;
  background: transparent;
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.2s var(--promot-ease), border-color 0.2s var(--promot-ease);
}

.promot-wizard .select_color:hover {
  transform: translateY(-1px);
}

.promot-wizard .parent_color_radius .active,
.promot-wizard .select_color.active {
  border-color: var(--promot-red) !important;
  padding: 0 !important;
  border-radius: 999px !important;
  box-shadow: 0 0 0 3px rgba(158, 48, 64, 0.18);
}

.promot-wizard .select_color_radius {
  display: block;
  width: 26px;
  height: 26px;
  padding: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(0, 0, 0, 0.08);
}

.promot-wizard__verify,
.promot-wizard .verify_wizard {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  margin-top: 1.15rem;
  padding: 0.95rem 1rem;
  border-radius: 12px;
  border: 1px solid var(--promot-line) !important;
  background: #faf9f8 !important;
}

.promot-wizard .verify_wizard.error_wizard {
  border-color: #e8a0aa !important;
  background: #fff5f5 !important;
}

.promot-wizard .verify_checkbox {
  margin-top: 0.2rem;
  width: 18px;
  height: 18px;
  accent-color: var(--promot-red);
  flex-shrink: 0;
}

.promot-wizard__verify label {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.45;
  color: var(--promot-ink-muted);
  cursor: pointer;
}

.promot-wizard__cta {
  margin-top: 1.25rem;
  padding-top: 1.1rem;
  border-top: 1px solid var(--promot-line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.promot-wizard__cta-product {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.promot-wizard__cta-name {
  font-weight: 700;
  font-size: 0.98rem;
  color: var(--promot-ink);
  line-height: 1.25;
}

.promot-wizard__cta-meta {
  font-size: 0.78rem;
  color: var(--promot-ink-muted);
}

.promot-wizard__cta-price {
  font-weight: 700;
  color: var(--promot-red);
  font-size: 1.05rem;
}

.promot-wizard__cta-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.promot-wizard__qty {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--promot-line);
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}

.promot-wizard__qty-minus,
.promot-wizard__qty-plus {
  width: 36px;
  height: 40px;
  border: 0;
  background: transparent;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--promot-ink);
  cursor: pointer;
}

.promot-wizard__qty-minus:hover,
.promot-wizard__qty-plus:hover {
  background: #f3f1ef;
}

.promot-wizard .qty_input {
  width: 44px !important;
  height: 40px !important;
  margin: 0 !important;
  border: 0 !important;
  border-left: 1px solid var(--promot-line) !important;
  border-right: 1px solid var(--promot-line) !important;
  border-radius: 0 !important;
  text-align: center;
  font-weight: 600;
  font-size: 0.95rem !important;
  background: #fff !important;
}

.promot-wizard .add_ine_btn,
.promot-wizard__add {
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--promot-red) !important;
  color: #fff !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em;
  padding: 0.75rem 1.45rem !important;
  min-height: 44px;
  transition: transform 0.2s var(--promot-ease), background 0.2s var(--promot-ease), opacity 0.2s var(--promot-ease) !important;
}

.promot-wizard .add_ine_btn:hover:not(:disabled):not(.is-disabled) {
  background: var(--promot-red-deep) !important;
  color: #fff !important;
  transform: translateY(-1px);
}

.promot-wizard .add_ine_btn:disabled,
.promot-wizard .add_ine_btn.is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
  transform: none !important;
}

.promot-wizard__picker {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  padding: 0 !important;
  color: var(--promot-ink) !important;
  background: #fff;
  border: 1px solid var(--promot-line);
  border-radius: 18px;
  box-shadow: var(--promot-shadow);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 120px);
  position: sticky;
  top: 92px;
}

.promot-wizard__picker-head {
  padding: 1.1rem 1.15rem 0.85rem;
  border-bottom: 1px solid var(--promot-line);
}

.promot-wizard__picker-head h3 {
  margin: 0 0 0.25rem;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.015em;
}

.promot-wizard__picker-head p {
  margin: 0;
  font-size: 0.82rem;
  color: var(--promot-ink-muted);
}

.promot-wizard__products {
  padding: 0.75rem;
  overflow-y: auto;
  flex: 1;
}

.promot-wizard .wizard_product,
.promot-wizard__product {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 0.8rem;
  padding: 0.7rem 0.75rem !important;
  margin-bottom: 0.55rem !important;
  border: 1px solid var(--promot-line) !important;
  border-radius: 12px !important;
  background: #faf9f8;
  cursor: pointer;
  transition: border-color 0.2s var(--promot-ease), background 0.2s var(--promot-ease), transform 0.2s var(--promot-ease), box-shadow 0.2s var(--promot-ease);
}

.promot-wizard .wizard_product:hover {
  border-color: #d8cfc8 !important;
  background: #fff;
  transform: translateY(-1px);
}

.promot-wizard .wizard_product.is-disabled,
.promot-wizard__product.is-disabled {
  opacity: 0.45;
  cursor: not-allowed !important;
  pointer-events: auto;
  filter: grayscale(0.35);
  background: #f3f1ef !important;
  box-shadow: none !important;
}

.promot-wizard .wizard_product.is-disabled:hover,
.promot-wizard__product.is-disabled:hover {
  border-color: var(--promot-line) !important;
  background: #f3f1ef !important;
  transform: none;
}

.promot-wizard .wizard_product.is-disabled.active {
  border-color: var(--promot-line) !important;
  box-shadow: none !important;
}

.promot-wizard .find_active .active,
.promot-wizard .wizard_product.active {
  border-color: var(--promot-red) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(158, 48, 64, 0.12);
}

.wizard-product__thumb {
  width: 56px;
  height: 56px;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--promot-line);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.wizard-product__thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}

.wizard-product__body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.promot-wizard .underline-link,
.wizard-product__name {
  text-decoration: none !important;
  color: var(--promot-ink) !important;
  font-weight: 650;
  font-size: 0.9rem;
  line-height: 1.25;
}

.promot-wizard .underline-link:hover,
.wizard-product__name:hover {
  color: var(--promot-red) !important;
}

.wizard-product__size {
  font-size: 0.75rem;
  color: var(--promot-ink-muted);
}

.wizard-product__price {
  font-weight: 700;
  color: var(--promot-red) !important;
  font-size: 0.92rem;
}

@media (max-width: 1199.98px) {
  .promot-wizard__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .promot-wizard__picker {
    grid-column: 1 / -1;
    max-height: 420px;
    position: relative;
    top: auto;
  }

  .promot-wizard__preview-col {
    position: relative;
    top: auto;
  }
}

@media (max-width: 767.98px) {
  .promot-wizard {
    padding: 1rem 0 3rem;
  }

  .promot-wizard__grid {
    grid-template-columns: 1fr;
  }

  .promot-wizard__toolbar {
    grid-template-columns: 1fr 1fr;
  }

  .promot-wizard__cta {
    align-items: stretch;
  }

  .promot-wizard__cta-actions {
    width: 100%;
    justify-content: space-between;
  }

  .promot-wizard__add {
    flex: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .promot-wizard .wizard_product,
  .promot-wizard__btn-group button,
  .promot-wizard .add_ine_btn {
    transition: none !important;
  }
}

/* ——— Contact page ——— */
.contact-page.stampingContactUs {
  padding: 0 0 1.75rem !important;
  background: var(--promot-white);
}

/* Pull footer up on contact — remove stacked white band */
body:has(.contact-page) .promot-footer {
  margin-top: 0 !important;
}

.contact-page__hero {
  padding: 3.25rem 0 0.5rem;
}

.contact-page__intro {
  max-width: 40rem;
  margin: 0 auto;
  text-align: center;
}

.contact-page__eyebrow {
  margin: 0 0 0.65rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--promot-red);
}

.contact-page__title.StampingsectionTitle,
.contact-page .StampingsectionTitle {
  margin: 0 !important;
  padding: 0 !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: var(--promot-ink) !important;
}

.contact-page__title::after {
  content: "";
  display: block;
  width: 2.75rem;
  height: 3px;
  margin: 0.9rem auto 0;
  border-radius: 2px;
  background: var(--promot-red);
}

.contact-page__lede.contact-message {
  margin: 1.1rem auto 0 !important;
  max-width: 34rem;
  line-height: 1.55;
  color: var(--promot-ink-muted) !important;
}

.contact-page__body {
  margin-top: 2.25rem;
}

.contact-page__flash {
  margin: 0 0 1.25rem;
  padding: 0.85rem 1.1rem;
  border-radius: var(--promot-radius-sm);
  background: #e8f5e9;
  color: #1b5e20;
  font-weight: 600;
  font-size: 0.92rem;
}

.contact-page__flash--error {
  background: #fdecea;
  color: var(--promot-red-deep);
}

.contact-page__grid.ContactUs {
  align-items: stretch;
}

.contact-page__aside.ContactUsLeftCnt {
  height: 100%;
  margin: 0 !important;
  padding: 2rem 1.75rem 1.85rem !important;
  border-radius: var(--promot-radius) !important;
  background:
    linear-gradient(165deg, #2a2220 0%, var(--promot-ink) 55%, #120f0e 100%) !important;
  color: #fff;
  box-shadow: var(--promot-shadow-hover);
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}

.contact-page__aside-title {
  margin: 0 0 0.55rem !important;
  font-size: 1.45rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
  color: #fff !important;
}

.contact-page__aside-copy {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.72);
}

.contact-page__channels {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.contact-page__channel.ContactUsLeftWrp {
  display: flex;
  align-items: flex-start;
  gap: 0.9rem;
  margin: 0 !important;
  padding: 0.95rem 1rem !important;
  border-radius: var(--promot-radius-sm);
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: background 0.3s var(--promot-ease), border-color 0.3s var(--promot-ease), transform 0.3s var(--promot-ease);
}

.contact-page__channel:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.18);
  transform: translateX(3px);
}

.contact-page__channel-icon {
  flex-shrink: 0;
  width: 2.4rem;
  height: 2.4rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: var(--promot-red);
  color: #fff;
}

.contact-page__channel-label {
  margin: 0 0 0.2rem !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55) !important;
}

.contact-page__channel-value,
.contact-page__channel-value.stampingEmail {
  margin: 0 !important;
  font-weight: 600 !important;
  line-height: 1.4;
  color: #fff !important;
  text-decoration: none !important;
  word-break: break-word;
}

a.contact-page__channel-value:hover {
  color: #ffd5db !important;
}

.contact-page__aside-note {
  margin-top: auto;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.contact-page__aside-note-label {
  display: block;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 0.25rem;
}

.contact-page__aside-note-text {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: #fff;
}

.contact-page__form-panel.ContactUsRightCnt {
  height: 100%;
  margin: 0 !important;
  padding: 2rem 1.75rem 1.85rem !important;
  border-radius: var(--promot-radius) !important;
  background: var(--promot-white) !important;
  border: 1px solid var(--promot-line);
  box-shadow: var(--promot-shadow);
}

.contact-page__form-title {
  margin: 0 0 0.4rem !important;
  font-size: 1.45rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
  color: var(--promot-ink) !important;
}

.contact-page__form-copy {
  margin: 0 0 1.5rem;
  font-size: 0.92rem;
  line-height: 1.5;
  color: var(--promot-ink-muted);
}

.contact-page .ContactUsLabel {
  display: block;
  margin-bottom: 0.4rem !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--promot-ink-muted) !important;
}

.contact-page .ContactUsFleidWrp {
  position: relative;
  margin: 0 !important;
}

.contact-page .ContactUsFleidWrp > img {
  display: none !important;
}

.contact-page .ContactUsFleid.form-control,
.contact-page .ContactUsFleid {
  width: 100% !important;
  min-height: 3rem;
  padding: 0.75rem 1rem !important;
  border: 1.5px solid var(--promot-line) !important;
  border-radius: var(--promot-radius-sm) !important;
  background: var(--promot-surface) !important;
  color: var(--promot-ink) !important;
  font-size: 0.95rem !important;
  box-shadow: none !important;
  transition: border-color 0.25s var(--promot-ease), background 0.25s var(--promot-ease), box-shadow 0.25s var(--promot-ease) !important;
}

.contact-page textarea.ContactUsFleid {
  min-height: 8rem;
  resize: vertical !important;
  line-height: 1.5;
}

.contact-page .ContactUsFleid:focus,
.contact-page .ContactUsFleid:focus-visible {
  outline: none !important;
  border-color: var(--promot-red) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px var(--promot-red-soft) !important;
}

.contact-page .ContactUsWrp {
  margin-bottom: 1rem !important;
}

.contact-page .paddings_bottom {
  padding-bottom: 0 !important;
}

.contact-page .intl-tel-input,
.contact-page .separate-dial-code {
  width: 100% !important;
  display: block;
}

.contact-page .intl-tel-input .form-control {
  width: 100% !important;
}

.contact-page__captcha {
  margin: 0.25rem 0 1.15rem !important;
}

.contact-page__actions {
  margin-bottom: 0 !important;
}

.contact-page__submit.ContactUsSubmit,
.contact-page .ContactUsSubmit {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  width: auto !important;
  min-width: 11rem;
  margin: 0 !important;
  padding: 0.9rem 1.6rem !important;
  border: none !important;
  border-radius: 10px !important;
  background: var(--promot-red) !important;
  color: #fff !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(158, 48, 64, 0.28);
  transition: background 0.25s var(--promot-ease), transform 0.25s var(--promot-ease), box-shadow 0.25s var(--promot-ease) !important;
}

.contact-page__submit.ContactUsSubmit:hover,
.contact-page .ContactUsSubmit:hover {
  background: var(--promot-red-deep) !important;
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(158, 48, 64, 0.34);
}

.contact-page__submit svg {
  transition: transform 0.3s var(--promot-ease);
}

.contact-page__submit:hover svg {
  transform: translateX(3px);
}

@media (max-width: 991.98px) {
  .contact-page__hero {
    padding-top: 2.25rem;
  }

  .contact-page__aside.ContactUsLeftCnt,
  .contact-page__form-panel.ContactUsRightCnt {
    padding: 1.5rem 1.25rem !important;
  }
}

@media (max-width: 575.98px) {
  .contact-page__submit.ContactUsSubmit,
  .contact-page .ContactUsSubmit {
    width: 100% !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .contact-page__channel,
  .contact-page__submit.ContactUsSubmit {
    transition: none !important;
  }
}

.contact-page .ContactUsForm,
.contact-page .ContactUsPage {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.contact-page .ContactUsRight,
.contact-page .ContactUsLeft {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

/* Contact fields — kill legacy double-box / icon-offset rules */
.contact-page .ContactUsForm .ContactUsFleidWrp,
.contact-page .ContactUsFleidWrp {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  position: relative !important;
  display: block !important;
}

.contact-page .ContactUsForm .ContactUsFleidWrp.ContactUsFleidText {
  height: auto !important;
  min-height: 0 !important;
}

.contact-page .ContactUsForm .ContactUsFleid,
.contact-page .ContactUsFleid.form-control,
.contact-page .ContactUsFleid {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  margin-left: 0 !important;
  padding: 0.85rem 1rem !important;
  min-height: 3rem !important;
  height: auto !important;
  border: 1.5px solid var(--promot-line) !important;
  border-radius: var(--promot-radius-sm) !important;
  background: var(--promot-surface) !important;
  box-shadow: none !important;
  display: block !important;
}

.contact-page textarea.ContactUsFleid {
  min-height: 8rem !important;
  height: auto !important;
  padding: 0.9rem 1rem !important;
}

.contact-page .ContactUsForm .ContactUsWrp {
  margin-top: 0 !important;
  margin-bottom: 1rem !important;
}

.contact-page .intl-tel-input {
  width: 100% !important;
  display: block !important;
}

.contact-page .intl-tel-input input.ContactUsFleid,
.contact-page .intl-tel-input input.form-control {
  width: 100% !important;
  margin-left: 0 !important;
  padding-left: 5.5rem !important;
}

.contact-page .intl-tel-input .selected-flag {
  padding: 0 0 0 10px !important;
}

.contact-page .intl-tel-input.separate-dial-code .selected-dial-code {
  padding-left: 28px !important;
}


/* ==========================================================================
   Product ratings and reviews
   ========================================================================== */

.product-reviews-section {
  padding: 3rem 0 3.5rem;
  background: var(--promot-white, #fff);
}

.product-reviews-section__inner {
  max-width: 1100px;
  margin: 0 auto;
}

.product-reviews-section__header {
  text-align: center;
  margin-bottom: 2rem;
}

.product-reviews-section__eyebrow {
  margin: 0 0 0.5rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--promot-red, #9e3040);
}

.product-reviews-section__title {
  margin: 0;
  font-size: clamp(1.6rem, 3vw, 2.1rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--promot-ink, #1a1514);
}

.product-reviews-section__title::after {
  content: "";
  display: block;
  width: 2.5rem;
  height: 3px;
  margin: 0.85rem auto 0;
  border-radius: 2px;
  background: var(--promot-red, #9e3040);
}

.product-reviews-section__grid {
  display: grid;
  grid-template-columns: minmax(240px, 320px) 1fr;
  gap: 1.75rem;
  align-items: start;
}

.product-reviews-summary {
  padding: 1.5rem 1.35rem;
  border: 1px solid var(--promot-line, #e8e2de);
  border-radius: 16px;
  background: #faf9f8;
  position: sticky;
  top: 6.5rem;
}

.product-reviews-summary__score {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  margin-bottom: 1.35rem;
  padding-bottom: 1.2rem;
  border-bottom: 1px solid var(--promot-line, #e8e2de);
}

.product-reviews-summary__number {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.04em;
  color: var(--promot-ink, #1a1514);
}

.product-reviews-summary__count {
  margin: 0.35rem 0 0;
  font-size: 0.88rem;
  color: var(--promot-ink-muted, #5c534f);
}

.product-reviews-stars {
  display: inline-flex;
  gap: 0.15rem;
  line-height: 1;
}

.product-reviews-stars__star {
  font-size: 1.15rem;
  color: #d8d0c8;
}

.product-reviews-stars__star.is-full,
.product-reviews-stars__star.is-half {
  color: #c9852a;
}

.product-reviews-stars--sm .product-reviews-stars__star {
  font-size: 0.95rem;
}

.product-reviews-bars {
  display: grid;
  gap: 0.55rem;
}

.product-reviews-bars__row {
  display: grid;
  grid-template-columns: 3.5rem 1fr 2.5rem;
  gap: 0.55rem;
  align-items: center;
}

.product-reviews-bars__label {
  font-size: 0.8rem;
  color: var(--promot-ink-muted, #5c534f);
}

.product-reviews-bars__track {
  height: 8px;
  border-radius: 999px;
  background: #ebe6e1;
  overflow: hidden;
}

.product-reviews-bars__fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #c9852a, #e0a84a);
  min-width: 0;
}

.product-reviews-bars__pct {
  font-size: 0.78rem;
  text-align: right;
  color: var(--promot-ink-muted, #5c534f);
}

.product-reviews-list {
  display: grid;
  gap: 0.9rem;
}

.product-reviews-more {
  display: grid;
  gap: 0.9rem;
}

.product-reviews-more[hidden] {
  display: none !important;
}

.product-reviews-list__actions {
  display: flex;
  justify-content: center;
  padding-top: 0.35rem;
}

.product-reviews-see-more {
  appearance: none;
  border: 1px solid var(--promot-line, #e8e2de);
  background: #fff;
  color: var(--promot-ink, #1a1514);
  border-radius: 999px;
  padding: 0.65rem 1.35rem;
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.product-reviews-see-more:hover,
.product-reviews-see-more:focus-visible {
  border-color: var(--promot-red, #9e3040);
  color: var(--promot-red, #9e3040);
  background: rgba(158, 48, 64, 0.06);
  outline: none;
}


.product-review-card {
  padding: 1.2rem 1.25rem;
  border: 1px solid var(--promot-line, #e8e2de);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(26, 21, 20, 0.04);
}

.product-review-card__top {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.55rem;
}

.product-review-card__avatar {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(158, 48, 64, 0.12);
  color: var(--promot-red, #9e3040);
  font-weight: 700;
  font-size: 0.95rem;
  flex-shrink: 0;
}

.product-review-card__name {
  margin: 0;
  font-size: 0.98rem;
  font-weight: 700;
  color: var(--promot-ink, #1a1514);
}

.product-review-card__date {
  margin: 0.15rem 0 0;
  font-size: 0.8rem;
  color: var(--promot-ink-muted, #5c534f);
}

.product-review-card__title {
  margin: 0.55rem 0 0.35rem;
  font-size: 1rem;
  font-weight: 700;
  color: var(--promot-ink, #1a1514);
}

.product-review-card__body {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.55;
  color: var(--promot-ink-muted, #5c534f);
}

@media (max-width: 991.98px) {
  .product-reviews-section__grid {
    grid-template-columns: 1fr;
  }

  .product-reviews-summary {
    position: static;
  }
}

/* ==========================================================================
   Track order page
   ========================================================================== */

.track-page {
  padding: 0 0 2.5rem;
  background: var(--promot-white, #fff);
}

body:has(.track-page) .promot-footer {
  margin-top: 0 !important;
}

.track-page__hero {
  padding: 3.25rem 0 0.5rem;
}

.track-page__intro {
  max-width: 40rem;
  margin: 0 auto;
  text-align: center;
}

.track-page__eyebrow {
  margin: 0 0 0.65rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--promot-red, #9e3040);
}

.track-page__title {
  margin: 0;
  font-size: clamp(1.85rem, 3.5vw, 2.55rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: var(--promot-ink, #1a1514);
}

.track-page__title::after {
  content: "";
  display: block;
  width: 2.75rem;
  height: 3px;
  margin: 0.9rem auto 0;
  border-radius: 2px;
  background: var(--promot-red, #9e3040);
}

.track-page__lede {
  margin: 1.1rem auto 0;
  max-width: 34rem;
  line-height: 1.55;
  font-size: 1.02rem;
  color: var(--promot-ink-muted, #5c534f);
}

.track-page__body {
  margin-top: 2.25rem;
}

.track-page__grid {
  align-items: stretch;
}

.track-page__aside {
  height: 100%;
  padding: 1.75rem 1.5rem;
  border: 1px solid var(--promot-line, #e8e2de);
  border-radius: 16px;
  background: linear-gradient(165deg, #2a2220 0%, #1a1514 55%, #241c1a 100%);
  color: #f5f0ec;
  box-shadow: 0 12px 32px rgba(26, 21, 20, 0.12);
}

.track-page__aside-title {
  margin: 0 0 0.55rem;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #fff;
}

.track-page__aside-copy {
  margin: 0 0 1.35rem;
  font-size: 0.95rem;
  line-height: 1.55;
  color: rgba(245, 240, 236, 0.78);
}

.track-page__tips {
  display: grid;
  gap: 0.85rem;
}

.track-page__tip {
  display: flex;
  gap: 0.85rem;
  align-items: flex-start;
  padding: 0.9rem 0.95rem;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.track-page__tip-icon {
  flex-shrink: 0;
  width: 2.25rem;
  height: 2.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(158, 48, 64, 0.28);
  color: #f3c4cb;
}

.track-page__tip-label {
  margin: 0 0 0.2rem;
  font-size: 0.88rem;
  font-weight: 700;
  color: #fff;
}

.track-page__tip-text {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.45;
  color: rgba(245, 240, 236, 0.72);
}

.track-page__tip-text a {
  color: #f3c4cb;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.track-page__tip-text a:hover {
  color: #fff;
}

.track-page__panel {
  position: relative;
  height: 100%;
  padding: 1.85rem 1.65rem 1.75rem;
  border: 1px solid var(--promot-line, #e8e2de);
  border-radius: 16px;
  background: #faf9f8;
  box-shadow: 0 8px 28px rgba(26, 21, 20, 0.05);
  overflow: hidden;
}

.track-page__panel-title {
  margin: 0 0 0.4rem;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--promot-ink, #1a1514);
}

.track-page__panel-copy {
  margin: 0 0 1.35rem;
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--promot-ink-muted, #5c534f);
}

.track-page__label {
  display: block;
  margin: 0 0 0.45rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--promot-ink, #1a1514);
}

.track-page__input.form-control,
.track-page__input {
  width: 100%;
  padding: 0.9rem 1.05rem !important;
  border: 1px solid var(--promot-line, #e8e2de) !important;
  border-radius: 10px !important;
  background: #fff !important;
  font-size: 1rem !important;
  color: var(--promot-ink, #1a1514) !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.track-page__input:focus,
.track-page__input:focus-visible {
  border-color: var(--promot-red, #9e3040) !important;
  box-shadow: 0 0 0 3px rgba(158, 48, 64, 0.14) !important;
  outline: none !important;
}

.track-page__actions {
  margin-top: 1.15rem;
}

.track-page__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 11rem;
  padding: 0.9rem 1.6rem;
  border: none;
  border-radius: 10px;
  background: var(--promot-red, #9e3040);
  color: #fff;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.track-page__submit:hover:not(:disabled) {
  background: var(--promot-red-deep, #7f2432);
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(158, 48, 64, 0.28);
}

.track-page__submit:disabled,
.track-page__submit.is-loading {
  opacity: 0.7;
  cursor: wait;
  transform: none;
  box-shadow: none;
}

.track-page__found {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  background: rgba(26, 21, 20, 0.88);
  color: #fff;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  text-align: center;
  animation: trackPageFound 0.9s ease forwards;
  z-index: 2;
}

@keyframes trackPageFound {
  0% { opacity: 0; }
  20% { opacity: 1; }
  100% { opacity: 1; }
}

@media (max-width: 991.98px) {
  .track-page__hero {
    padding-top: 2.25rem;
  }

  .track-page__body {
    margin-top: 1.5rem;
  }
}

@media (max-width: 575.98px) {
  .track-page__submit {
    width: 100%;
  }
}

/* ==========================================================================
   Stamp product detail (PDP) — visual redesign
   Scoped under .stamp-pdp / .pdp-modern; JS-critical class names preserved.
   ========================================================================== */

.stamp-pdp.stampingDetailsTop {
  padding-top: 2.5rem;
  padding-bottom: 2rem;
}

.stamp-pdp .stampDetailmain {
  /* Stretch so the sticky preview can travel the full form height */
  align-items: stretch;
  gap: 0;
}

/*
 * Keep buy-box + gallery side-by-side on desktop.
 * Bootstrap flex columns wrap when a child has a large min-content width
 * (long accessory names, square slider). Grid + minmax(0,1fr) prevents that.
 */
@media (min-width: 768px) {
  .stamp-pdp .stampDetailmain.row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 1.5rem;
    align-items: stretch;
    flex-wrap: nowrap;
  }

  .stamp-pdp .stampDetailmain > .stampingDetailsTopLeft,
  .stamp-pdp .stampDetailmain > .stamp-pdp__gallery {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    min-width: 0;
  }
}

@media (max-width: 767.98px) {
  .stamp-pdp .stampDetailmain.row {
    display: flex !important;
    flex-direction: column-reverse !important;
    flex-wrap: nowrap !important;
  }

  .stamp-pdp .stampDetailmain > .stampingDetailsTopLeft,
  .stamp-pdp .stampDetailmain > .stamp-pdp__gallery {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
  }
}

.stamp-pdp .stampingDetailsTopLeftCnt {
  padding-top: 0;
}

/* --- Header: title / code / price / qty --- */
.stamp-pdp .stamp-pdp__header {
  margin-bottom: 1.25rem;
  padding-bottom: 1.15rem;
  border-bottom: 1px solid var(--promot-line);
}

.stamp-pdp .stampingDetailsTopLeftCnt h1,
.stamp-pdp .stampingDetailsTopLeftCnt h1.StampingsectionTitle,
.stamp-pdp .StampingsectionTitle.product-title,
.stamp-pdp .stamp-pdp__header .StampingsectionTitle {
  color: var(--promot-ink) !important;
  font-family: var(--promot-display);
  font-size: clamp(1.65rem, 2.4vw, 2.35rem) !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
  margin: 0 0 0.5rem !important;
}

.stamp-pdp .stamp-pdp__code,
.stamp-pdp .stamp-pdp__header > p {
  color: var(--promot-ink-muted) !important;
  font-size: 0.9rem !important;
  font-weight: 500;
  line-height: 1.4;
  margin: 0 0 0.75rem !important;
}

.stamp-pdp .stamp-pdp__code span:first-child {
  color: var(--promot-ink-muted);
  font-weight: 500;
}

.stamp-pdp .stampingDetailsTopLeftCnt .stampingDetailsTopPrice {
  margin: 0.15rem 0 0.85rem;
}

.stamp-pdp .stampingDetailsTopLeftCnt .stampingDetailsTopPrice span {
  color: var(--promot-ink) !important;
  font-size: clamp(1.75rem, 2.2vw, 2.25rem) !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
}

.stamp-pdp .stampingDetailsTopLeftCnt .stampingDetailsTopQunty {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex-wrap: wrap;
}

.stamp-pdp .stampingDetailsTopLeftCnt .addItem {
  color: var(--promot-ink-muted) !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  margin-right: 0.5rem !important;
  margin-top: 0 !important;
}

.stamp-pdp .stampingDetailsTopLeftCnt .minus,
.stamp-pdp .stampingDetailsTopLeftCnt .plus,
.stamp-pdp .stampingDetailsTopLeftCnt .num {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  border: 1px solid var(--promot-line);
  background: var(--promot-white);
  color: var(--promot-ink) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  cursor: pointer;
  transition: border-color 0.2s var(--promot-ease), background 0.2s var(--promot-ease), color 0.2s var(--promot-ease);
}

.stamp-pdp .stampingDetailsTopLeftCnt .num {
  min-width: 2.5rem;
  border-radius: var(--promot-radius-sm);
  cursor: default;
  background: var(--promot-surface);
}

.stamp-pdp .stampingDetailsTopLeftCnt .minus:hover,
.stamp-pdp .stampingDetailsTopLeftCnt .plus:hover {
  border-color: var(--promot-red);
  color: var(--promot-red) !important;
  background: var(--promot-red-soft);
}

/* --- Variation chips --- */
.stamp-pdp .stamp-pdp__variations {
  margin-top: 0.5rem !important;
  margin-bottom: 1.25rem !important;
}

.stamp-pdp .stamp-pdp__variations-label {
  color: var(--promot-ink-muted) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  margin-bottom: 0.55rem !important;
  letter-spacing: 0.01em;
}

.stamp-pdp .variation-tabs {
  gap: 0.55rem !important;
  margin-top: 0.5rem !important;
}

.stamp-pdp .variation-tabs .nav-link {
  border: 1.5px solid var(--promot-line) !important;
  border-radius: 999px !important;
  background: var(--promot-white) !important;
  color: var(--promot-ink) !important;
  font-weight: 600 !important;
  font-size: 0.88rem !important;
  line-height: 1.25 !important;
  height: auto !important;
  min-height: 2.4rem;
  padding: 0.45rem 1rem !important;
  box-shadow: none !important;
  transition: border-color 0.2s var(--promot-ease), background 0.2s var(--promot-ease), color 0.2s var(--promot-ease);
}

.stamp-pdp .variation-tabs .nav-link:hover {
  background: var(--promot-red-soft) !important;
  border-color: rgba(158, 48, 64, 0.35) !important;
  color: var(--promot-red) !important;
}

.stamp-pdp .variation-tabs .nav-link.active {
  background: var(--promot-red) !important;
  border: 1.5px solid var(--promot-red) !important;
  color: #fff !important;
}

/* --- Simple / Advanced segmented control --- */
.stamp-pdp .stamp-detail-wrapper {
  margin-bottom: 0.75rem;
}

.stamp-pdp .stamp-detail-wrapper .nav-pills {
  display: inline-flex;
  width: 100%;
  gap: 0 !important;
  padding: 4px;
  background: var(--promot-surface);
  border: 1px solid var(--promot-line);
  border-radius: 999px;
  flex-wrap: nowrap;
  align-items: stretch;
}

.stamp-pdp .stamp-detail-wrapper .nav-pills .nav-link,
.stamp-pdp .stamp-detail-wrapper .nav-pills .nav-link.stampingleftbtn {
  flex: 1 1 0;
  justify-content: center;
  color: var(--promot-ink-muted) !important;
  background: transparent !important;
  border: none !important;
  border-radius: 999px !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 0.7rem 1rem !important;
  margin: 0 !important;
  gap: 0.45rem;
  box-shadow: none !important;
  transition: background 0.2s var(--promot-ease), color 0.2s var(--promot-ease);
}

.stamp-pdp .stamp-detail-wrapper .nav-pills .nav-link img {
  width: 14px;
  height: auto;
}

.stamp-pdp .stamp-detail-wrapper .nav-pills .nav-link.active,
.stamp-pdp .stamp-detail-wrapper .nav-pills .nav-link.stampingleftbtn.active,
.stamp-pdp .stamp-detail-wrapper .nav-pills .nav-link[aria-selected="true"] {
  color: #fff !important;
  background: var(--promot-red) !important;
  border: none !important;
}

/* --- Info callout (replace bootstrap alert look) --- */
.stamp-pdp .stamp-pdp__callout.alert,
.stamp-pdp .alert.alert-info.stamp-pdp__callout {
  background: var(--promot-surface-warm) !important;
  border: 1px solid var(--promot-line) !important;
  border-left: 3px solid var(--promot-red) !important;
  color: var(--promot-ink) !important;
  border-radius: var(--promot-radius-sm) !important;
  padding: 0.85rem 1rem !important;
  margin-bottom: 1rem !important;
  box-shadow: none !important;
  font-size: 0.92rem;
  line-height: 1.45;
}

.stamp-pdp .stamp-pdp__callout strong {
  color: var(--promot-ink);
  font-weight: 700;
}

/* --- Toolbar / form fields --- */
.stamp-pdp .toolbar-main-section {
  margin-top: 0.25rem;
}

.stamp-pdp .toolbar-main-section .toolbar {
  background: var(--promot-white);
  border: 1px solid var(--promot-line);
  border-radius: var(--promot-radius-sm);
  padding: 1rem 1rem 0.85rem;
}

.stamp-pdp .stampingrightradio {
  flex-wrap: wrap;
  gap: 0.35rem 0.75rem;
  padding-bottom: 0.75rem;
  margin-bottom: 0.35rem;
  border-bottom: 1px solid var(--promot-line);
}

.stamp-pdp .stampingrightradio .fw-bold {
  color: var(--promot-ink);
  font-size: 0.9rem;
  font-weight: 600 !important;
}

.stamp-pdp .toolbar label,
.stamp-pdp .font-span label,
.stamp-pdp .toolbar .font-span label {
  color: var(--promot-ink-muted) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  margin-bottom: 0.25rem;
}

.stamp-pdp .toolbar select,
.stamp-pdp .toolbar .selected_f_basic,
.stamp-pdp .toolbar .selected_f_advance,
.stamp-pdp .toolbar input[type="text"],
.stamp-pdp .toolbar input[type="number"],
.stamp-pdp input.line_test,
.stamp-pdp input.line_val,
.stamp-pdp .modal_input,
.stamp-pdp .form-control,
.stamp-pdp .form-select {
  border: 1px solid var(--promot-line) !important;
  border-radius: 10px !important;
  background: var(--promot-white) !important;
  color: var(--promot-ink) !important;
  font-size: 0.92rem !important;
  font-weight: 500;
  min-height: 2.55rem;
  padding: 0.45rem 0.75rem !important;
  box-shadow: none !important;
  transition: border-color 0.2s var(--promot-ease), box-shadow 0.2s var(--promot-ease);
}

.stamp-pdp .toolbar select:focus,
.stamp-pdp .toolbar input:focus,
.stamp-pdp input.line_test:focus,
.stamp-pdp input.line_val:focus,
.stamp-pdp .form-control:focus,
.stamp-pdp .form-select:focus {
  border-color: rgba(158, 48, 64, 0.45) !important;
  box-shadow: 0 0 0 3px var(--promot-red-soft) !important;
  outline: none !important;
}

.stamp-pdp .toolbar .d-flex.gap-5 {
  gap: 0.85rem !important;
}

.stamp-pdp .justification-alp button,
.stamp-pdp .toolbar button:not(.save_custom):not(.add-cart-btn-custome):not(.stampingleftbtn) {
  border: 1px solid var(--promot-line) !important;
  border-radius: 10px !important;
  background: var(--promot-surface) !important;
  color: var(--promot-ink) !important;
  transition: border-color 0.2s var(--promot-ease), background 0.2s var(--promot-ease), color 0.2s var(--promot-ease);
}

.stamp-pdp .justification-alp button:hover,
.stamp-pdp .justification-alp button.active,
.stamp-pdp .toolbar button.active:not(.save_custom):not(.add-cart-btn-custome) {
  border-color: var(--promot-red) !important;
  background: var(--promot-red-soft) !important;
  color: var(--promot-red) !important;
}

.stamp-pdp input.line_test,
.stamp-pdp input.line_val {
  width: 100% !important;
  margin-bottom: 0.5rem;
}

/* --- Customization form (lines, options, helpers) --- */
.stamp-pdp .texteditorMain,
.stamp-pdp .texteditorr,
.stamp-pdp .customized-toolbar-content .texteditorMain {
  margin-bottom: 1rem;
}

.stamp-pdp .texteditorMain > br {
  display: none;
}

.stamp-pdp .textinput,
.stamp-pdp .textinputArea,
.stamp-pdp .price_div,
.stamp-pdp .saveit_Custom {
  gap: 0.35rem;
}

.stamp-pdp .texteditorMain label,
.stamp-pdp .price_div > .d-flex > label,
.stamp-pdp .customize_text_color.m-0,
.stamp-pdp .textinputArea label,
.stamp-pdp label.customize_text_color {
  color: var(--promot-ink) !important;
  font-size: 0.92rem !important;
  font-weight: 650 !important;
  letter-spacing: -0.01em;
  margin-bottom: 0.4rem !important;
  line-height: 1.3;
}

.stamp-pdp .is_required,
.stamp-pdp span.is_required {
  color: var(--promot-red) !important;
  font-weight: 700;
  margin-left: 0.15rem;
}

.stamp-pdp .text_style_show_hide {
  color: var(--promot-red) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  margin-left: 0.5rem;
}

.stamp-pdp .text_style_show_hide:hover {
  text-decoration: underline !important;
}

.stamp-pdp .character_class,
.stamp-pdp span.character_class {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 1.25rem;
  margin: 0 !important;
  padding: 0;
  color: var(--promot-ink-muted) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
}

.stamp-pdp .modal_input .character_class {
  margin-left: auto !important;
}

.stamp-pdp .textarea-container .character_class {
  position: absolute;
  right: 0.75rem;
  bottom: 0.65rem;
  z-index: 2;
}

.stamp-pdp .modal_input,
.stamp-pdp .modal_input.form-control {
  display: flex !important;
  align-items: center;
  gap: 0.65rem;
  width: 100%;
  min-height: 3rem !important;
  height: auto !important;
  padding: 0.7rem 0.9rem !important;
  margin-top: 0.45rem !important;
  background: var(--promot-white) !important;
  border: 1.5px solid var(--promot-line) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  color: var(--promot-ink) !important;
  cursor: pointer;
  transition: border-color 0.2s var(--promot-ease), background 0.2s var(--promot-ease), box-shadow 0.2s var(--promot-ease);
}

.stamp-pdp .modal_input:hover {
  border-color: rgba(158, 48, 64, 0.35) !important;
  background: var(--promot-surface) !important;
}

.stamp-pdp .modal_input.active_it,
.stamp-pdp .modal_input.form-control.active_it,
.stamp-pdp .price_div .modal_input.active_it,
.stamp-pdp .active_it.modal_input {
  border: 1.5px solid var(--promot-red) !important;
  border-color: var(--promot-red) !important;
  background: var(--promot-red-soft) !important;
  box-shadow: 0 0 0 3px rgba(158, 48, 64, 0.08) !important;
}

.stamp-pdp .add_boder {
  border-color: var(--promot-red) !important;
}

.stamp-pdp .modal_input input,
.stamp-pdp .modal_input input.newtse,
.stamp-pdp .modal_input input.priceInput,
.stamp-pdp .modal_input input.optional-line,
.stamp-pdp .modal_input input.form-control {
  flex: 1 1 auto;
  min-width: 0;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--promot-ink) !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  line-height: 1.35;
  cursor: inherit;
}

.stamp-pdp .modal_input input:focus {
  outline: none !important;
  box-shadow: none !important;
}

.stamp-pdp .modal_input input[readonly] {
  cursor: pointer;
}

.stamp-pdp .modal_input .currency,
.stamp-pdp .modal_input span.currency,
.stamp-pdp .modal_input .customize_text_color.currency {
  flex: 0 0 auto;
  margin-left: auto !important;
  margin-right: 0 !important;
  color: var(--promot-red) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  white-space: nowrap;
}

.stamp-pdp .modal_input img.info,
.stamp-pdp .modal_input .info,
.stamp-pdp img.info {
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
  opacity: 0.45;
  flex-shrink: 0;
  float: none !important;
}

.stamp-pdp .modal_input img.gift-box-img,
.stamp-pdp img.gift-box-img {
  width: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  border-radius: 8px;
  object-fit: cover;
  border: 1px solid var(--promot-line);
  flex-shrink: 0;
  float: none !important;
  background: var(--promot-surface);
}

.stamp-pdp .modal_input .title_text {
  display: none; /* shown via jQuery .show() on .info hover */
}

/* Info tooltips must stack above sticky preview (sibling stacking context) */
.stamp-pdp .stampingDetailsTopLeft {
  position: relative;
  z-index: 50;
  min-width: 0;
}

.stamp-pdp .title_text,
.stamp-pdp .customized-toolbar-content .title_text,
.stamp-pdp .modal_input .title_text {
  z-index: 60 !important;
}

.stamp-pdp .textarea-container {
  position: relative;
  width: 100%;
  margin-top: 0.35rem;
}

.stamp-pdp .textarea-container textarea,
.stamp-pdp textarea.newtxtarea {
  width: 100% !important;
  min-height: 5.5rem;
  padding: 0.75rem 2.5rem 1.75rem 0.9rem !important;
  border: 1.5px solid var(--promot-line) !important;
  border-radius: 12px !important;
  background: var(--promot-white) !important;
  color: var(--promot-ink) !important;
  font-size: 0.92rem !important;
  font-weight: 500;
  line-height: 1.45;
  resize: vertical;
  box-shadow: none !important;
  transition: border-color 0.2s var(--promot-ease), box-shadow 0.2s var(--promot-ease);
}

.stamp-pdp .textarea-container textarea:focus,
.stamp-pdp textarea.newtxtarea:focus {
  border-color: rgba(158, 48, 64, 0.45) !important;
  box-shadow: 0 0 0 3px var(--promot-red-soft) !important;
  outline: none !important;
}

.stamp-pdp .textarea-container .info {
  top: 0.75rem !important;
  right: 0.75rem !important;
  opacity: 0.4;
}

.stamp-pdp input.line_test,
.stamp-pdp input.line_val,
.stamp-pdp input.optional-line:not(.modal_input input) {
  border: 1.5px solid var(--promot-line) !important;
  border-radius: 12px !important;
  min-height: 3rem !important;
  padding: 0.7rem 0.9rem !important;
  background: var(--promot-white) !important;
}

.stamp-pdp .modal_input.form-control:focus-within,
.stamp-pdp .texteditorMain .modal_input:focus-within:not(.active_it) {
  border-color: rgba(158, 48, 64, 0.45) !important;
  box-shadow: 0 0 0 3px var(--promot-red-soft) !important;
  background: var(--promot-white) !important;
}

.stamp-pdp .main_text_style,
.stamp-pdp .text_color {
  margin-top: 0.65rem;
  gap: 0.65rem !important;
}

.stamp-pdp .main_text_style .form-select,
.stamp-pdp .text_color .form-select {
  border-radius: 10px !important;
  border-color: var(--promot-line) !important;
  min-height: 2.4rem;
  font-size: 0.88rem !important;
}

.stamp-pdp .color-swatch-wrapper,
.stamp-pdp .swatch-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.stamp-pdp .picker-wraper {
  margin: 0 !important;
}

.stamp-pdp .color-swatch,
.stamp-pdp .color-swatch.change_text {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 999px;
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px var(--promot-line);
  cursor: pointer;
}

.stamp-pdp .picker-wraper:has(.color-swatch.active),
.stamp-pdp .picker-wraper.active {
  outline: none;
}

.stamp-pdp .alignment_po > div,
.stamp-pdp #align_icons > div {
  border: 1px solid var(--promot-line) !important;
  border-radius: 8px !important;
  background: var(--promot-surface);
  transition: border-color 0.2s var(--promot-ease), background 0.2s var(--promot-ease);
}

.stamp-pdp .alignment_po > div.active_button,
.stamp-pdp #align_icons > div.active_button {
  border-color: var(--promot-red) !important;
  background: var(--promot-red-soft) !important;
  color: var(--promot-red);
}

.stamp-pdp .accessoriesText,
.stamp-pdp label.accessoriesText {
  color: var(--promot-ink) !important;
  font-size: 0.92rem !important;
  font-weight: 650 !important;
  margin-bottom: 0.5rem !important;
}

/* --- Accessories: one per row, option-list layout --- */
.stamp-pdp .accessories-wrapper {
  margin-top: 0.35rem;
}

.stamp-pdp .accessories-wrapper .accessories-grid,
.stamp-pdp .accessories-wrapper > .row {
  --bs-gutter-x: 0.55rem;
  --bs-gutter-y: 0.55rem;
}

.stamp-pdp .accessories-wrapper .col-12,
.stamp-pdp .accessories-wrapper [class*="col-"] {
  flex: 0 0 100%;
  max-width: 100%;
  width: 100%;
}

.stamp-pdp .accessory-card {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 0.75rem;
  text-align: left !important;
  border: 1px solid var(--promot-line) !important;
  border-radius: var(--promot-radius-sm) !important;
  background: var(--promot-white) !important;
  box-shadow: none !important;
  margin: 0;
  padding: 0.7rem 0.85rem !important;
  min-height: 4.75rem;
  cursor: pointer;
  transition: border-color 0.2s var(--promot-ease), box-shadow 0.2s var(--promot-ease), background 0.2s var(--promot-ease);
}

.stamp-pdp .accessory-card:hover {
  border-color: #d8cfc8 !important;
  background: #fcfbfa !important;
}

.stamp-pdp .accessory-card:focus-visible {
  outline: none;
  border-color: var(--promot-red) !important;
  box-shadow: 0 0 0 3px rgba(158, 48, 64, 0.14) !important;
}

.stamp-pdp .accessory-card.selected,
.stamp-pdp .accessory-card.border-primary {
  border-color: var(--promot-red) !important;
  box-shadow: 0 0 0 3px rgba(158, 48, 64, 0.12) !important;
  background: #fffaf9 !important;
}

.stamp-pdp .accessory-card__radio {
  flex-shrink: 0;
  width: 1.15rem;
  height: 1.15rem;
  border-radius: 999px;
  border: 2px solid #cfc7c1;
  background: #fff;
  position: relative;
  transition: border-color 0.2s var(--promot-ease), background 0.2s var(--promot-ease);
}

.stamp-pdp .accessory-card.selected .accessory-card__radio,
.stamp-pdp .accessory-card.border-primary .accessory-card__radio {
  border-color: var(--promot-red);
  background: var(--promot-red);
  box-shadow: inset 0 0 0 3px #fff;
}

.stamp-pdp .accessory-card__img,
.stamp-pdp .accessory-card .card-img-top {
  width: 3.65rem !important;
  height: 3.65rem !important;
  max-width: 3.65rem !important;
  object-fit: contain !important;
  flex-shrink: 0;
  border-radius: 8px;
  background: var(--promot-surface);
  margin: 0 !important;
  border: 1px solid rgba(26, 21, 20, 0.06);
}

.stamp-pdp .accessory-card__body,
.stamp-pdp .accessory-card .card-body {
  flex: 1 1 auto;
  min-width: 0;
  padding: 0 !important;
  text-align: left !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.28rem;
}

.stamp-pdp .accessory-card__name,
.stamp-pdp .accessory-card .card-title {
  margin: 0 !important;
  font-size: 0.9rem !important;
  font-weight: 650 !important;
  line-height: 1.3 !important;
  color: var(--promot-ink) !important;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  word-break: break-word;
}

.stamp-pdp .accessory-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  margin: 0;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--promot-ink-muted);
  line-height: 1.2;
}

.stamp-pdp .accessory-card__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.18rem 0.45rem;
  border-radius: 999px;
  background: var(--promot-surface);
  border: 1px solid var(--promot-line);
  color: var(--promot-ink);
  font-size: 0.68rem;
  font-weight: 650;
  text-transform: capitalize;
}

.stamp-pdp .accessory-card__chip--muted {
  color: var(--promot-ink-muted);
  background: transparent;
  border-color: transparent;
  padding-left: 0;
  padding-right: 0;
  text-transform: none;
  font-weight: 600;
}

.stamp-pdp .accessory-card__swatch {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 999px;
  background: #8a817c;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.12);
}

.stamp-pdp .accessory-card__swatch--red { background: #c43a4d; }
.stamp-pdp .accessory-card__swatch--blue { background: #2f6fed; }
.stamp-pdp .accessory-card__swatch--black { background: #1a1514; }
.stamp-pdp .accessory-card__swatch--green { background: #2f8f5b; }
.stamp-pdp .accessory-card__swatch--purple { background: #7a3fa8; }

.stamp-pdp .accessory-card__code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--promot-ink-muted);
  letter-spacing: 0.01em;
}

.stamp-pdp .accessory-card__price,
.stamp-pdp .accessory-card .card-text {
  flex-shrink: 0;
  margin: 0 0 0 auto !important;
  padding-left: 0.5rem;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 0.1rem;
  min-width: 4.25rem;
  text-align: right !important;
}

.stamp-pdp .accessory-card__amount {
  font-size: 1.05rem !important;
  font-weight: 750 !important;
  line-height: 1.1 !important;
  color: var(--promot-ink) !important;
  letter-spacing: -0.01em;
}

.stamp-pdp .accessory-card__amount--free {
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  color: var(--promot-ink-muted) !important;
}

.stamp-pdp .accessory-card__was {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--promot-ink-muted);
  text-decoration: line-through;
}

.stamp-pdp .accessoriesText {
  color: var(--promot-ink) !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.02em;
  margin: 1rem 0 0.65rem !important;
}

@media (max-width: 575.98px) {
  .stamp-pdp .accessory-card {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0.55rem 0.65rem;
  }

  .stamp-pdp .accessory-card__price {
    width: 100%;
    flex-direction: row;
    justify-content: space-between;
    align-items: baseline;
    padding-left: calc(1.15rem + 0.75rem + 3.65rem + 0.75rem);
    min-width: 0;
  }
}

/* --- Add to cart CTA --- */
.stamp-pdp .add-cart-btn-custome,
.stamp-pdp .stampingDetailsTopBtn .add-cart-btn button,
.stamp-pdp button.save_custom.add-cart-btn-custome {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  background: var(--promot-red) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 0.9rem 1.5rem !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  line-height: 1.2 !important;
  box-shadow: none !important;
  transition: background 0.2s var(--promot-ease), transform 0.2s var(--promot-ease);
}

.stamp-pdp .add-cart-btn-custome:hover,
.stamp-pdp button.save_custom.add-cart-btn-custome:hover,
.stamp-pdp .stampingDetailsTopBtn .add-cart-btn button:hover {
  background: var(--promot-red-deep) !important;
  color: #fff !important;
  transform: translateY(-1px);
}

.stamp-pdp .textsavebtn {
  width: 100%;
  margin-top: 0.75rem;
}

.stamp-pdp .textsavebtn span {
  display: none;
}

/* --- Preview / Gallery media toggle --- */
.stamp-pdp .stamp-pdp__media-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  padding: 0.22rem;
  margin: 0 auto 0.85rem;
  width: fit-content;
  max-width: 100%;
  background: var(--promot-surface-warm, #f3eee8);
  border: 1px solid var(--promot-line, #e8e2de);
  border-radius: 999px;
  box-shadow: 0 1px 2px rgba(26, 21, 20, 0.04);
}

.stamp-pdp .stamp-pdp__media-toggle-btn {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--promot-ink-muted, #5c534f);
  font-family: var(--promot-font, "Montserrat", system-ui, sans-serif);
  font-size: 0.78rem;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1;
  padding: 0.55rem 1.05rem;
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.2s var(--promot-ease, ease), color 0.2s var(--promot-ease, ease),
    box-shadow 0.2s var(--promot-ease, ease);
}

.stamp-pdp .stamp-pdp__media-toggle-btn:hover,
.stamp-pdp .stamp-pdp__media-toggle-btn:focus-visible {
  color: var(--promot-ink, #1a1514);
  outline: none;
}

.stamp-pdp .stamp-pdp__media-toggle-btn.is-active {
  background: #fff;
  color: var(--promot-red, #9e3040);
  box-shadow: 0 1px 3px rgba(26, 21, 20, 0.1), 0 0 0 1px rgba(158, 48, 64, 0.12);
}

/* --- Right column gallery (sticky while editing) --- */
.stamp-pdp .stamp-pdp__gallery {
  position: relative;
  z-index: 1;
  /* Do not force width:100% on desktop — that wraps the Bootstrap col */
  overflow: visible;
  align-self: stretch;
  min-width: 0;
}

.stamp-pdp .stamp-pdp__gallery .sideSliderStamDetail,
.stamp-pdp .stamp-pdp__gallery .sideSliderStamDetail.sticky-top {
  position: sticky !important;
  top: 6.25rem !important;
  z-index: 1 !important;
  gap: 0.75rem;
  align-items: center;
  width: 100%;
  overflow: visible;
  padding-bottom: 0.5rem;
}

.stamp-pdp .stamp-pdp__gallery .main-header:not(.d-none) {
  background: var(--promot-white);
  border: 1px solid var(--promot-line);
  border-radius: var(--promot-radius);
  padding: 1rem 0.75rem 0.85rem;
  box-shadow: var(--promot-shadow);
  width: 100%;
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden; /* never spill outside the preview card */
}

.stamp-pdp .customize-canvas:not(.d-none) {
  overflow: hidden;
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

/* Fit zoomed preview inside the card — scale down, no scrollbar */
.stamp-pdp .main-header .maximum-height,
.stamp-pdp .customize-canvas .maximum-height {
  overflow: hidden;
  max-width: 100%;
  width: 100%;
  padding: 0.55rem 0.5rem 0.65rem;
  box-sizing: border-box;
}

.stamp-pdp .stamp-pdp__preview-fit {
  width: 100%;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

@media (max-width: 767.98px) {
  .stamp-pdp .stamp-pdp__gallery .sideSliderStamDetail,
  .stamp-pdp .stamp-pdp__gallery .sideSliderStamDetail.sticky-top {
    position: relative !important;
    top: auto !important;
    max-height: none;
    overflow: visible;
  }
}

.stamp-pdp #primary_slider.stamp-pdp__primary,
.stamp-pdp #primary_slider {
  width: 100% !important;
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
  background: var(--promot-surface);
  border: 1px solid var(--promot-line);
  border-radius: var(--promot-radius);
  overflow: hidden;
  box-shadow: var(--promot-shadow);
}

.stamp-pdp #primary_slider .splide__track,
.stamp-pdp #primary_slider .custome-slide,
.stamp-pdp #primary_slider .slide-image-container {
  border-radius: inherit;
}

.stamp-pdp #primary_slider .custome-slide,
.stamp-pdp #primary_slider .slide-image-container {
  min-height: 0;
  aspect-ratio: 1 / 1;
  max-width: 100%;
  width: 100%;
}

.stamp-pdp #primary_slider .modal_image,
.stamp-pdp #primary_slider .primary-image,
.stamp-pdp #primary_slider .secondary-image {
  border-radius: 0 !important;
  object-fit: contain;
}

.stamp-pdp .stamp-pdp__preview-label,
.stamp-pdp #lblstamppreviewtop {
  display: inline-block;
  margin-bottom: 0.65rem;
  padding: 0.4rem 0.95rem;
  background: var(--promot-surface-warm);
  color: var(--promot-ink) !important;
  border: 1px solid var(--promot-line);
  border-radius: 999px;
  font-size: 0.8rem !important;
  font-weight: 650;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.stamp-pdp .vertical-bg,
.stamp-pdp .maximum-height .vertical-bg {
  background: var(--promot-white);
  border: 1px solid var(--promot-line);
  border-radius: var(--promot-radius-sm);
  padding: 0;
  box-shadow: var(--promot-shadow);
  overflow: hidden;
  margin: 0;
  width: max-content;
  min-width: max-content;
  max-width: none;
}

/* Hide legacy 6px grey “base” bar under canvas (looks like a glitch under rounded preview) */
.stamp-pdp .bg-b {
  display: none !important;
}

/* Modern dimension rulers — exact match to canvas box */
.stamp-pdp .stamp-pdp__preview-stage {
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto auto;
  width: max-content;
  min-width: max-content;
  max-width: none;
  flex: 0 0 auto;
  margin: 0 auto;
  column-gap: 0.55rem;
  row-gap: 0.45rem;
  align-items: stretch;
  justify-items: stretch;
  color: #7a726c;
}

/* Canvas display size must follow Fabric’s inline bitmap size (not width:100%).
   Do NOT force width/height:auto on .canvas-container — absolute child canvases
   would collapse the container to 0×0 and overflow:hidden parents clip the preview. */
.stamp-pdp .stamp-pdp__preview-stage .canvas-container {
  max-width: none !important;
  max-height: none !important;
  display: block;
  /* Keep Fabric inline width/height */
}

.stamp-pdp .stamp-pdp__preview-stage canvas.imageCanvas,
.stamp-pdp .stamp-pdp__preview-stage #imageCanvas,
.stamp-pdp .stamp-pdp__preview-stage #myCanvas,
.stamp-pdp .stamp-pdp__preview-stage .lower-canvas,
.stamp-pdp .stamp-pdp__preview-stage .upper-canvas {
  max-width: none !important;
  max-height: none !important;
}

/* Width: [line] label [line] — label sits in a gap, never on the rule */
.stamp-pdp .stamp-pdp__dim--x {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.7rem;
  min-width: 0;
  width: 100%;
  position: relative;
}

/* Height: label left of continuous rule */
.stamp-pdp .stamp-pdp__dim--y {
  grid-column: 1;
  grid-row: 2;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.65rem;
  min-height: 0;
  height: 100%;
  position: relative;
}

.stamp-pdp .stamp-pdp__preview-canvas {
  grid-column: 2;
  grid-row: 2;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  min-width: 0;
}

.stamp-pdp .stamp-pdp__dim-label {
  font-family: var(--promot-font, "Montserrat", system-ui, sans-serif);
  font-size: 0.72rem !important;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.15;
  color: #5c534f;
  white-space: nowrap;
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  background: transparent;
}

.stamp-pdp .stamp-pdp__dim--y .stamp-pdp__dim-label,
.stamp-pdp .stamp-pdp__dim--y .stamp-pdp__dim-label.inch-text {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  padding: 0.35rem 0;
}

/* Kill legacy absolute PNG-arrow positioning */
.stamp-pdp .stamp-pdp__dim-rule,
.stamp-pdp .stamp-pdp__dim-rule.horizontal,
.stamp-pdp .stamp-pdp__dim-rule.vertical,
.stamp-pdp .stamp-pdp__dim-rule.horizontaltest,
.stamp-pdp .stamp-pdp__dim-rule.verticaltest {
  display: block !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  float: none !important;
  background: currentColor;
  border: 0;
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  max-height: none !important;
  opacity: 0.85;
  z-index: 1;
}

.stamp-pdp .stamp-pdp__dim--x .stamp-pdp__dim-rule {
  flex: 1 1 0;
  width: auto !important;
  min-width: 0.75rem;
  height: 1px !important;
  align-self: center;
}

.stamp-pdp .stamp-pdp__dim--x .stamp-pdp__dim-rule--start::before,
.stamp-pdp .stamp-pdp__dim--x .stamp-pdp__dim-rule--end::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 1px;
  height: 10px;
  background: currentColor;
  transform: translateY(-50%);
}

.stamp-pdp .stamp-pdp__dim--x .stamp-pdp__dim-rule--start::before {
  left: 0;
}

.stamp-pdp .stamp-pdp__dim--x .stamp-pdp__dim-rule--end::after {
  right: 0;
}

.stamp-pdp .stamp-pdp__dim--y .stamp-pdp__dim-rule {
  flex: 0 0 auto;
  width: 1px !important;
  height: 100% !important;
  align-self: stretch;
}

.stamp-pdp .stamp-pdp__dim--y .stamp-pdp__dim-rule::before,
.stamp-pdp .stamp-pdp__dim--y .stamp-pdp__dim-rule::after {
  content: "";
  position: absolute;
  left: 50%;
  height: 1px;
  width: 10px;
  background: currentColor;
  transform: translateX(-50%);
}

.stamp-pdp .stamp-pdp__dim--y .stamp-pdp__dim-rule::before {
  top: 0;
}

.stamp-pdp .stamp-pdp__dim--y .stamp-pdp__dim-rule::after {
  bottom: 0;
}

.stamp-pdp .stamp-pdp__preview-stage .vertical-bg .canvas-container,
.stamp-pdp .stamp-pdp__preview-stage .vertical-bg canvas,
.stamp-pdp .stamp-pdp__preview-stage .vertical-bg .lower-canvas,
.stamp-pdp .stamp-pdp__preview-stage .vertical-bg .upper-canvas {
  border-radius: 0;
}

.stamp-pdp .stamp-pdp__preview-stage .inch-text,
.stamp-pdp .stamp-pdp__preview-stage .vertical-text {
  writing-mode: horizontal-tb;
  transform: none;
  position: static !important;
  left: auto !important;
  top: auto !important;
  width: auto !important;
  height: auto !important;
}

.stamp-pdp .stamp-pdp__dim--y .stamp-pdp__dim-label.inch-text {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

.stamp-pdp .stamp-pdp__thumbs.slider-styling,
.stamp-pdp .slider-styling.stamp-pdp__thumbs {
  margin-top: 1rem !important;
  margin-left: auto;
  margin-right: auto;
  width: fit-content;
  max-width: 560px !important;
  justify-content: center;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: nowrap;
}

.stamp-pdp #thumbnail_slider {
  max-width: 460px !important;
  width: auto !important;
  flex: 0 1 auto;
  min-width: 0;
}

.stamp-pdp .stamp-pdp__thumbs .arrow-wrapper {
  flex: 0 0 auto;
}

.stamp-pdp #thumbnail_slider .thubnail-item,
.stamp-pdp .splide .thubnail-item {
  border: 2px solid transparent !important;
  border-radius: 12px !important;
  overflow: hidden;
  background-color: var(--promot-surface) !important;
  background-size: contain !important;
  opacity: 0.85;
  transition: border-color 0.2s var(--promot-ease), opacity 0.2s var(--promot-ease), box-shadow 0.2s var(--promot-ease);
}

.stamp-pdp #thumbnail_slider .thubnail-item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.stamp-pdp #thumbnail_slider .thubnail-item.is-active,
.stamp-pdp .splide--nav > .splide__track > .splide__list > .splide__slide.is-active.thubnail-item,
.stamp-pdp .splide .thubnail-item.is-active {
  border-color: var(--promot-red) !important;
  opacity: 1;
  box-shadow: 0 0 0 1px var(--promot-red-soft);
}

.stamp-pdp .arrow-wrapper .previous-button,
.stamp-pdp .arrow-wrapper .next-button {
  width: 2.4rem;
  height: 2.4rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--promot-line) !important;
  border-radius: 999px !important;
  background: var(--promot-white) !important;
  color: var(--promot-ink);
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1;
  transition: border-color 0.2s var(--promot-ease), color 0.2s var(--promot-ease), background 0.2s var(--promot-ease);
}

.stamp-pdp .arrow-wrapper .previous-button .stamp-pdp__thumb-arrow,
.stamp-pdp .arrow-wrapper .next-button .stamp-pdp__thumb-arrow {
  display: block;
  width: 1.05rem;
  height: 1.05rem;
  flex-shrink: 0;
}

.stamp-pdp .arrow-wrapper .previous-button:hover,
.stamp-pdp .arrow-wrapper .next-button:hover {
  border-color: var(--promot-red) !important;
  color: var(--promot-red);
  background: var(--promot-red-soft) !important;
}

.stamp-pdp .zoomdropdown .form-select {
  max-width: 12rem;
  margin: 0.75rem auto 0;
}

/* Product description within PDP section */
.stamp-pdp .description-wrap {
  color: var(--promot-ink-muted);
  line-height: 1.65;
}

.stamp-pdp .toggle-btn {
  border: 1px solid var(--promot-line);
  border-radius: 999px;
  background: var(--promot-white);
  color: var(--promot-ink);
  font-weight: 600;
  padding: 0.55rem 1.25rem;
}

.stamp-pdp .toggle-btn:hover {
  border-color: var(--promot-red);
  color: var(--promot-red);
}

@media (max-width: 991.98px) {
  .stamp-pdp.stampingDetailsTop {
    padding-top: 1.5rem;
  }

  .stamp-pdp .stamp-detail-wrapper .nav-pills .nav-link,
  .stamp-pdp .stamp-detail-wrapper .nav-pills .nav-link.stampingleftbtn {
    font-size: 0.85rem !important;
    padding: 0.6rem 0.65rem !important;
  }

  .stamp-pdp .stampingDetailsTopLeftCnt .stampingDetailsTopPrice span {
    font-size: 1.65rem !important;
  }
}

@media (max-width: 575.98px) {
  .stamp-pdp .stamp-detail-wrapper .nav-pills {
    border-radius: var(--promot-radius-sm);
    flex-direction: column;
  }

  .stamp-pdp .stamp-detail-wrapper .nav-pills .nav-link,
  .stamp-pdp .stamp-detail-wrapper .nav-pills .nav-link.stampingleftbtn {
    border-radius: 10px !important;
  }

  .stamp-pdp .toolbar-main-section .toolbar {
    padding: 0.85rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .stamp-pdp .variation-tabs .nav-link,
  .stamp-pdp .add-cart-btn-custome,
  .stamp-pdp .stampingDetailsTopLeftCnt .minus,
  .stamp-pdp .stampingDetailsTopLeftCnt .plus,
  .stamp-pdp #thumbnail_slider .thubnail-item {
    transition: none !important;
  }
}

/* ==========================================================================
   Checkout pages (.checkout-page / .co-*)
   ========================================================================== */

.checkout-page {
  background: var(--promot-white);
  padding: 2.25rem 0 4.5rem;
  font-family: var(--promot-font);
  color: var(--promot-ink);
}

.checkout-page__container {
  max-width: 1120px;
}

.checkout-page__header {
  text-align: center;
  margin-bottom: 1.75rem;
  display: block;
}

.checkout-page__eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--promot-ink-muted);
}

.checkout-page__title {
  margin: 0;
  font-family: var(--promot-display);
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--promot-ink);
}

/* Progress */
.co-progress {
  margin: 0 auto 2rem;
  max-width: 560px;
}

.co-progress__list {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}

.co-progress__list::before {
  content: "";
  position: absolute;
  top: 1.05rem;
  left: 12%;
  right: 12%;
  height: 1px;
  background: var(--promot-line);
  z-index: 0;
}

.co-progress__step {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.45rem;
  flex: 1;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.co-progress__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 999px;
  border: 1px solid var(--promot-line);
  background: var(--promot-white);
  color: var(--promot-ink-muted);
  font-size: 0.8rem;
  font-weight: 700;
  transition: background 0.2s var(--promot-ease), border-color 0.2s var(--promot-ease), color 0.2s var(--promot-ease);
}

.co-progress__label {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--promot-ink-muted);
}

.co-progress__step.is-active .co-progress__num,
.co-progress__step.is-complete .co-progress__num {
  background: var(--promot-red);
  border-color: var(--promot-red);
  color: #fff;
}

.co-progress__step.is-active .co-progress__label {
  color: var(--promot-ink);
}

.co-progress__step.is-complete .co-progress__label {
  color: var(--promot-red);
}

/* Layout */
.co-layout {
  align-items: flex-start;
}

.co-aside .co-summary,
.co-aside .co-summary-stack {
  position: sticky;
  top: 1.25rem;
}

.co-panel,
.checkout-page .ContactUsFormCheckout,
.checkout-page .checkOutForm,
.checkout-page .CheckoutOderSummary,
.checkout-page .CheckoutOderSummaryCnt,
.payment-page .co-panel,
.payment-page .CheckoutOderSummary,
.payment-page .CheckoutOderSummaryCnt {
  background: var(--promot-white) !important;
  border: 1px solid var(--promot-line) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  padding: 1.25rem 1.25rem !important;
  margin-top: 0 !important;
}

.checkout-page .CheckoutOderSummary {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.checkout-page .ContactUsFormCheckout.co-panel--nested,
.checkout-page #billingAddressDiv {
  border-style: dashed !important;
  background: var(--promot-surface) !important;
}

.co-panel__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.85rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid var(--promot-line);
}

.co-panel--cart .co-panel__head {
  margin-bottom: 0;
  border-bottom: 0;
  padding-bottom: 0.35rem;
}

.co-panel__title,
.checkout-page .StampingsectionTitle,
.payment-page .StampingsectionTitle,
.payment-page .stampingCreditCradTitle {
  font-family: var(--promot-display);
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em;
  color: var(--promot-ink) !important;
  margin: 0 !important;
}

.co-panel__sub {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--promot-ink-muted);
  line-height: 1.4;
}

/* Cart lines — retail list, not nested beige cards */
.co-lines {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
  margin-top: 0.25rem;
}

.checkout-page .co-line.custom_addcart,
.checkout-page .custom_addcart.co-line {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-start;
  gap: 0.9rem;
  margin: 0 !important;
  padding: 1.1rem 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--promot-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: visible;
}

.checkout-page .co-line.custom_addcart:last-child,
.checkout-page .custom_addcart.co-line:last-child {
  border-bottom: 0 !important;
  padding-bottom: 0.35rem !important;
}

.checkout-page .co-line > *,
.checkout-page .custom_addcart.co-line > * {
  width: auto !important;
  max-width: none !important;
  flex-shrink: 1;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-top: 0 !important;
}

.co-line__check {
  flex: 0 0 auto;
  padding-top: 1.35rem;
}

.co-line__check .check_box {
  width: 1rem;
  height: 1rem;
  accent-color: var(--promot-red);
  transform: none !important;
}

.co-line__media {
  flex: 0 0 72px !important;
  width: 72px !important;
  max-width: 72px !important;
  height: 72px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--promot-line);
  background: var(--promot-surface);
}

.co-line__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
}

.co-line__body {
  flex: 1 1 auto !important;
  min-width: 0;
  width: auto !important;
}

.co-line__main {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
}

.co-line__info {
  min-width: 0;
  flex: 1 1 auto;
}

.co-line__info h4 {
  margin: 0 0 0.65rem;
  font-size: 0.95rem;
  font-weight: 650;
  color: var(--promot-ink);
  line-height: 1.35;
}

.co-line__meta {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.35rem;
  text-align: right;
}

.co-line__price .company-name,
.checkout-page .co-line__price .company-name {
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  color: var(--promot-ink) !important;
}

.co-line__remove {
  flex: 0 0 auto;
}

.co-line__trash {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--promot-ink-muted);
  width: 1.75rem;
  height: 1.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  cursor: pointer;
  padding: 0;
}

.co-line__trash:hover {
  background: var(--promot-red-soft);
  color: var(--promot-red);
}

.co-line__qty {
  margin-top: 0;
  display: inline-flex !important;
  align-items: center;
  gap: 0;
  text-align: left !important;
  float: none !important;
  width: auto !important;
  border: 1px solid var(--promot-line);
  border-radius: 999px;
  background: var(--promot-white);
  overflow: hidden;
}

.checkout-page .co-line__qty .addItem {
  display: none;
}

.checkout-page .co-line__qty .minusing,
.checkout-page .co-line__qty .plusing {
  width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--promot-ink);
  font-weight: 700;
  cursor: pointer;
  user-select: none;
  line-height: 1;
}

.checkout-page .co-line__qty .minusing:hover,
.checkout-page .co-line__qty .plusing:hover {
  background: var(--promot-surface);
  color: var(--promot-red);
  border-color: transparent;
}

.checkout-page .co-line__qty .num {
  min-width: 1.75rem;
  text-align: center;
  font-weight: 650;
  font-size: 0.9rem;
  border-left: 1px solid var(--promot-line);
  border-right: 1px solid var(--promot-line);
  line-height: 2rem;
}

/* Summary */
.co-summary__title,
.checkout-page .CheckoutOderSummaryCnt > h4,
.payment-page .CheckoutOderSummaryCnt > h4 {
  text-align: left !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--promot-ink) !important;
  margin: 0 0 1rem !important;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--promot-line);
}

.co-summary__list,
.checkout-page .CheckoutOderSummaryCnt ul,
.payment-page .CheckoutOderSummaryCnt ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.co-summary__list > li,
.checkout-page .CheckoutOderSummaryCnt ul > li,
.payment-page .CheckoutOderSummaryCnt ul > li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid rgba(232, 226, 222, 0.7);
  font-size: 0.92rem;
  color: var(--promot-ink-muted);
}

.co-summary__list > li:last-child,
.checkout-page .CheckoutOderSummaryCnt ul > li:last-child,
.payment-page .CheckoutOderSummaryCnt ul > li:last-child {
  border-bottom: 0;
}

.co-summary__total,
.checkout-page .CheckoutOderSummaryCnt ul > li.co-summary__total,
.payment-page .CheckoutOderSummaryCnt ul > li:last-of-type {
  font-weight: 700;
  color: var(--promot-ink);
  font-size: 1rem;
  padding-top: 0.85rem;
}

.co-summary-stack {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.co-summary__card--totals {
  margin-top: 0 !important;
}

/* Shipping options */
.co-ship-option {
  margin-bottom: 0.65rem !important;
  cursor: pointer;
}

.co-ship-option__inner,
.checkout-page .shipping-types .CheckoutOderSummaryCnt {
  border: 1px solid var(--promot-line) !important;
  border-radius: 10px !important;
  background: var(--promot-white) !important;
  box-shadow: none !important;
  transition: border-color 0.2s var(--promot-ease), background 0.2s var(--promot-ease);
  padding: 0.85rem 1rem !important;
}

.checkout-page .shipping-radio:checked + .CheckoutOderSummaryCnt,
.checkout-page .shipping-radio:checked + .co-ship-option__inner,
.payment-page .shipping-radio:checked + .CheckoutOderSummaryCnt {
  border-color: var(--promot-red) !important;
  background: var(--promot-red-soft) !important;
}

.co-ship-option .shipping-name {
  font-weight: 600;
  color: var(--promot-ink);
}

.co-ship-option .shipping-price {
  font-weight: 700;
  color: var(--promot-ink);
  white-space: nowrap;
}

.addBorderShipping {
  border-color: var(--promot-red) !important;
}

/* Buttons */
.co-btn,
.checkout-page .step,
.checkout-page .save_address,
.checkout-page .back_save,
.checkout-page .backing_save,
.checkout-page .coupon_btn,
.checkout-page .ContactUsSubmit,
.payment-page .ContactUsSubmit,
.payment-page #payNowButton {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.85rem;
  padding: 0.7rem 1.35rem;
  border-radius: 10px;
  border: 1px solid transparent;
  font-family: var(--promot-font);
  font-size: 0.92rem;
  font-weight: 650;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: background 0.2s var(--promot-ease), border-color 0.2s var(--promot-ease), color 0.2s var(--promot-ease), transform 0.15s var(--promot-ease);
}

.co-btn--primary,
.checkout-page .step,
.checkout-page .save_address,
.checkout-page .ContactUsSubmit,
.payment-page .ContactUsSubmit,
.payment-page #payNowButton {
  background: var(--promot-red) !important;
  border-color: var(--promot-red) !important;
  color: #fff !important;
  box-shadow: none !important;
}

.co-btn--primary:hover,
.checkout-page .step:hover,
.checkout-page .save_address:hover,
.checkout-page .ContactUsSubmit:hover,
.payment-page #payNowButton:hover {
  background: var(--promot-red-deep) !important;
  border-color: var(--promot-red-deep) !important;
}

.co-btn--ghost,
.checkout-page .back_save,
.checkout-page .backing_save,
.checkout-page .coupon_btn {
  background: var(--promot-white) !important;
  border-color: var(--promot-line) !important;
  color: var(--promot-ink) !important;
}

.co-btn--ghost:hover,
.checkout-page .back_save:hover,
.checkout-page .backing_save:hover,
.checkout-page .coupon_btn:hover {
  border-color: var(--promot-red) !important;
  color: var(--promot-red) !important;
}

.co-btn--block,
.checkout-page .CheckoutOderSummaryBtn .step {
  width: 100%;
}

.co-btn--sm,
.checkout-page .coupon_btn {
  min-height: 2.45rem;
  padding: 0.45rem 0.95rem;
  font-size: 0.85rem;
}

.co-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: flex-end;
  margin-top: 0.5rem;
}

.co-actions--center {
  justify-content: center;
}

.checkout-page .CheckoutOderSummaryBtn {
  margin-top: 1.1rem;
}

/* Forms — shipping / contact cards */
.checkout-page .co-panel--form {
  padding: 1.4rem 1.4rem 1.5rem !important;
  box-shadow: 0 1px 2px rgba(26, 21, 20, 0.04), 0 8px 24px rgba(26, 21, 20, 0.05) !important;
}

.checkout-page .co-panel__head--stack {
  display: block;
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--promot-line);
}

.checkout-page .co-panel__heading {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
}

.checkout-page .co-panel__icon {
  flex: 0 0 auto;
  width: 2.5rem;
  height: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: var(--promot-red-soft);
  color: var(--promot-red);
  font-size: 1rem;
}

.checkout-page .co-panel__icon--sm {
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 8px;
  font-size: 0.8rem;
}

.checkout-page .co-panel__head--stack .co-panel__title {
  margin-bottom: 0.15rem !important;
}

.checkout-page .co-panel__head--stack .co-panel__sub {
  margin: 0;
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--promot-ink-muted);
}

.checkout-page .co-optional {
  font-weight: 500;
  color: var(--promot-ink-muted);
}

.checkout-page .co-hint {
  margin: -0.35rem 0 0.85rem;
  font-size: 0.82rem;
  color: var(--promot-ink-muted);
}

.checkout-page .ContactUsForm .ContactUsLabel,
.checkout-page .ContactUsLabel,
.payment-page .ContactUsLabel {
  display: block;
  margin-bottom: 0.4rem;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em;
  color: #3a3532 !important;
}

/* Minimal fields — flat border like promo; icons restored */
.checkout-page .ContactUsForm .ContactUsFleidWrp,
.checkout-page .ContactUsFormCheckout .ContactUsFleidWrp,
.checkout-page .co-panel--form .ContactUsFleidWrp,
.checkout-page .ContactUsFleidWrp,
.payment-page .ContactUsFleidWrp {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
  width: 100% !important;
  height: auto !important;
  min-height: 2.85rem !important;
  border: 1px solid #d8d2cd !important;
  border-radius: 8px !important;
  background: #fff !important;
  padding: 0 0.9rem !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color 0.15s var(--promot-ease), box-shadow 0.15s var(--promot-ease);
}

.checkout-page .co-field__icon {
  display: inline-flex !important;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 1.15rem;
  color: #8a817a;
  font-size: 0.92rem;
  line-height: 1;
  opacity: 1;
}

.checkout-page .ContactUsFleidWrp > img,
.checkout-page .ContactUsForm .ContactUsFleidWrp img,
.payment-page .ContactUsFleidWrp > img {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  opacity: 0.65;
  flex: 0 0 auto;
  position: static !important;
  top: auto !important;
}

.checkout-page .ContactUsForm .ContactUsFleid,
.checkout-page .ContactUsFleid,
.checkout-page .ContactUsFleid.form-control,
.checkout-page select.ContactUsFleid,
.payment-page .ContactUsFleid,
.payment-page .ContactUsFleid.form-control {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  width: 100% !important;
  height: auto !important;
  padding: 0.65rem 0 !important;
  font-size: 0.95rem !important;
  color: #1a1514 !important;
  min-height: auto !important;
}

.checkout-page .ContactUsFleid::placeholder,
.payment-page .ContactUsFleid::placeholder {
  color: #9a918b !important;
  opacity: 1;
}

.checkout-page .ContactUsForm .ContactUsFleidWrp:hover,
.checkout-page .ContactUsFleidWrp:hover {
  border-color: #c5bdb6 !important;
  box-shadow: none !important;
}

.checkout-page .ContactUsForm .ContactUsFleidWrp:focus-within,
.checkout-page .ContactUsFleidWrp:focus-within,
.payment-page .ContactUsFleidWrp:focus-within {
  border-color: #9a918b !important;
  box-shadow: 0 0 0 2px rgba(58, 53, 50, 0.08) !important;
}

/* Validation: keep error text under the field, not inside the input row */
.checkout-page .ContactUsFleidWrp {
  flex-wrap: nowrap !important;
  position: relative !important;
}

.checkout-page .co-field,
.checkout-page .formGroup,
.checkout-page .form-group {
  position: relative;
}

.checkout-page .ContactUsFleidWrp .invalid-feedback,
.checkout-page .formGroup .invalid-feedback,
.checkout-page .form-group .invalid-feedback {
  position: absolute !important;
  left: 0;
  right: 0;
  top: calc(100% + 0.3rem);
  z-index: 2;
  width: auto !important;
  max-width: 100% !important;
  display: none;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.8125rem !important;
  font-weight: 500;
  color: #b42318 !important;
  line-height: 1.35;
  text-align: left;
  background: transparent;
}

.checkout-page .ContactUsFleidWrp:has(.address-error) > .invalid-feedback:not(.address-error),
.checkout-page .ContactUsFleidWrp:has(.address-error-b) > .invalid-feedback:not(.address-error-b) {
  display: none !important;
}

.checkout-page .ContactUsFleid.is-invalid ~ .invalid-feedback,
.checkout-page .form-control.is-invalid ~ .invalid-feedback,
.checkout-page select.is-invalid ~ .invalid-feedback,
.checkout-page .ContactUsFleidWrp:has(.is-invalid) > .invalid-feedback,
.checkout-page .ContactUsFleidWrp .invalid-feedback.address-error,
.checkout-page .ContactUsFleidWrp .invalid-feedback.address-error-b,
.checkout-page .ContactUsFleidWrp .invalid-feedback.d-block,
.checkout-page .was-validated .ContactUsFleid:invalid ~ .invalid-feedback {
  display: block !important;
}

.checkout-page .ContactUsFleidWrp:has(.address-error) > .invalid-feedback:not(.address-error),
.checkout-page .ContactUsFleidWrp:has(.address-error-b) > .invalid-feedback:not(.address-error-b) {
  display: none !important;
}

.checkout-page .ContactUsFleidWrp:has(.is-invalid),
.checkout-page .ContactUsFleidWrp:has(.invalid-feedback.address-error),
.checkout-page .ContactUsFleidWrp:has(.invalid-feedback.address-error-b),
.checkout-page .ContactUsFleidWrp.is-invalid-wrap {
  margin-bottom: 1.25rem;
}

.checkout-page .ContactUsForm .ContactUsFleidWrp:has(.is-invalid),
.checkout-page .ContactUsFleidWrp:has(.is-invalid),
.checkout-page .ContactUsFleidWrp.is-invalid-wrap {
  border-color: #d92d20 !important;
  box-shadow: none !important;
}

.checkout-page .ContactUsFleid.is-invalid,
.checkout-page .form-control.is-invalid,
.checkout-page select.is-invalid {
  border-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  padding-right: 0 !important;
}

.checkout-page .co-shipping-error {
  display: none;
  margin: 0.65rem 0 0;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #b42318;
}

.checkout-page .co-shipping-error.is-visible {
  display: block;
}

.checkout-page #addBorderShipping.addBorderShipping {
  border-color: #d92d20 !important;
  box-shadow: 0 0 0 2px rgba(217, 45, 32, 0.12) !important;
}

/* Coupon row is not a single shell — keep wrappers transparent */
.checkout-page .co-coupon__row.ContactUsFleidWrp,
.checkout-page .ContactUsForm .co-coupon__row.ContactUsFleidWrp {
  border: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  gap: 0.5rem !important;
}

/* Phone keeps flag/dial UI — no decorative icon gap */
.checkout-page .co-field__phone {
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow: visible !important;
  gap: 0 !important;
}

.checkout-page .co-postal-wrap {
  position: relative;
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  width: 100%;
}

.checkout-page .co-field,
.checkout-page .ContactUsWrp .col-md-12,
.checkout-page .ContactUsWrp .col-md-6 {
  padding-bottom: 0.55rem !important;
  margin-bottom: 0 !important;
}

.checkout-page .co-fields,
.checkout-page .ContactUsWrp,
.checkout-page .row.ContactUsWrp,
.checkout-page .ContactUsFormCheckout .ContactUsWrp {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.checkout-page .co-fields {
  margin-left: 0;
  margin-right: 0;
}

.checkout-page .co-panel--form .formGroup,
.checkout-page .co-panel--form .form-group {
  margin-bottom: 0 !important;
}

.checkout-page .co-panel--form .row.g-3 {
  --bs-gutter-y: 0.55rem;
}

.checkout-page .co-check input[type="checkbox"],
.payment-page .payment_checkbox {
  accent-color: var(--promot-red);
  width: 1.05rem;
  height: 1.05rem;
}

.checkout-page .co-actions-bar {
  margin-top: 0.5rem;
  padding-top: 1.15rem;
  border-top: 1px solid var(--promot-line);
}

.checkout-page .co-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: flex-end;
  margin-top: 0;
}

.checkout-page .co-actions__hint {
  margin: 0.75rem 0 0;
  text-align: right;
  font-size: 0.8rem;
  color: var(--promot-ink-muted);
}

.checkout-page .co-summary__title--icon {
  display: flex !important;
  align-items: center;
  gap: 0.55rem;
  text-align: left !important;
}

.checkout-page .co-ship-option__inner {
  display: flex !important;
  align-items: center;
  gap: 0.75rem;
  padding: 0.9rem 1rem !important;
  border-radius: 12px !important;
}

.checkout-page .co-ship-option__radio {
  flex: 0 0 auto;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 999px;
  border: 2px solid #d0c8c2;
  background: #fff;
  position: relative;
}

.checkout-page .shipping-radio:checked + .co-ship-option__inner .co-ship-option__radio {
  border-color: var(--promot-red);
  background: var(--promot-red);
  box-shadow: inset 0 0 0 3px #fff;
}

.checkout-page .co-ship-option .shipping-name {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 0.9rem;
  line-height: 1.35;
}

.checkout-page .co-ship-option .shipping-price {
  flex: 0 0 auto;
  font-size: 0.92rem;
}

.checkout-page .co-summary__cta {
  margin-top: 1.15rem;
  padding-top: 1.15rem;
  border-top: 1px solid var(--promot-line);
}

.checkout-page .co-summary__cta-hint {
  margin: 0 0 0.65rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--promot-ink-muted);
  text-align: center;
}

.checkout-page .co-summary__cta .co-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
}

.checkout-page .co-summary__cta .co-btn--primary {
  min-height: 3rem;
  font-size: 0.95rem;
}

.co-coupon {
  display: block !important;
  flex-direction: column !important;
  align-items: stretch !important;
}

.co-coupon .ContactUsLabel {
  margin-bottom: 0.5rem;
}

.checkout-page .co-coupon__row.ContactUsFleidWrp,
.checkout-page .co-coupon__row {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  gap: 0.5rem;
  border: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.checkout-page .co-coupon__row .coupon_input {
  flex: 1 1 auto;
  min-width: 0;
  position: relative;
}

.checkout-page .co-coupon__row .coupon_input .ContactUsFleid,
.checkout-page .co-coupon__row .coupon_input .ContactUsFleid.form-control,
.checkout-page .co-coupon__row input#coupon {
  display: block !important;
  width: 100% !important;
  border: 1px solid #d8d2cd !important;
  border-radius: 8px !important;
  padding: 0.65rem 0.9rem !important;
  min-height: 2.85rem !important;
  background: #fff !important;
  box-shadow: none !important;
  outline: none !important;
  font-size: 0.95rem !important;
  color: #1a1514 !important;
}

.checkout-page .co-coupon__row .coupon_input .ContactUsFleid:focus,
.checkout-page .co-coupon__row input#coupon:focus {
  border-color: #9a918b !important;
  box-shadow: 0 0 0 2px rgba(58, 53, 50, 0.08) !important;
}

.checkout-page .co-coupon__row .coupon_input .ContactUsFleid::placeholder {
  color: #9a918b !important;
}

.checkout-page .co-coupon__row .coupon_btn,
.checkout-page .co-coupon__row .co-btn--ghost {
  flex: 0 0 auto;
  align-self: stretch;
  min-height: 2.85rem;
  padding: 0 1.1rem !important;
  border: 1px solid #d8d2cd !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #1a1514 !important;
  font-weight: 650 !important;
  font-size: 0.9rem !important;
  white-space: nowrap;
}

.checkout-page .co-coupon__row .coupon_btn:hover,
.checkout-page .co-coupon__row .co-btn--ghost:hover {
  border-color: var(--promot-red) !important;
  color: var(--promot-red) !important;
  background: #fff !important;
}

.checkout-page .co-coupon #coupon_cross_icon {
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  color: #8a817a;
}

/* Payment method tiles */
.co-pay-grid {
  width: 100%;
}

.co-pay-card.payment-option,
.checkout-page .payment-option {
  flex: 1 1 180px;
  max-width: 220px;
  min-height: 150px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 1.15rem 1rem;
  border: 1px solid var(--promot-line);
  border-radius: var(--promot-radius-sm);
  background: var(--promot-white);
  cursor: pointer;
  transition: border-color 0.2s var(--promot-ease), background 0.2s var(--promot-ease), transform 0.15s var(--promot-ease);
  box-shadow: none !important;
}

.co-pay-card.payment-option:hover,
.checkout-page .style_payment_card:hover {
  border-color: var(--promot-red);
  background: var(--promot-surface);
  transform: translateY(-1px);
}

.co-pay-card img {
  max-height: 48px;
  width: auto;
  object-fit: contain;
}

.co-pay-card .payment-label {
  font-size: 0.88rem;
  font-weight: 650;
  color: var(--promot-ink);
  text-align: center;
}

.co-pay-card .paypal-button {
  background: #003087 !important;
  border-radius: 8px;
  padding: 0.55rem 0.85rem;
  color: #fff !important;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  font-size: 0.85rem;
}

/* Payment page */
.payment-page {
  background: var(--promot-white);
  padding: 2.25rem 0 4.5rem;
  font-family: var(--promot-font);
}

.payment-page .stampingCreditCradLeft {
  display: none !important;
}

.payment-page .stampingCreditCradRight,
.payment-page .stampingCreditCradRight .col-md-6 {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
}

.payment-page .checkOutFormStepThree {
  margin-bottom: 1.25rem !important;
}

.payment-page a.terms_link {
  color: var(--promot-red);
  text-decoration: underline;
  font-weight: 600;
}

.payment-page .co-card-grid {
  display: block;
  width: 100%;
}

.payment-page .co-card-grid .co-card-span,
.payment-page .co-card-grid .co-check-row,
.payment-page .co-card-grid .co-actions-bar,
.payment-page .co-card-grid > .co-field {
  width: 100%;
  margin: 0 0 0.85rem;
}

.payment-page .co-panel__head--payment {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

.payment-page .co-card-brands {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  flex: 0 0 auto;
}

.payment-page .co-card-brands img {
  display: block;
  height: 22px !important;
  width: auto !important;
  max-width: 48px !important;
  object-fit: contain !important;
  object-position: center;
  opacity: 0.9;
  flex: 0 0 auto;
}

.payment-page .stampingFooterItemImgs,
.payment-page .stampingCreditCradIcons {
  display: none !important;
}

.payment-page .co-card-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.15fr);
  gap: 0.75rem;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 0.85rem !important;
  float: none !important;
}

.payment-page .co-card-row > .co-field {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  flex: none !important;
}

@media (max-width: 575.98px) {
  .payment-page .co-card-row {
    grid-template-columns: 1fr;
  }

  .payment-page .co-panel__head--payment {
    flex-direction: column;
  }

  .payment-page .co-card-brands {
    justify-content: flex-start;
  }
}

.payment-page .co-field__icon {
  display: inline-flex !important;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 1.15rem;
  color: #8a817a;
  font-size: 0.92rem;
  line-height: 1;
}

.payment-page .ContactUsForm .ContactUsFleidWrp,
.payment-page .ContactUsFleidWrp {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
  width: 100% !important;
  height: auto !important;
  min-height: 2.85rem !important;
  border: 1px solid #d8d2cd !important;
  border-radius: 8px !important;
  background: #fff !important;
  padding: 0 0.9rem !important;
  outline: none !important;
  box-shadow: none !important;
}

.payment-page .ContactUsForm .ContactUsFleidWrp:hover,
.payment-page .ContactUsFleidWrp:hover {
  border-color: #c5bdb6 !important;
  box-shadow: none !important;
}

.payment-page .ContactUsForm .ContactUsFleidWrp:focus-within,
.payment-page .ContactUsFleidWrp:focus-within {
  border-color: #9a918b !important;
  box-shadow: 0 0 0 2px rgba(58, 53, 50, 0.08) !important;
}

.payment-page .ContactUsFleidWrp {
  flex-wrap: nowrap !important;
  position: relative !important;
}

.payment-page .ContactUsFleidWrp .invalid-feedback {
  position: absolute !important;
  left: 0;
  right: 0;
  top: calc(100% + 0.3rem);
  z-index: 2;
  display: none;
  margin: 0 !important;
  font-size: 0.8125rem !important;
  font-weight: 500;
  color: #b42318 !important;
  line-height: 1.35;
}

.payment-page .ContactUsFleid.is-invalid ~ .invalid-feedback,
.payment-page .ContactUsFleidWrp:has(.is-invalid) > .invalid-feedback {
  display: block !important;
}

.payment-page .ContactUsFleidWrp:has(.is-invalid),
.payment-page .ContactUsFleidWrp.is-invalid-wrap {
  border-color: #d92d20 !important;
  box-shadow: none !important;
  margin-bottom: 1.25rem;
}

.payment-page .ContactUsFleid.is-invalid {
  border-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  padding-right: 0 !important;
}

.payment-page .checkbox_error {
  display: block;
  margin-top: 0.45rem;
  font-size: 0.8125rem;
  font-weight: 500;
}

.payment-page .co-actions-bar {
  margin-top: 0.35rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--promot-line);
}

.payment-page .co-aside .co-summary {
  position: sticky;
  top: 1rem;
}

.co-summary__details {
  border: 0;
}

.co-summary__summary {
  list-style: none;
  cursor: pointer;
  display: flex !important;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}

.co-summary__summary::-webkit-details-marker {
  display: none;
}

.co-summary__total-inline {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--promot-ink);
}

@media (min-width: 992px) {
  .co-summary__total-inline {
    display: none;
  }

  .co-summary__details[open] .co-summary__summary,
  .co-summary__details .co-summary__summary {
    pointer-events: none;
  }
}

@media (max-width: 991.98px) {
  .co-aside .co-summary,
  .co-aside .co-summary-stack {
    position: static;
  }

  .checkout-page {
    padding-top: 1.5rem;
  }

  .co-progress {
    margin-bottom: 1.5rem;
  }

  /* Mobile: progress → summary → cart/form */
  .step1 .co-layout,
  .step2 .co-layout,
  .payment-page .co-layout {
    display: flex;
    flex-direction: column;
  }

  .step1 .co-aside,
  .payment-page .co-aside {
    order: -1;
    margin-bottom: 1rem;
  }

  .co-summary__details:not([open]) .co-summary__list {
    display: none;
  }
}

@media (max-width: 575.98px) {
  .checkout-page .co-line.custom_addcart {
    flex-wrap: wrap;
  }

  .co-line__media {
    flex-basis: 72px;
    width: 72px;
    height: 72px;
  }

  .co-panel,
  .checkout-page .ContactUsFormCheckout,
  .checkout-page .CheckoutOderSummaryCnt,
  .payment-page .co-panel,
  .payment-page .CheckoutOderSummaryCnt {
    padding: 1.15rem 1rem !important;
  }

  .payment-page .co-card-grid {
    display: block;
  }

  .co-actions {
    flex-direction: column;
  }

  .co-actions .co-btn,
  .co-actions .back_save,
  .co-actions .save_address,
  .co-actions .backing_save {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .co-progress__num,
  .co-btn,
  .co-pay-card.payment-option,
  .co-ship-option__inner {
    transition: none !important;
  }
}

/* ---- Checkout visual polish v2 (override legacy style.css) ---- */
.checkout-page .CheckoutOderSummary,
.payment-page .CheckoutOderSummary {
  background: transparent !important;
  box-shadow: none !important;
}

.checkout-page .CheckoutOderSummaryCnt,
.payment-page .CheckoutOderSummaryCnt {
  box-shadow: none !important;
}

.checkout-page .CheckoutOderSummaryCnt h4 span,
.checkout-page .co-summary__title span,
.payment-page .CheckoutOderSummaryCnt h4 span,
.payment-page .co-summary__title span {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.checkout-page .co-summary__heading .co-panel__icon,
.checkout-page .co-summary__heading .co-panel__icon span,
.checkout-page .co-ship-option__icon,
.checkout-page .co-ship-option__icon i {
  display: inline-flex !important;
}

.checkout-page .CheckoutOderSummaryCnt ul li,
.payment-page .CheckoutOderSummaryCnt ul li,
.checkout-page .co-summary__list > li,
.payment-page .co-summary__list > li {
  padding: 0.55rem 0 !important;
  float: none !important;
}

.checkout-page .CheckoutOderSummaryCnt ul li span,
.payment-page .CheckoutOderSummaryCnt ul li span,
.checkout-page .co-summary__list > li span,
.payment-page .co-summary__list > li span {
  float: none !important;
  color: var(--promot-ink) !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
}

.checkout-page .CheckoutOderSummaryCnt ul li:last-child span,
.payment-page .CheckoutOderSummaryCnt ul li:last-child span,
.checkout-page .co-summary__total span,
.checkout-page .co-summary__total .totalCount,
.payment-page .co-summary__total span {
  color: var(--promot-ink) !important;
  font-size: 1.05rem !important;
  font-weight: 750 !important;
}

.checkout-page .CheckoutOderSummaryCnt .CheckoutOderSummaryBtn,
.payment-page .CheckoutOderSummaryCnt .CheckoutOderSummaryBtn {
  border-top: 1px solid var(--promot-line) !important;
  padding: 1rem 0 0 !important;
  margin-top: 0.85rem !important;
}

.checkout-page .CheckoutOderSummaryCnt .CheckoutOderSummaryBtn button,
.checkout-page .CheckoutOderSummaryBtn .step {
  width: 100% !important;
  margin: 0 !important;
  border-radius: 10px !important;
  background: var(--promot-red) !important;
  border-color: var(--promot-red) !important;
  color: #fff !important;
  padding: 0.8rem 1rem !important;
  font-weight: 650 !important;
}

.checkout-page .CheckoutOderSummaryCnt .CheckoutOderSummaryBtn button:hover,
.checkout-page .CheckoutOderSummaryBtn .step:hover {
  background: var(--promot-red-deep) !important;
  color: #fff !important;
}

.co-summary__title,
.checkout-page .co-summary__summary {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  margin: 0 0 0.75rem !important;
  padding-bottom: 0.75rem !important;
  border-bottom: 1px solid var(--promot-line) !important;
  color: var(--promot-ink) !important;
  text-align: left !important;
}

.payment-page {
  background: var(--promot-white);
}

.co-recs {
  background: var(--promot-white);
  padding: 2.5rem 0 3rem;
  border-top: 1px solid var(--promot-line);
  margin-top: 0;
}

.co-recs .StampingsectionTitle {
  font-size: 1.15rem !important;
  font-weight: 700;
  color: var(--promot-ink-muted) !important;
  letter-spacing: -0.01em;
}

@media (max-width: 575.98px) {
  .checkout-page .co-line.custom_addcart,
  .checkout-page .custom_addcart.co-line {
    flex-wrap: nowrap !important;
  }

  .co-line__main {
    flex-direction: column;
    align-items: stretch;
    gap: 0.55rem;
  }

  .co-line__meta {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }

  .co-line__media {
    flex-basis: 64px !important;
    width: 64px !important;
    max-width: 64px !important;
    height: 64px;
  }
}

.checkout-page .co-field__phone {
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow: visible !important;
}

.checkout-page .co-field__phone .intl-tel-input,
.checkout-page .co-field__phone .intl-tel-input.separate-dial-code {
  width: 100% !important;
  display: block !important;
  position: relative;
}

.checkout-page .co-field__phone .intl-tel-input .flag-container {
  z-index: 2;
}

.checkout-page .co-field__phone .intl-tel-input .selected-flag {
  display: flex !important;
  align-items: center;
  padding: 0 0 0 0.75rem !important;
  height: 100%;
}

.checkout-page .co-field__phone .intl-tel-input .iti-flag {
  display: inline-block !important;
}

.checkout-page .co-field__phone .intl-tel-input.separate-dial-code .selected-dial-code {
  display: inline-block !important;
  padding-left: 28px !important;
  color: #3a3532;
  font-size: 0.95rem;
  font-weight: 500;
}

.checkout-page .co-field__phone .intl-tel-input input.ContactUsFleid,
.checkout-page .co-field__phone .intl-tel-input input.form-control,
.checkout-page .co-field__phone input#phone {
  width: 100% !important;
  margin-left: 0 !important;
  /* Space for flag + dial code; plugin also sets inline padding */
  padding-left: 5.75rem !important;
  padding-right: 0.9rem !important;
}

.checkout-page .co-field__phone .intl-tel-input .country-list {
  z-index: 30;
  border-radius: 8px;
  border: 1px solid #d8d2cd;
  box-shadow: 0 8px 24px rgba(26, 21, 20, 0.12);
  max-height: 220px;
}

.checkout-page .step2 .co-aside .co-summary-stack {
  position: sticky;
  top: 1rem;
}

.checkout-page .co-summary__card--totals {
  box-shadow: 0 1px 2px rgba(26, 21, 20, 0.04), 0 10px 28px rgba(26, 21, 20, 0.06) !important;
}

.checkout-page .shipping_type .co-summary__card {
  box-shadow: 0 1px 2px rgba(26, 21, 20, 0.04), 0 8px 24px rgba(26, 21, 20, 0.05) !important;
}

/* ---- Sidebar shipping / summary conflict fixes ---- */
.checkout-page .co-summary-stack {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  position: sticky;
  top: 1rem;
}

.checkout-page .co-summary__card {
  position: relative;
  z-index: 1;
  background: var(--promot-white) !important;
  border: 1px solid var(--promot-line) !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 2px rgba(26, 21, 20, 0.04), 0 8px 24px rgba(26, 21, 20, 0.05) !important;
  padding: 1.15rem 1.15rem !important;
  margin: 0 !important;
  overflow: visible;
}

.checkout-page .shipping_type,
.checkout-page .shipping_type .CheckoutOderSummary,
.checkout-page .co-ship-option {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 0 0.65rem !important;
  position: static !important;
}

.checkout-page .co-ship-option:last-child {
  margin-bottom: 0 !important;
}

.checkout-page .co-summary__heading {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0 0 1rem;
  padding: 0 0 0.85rem;
  border-bottom: 1px solid var(--promot-line);
}

.checkout-page .co-summary__heading .co-panel__icon {
  flex: 0 0 auto;
  margin: 0;
}

.checkout-page .co-summary__heading-title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--promot-ink);
  line-height: 1.25;
}

.checkout-page .co-summary__heading .co-hint {
  margin: 0.2rem 0 0;
}

.checkout-page .co-ship-option__inner {
  display: flex !important;
  align-items: center;
  gap: 0.7rem;
  width: 100%;
  padding: 0.85rem 0.9rem !important;
  border: 1px solid var(--promot-line) !important;
  border-radius: 12px !important;
  background: var(--promot-white) !important;
  box-shadow: none !important;
  margin: 0 !important;
  cursor: pointer;
  transition: border-color 0.2s var(--promot-ease), background 0.2s var(--promot-ease);
}

.checkout-page .co-ship-option__icon {
  flex: 0 0 auto;
  width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: var(--promot-surface);
  color: var(--promot-red);
  font-size: 0.85rem;
}

.checkout-page .shipping-radio:checked + .co-ship-option__inner {
  border-color: var(--promot-red) !important;
  background: var(--promot-red-soft) !important;
}

.checkout-page .shipping-radio:checked + .co-ship-option__inner .co-ship-option__icon {
  background: #fff;
}

.checkout-page .co-summary__list > li {
  border-bottom: 1px solid rgba(232, 226, 222, 0.85);
}

.checkout-page .co-summary__list > li.d-none,
.checkout-page .co-summary__list > li[style*="display: none"],
.checkout-page .co-summary__list > li[style*="display:none"] {
  display: none !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  height: 0 !important;
  overflow: hidden;
}

.checkout-page .co-summary__list > li.co-summary__total {
  border-bottom: 0;
}

.checkout-page .co-coupon {
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--promot-line);
}

.checkout-page .t_p {
  position: relative;
}

.checkout-page .loader-wrapper {
  border-radius: 14px;
}

/* Tighten checkout form field spacing (override legacy 25–30px gaps) */
.checkout-page .ContactUsForm .ContactUsWrp,
.checkout-page .ContactUsFormCheckout .ContactUsWrp,
.checkout-page #contactUs.ContactUsForm .ContactUsWrp,
.checkout-page .co-panel--form .ContactUsWrp {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.checkout-page .ContactUsForm .formGroup,
.checkout-page .ContactUsFormCheckout .formGroup,
.checkout-page #contactUs.ContactUsForm .ContactUsWrp .formGroup,
.checkout-page .co-panel--form .formGroup,
.checkout-page .co-panel--form .form-group {
  margin-bottom: 0.55rem !important;
}

.checkout-page .co-panel--form .co-field:last-child .formGroup,
.checkout-page .co-panel--form .co-fields > .co-field:last-child .formGroup,
.checkout-page .co-panel--form .row .co-field .formGroup {
  margin-bottom: 0.55rem !important;
}

.checkout-page .paddings_bottom,
.checkout-page .padding_bottom,
.checkout-page .pb-xs {
  padding-bottom: 0 !important;
}

/* Sticky bottom checkout bar */
body.co-sticky-active {
  padding-bottom: 5.5rem;
}

.checkout-page .co-sticky {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1040;
  background: rgba(247, 244, 241, 0.96);
  border-top: 1px solid var(--promot-line);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 -8px 28px rgba(26, 21, 20, 0.08);
}

.checkout-page .co-sticky__sheet {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0.85rem 1.15rem 0.35rem;
  max-height: min(42vh, 22rem);
  overflow-y: auto;
  border-bottom: 1px solid var(--promot-line);
}

.checkout-page .co-sticky__sheet-label {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--promot-ink-muted);
}

.checkout-page .co-sticky__lines {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.checkout-page .co-sticky__line {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  min-width: 0;
}

.checkout-page .co-sticky__line-thumb {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  object-fit: cover;
  border: 1px solid var(--promot-line);
  background: var(--promot-white);
  flex: 0 0 auto;
}

.checkout-page .co-sticky__line-copy {
  min-width: 0;
  flex: 1 1 auto;
}

.checkout-page .co-sticky__line-title {
  margin: 0;
  font-size: 0.88rem;
  font-weight: 650;
  color: var(--promot-ink);
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.checkout-page .co-sticky__line-meta {
  margin: 0.12rem 0 0;
  font-size: 0.78rem;
  color: var(--promot-ink-muted);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.3rem;
}

.checkout-page .co-sticky__inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0.75rem 1.15rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.checkout-page .co-sticky__meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
  flex: 1 1 auto;
}

.checkout-page .co-sticky__thumb {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  object-fit: cover;
  border: 1px solid var(--promot-line);
  background: var(--promot-white);
  flex: 0 0 auto;
}

.checkout-page .co-sticky__thumb--empty {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--promot-red);
  font-size: 1rem;
}

.checkout-page .co-sticky__copy {
  min-width: 0;
  flex: 1 1 auto;
}

.checkout-page .co-sticky__title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--promot-ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.checkout-page .co-sticky__sub {
  margin: 0.15rem 0 0;
  font-size: 0.82rem;
  color: var(--promot-ink-muted);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
}

.checkout-page .co-sticky__more {
  color: var(--promot-ink-muted);
}

.checkout-page .co-sticky__total {
  font-weight: 750;
  color: var(--promot-ink) !important;
}

.checkout-page .co-sticky__toggle {
  appearance: none;
  flex: 0 0 auto;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  border: 1px solid var(--promot-line);
  background: var(--promot-white);
  color: var(--promot-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s var(--promot-ease), color 0.2s var(--promot-ease), border-color 0.2s var(--promot-ease), transform 0.2s var(--promot-ease);
}

.checkout-page .co-sticky__toggle:hover {
  border-color: var(--promot-red);
  color: var(--promot-red);
}

.checkout-page .co-sticky.is-expanded .co-sticky__toggle {
  background: var(--promot-surface);
  border-color: var(--promot-red);
  color: var(--promot-red);
}

.checkout-page .co-sticky.is-expanded .co-sticky__toggle i {
  transform: rotate(180deg);
}

.checkout-page .co-sticky__toggle i {
  font-size: 0.85rem;
  transition: transform 0.2s var(--promot-ease);
}

.checkout-page .co-sticky__actions {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex: 0 0 auto;
}

.checkout-page .co-sticky__primary,
.checkout-page .co-sticky__secondary {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 2.85rem;
  padding: 0.7rem 1.35rem;
  border-radius: 999px;
  font-family: var(--promot-font);
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  cursor: pointer;
  border: 1px solid transparent;
  transition: background 0.2s var(--promot-ease), color 0.2s var(--promot-ease), border-color 0.2s var(--promot-ease);
}

.checkout-page .co-sticky__primary {
  background: var(--promot-red);
  color: #fff;
  border-color: var(--promot-red);
}

.checkout-page .co-sticky__primary:hover:not(:disabled) {
  background: var(--promot-red-deep);
  border-color: var(--promot-red-deep);
  color: #fff;
}

.checkout-page .co-sticky__primary:disabled {
  opacity: 0.65;
  cursor: default;
}

.checkout-page .co-sticky__secondary {
  background: var(--promot-white);
  color: var(--promot-ink);
  border-color: var(--promot-line);
}

.checkout-page .co-sticky__secondary:hover {
  border-color: var(--promot-red);
  color: var(--promot-red);
}

/* Hide duplicate CTAs while sticky bar is active */
body.co-sticky-active .checkout-page .co-cta--inline {
  display: none !important;
}

@media (max-width: 675.98px) {
  body.co-sticky-active {
    padding-bottom: 6.75rem;
  }

  .checkout-page .co-sticky__sheet {
    padding: 0.75rem 0.85rem 0.25rem;
  }

  .checkout-page .co-sticky__inner {
    flex-direction: column;
    align-items: stretch;
    padding: 0.7rem 0.85rem 0.85rem;
  }

  .checkout-page .co-sticky__actions {
    width: 100%;
  }

  .checkout-page .co-sticky__primary,
  .checkout-page .co-sticky__secondary {
    flex: 1 1 auto;
    width: 100%;
  }

  .checkout-page .co-sticky__actions:has([data-co-sticky-back-cart]:not(.d-none)),
  .checkout-page .co-sticky__actions:has([data-co-sticky-back-ship]:not(.d-none)) {
    display: grid;
    grid-template-columns: 0.85fr 1.4fr;
  }
}

.checkout-page .co-gift-check {
  margin-bottom: 0.35rem;
  padding: 0.65rem 0.85rem;
  border: 1px solid var(--promot-line);
  border-radius: 12px;
  background: var(--promot-surface);
}

.checkout-page .co-gift-check .ContactUsLabel {
  color: var(--promot-ink);
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
}

.checkout-page #ship_to_wrap {
  margin-top: 0.15rem;
}

/* Uniform checkout field widths */
.checkout-page .co-panel--form .co-fields {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
}

.checkout-page .co-panel--form .co-field {
  width: 100%;
  max-width: 100%;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  float: none !important;
}

.checkout-page .co-panel--form .co-field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  width: 100%;
  align-items: start;
}

.checkout-page .co-panel--form .ContactUsFleidWrp,
.checkout-page .co-panel--form .formGroup,
.checkout-page .co-panel--form .sate-fields {
  width: 100% !important;
  max-width: 100% !important;
}

.checkout-page .co-panel--form .ContactUsWrp,
.checkout-page .co-panel--form .ContactUsWrp.row,
.checkout-page .co-panel--form .row.co-fields {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100%;
  max-width: 100%;
}

.checkout-page .co-panel--form .ContactUsWrp > [class*="col-"],
.checkout-page .co-panel--form .co-fields > [class*="col-"] {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

@media (max-width: 575.98px) {
  .checkout-page .co-panel--form .co-field-row {
    grid-template-columns: 1fr;
  }
}

/* Checkout checkbox rows */
.checkout-page .co-check-row {
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--promot-line);
}

.checkout-page label.co-check {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  margin: 0;
  cursor: pointer;
  user-select: none;
}

.checkout-page label.co-check input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 1.15rem;
  height: 1.15rem;
  margin: 0;
  flex: 0 0 auto;
  border: 1.5px solid #b9b0aa;
  border-radius: 4px;
  background: #fff;
  accent-color: var(--promot-red);
  position: relative;
  cursor: pointer;
  vertical-align: middle;
}

.checkout-page label.co-check input[type="checkbox"]:checked {
  background: var(--promot-red);
  border-color: var(--promot-red);
}

.checkout-page label.co-check input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 0.32rem;
  top: 0.1rem;
  width: 0.28rem;
  height: 0.55rem;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.checkout-page label.co-check > span {
  color: var(--promot-ink) !important;
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.3;
}

.checkout-page .co-gift-check {
  display: inline-flex;
  width: 100%;
  margin-bottom: 0.35rem;
  padding: 0.7rem 0.9rem;
  border: 1px solid var(--promot-line);
  border-radius: 12px;
  background: var(--promot-surface);
}

.checkout-page .co-gift-check > span {
  font-size: 0.92rem;
  font-weight: 650;
  color: var(--promot-ink) !important;
}

.checkout-page .co-check .ContactUsLabel,
.checkout-page label.co-check.ContactUsLabel {
  color: var(--promot-ink) !important;
  margin: 0 !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
}

/* ——— Site-wide skeleton / shimmer ——— */
@keyframes promotSkShimmer {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}

.sk,
.sk--text,
.sk--title,
.sk--media,
.sk--card,
.sk--avatar {
  display: block;
  background: linear-gradient(90deg, #ebe6e1 0%, #f4f0ec 40%, #ebe6e1 80%);
  background-size: 200% 100%;
  animation: promotSkShimmer 1.25s ease-in-out infinite;
  border-radius: 10px;
  color: transparent !important;
  pointer-events: none;
  user-select: none;
}

.sk--text {
  height: 0.85rem;
  width: 72%;
  margin: 0.35rem 0;
  border-radius: 6px;
}

.sk--title {
  height: 1.1rem;
  width: 55%;
  margin: 0.4rem 0;
  border-radius: 8px;
}

.sk--media,
.sk--card {
  width: 100%;
  aspect-ratio: 1;
  border-radius: var(--promot-radius-sm, 12px);
}

.sk--avatar {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 999px;
  flex: 0 0 auto;
}

/* Product / lazy image shimmer until loaded */
.product-img-wrapper {
  position: relative;
}

.product-img-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(90deg, #ebe6e1 0%, #f4f0ec 45%, #ebe6e1 90%);
  background-size: 200% 100%;
  animation: promotSkShimmer 1.25s ease-in-out infinite;
  pointer-events: none;
  transition: opacity 0.3s var(--promot-ease, ease);
}

.product-img-wrapper.is-loaded::before,
.product-img-wrapper:has(img.primary-img.is-loaded)::before {
  opacity: 0;
  animation: none;
}

.product-img-wrapper img.primary-img.js-lazy-img:not(.is-loaded),
img.js-lazy-img:not(.is-loaded) {
  opacity: 0;
}

.product-img-wrapper img.primary-img.is-loaded,
img.js-lazy-img.is-loaded {
  opacity: 1;
  transition: opacity 0.35s var(--promot-ease, ease);
}

/* Generic media shells that opt into skeleton via data attribute */
[data-sk-media] {
  position: relative;
  overflow: hidden;
  background: var(--promot-surface, #f7f4f1);
}

[data-sk-media]::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(90deg, #ebe6e1 0%, #f4f0ec 45%, #ebe6e1 90%);
  background-size: 200% 100%;
  animation: promotSkShimmer 1.25s ease-in-out infinite;
  pointer-events: none;
  transition: opacity 0.3s var(--promot-ease, ease);
}

[data-sk-media].is-loaded::before,
[data-sk-media]:has(img.is-loaded)::before {
  opacity: 0;
  animation: none;
}

@media (prefers-reduced-motion: reduce) {
  .sk,
  .sk--text,
  .sk--title,
  .sk--media,
  .sk--card,
  .sk--avatar,
  .product-img-wrapper::before,
  [data-sk-media]::before {
    animation: none;
    background: #ebe6e1;
  }

  .product-img-wrapper img.primary-img.js-lazy-img:not(.is-loaded),
  img.js-lazy-img:not(.is-loaded) {
    opacity: 1;
  }
}

/* Category card media shimmer */
.section2cardInner--category .section2cardInnerImg {
  position: relative;
  overflow: hidden;
}

.section2cardInner--category .section2cardInnerImg::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(90deg, #ebe6e1 0%, #f4f0ec 45%, #ebe6e1 90%);
  background-size: 200% 100%;
  animation: promotSkShimmer 1.25s ease-in-out infinite;
  pointer-events: none;
  transition: opacity 0.3s var(--promot-ease, ease);
}

.section2cardInner--category .section2cardInnerImg.is-loaded::before,
.section2cardInner--category .section2cardInnerImg:has(img.is-loaded)::before {
  opacity: 0;
  animation: none;
}

.section2cardInner--category .section2cardInnerImg img.js-lazy-img {
  position: relative;
  z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
  .section2cardInner--category .section2cardInnerImg::before {
    animation: none;
    background: #ebe6e1;
  }
}

/* -------------------------------------------------------------------------- */
/* Maintenance staff badge (storefront overlay while mode is on)              */
/* -------------------------------------------------------------------------- */

.mm-badge {
  --mm-ink: #1a1514;
  --mm-ink-soft: #5c534f;
  --mm-red: #9e3040;
  --mm-red-deep: #7a2431;
  --mm-cream: #f7f4f1;
  --mm-sand: #ebe4dc;
  --mm-ease: cubic-bezier(0.22, 1, 0.36, 1);
  position: fixed;
  top: 50%;
  right: clamp(0.85rem, 2vw, 1.5rem);
  z-index: 9999;
  transform: translateY(-50%);
  pointer-events: none;
  animation: mmBadgeIn 0.7s var(--mm-ease) both;
}

.mm-badge__link {
  pointer-events: auto;
  display: block;
  position: relative;
  width: clamp(9.5rem, 18vw, 11.5rem);
  height: clamp(9.5rem, 18vw, 11.5rem);
  text-decoration: none;
  color: inherit;
  border-radius: 50%;
}

.mm-badge__ring {
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 1px solid rgba(158, 48, 64, 0.28);
  animation: mmBadgePulse 3.2s var(--mm-ease) infinite;
  pointer-events: none;
}

.mm-badge__core {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  padding: 1rem 0.85rem;
  text-align: center;
  background:
    radial-gradient(circle at 30% 22%, rgba(255, 255, 255, 0.55), transparent 45%),
    linear-gradient(165deg, #faf7f4 0%, var(--mm-cream) 45%, var(--mm-sand) 100%);
  box-shadow:
    0 18px 40px rgba(26, 21, 20, 0.14),
    0 0 0 1px rgba(158, 48, 64, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.7);
  transition: transform 0.35s var(--mm-ease), box-shadow 0.35s var(--mm-ease);
}

.mm-badge__link:hover .mm-badge__core,
.mm-badge__link:focus-visible .mm-badge__core {
  transform: scale(1.04);
  box-shadow:
    0 22px 48px rgba(26, 21, 20, 0.18),
    0 0 0 1px rgba(158, 48, 64, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.mm-badge__link:focus-visible {
  outline: none;
}

.mm-badge__link:focus-visible .mm-badge__ring {
  border-color: var(--mm-red);
  box-shadow: 0 0 0 3px rgba(158, 48, 64, 0.2);
}

.mm-badge__icon {
  width: 2.1rem;
  height: 2.1rem;
  color: var(--mm-red);
  display: grid;
  place-items: center;
}

.mm-badge__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.mm-badge__gear {
  transform-origin: 24px 24px;
  animation: mmBadgeSpin 14s linear infinite;
}

.mm-badge__copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.12rem;
  max-width: 100%;
}

.mm-badge__eyebrow {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mm-red);
  line-height: 1;
}

.mm-badge__title {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(0.78rem, 1.6vw, 0.92rem);
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.15;
  color: var(--mm-ink);
}

.mm-badge__sub {
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--mm-ink-soft);
  opacity: 0.9;
}

@keyframes mmBadgeIn {
  from { opacity: 0; transform: translateY(-50%) translateX(18px) scale(0.92); }
  to { opacity: 1; transform: translateY(-50%) translateX(0) scale(1); }
}

@keyframes mmBadgePulse {
  0%, 100% { transform: scale(1); opacity: 0.85; }
  50% { transform: scale(1.05); opacity: 0.35; }
}

@keyframes mmBadgeSpin {
  to { transform: rotate(360deg); }
}

@media (max-width: 768px) {
  .mm-badge {
    top: auto;
    bottom: 1rem;
    right: 0.75rem;
    transform: none;
    animation-name: mmBadgeInMobile;
  }

  .mm-badge__link {
    width: 7.25rem;
    height: 7.25rem;
  }

  .mm-badge__icon {
    width: 1.55rem;
    height: 1.55rem;
  }

  .mm-badge__title {
    font-size: 0.68rem;
  }

  .mm-badge__eyebrow {
    font-size: 0.52rem;
  }

  .mm-badge__sub {
    font-size: 0.5rem;
  }
}

@keyframes mmBadgeInMobile {
  from { opacity: 0; transform: translateY(14px) scale(0.92); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .mm-badge,
  .mm-badge__ring,
  .mm-badge__gear,
  .mm-badge__core {
    animation: none !important;
    transition: none !important;
  }
}

/* Hide legacy maroon circle if any leftover markup remains */
.circle-container .circle.mantanance-style {
  display: none !important;
}
