:root {
  --pp-cream: #faf9f7;
  --pp-cream-soft: #f7f1e7;
  --pp-cream-warm: #f4ead0;
  --pp-ink: #111111;
  --pp-ink-soft: #333333;
  --pp-muted: #666666;
  --pp-gold: #d4af37;
  --pp-brass: #b8942f;
  --pp-border: rgba(184, 148, 47, 0.34);
  --pp-border-soft: rgba(184, 148, 47, 0.22);
  --pp-shadow-soft: 0 16px 40px rgba(17, 17, 17, 0.08);
  --pp-shadow-lift: 0 22px 55px rgba(17, 17, 17, 0.12);
  --pp-radius-xs: 8px;
  --pp-radius-sm: 12px;
  --pp-radius-md: 16px;
  --pp-radius-lg: 24px;
  --pp-radius-pill: 999px;
  --pp-transition-fast: 160ms ease;
  --pp-transition: 200ms ease;
  --pp-matte: radial-gradient(circle at 30% 20%, rgba(255,255,255,0.92) 0%, rgba(250,249,247,0.92) 36%, rgba(244,234,208,0.82) 100%);
}

html { scroll-behavior: smooth; }
body { background: var(--pp-cream) !important; color: var(--pp-ink); }

#primephila-navigation-root {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  background: rgba(250, 249, 247, 0.78) !important;
  backdrop-filter: blur(18px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(140%) !important;
  border-bottom: 1px solid rgba(212, 175, 55, 0.42) !important;
  box-shadow: 0 10px 35px rgba(17, 17, 17, 0.04) !important;
}
#primephila-navigation-root .header-container { padding-top: 12px !important; padding-bottom: 12px !important; }
#primephila-navigation-root .logo-box img { filter: drop-shadow(0 4px 12px rgba(17, 17, 17, 0.08)); }

/* Unified nav menu item typography — single source of truth for ALL pages
   (desktop + mobile hamburger). Overrides any legacy per-page <style> block
   that may still define a duplicate/inconsistent font-size locally, so every
   page (including homepage, FAQ, blog and guide pages) renders nav items at
   the exact same size, weight, and spacing. !important + high specificity is
   required here to win over legacy inline <style> blocks still present on
   some pages until they are fully consolidated. */
html body #primephila-navigation-root .nav-links-box a,
html body #primephila-navigation-root .nav-links-box a.nav-icon-link {
  font-family: 'Inter', sans-serif !important;
  text-decoration: none !important;
  color: var(--pp-ink) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.4px !important;
  transition: color var(--pp-transition-fast) ease, opacity var(--pp-transition-fast), transform var(--pp-transition-fast) !important;
}
/* Nav alignment & spacing rebalance (improve_nav_alignment_spacing task).
   Root cause of the overflow/crowding reported by the user: every page's
   local <style> block gives .logo-box a flex:1 share and .nav-content-wrapper
   (text links + icons + currency + auth links, all together) only flex:3 —
   with flex-basis 0 this squeezes #nav-auth-area (icons/currency/dashboard
   links) against the right edge once a user is logged in and all 4 icon
   links + MY DASHBOARD + MY COLLECTION are present, causing MY DASHBOARD /
   MY COLLECTION to truncate or overflow past the viewport edge on common
   desktop widths (1280–1536px). Fix: give the nav more breathing room by
   shrinking the logo's flex share and reducing the link-to-link gap, so the
   whole nav block (text links | icons | currency | dashboard links) is
   better distributed across the row instead of being compressed on the
   right. High specificity + !important needed to win over the legacy
   per-page inline flex declarations until they are fully consolidated. */
html body #primephila-navigation-root .logo-box { flex: 0 0 auto !important; }
html body .nav-content-wrapper { flex: 1 1 auto !important; min-width: 0 !important; }
html body #primephila-navigation-root .nav-links-box ul { gap: 26px !important; }
html body #nav-auth-area { gap: 18px !important; flex-shrink: 0 !important; }
html body #primephila-navigation-root .nav-links-box a.nav-icon-link { gap: 4px !important; }
/* Hover state: brand gold token (--pp-brass, #b8942f — same hex used sitewide
   for footer link hover, "View all" hover, stamp title hover, and the
   "From completed, escrow-protected transactions" text). Background always
   stays transparent — text color change only, no fill. */
html body #primephila-navigation-root .nav-links-box a:hover,
html body #primephila-navigation-root .nav-links-box a.nav-icon-link:hover,
.primephila-footer-links a:hover {
  color: var(--pp-brass) !important;
  opacity: 1 !important;
  background: transparent !important;
}
html body #primephila-navigation-root .nav-links-box a.nav-sell-btn:hover {
  color: var(--pp-cream) !important;
}
.nav-search-bar-row { background: rgba(250, 249, 247, 0.68) !important; }
#nav-search-box.nav-search-full,
.search-input,
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
select,
textarea,
.mkt-theme-control {
  border-radius: var(--pp-radius-sm) !important;
  border-color: rgba(17, 17, 17, 0.22) !important;
  transition: border-color var(--pp-transition), box-shadow var(--pp-transition), background var(--pp-transition) !important;
}
#nav-search-box.nav-search-full:focus-within,
.search-input:focus,
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
select:focus,
textarea:focus,
.mkt-theme-control:focus-within {
  border-color: var(--pp-brass) !important;
  box-shadow: 0 0 0 4px rgba(184, 148, 47, 0.12) !important;
  outline: none !important;
}
#nav-search-dropdown,
.mkt-theme-suggestions { border-radius: var(--pp-radius-md) !important; box-shadow: var(--pp-shadow-soft) !important; overflow: hidden !important; }
.nav-search-result img,
.pp-offer-item-row img,
.pp-msg-context img { background: var(--pp-matte) !important; border-radius: var(--pp-radius-xs) !important; }

.nav-register-btn,
#primephila-navigation-root .nav-links-box a.nav-sell-btn,
.view-btn,
.quick-cart-btn,
.quick-offer-btn,
.mkt-filter-clear-btn,
.gate-btn,
.logout-btn,
.stripe-cta-btn,
.sell-btn-large,
.upload-btn,
.role-btn,
.feedback-btn,
#pp-offer-submit,
#pp-msg-submit,
button:not(.mobile-menu-btn):not(.mobile-close-btn):not(.close-modal):not(.mkt-theme-clear):not(.faq-question),
a[class*="btn"] {
  border-radius: var(--pp-radius-pill) !important;
  transition: transform var(--pp-transition-fast), box-shadow var(--pp-transition-fast), background var(--pp-transition-fast), color var(--pp-transition-fast), border-color var(--pp-transition-fast), opacity var(--pp-transition-fast) !important;
}
.nav-register-btn:hover,
#primephila-navigation-root .nav-links-box a.nav-sell-btn:hover,
.view-btn:hover,
.quick-cart-btn:hover,
.quick-offer-btn:hover,
.mkt-filter-clear-btn:hover,
.gate-btn:hover,
.stripe-cta-btn:hover,
.sell-btn-large:hover,
.upload-btn:hover,
.role-btn:hover,
.feedback-btn:hover,
#pp-offer-submit:hover,
#pp-msg-submit:hover,
button:not(.mobile-menu-btn):not(.mobile-close-btn):not(.close-modal):not(.mkt-theme-clear):not(.faq-question):hover,
a[class*="btn"]:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 24px rgba(17,17,17,0.10) !important;
}
#nav-auth-links .nav-register-btn,
.quick-cart-btn,
.role-btn,
.feedback-btn,
.btn-camera,
.mkt-filter-clear-btn,
.logout-btn {
  background: transparent !important;
  color: var(--pp-ink) !important;
  border: 1px solid rgba(17, 17, 17, 0.72) !important;
}
/* MY DASHBOARD / MY COLLECTION: plain nav-text links, never boxed like a button —
   matches HOME/MARKETPLACE/GUIDES treatment so the auth-area links do not look
   disconnected from the rest of the nav. Overrides any legacy per-page box styles
   (border/padding/background/font-size) that pages may still define locally.
   High-specificity selector (html body ...) ensures this wins even when a
   page's local <style> block (loaded after this shared stylesheet) still
   declares a conflicting .dashboard-link-small rule.
   Font-size intentionally reduced to 12px (vs. 13px for primary nav links) —
   per user feedback these are secondary account-area shortcuts, not primary
   site navigation, so a modest size step communicates that hierarchy. 12px
   is the absolute minimum readable size per design-foundations (body text
   floor), so this is as small as it goes without harming legibility. */
html body .dashboard-link-small,
html body #nav-auth-area .dashboard-link-small {
  background: transparent !important;
  color: var(--pp-ink) !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.4px !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transform: none !important;
  transition: color var(--pp-transition-fast) !important;
}
html body .dashboard-link-small:hover,
html body #nav-auth-area .dashboard-link-small:hover {
  color: var(--pp-brass) !important;
  opacity: 1 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  transform: none !important;
}
#nav-auth-links .nav-register-btn:last-child,
#primephila-navigation-root .nav-links-box a.nav-sell-btn,
.view-btn,
.gate-btn,
.sell-btn-large,
.btn-gallery,
#pp-offer-submit,
#pp-msg-submit,
button[type="submit"] {
  background: var(--pp-ink) !important;
  color: var(--pp-cream) !important;
  border-color: var(--pp-ink) !important;
}
#nav-auth-links .nav-register-btn:first-child:hover,
.quick-cart-btn:hover,
.role-btn:hover,
.feedback-btn:hover,
.btn-camera:hover {
  background: var(--pp-ink) !important;
  color: var(--pp-cream) !important;
  border-color: var(--pp-ink) !important;
}
#nav-auth-links .nav-register-btn:last-child:hover,
#primephila-navigation-root .nav-links-box a.nav-sell-btn:hover,
.view-btn:hover,
.gate-btn:hover,
.sell-btn-large:hover,
.btn-gallery:hover,
#pp-offer-submit:hover,
#pp-msg-submit:hover {
  background: #2a2a2a !important;
  color: var(--pp-cream) !important;
}
.currency-selector { border-radius: var(--pp-radius-pill) !important; background-color: rgba(250,249,247,0.55) !important; }
#nav-cart-badge,
#nav-fav-badge,
#nav-msg-badge { border-radius: var(--pp-radius-pill) !important; }

.stamp-card,
.launch-card,
.cd-box,
.modal-content,
.faq-item,
.blog-card,
.guide-card,
.seller-card,
.stat-card,
.account-card,
.panel,
.cart-seller-card,
.collection-card,
.empty-marketplace,
.pp-offer-items,
.pp-msg-context,
.valuation-disclaimer,
.import-row-thumb,
.photo-thumb {
  border-radius: var(--pp-radius-md) !important;
  border-color: var(--pp-border) !important;
}
.stamp-card,
.faq-item,
.blog-card,
.guide-card,
.seller-card,
.stat-card,
.account-card,
.panel,
.cart-seller-card,
.collection-card {
  background: transparent !important;
  transition: transform var(--pp-transition), box-shadow var(--pp-transition), border-color var(--pp-transition) !important;
}
a.stamp-card:hover,
.stamp-card:hover,
.blog-card:hover,
.guide-card:hover,
.seller-card:hover,
.account-card:hover,
.collection-card:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(17, 17, 17, 0.35) !important;
  box-shadow: var(--pp-shadow-lift) !important;
}
.img-container,
.cart-item-img,
.result-thumb-box,
.photo-thumb,
.browse-more-img,
.product-main-image,
.gallery-main,
.gallery-thumb {
  background: var(--pp-matte) !important;
  border-radius: var(--pp-radius-md) !important;
  border: 1px solid var(--pp-border-soft) !important;
  overflow: hidden !important;
}
.img-container { padding: 16px !important; border-bottom: 1px solid var(--pp-border-soft) !important; box-sizing: border-box !important; }
.img-container img,
.cart-item-img img,
.result-thumb-box img,
.photo-thumb img { filter: drop-shadow(0 10px 18px rgba(17,17,17,0.08)); }
.stamp-card .img-container { overflow: hidden !important; }
.stamp-card .img-container img { transition: transform 260ms ease !important; transform-origin: center center; will-change: transform; }
.stamp-card:hover .img-container img { transform: scale(1.08) !important; }
.fav-btn { background: rgba(250,249,247,0.82) !important; backdrop-filter: blur(8px) !important; border-radius: var(--pp-radius-pill) !important; }

.pp-trust-badge,
.card-trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--pp-border);
  border-radius: var(--pp-radius-pill);
  padding: 6px 10px;
  background: transparent;
  color: var(--pp-ink);
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.9px;
  text-transform: uppercase;
}

.homepage-main { width: 100%; max-width: 1220px; margin: 0 auto; padding: 28px 24px 40px; box-sizing: border-box; }
.home-hero-shell { position: relative; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.82fr); gap: 44px; align-items: center; margin: 0 auto 38px; }
.home-hero-shell::before { content: ''; position: absolute; width: min(620px, 70vw); height: min(620px, 70vw); left: 8%; top: -20%; background: radial-gradient(circle, rgba(212,175,55,0.20), rgba(212,175,55,0.08) 35%, rgba(212,175,55,0) 68%); pointer-events: none; z-index: -1; }
.hero-section { max-width: 760px !important; margin: 0 !important; padding: 0 !important; text-align: left !important; }
.hero-eyebrow { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 18px; padding: 8px 13px; border: 1px solid var(--pp-border); border-radius: var(--pp-radius-pill); font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 700; line-height: 1; letter-spacing: 1.4px; text-transform: uppercase; color: var(--pp-ink); background: rgba(250,249,247,0.36); backdrop-filter: blur(10px); }
.hero-title { font-size: clamp(46px, 6.2vw, 86px) !important; line-height: 0.96 !important; letter-spacing: -1.8px !important; margin-bottom: 22px !important; max-width: 760px; }
.hero-subtitle { font-size: clamp(16px, 1.4vw, 20px) !important; line-height: 1.68 !important; max-width: 690px; margin-bottom: 24px !important; color: var(--pp-ink-soft) !important; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 0 0 22px; }
.hero-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 20px; border-radius: var(--pp-radius-pill); font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 800; letter-spacing: 1.3px; text-transform: uppercase; text-decoration: none; transition: transform var(--pp-transition-fast), box-shadow var(--pp-transition-fast), background var(--pp-transition-fast), color var(--pp-transition-fast); }
.hero-cta.primary { background: var(--pp-ink); color: var(--pp-cream); border: 1px solid var(--pp-ink); }
.hero-cta.secondary { background: transparent; color: var(--pp-ink); border: 1px solid rgba(17,17,17,0.62); }
.hero-cta:hover { transform: translateY(-2px); box-shadow: var(--pp-shadow-soft); }
.hero-trust-row { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 18px; padding: 0; list-style: none; }
.hero-trust-row li { display: inline-flex; align-items: center; gap: 7px; font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 0.4px; color: var(--pp-ink-soft); }
.hero-trust-row svg { width: 15px; height: 15px; stroke: var(--pp-brass); flex-shrink: 0; }
.hero-disclaimers { display: grid; gap: 4px; max-width: 650px; }
.hero-disclaimer { margin: 0 !important; color: var(--pp-muted) !important; }
.home-expert-panel { position: relative; padding: 24px; border: 1px solid var(--pp-border); border-radius: var(--pp-radius-lg); background: transparent; box-shadow: 0 18px 60px rgba(17,17,17,0.07); }
.home-expert-panel::before { content: ''; position: absolute; inset: 14px; border: 1px dashed rgba(184,148,47,0.20); border-radius: calc(var(--pp-radius-lg) - 8px); pointer-events: none; }
.try-expert-text { margin: 0 0 16px !important; font-size: 12px !important; color: var(--pp-brass) !important; }
.expert-container { width: 100% !important; max-width: 430px !important; padding: 0 !important; filter: none !important; }
.stamp-box { border-radius: var(--pp-radius-lg) !important; border-color: var(--pp-ink) !important; background: rgba(250,249,247,0.28) !important; }
.launch-card { max-width: 820px !important; margin: 10px auto 44px !important; border-radius: var(--pp-radius-lg) !important; box-shadow: none !important; }
.recently-added-section { width: min(1600px, calc(100vw - 48px)); max-width: none; margin: 4px 0 42px 50%; padding: 0; box-sizing: border-box; transform: translateX(-50%); }
.recently-added-header { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.recently-added-eyebrow { margin: 0 0 6px; font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 800; letter-spacing: 1.4px; text-transform: uppercase; color: var(--pp-brass); }
.recently-added-title { margin: 0; font-family: 'Playfair Display', serif; font-size: clamp(28px, 3vw, 40px); line-height: 1.08; color: var(--pp-ink); }
.recently-added-view-all { flex-shrink: 0; font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 800; letter-spacing: 1.1px; text-transform: uppercase; color: var(--pp-ink); text-decoration: none; border-bottom: 1px solid rgba(17,17,17,0.55); padding-bottom: 3px; transition: color var(--pp-transition-fast), border-color var(--pp-transition-fast); }
.recently-added-view-all:hover { color: var(--pp-brass); border-color: var(--pp-brass); }
.recently-added-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 22px; width: 100%; }
.recently-added-grid .stamp-card { padding: 0 !important; border: 1px solid var(--pp-border) !important; border-radius: var(--pp-radius-lg) !important; overflow: hidden !important; background: transparent !important; box-shadow: none !important; display: flex; flex-direction: column; min-width: 0; position: relative; box-sizing: border-box; transition: transform var(--pp-transition), box-shadow var(--pp-transition), border-color var(--pp-transition) !important; }
.recently-added-grid .stamp-card:hover { transform: translateY(-4px) !important; border-color: rgba(17,17,17,0.36) !important; box-shadow: var(--pp-shadow-lift) !important; }
.recently-added-grid .card-media { position: relative; display: block; padding: 0; }
.recently-added-grid .card-photo-link { display: block; text-decoration: none; }
.recently-added-grid .img-container { width: 100%; height: 218px !important; display: flex; align-items: center; justify-content: center; margin: 0 !important; padding: 18px !important; border: none !important; border-bottom: 1px solid var(--pp-border-soft) !important; border-radius: var(--pp-radius-lg) var(--pp-radius-lg) 0 0 !important; background: var(--pp-matte) !important; box-sizing: border-box !important; overflow: hidden !important; }
.recently-added-grid .img-container img { max-width: 100%; max-height: 100%; object-fit: contain; transition: transform 0.35s ease; filter: drop-shadow(0 14px 22px rgba(17,17,17,0.10)); mix-blend-mode: multiply; }
.recently-added-grid .stamp-card:hover .img-container img { transform: scale(1.08) !important; }
.recently-added-grid .card-media .fav-card-position { top: 14px !important; right: 14px !important; width: 38px !important; height: 38px !important; border-color: rgba(184,148,47,0.58) !important; background: rgba(250,249,247,0.86) !important; backdrop-filter: blur(12px) !important; }
.recently-added-grid .card-badge-stack { position: absolute; top: 14px; left: 14px; z-index: 6; display: flex; flex-wrap: wrap; gap: 6px; max-width: calc(100% - 70px); }
.recently-added-grid .card-badge-stack .card-trust-badge { background: rgba(250,249,247,0.84) !important; backdrop-filter: blur(12px); border-color: rgba(184,148,47,0.58) !important; padding: 6px 10px !important; margin: 0 !important; }
.recently-added-grid .card-body { display: flex; flex-direction: column; flex: 1; padding: 18px 18px 20px; min-height: 250px; }
.recently-added-grid .stamp-title { font-family: 'Playfair Display', serif; font-weight: 700; color: var(--pp-ink); margin: 0 0 8px !important; min-height: 46px !important; font-size: 19px !important; line-height: 1.2 !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.recently-added-grid .stamp-title-link { color: inherit; text-decoration: none; cursor: pointer; transition: color var(--pp-transition-fast); }
.recently-added-grid .stamp-title-link:hover { color: var(--pp-brass); }
.recently-added-grid .stamp-meta { font-family: 'Inter', sans-serif; font-size: 11px; color: var(--pp-muted) !important; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 10px !important; }
.recently-added-grid .stamp-stats { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-family: 'Inter', sans-serif; font-size: 11px; color: var(--pp-muted) !important; letter-spacing: 0.3px; margin: 0 0 14px 0 !important; }
.recently-added-grid .stamp-stats .pp-stat { display: inline-flex; align-items: center; gap: 4px; }
.recently-added-grid .stamp-stats .pp-stat svg { width: 13px; height: 13px; stroke: var(--pp-brass); fill: none; stroke-width: 2; }
.recently-added-grid .stamp-stats .pp-stat b { font-weight: 700; color: var(--pp-muted); }
.recently-added-grid .stamp-desc { font-family: 'Open Sans', sans-serif; font-size: 13px; color: var(--pp-ink-soft) !important; line-height: 1.5; margin: 0 0 18px 0 !important; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; min-height: 58px !important; }
.recently-added-grid .price-row { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 14px !important; border-top: 1px solid var(--pp-border-soft) !important; gap: 10px !important; }
.recently-added-grid .price-box { font-family: 'Inter', sans-serif; font-size: 23px !important; font-weight: 700; color: var(--pp-ink); letter-spacing: -0.2px !important; font-variant-numeric: tabular-nums; }
.recently-added-grid .view-btn { border-radius: var(--pp-radius-pill) !important; padding: 9px 15px !important; }
.recently-added-grid .card-actions-row { display: flex; gap: 10px !important; margin-top: 12px !important; }
.recently-added-grid .quick-cart-btn,
.recently-added-grid .quick-offer-btn { flex: 1; min-height: 38px !important; border-radius: var(--pp-radius-pill) !important; font-size: 10.5px !important; letter-spacing: 0.8px !important; padding: 8px 10px; font-family: 'Inter', sans-serif; font-weight: 700; text-transform: uppercase; cursor: pointer; text-align: center; }
.recently-added-grid .quick-cart-btn { background: var(--pp-ink) !important; color: var(--pp-cream) !important; border-color: var(--pp-ink) !important; }
.recently-added-grid .quick-cart-btn:hover { background: #2a2a2a !important; color: var(--pp-cream) !important; }
.recently-added-grid .quick-offer-btn { background: transparent !important; color: var(--pp-ink) !important; border-color: rgba(17,17,17,0.72) !important; }
.recently-added-grid .quick-offer-btn:hover { background: var(--pp-ink) !important; color: var(--pp-cream) !important; border-color: var(--pp-ink) !important; }
.recently-added-grid .quick-cart-btn.in-cart { background: var(--pp-cream-warm) !important; color: var(--pp-ink) !important; border-color: var(--pp-gold) !important; }
.cd-box { min-width: 112px !important; background: transparent !important; }
.primephila-footer-root { backdrop-filter: blur(4px); }

@media (max-width: 1200px) {
  .recently-added-section { width: 100%; max-width: 1120px; margin-left: auto; margin-right: auto; transform: none; }
  .recently-added-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
}
/* Intermediate "compact nav" breakpoint (improve_nav_alignment_spacing task).
   Below ~1440px the full desktop nav (6 text links + SELL NOW + 4 icon
   links with text labels + currency selector + MY DASHBOARD/MY COLLECTION)
   no longer fits even after the spacing/flex rebalance above, and the
   mobile hamburger breakpoint doesn't kick in until 768px — leaving a wide
   "dead zone" (769–1440px, covering the very common 1280px and 1366px
   laptop widths) where the nav would still overflow. Rather than dropping to
   the hamburger menu early (which the task says to avoid unless truly
   necessary), we keep the icons but hide their text labels (Cart, Messages,
   Matches, Favorites) — the icon glyphs alone are still recognizable and
   this alone reclaims enough horizontal space to fit everything with no
   overflow, cutoff, or overlap. Gaps are tightened slightly further too. */
@media (min-width: 769px) and (max-width: 1440px) {
  html body #primephila-navigation-root .nav-links-box ul { gap: 18px !important; }
  html body #nav-auth-area { gap: 12px !important; }
  html body .nav-icon-label { display: none !important; }
  html body #primephila-navigation-root .nav-links-box a.nav-icon-link { gap: 0 !important; min-width: 24px !important; }
}
@media (max-width: 900px) {
  .home-hero-shell { grid-template-columns: 1fr; gap: 28px; }
  .recently-added-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-section { text-align: center !important; margin: 0 auto !important; }
  .hero-actions, .hero-trust-row { justify-content: center; }
  .hero-disclaimers { margin: 0 auto; }
}
@media (max-width: 768px) {
  #primephila-navigation-root { position: sticky !important; }
  .nav-content-wrapper { background: rgba(250,249,247,0.96) !important; backdrop-filter: blur(18px) !important; border-top-right-radius: var(--pp-radius-lg) !important; border-bottom-right-radius: var(--pp-radius-lg) !important; }
  #nav-auth-links, #nav-auth-area { width: 100% !important; }
  #nav-auth-links .nav-register-btn { width: 100% !important; box-sizing: border-box !important; justify-content: center !important; text-align: center !important; }
  /* Same 13px used on desktop — keeps the mobile hamburger menu items the
     exact same size as desktop nav, removing the legacy per-page 14px
     override some pages defined locally. The mobile hamburger menu is a
     vertical stacked list (no horizontal crowding/overflow risk), so unlike
     desktop, MY DASHBOARD / MY COLLECTION do NOT need to be shrunk here —
     kept at the same 13px as every other mobile menu item for a consistent,
     easy-to-tap list. */
  html body #primephila-navigation-root .nav-links-box a,
  html body #primephila-navigation-root .nav-links-box a.nav-icon-link { font-size: 13px !important; color: var(--pp-ink) !important; }
  html body .dashboard-link-small { width: auto !important; font-size: 13px !important; }
  .homepage-main { padding: 18px 16px 28px; }
  .hero-title { font-size: clamp(38px, 12vw, 54px) !important; letter-spacing: -0.7px !important; }
  .hero-subtitle { font-size: 15px !important; }
  .hero-actions { flex-direction: column; }
  .hero-cta { width: 100%; box-sizing: border-box; }
  .home-expert-panel { padding: 16px; }
  .recently-added-section { margin-top: 0; margin-bottom: 28px; }
  .recently-added-header { align-items: flex-start; flex-direction: column; gap: 10px; }
  .recently-added-grid { grid-template-columns: 1fr; gap: 18px; }
  .recently-added-section { width: 100%; margin-left: auto; margin-right: auto; transform: none; }
  .recently-added-grid .img-container { height: 230px !important; }
  .recently-added-grid .card-body { min-height: auto; }
  .countdown-container { flex-wrap: wrap; margin-bottom: 0 !important; }
  .cd-box { min-width: calc(50% - 10px) !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
  .stamp-card:hover, .hero-cta:hover, .upload-btn:hover, button:hover, a[class*="btn"]:hover, .stamp-card:hover .img-container img, .recently-added-grid .stamp-card:hover .img-container img { transform: none !important; }
  .stamp-card .img-container img, .recently-added-grid .img-container img { transition: none !important; }
}
.product-image-box,
.thumb-item,
.browse-more-item,
.browse-more-card,
.browse-more-img {
  border-radius: var(--pp-radius-md) !important;
  border-color: var(--pp-border) !important;
  transition: transform var(--pp-transition), box-shadow var(--pp-transition), border-color var(--pp-transition) !important;
}
.product-image-box,
.thumb-item,
.browse-more-img {
  background: var(--pp-matte) !important;
}
.browse-more-item:hover,
.browse-more-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: var(--pp-shadow-lift) !important;
}
.buy-now-btn,
.add-cart-btn,
.make-offer-btn,
.message-seller-btn,
.product-tab,
.status-note,
.security-badge-area {
  border-radius: var(--pp-radius-pill) !important;
}
.security-badge-area,
.status-note {
  border-color: var(--pp-border) !important;
  background: transparent !important;
}
.img-container,
.cart-item-img,
.result-thumb-box,
.product-image-box,
.thumb-item,
.browse-more-img {
  background: linear-gradient(145deg, #fbf7ef 0%, #f4ead0 100%) !important;
}
.img-container img,
.cart-item-img img,
.result-thumb-box img,
.product-image-box img,
.thumb-item img,
.browse-more-img img {
  mix-blend-mode: multiply;
}

/* === Primephila visual redesign Phase 3: cart, dashboard, collection, account forms === */
.cart-section,
.account-section,
.collection-section {
  width: 100% !important;
  box-sizing: border-box !important;
}
.cart-section { max-width: 1040px !important; }
.account-section { max-width: 1180px !important; }
.collection-section { max-width: 1220px !important; }

.cart-title,
.account-section .page-title,
.collection-section .page-title,
.auth-title,
.profile-name {
  letter-spacing: -0.02em !important;
  line-height: 1.05 !important;
}
.cart-subtitle,
.account-email,
.collection-section .page-subtitle,
.auth-subtitle,
.reviews-subheading {
  color: var(--pp-brass) !important;
}

.cart-info-note,
.gate-box,
.cart-empty,
.empty-collection,
.empty-listings,
.escrow-note-small,
.checkout-escrow-note,
.import-help,
.import-intro {
  background: transparent !important;
  border: 1px dashed var(--pp-border) !important;
  border-radius: var(--pp-radius-md) !important;
}
.cart-info-note,
.escrow-note-small,
.checkout-escrow-note {
  padding: 16px 18px !important;
  color: var(--pp-ink-soft) !important;
}

.cart-list,
.cart-seller-items,
.stamps-list {
  gap: 16px !important;
}
.cart-seller-group {
  margin-bottom: 30px !important;
  padding: 18px !important;
  border: 1px solid var(--pp-border) !important;
  border-radius: var(--pp-radius-lg) !important;
  background: transparent !important;
}
.cart-seller-header {
  margin-bottom: 16px !important;
  padding: 0 0 14px 0 !important;
  border-bottom: 1px solid var(--pp-border-soft) !important;
}
.cart-seller-name,
.section-heading,
.rate-size-title,
.balance-title,
.stripe-status-label,
.admin-stat-label,
.cart-summary-label {
  letter-spacing: 1.1px !important;
}
.cart-item,
.stamp-row,
.order-row,
.offer-row,
.admin-support-msg,
.review-card,
.profile-header {
  background: transparent !important;
  border: 1px solid var(--pp-border) !important;
  border-radius: var(--pp-radius-md) !important;
  transition: transform var(--pp-transition), box-shadow var(--pp-transition), border-color var(--pp-transition) !important;
}
.cart-item {
  padding: 18px !important;
  align-items: stretch !important;
}
.cart-item:hover,
.stamp-row:hover,
.order-row:hover,
.offer-row:hover,
.admin-support-msg:hover,
.review-card:hover,
.profile-header:hover {
  border-color: rgba(17, 17, 17, 0.34) !important;
  box-shadow: var(--pp-shadow-soft) !important;
}
.cart-item-img,
.stamp-row-img,
.order-row-img,
.offer-row-img,
.profile-avatar {
  background: var(--pp-matte) !important;
  border: 1px solid var(--pp-border-soft) !important;
  border-radius: var(--pp-radius-md) !important;
  overflow: hidden !important;
}
.cart-item-img { width: 96px !important; height: 96px !important; padding: 10px !important; box-sizing: border-box !important; }
.cart-item-title,
.stamp-row-title,
.order-row-title,
.offer-row-title,
.stamp-title {
  line-height: 1.18 !important;
}
.cart-item-meta,
.stamp-row-meta,
.order-row-meta,
.offer-row-meta,
.stamp-meta {
  color: var(--pp-muted) !important;
}
.cart-item-actions {
  justify-content: center !important;
  gap: 9px !important;
}
.cart-buy-btn,
.checkout-pay-btn,
.confirm-receipt-btn,
.tracking-save-btn,
.feedback-submit-btn,
.offer-accept-btn,
.import-upload-btn,
.import-confirm-btn,
.address-save-btn,
.list-btn,
.auth-submit-btn {
  background: var(--pp-ink) !important;
  color: var(--pp-cream) !important;
  border: 1px solid var(--pp-ink) !important;
  border-radius: var(--pp-radius-pill) !important;
}
.cart-remove-btn,
.cart-seller-offer-btn,
.remove-btn,
.logout-btn,
.zone-remove-btn,
.listing-action-btn.danger,
.offer-reject-btn,
.offer-cancel-btn,
.mkt-filter-clear-btn,
.feedback-cancel-btn,
.load-more-btn,
.import-secondary-btn,
.listings-toolbar-btn,
.listing-action-btn,
.zone-add-btn,
.auth-google-btn,
.review-reply-btn,
.review-reply-toggle {
  background: transparent !important;
  border-radius: var(--pp-radius-pill) !important;
}
.cart-summary {
  margin-top: 28px !important;
  padding: 20px 22px !important;
  border: 1px solid var(--pp-border) !important;
  border-radius: var(--pp-radius-lg) !important;
  background: transparent !important;
}
.cart-summary-value,
.admin-stat-value,
.balance-item-value,
.collection-stat-tile .cst-value {
  font-variant-numeric: tabular-nums !important;
}
.checkout-modal,
.onboarding-modal {
  background: var(--pp-cream) !important;
  border: 1px solid var(--pp-border) !important;
  border-radius: var(--pp-radius-lg) !important;
  box-shadow: var(--pp-shadow-lift) !important;
}

.dashboard-layout { gap: 34px !important; }
.dashboard-sidebar {
  flex: 0 0 230px !important;
  gap: 8px !important;
  padding: 10px !important;
  border: 1px solid var(--pp-border) !important;
  border-radius: var(--pp-radius-lg) !important;
  background: transparent !important;
  top: 104px !important;
}
.dash-nav-btn {
  border: 1px solid transparent !important;
  border-radius: var(--pp-radius-pill) !important;
  background: transparent !important;
  color: var(--pp-muted) !important;
  padding: 11px 14px !important;
}
.dash-nav-btn:hover,
.dash-nav-btn.active {
  background: transparent !important;
  color: var(--pp-ink) !important;
  border-color: rgba(17,17,17,0.62) !important;
}
.dash-nav-btn.active {
  box-shadow: inset 0 0 0 1px rgba(17,17,17,0.12) !important;
}
.dash-nav-badge,
.status-badge,
.delivery-status-badge,
.profile-badge,
.review-role-tag,
.import-source-tag,
.country-chip,
.pp-support-status,
.msg-conv-unread-dot {
  border-radius: var(--pp-radius-pill) !important;
}
.stripe-status-card,
.address-card,
.zone-card,
.balance-card,
.messages-card,
.admin-stat-card,
.admin-detail-panel,
.feedback-form,
.offer-order-summary,
.bulk-action-bar,
.form-card,
.auth-success-box {
  background: transparent !important;
  border: 1px solid var(--pp-border) !important;
  border-radius: var(--pp-radius-lg) !important;
}
.address-card.needs-attention,
.bulk-action-bar.active,
.admin-stat-card.is-open,
.admin-detail-row td,
.zone-free-shipping-block,
.review-reply,
.msg-conv-row:hover,
.msg-conv-row.active,
.msg-bubble.theirs {
  background: transparent !important;
}
.admin-stat-card,
.stripe-status-card,
.address-card,
.balance-card,
.form-card,
.zone-card,
.messages-card {
  box-shadow: none !important;
}
.admin-stat-card:hover,
.zone-card:hover,
.address-card:hover,
.stripe-status-card:hover,
.balance-card:hover {
  border-color: rgba(17, 17, 17, 0.34) !important;
  box-shadow: var(--pp-shadow-soft) !important;
}
.messages-card { border-radius: var(--pp-radius-lg) !important; }
.messages-list-pane,
.messages-thread-header,
.messages-thread-input-row {
  border-color: var(--pp-border-soft) !important;
}
.msg-bubble.mine {
  background: var(--pp-ink) !important;
  color: var(--pp-cream) !important;
}

.collection-stat-tile {
  background: transparent !important;
  border: 1px solid var(--pp-border) !important;
  border-top: 1px solid var(--pp-border) !important;
  border-radius: var(--pp-radius-lg) !important;
  padding: 22px 18px !important;
  box-shadow: none !important;
}
.collection-stat-tile:hover {
  border-color: rgba(17,17,17,0.34) !important;
  box-shadow: var(--pp-shadow-soft) !important;
}
.collection-section .stamps-grid {
  gap: 24px !important;
}
.collection-section .stamp-card {
  padding: 0 !important;
  border: 1px solid var(--pp-border) !important;
  border-radius: var(--pp-radius-lg) !important;
  overflow: hidden !important;
  background: transparent !important;
  box-shadow: none !important;
}
.collection-section .stamp-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(17,17,17,0.36) !important;
  box-shadow: var(--pp-shadow-lift) !important;
}
.collection-section .stamp-card .img-container {
  height: 218px !important;
  margin: 0 !important;
  padding: 18px !important;
  border: none !important;
  border-bottom: 1px solid var(--pp-border-soft) !important;
  border-radius: var(--pp-radius-lg) var(--pp-radius-lg) 0 0 !important;
  background: var(--pp-matte) !important;
}
.collection-section .stamp-card .img-container img {
  filter: drop-shadow(0 14px 22px rgba(17,17,17,0.10)) !important;
  mix-blend-mode: multiply !important;
}
.collection-section .stamp-card .stamp-title,
.collection-section .stamp-card .stamp-meta,
.collection-section .stamp-card .stamp-value,
.collection-section .stamp-card .card-trust-badge,
.collection-section .stamp-card .card-actions {
  margin-left: 18px !important;
  margin-right: 18px !important;
}
.collection-section .stamp-card .stamp-title { margin-top: 18px !important; }
.collection-section .stamp-card .card-actions {
  padding-top: 16px !important;
  padding-bottom: 18px !important;
  border-top: 1px dashed var(--pp-border-soft) !important;
}
.collection-section .list-btn,
.collection-section .remove-btn { min-height: 38px !important; }

.auth-page-content {
  max-width: 460px !important;
  padding: 42px 32px !important;
  margin: 30px auto 120px !important;
  border: 1px solid var(--pp-border) !important;
  border-radius: var(--pp-radius-lg) !important;
  background: transparent !important;
  box-shadow: none !important;
}
.auth-input,
.auth-input-group input,
.form-field input,
.form-field textarea,
.form-field select,
.address-field input,
.address-field select,
.tracking-select,
.tracking-input,
.feedback-comment,
.review-reply-form textarea,
.import-url-field,
.zone-name-input,
.country-search-input,
.country-multiselect {
  border-radius: var(--pp-radius-sm) !important;
  border-color: rgba(17,17,17,0.24) !important;
  background: rgba(250,249,247,0.45) !important;
}
.auth-google-btn { border-color: rgba(17,17,17,0.72) !important; }
.auth-error-box,
.auth-info-box,
.import-alert.success,
.import-alert.error,
.import-alert.info {
  border-radius: var(--pp-radius-md) !important;
  background: transparent !important;
}

.upload-box {
  background: transparent !important;
  border: 1px dashed var(--pp-border) !important;
  border-radius: var(--pp-radius-lg) !important;
}
.photo-grid { gap: 12px !important; }
.photo-thumb {
  border-radius: var(--pp-radius-md) !important;
  background: var(--pp-matte) !important;
}
.profile-header { border-radius: var(--pp-radius-lg) !important; }
.review-card { border-radius: var(--pp-radius-lg) !important; }
.profile-avatar {
  color: var(--pp-brass) !important;
}

@media (max-width: 768px) {
  .cart-section,
  .account-section,
  .collection-section { padding-left: 16px !important; padding-right: 16px !important; }
  .cart-seller-group { padding: 14px !important; }
  .cart-item { gap: 14px !important; }
  .cart-item-img { width: 84px !important; height: 84px !important; }
  .cart-item-actions { flex-direction: row !important; min-width: 100% !important; }
  .cart-summary { align-items: flex-start !important; gap: 6px !important; flex-direction: column !important; }
  .dashboard-sidebar {
    width: 100% !important;
    flex: 0 0 auto !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    border-radius: var(--pp-radius-pill) !important;
    padding: 8px !important;
  }
  .dash-nav-btn { border-bottom: 1px solid transparent !important; }
  .dash-nav-btn.active { border-bottom-color: rgba(17,17,17,0.62) !important; }
  .collection-section .stamps-grid { gap: 18px !important; }
  .collection-section .stamp-card .img-container { height: 220px !important; }
  .auth-page-content { margin-top: 10px !important; padding: 28px 20px !important; }
}
