/* =========================================================
   Dprincy role premium layer
   Shared buyer, seller, admin and operations UI primitives.
   ========================================================= */
:root{
  --role-ink:#07111f;
  --role-slate:#334155;
  --role-muted:#64748b;
  --role-line:#d9e2ec;
  --role-soft:#f6f8fb;
  --role-ice:#eef6ff;
  --role-blue:#0A7266; /* [ui-fix] darkened from #0BB5A6 for WCAG AA (white text on the primary role button) */
  --role-blue-dark:#1e40af;
  --role-gold:#6d5efc;
  --role-green:#047857;
  --role-red:#b91c1c;
  --role-shadow:0 16px 42px rgba(15,23,42,.08);
  --role-radius:8px;
}

.roleCommand,
.roleHero,
.roleSplit,
.roleWorkflow,
.roleChecklist,
.roleDataRibbon{
  border:1px solid var(--role-line);
  border-radius:var(--role-radius);
  background:#fff;
  box-shadow:var(--role-shadow);
}

.roleHero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,360px);
  gap:18px;
  align-items:stretch;
  padding:18px;
  margin:0 0 16px;
}

.roleHero h2,
.roleCommand h2,
.roleSplit h2,
.roleWorkflow h2,
.roleChecklist h2{
  margin:0;
  color:var(--role-ink);
  font-size:24px;
  line-height:1.15;
  letter-spacing:0;
}

.roleHero p,
.roleCommand p,
.roleOptionCard p,
.roleWorkflow p,
.roleChecklist p,
.roleDataRibbon span{
  margin:7px 0 0;
  color:var(--role-muted);
  line-height:1.5;
}

.roleKicker,
.rolePill{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  border-radius:6px;
  border:1px solid rgba(212,175,55,.38);
  background:#fff9e8;
  color:#7c5800;
  padding:5px 9px;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
}

.roleHeroPanel{
  display:grid;
  align-content:center;
  gap:8px;
  border-radius:var(--role-radius);
  border:1px solid #10243d;
  background:#07111f;
  color:#fff;
  padding:18px;
}

.roleHeroPanel span{
  color:#cbd5e1;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
}

.roleHeroPanel b{
  color:#fff;
  font-size:34px;
  line-height:1;
}

.roleHeroPanel p{
  color:#dbeafe;
  margin:0;
}

.roleMetricGrid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:0 0 16px;
}

.roleMetricCard{
  min-height:98px;
  border:1px solid var(--role-line);
  border-radius:var(--role-radius);
  background:linear-gradient(180deg,#fff,var(--role-soft));
  padding:14px;
}

.roleMetricCard span{
  display:block;
  color:var(--role-muted);
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
}

.roleMetricCard b{
  display:block;
  margin-top:8px;
  color:var(--role-ink);
  font-size:28px;
  line-height:1;
}

.roleMetricCard em{
  display:block;
  margin-top:8px;
  color:var(--role-slate);
  font-size:12px;
  font-style:normal;
}

.roleCommand{
  padding:16px;
  margin:0 0 16px;
}

.roleCommandHead{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:14px;
}

.roleOptionGrid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.roleOptionCard{
  display:grid;
  gap:10px;
  min-height:154px;
  border:1px solid var(--role-line);
  border-radius:var(--role-radius);
  background:#fff;
  padding:14px;
}

.roleOptionCard strong{
  color:var(--role-ink);
  font-size:15px;
}

.roleOptionCard button,
.roleInlineActions button,
.roleActionButton{
  align-self:end;
  min-height:38px;
  border:1px solid var(--role-blue);
  border-radius:6px;
  background:var(--role-blue);
  color:#fff;
  font-weight:700;
  cursor:pointer;
  padding:8px 12px;
}

.roleOptionCard button.secondary,
.roleInlineActions button.secondary,
.roleActionButton.secondary{
  background:#fff;
  color:var(--role-blue-dark);
  border-color:var(--role-line);
}

.roleOptionCard button.warning{
  background:#fff9e8;
  color:#7c5800;
  border-color:#efd58a;
}

.roleSplit{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  gap:16px;
  padding:16px;
  margin:0 0 16px;
}

.roleWorkflow,
.roleChecklist{
  padding:16px;
}

.roleWorkflowList{
  display:grid;
  gap:10px;
  margin-top:14px;
}

.roleStep{
  display:grid;
  grid-template-columns:32px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  border:1px solid var(--role-line);
  border-radius:var(--role-radius);
  background:var(--role-soft);
  padding:10px;
}

.roleStep i{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:6px;
  background:#07111f;
  color:#fff;
  font-style:normal;
  font-weight:700;
}

.roleStep b{
  color:var(--role-ink);
}

.roleStep small{
  display:block;
  color:var(--role-muted);
  margin-top:2px;
}

.roleChecklist ul{
  list-style:none;
  display:grid;
  gap:10px;
  padding:0;
  margin:14px 0 0;
}

.roleChecklist li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  border:1px solid var(--role-line);
  border-radius:var(--role-radius);
  background:#fff;
  padding:10px;
  color:var(--role-slate);
}

.roleChecklist li:before{
  content:"";
  flex:0 0 10px;
  width:10px;
  height:10px;
  margin-top:5px;
  border-radius:50%;
  background:var(--role-green);
}

.roleDataRibbon{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
  overflow:hidden;
  margin:0 0 16px;
}

.roleDataRibbon div{
  padding:13px;
  border-right:1px solid var(--role-line);
  background:#fff;
}

.roleDataRibbon div:last-child{
  border-right:0;
}

.roleDataRibbon b{
  display:block;
  color:var(--role-ink);
  font-size:18px;
}

.roleInlineActions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin-top:14px;
}

.roleTableToolbar{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  border:1px solid var(--role-line);
  border-radius:var(--role-radius);
  background:var(--role-soft);
  padding:10px;
  margin:0 0 12px;
}

.roleTableToolbar input,
.roleTableToolbar select{
  min-height:38px;
}

.roleStatusOk{color:var(--role-green)!important;}
.roleStatusWarn{color:#9a6a00!important;}
.roleStatusBad{color:var(--role-red)!important;}

.buyerDeskMain .roleHero,
.buyerDeskMain .roleCommand,
.buyerDeskMain .roleSplit,
.buyerDeskMain .roleDataRibbon,
.adminDeskMain .roleHero,
.adminDeskMain .roleCommand,
.adminDeskMain .roleSplit,
.adminDeskMain .roleDataRibbon,
.opsDeskMain .roleHero,
.opsDeskMain .roleCommand,
.opsDeskMain .roleSplit,
.opsDeskMain .roleDataRibbon{
  box-shadow:none;
}

.buyerDeskMain .roleOptionCard,
.adminDeskMain .roleOptionCard,
.opsDeskMain .roleOptionCard{
  box-shadow:none;
}

.sellerBuyerClone .roleCommand,
.sellerBuyerClone .roleHero,
.sellerBuyerClone .roleSplit,
.sellerBuyerClone .roleDataRibbon{
  box-shadow:none;
}

.roleCompactText{
  color:var(--role-muted);
  font-size:13px;
  line-height:1.45;
}

@media(max-width:1200px){
  .roleMetricGrid,
  .roleOptionGrid,
  .roleDataRibbon{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .roleHero,
  .roleSplit{
    grid-template-columns:1fr;
  }
}

@media(max-width:720px){
  .roleMetricGrid,
  .roleOptionGrid,
  .roleDataRibbon{
    grid-template-columns:1fr;
  }
  .roleHero,
  .roleCommand,
  .roleSplit,
  .roleWorkflow,
  .roleChecklist{
    padding:14px;
  }
  .roleCommandHead{
    display:block;
  }
  .roleStep{
    grid-template-columns:28px minmax(0,1fr);
  }
  .roleStep .rolePill{
    grid-column:1/-1;
  }
}

/* =========================================================
   UI REVIEW POLISH 2026-06-04
   Marketplace-wide visual tightening for public, buyer, seller,
   admin and operations screens.
   ========================================================= */
:root{
  --ui-bg:#f8fafc;
  --ui-card:#ffffff;
  --ui-ink:#0f172a;
  --ui-muted:#64748b;
  --ui-line:#dbe4ee;
  --ui-soft:#f1f5f9;
  --ui-blue:#08594F;
  --ui-navy:#07111f;
  --ui-gold:#b88924;
  --ui-green:#047857;
  --ui-red:#b42318;
  --ui-shadow:0 14px 34px rgba(15,23,42,.07);
}

.roleHero,
.roleCommand,
.roleSplit,
.roleWorkflow,
.roleChecklist,
.roleDataRibbon,
.roleMetricCard,
.roleOptionCard{
  border-color:var(--ui-line)!important;
  border-radius:8px!important;
  box-shadow:none!important;
}

.roleHero{
  background:linear-gradient(180deg,#fff,#f8fafc)!important;
  padding:20px!important;
}

.roleHeroPanel{
  border-radius:8px!important;
  background:linear-gradient(180deg,#07111f,#10243d)!important;
}

.roleMetricGrid,
.roleOptionGrid{
  gap:14px!important;
}

.roleMetricCard,
.roleOptionCard{
  background:#fff!important;
}

.roleOptionCard{
  min-height:148px!important;
  align-content:start!important;
}

.roleOptionCard button,
.roleInlineActions button,
.roleActionButton{
  border-radius:6px!important;
  box-shadow:none!important;
}

.roleOptionCard button:hover,
.roleInlineActions button:hover,
.roleActionButton:hover{
  transform:none!important;
  filter:brightness(.98);
}

.roleCommand{
  background:#fff!important;
}

.roleDataRibbon{
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
}

.roleDataRibbon div{
  min-height:82px;
}

.roleDataRibbon b{
  margin-top:6px;
  font-size:20px!important;
  overflow-wrap:anywhere;
}

.roleStep{
  background:#fff!important;
}

.roleStep i{
  background:var(--ui-navy)!important;
}

.buyerDeskMain{
  background:#fff!important;
}

.buyerDeskPageTitle{
  align-items:start!important;
}

.buyerDeskToolbar{
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:8px!important;
}

.buyerDeskToolbar .buyerCertInput,
.buyerDeskToolbar select{
  min-width:160px!important;
}

.buyerDeskSort{
  margin-left:0!important;
}

.buyerBulkBar,
.sellerBulkActions{
  border-radius:8px!important;
}

.buyerStoneCard{
  border-radius:8px!important;
  overflow:hidden!important;
  border-color:var(--ui-line)!important;
}

.buyerStoneActions{
  background:#fff!important;
}

.buyerStoneBody h3{
  min-height:38px;
}

.buyerStoneOpenActions button,
.buyerStoneBody>button{
  border-radius:6px!important;
}

.buyerLoadMoreWrap,
.shopLoadMoreWrap{
  border:1px solid var(--ui-line)!important;
  border-radius:8px!important;
  background:#fff!important;
  padding:18px!important;
}

.b2bAssuranceBand{
  background:#fff!important;
  border-top:1px solid var(--ui-line);
  border-bottom:1px solid var(--ui-line);
}

.b2bAssuranceGrid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.b2bAssuranceGrid article{
  display:grid;
  gap:10px;
  min-height:180px;
  border:1px solid var(--ui-line);
  border-radius:8px;
  background:linear-gradient(180deg,#fff,#f8fafc);
  padding:18px;
}

.b2bAssuranceGrid i{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:6px;
  background:var(--ui-navy);
  color:#fff;
  font-style:normal;
  font-weight:700;
}

.b2bAssuranceGrid b{
  color:var(--ui-ink);
  font-size:17px;
}

.b2bAssuranceGrid p{
  margin:0;
  color:var(--ui-muted)!important;
  line-height:1.6;
}

.buyerAuthExperience{
  min-height:calc(100vh - 84px);
}

.buyerAuthLayout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,460px);
  gap:28px;
  align-items:start;
}

.buyerAuthAside{
  border:1px solid var(--ui-line);
  border-radius:8px;
  background:linear-gradient(180deg,#fff,#f8fafc);
  padding:28px;
}

.buyerAuthAside h1{
  margin:16px 0 12px!important;
  font-size:42px!important;
  line-height:1.08!important;
  letter-spacing:0!important;
}

.buyerAuthAside p{
  max-width:680px;
}

.buyerAccessSteps{
  display:grid;
  gap:10px;
  margin-top:22px;
}

.buyerAccessSteps div{
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  gap:8px 12px;
  align-items:start;
  border:1px solid var(--ui-line);
  border-radius:8px;
  background:#fff;
  padding:12px;
}

.buyerAccessSteps b{
  grid-row:1/3;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:6px;
  background:var(--ui-navy);
  color:#fff;
}

.buyerAccessSteps span{
  color:var(--ui-ink);
  font-weight:700;
}

.buyerAccessSteps p{
  margin:0!important;
  color:var(--ui-muted)!important;
  line-height:1.45;
}

.buyerAuthLayout .buyerAuthCard{
  max-width:none!important;
  width:100%;
  border-radius:8px!important;
  box-shadow:var(--ui-shadow)!important;
}

.buyerAuthCard h1{
  font-family:Inter,Arial,sans-serif!important;
  font-size:30px!important;
  letter-spacing:0!important;
}

.buyerAuthCard input{
  border-radius:6px!important;
}

.buyerAuthCard .btn{
  width:100%;
  margin-top:8px;
}

.privateInventoryCard{
  border-radius:8px!important;
  padding:28px!important;
}

.sellerReadinessRibbon,
.adminHealthBoard,
.opsSlaBoard,
.buyerTradeWorkflow{
  margin-top:0!important;
}

.sellerQualityPanel .roleOptionGrid,
.adminCompletionGrid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

.adminTableWrap,
.tableWrap{
  border-radius:8px!important;
}

.adminTableWrap table,
.tableWrap table{
  min-width:980px;
}

.adminTableWrap td,
.tableWrap td{
  overflow-wrap:anywhere;
}

.roleInlineActions{
  gap:8px!important;
}

.roleInlineActions button{
  min-width:0;
}

.buyerDeskTable,
.opsEnhancedTable{
  border-radius:8px;
}

.adminBuyerClone{
  max-width:100vw;
  overflow-x:hidden;
}

.adminBuyerClone *,
.adminBuyerClone *:before,
.adminBuyerClone *:after{
  min-width:0;
}

.adminBuyerClone .adminDeskTop{
  max-width:100vw;
  grid-template-columns:auto auto minmax(180px,1fr) auto auto auto auto auto auto auto!important;
  overflow:hidden;
}

.adminBuyerClone .buyerDeskSearch{
  min-width:0;
}

.adminBuyerClone .adminDeskNav{
  max-width:100vw;
  justify-content:flex-start!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
}

.adminBuyerClone .adminDeskNav button{
  flex:0 0 auto;
  padding-left:18px!important;
  padding-right:18px!important;
}

.adminBuyerClone .adminDeskMain{
  max-width:100vw;
  overflow-x:hidden;
}

.adminBuyerClone .adminDeskPageTitle{
  grid-template-columns:minmax(0,1fr) auto auto!important;
}

.adminBuyerClone .roleHero,
.adminBuyerClone .roleCommand,
.adminBuyerClone .roleSplit,
.adminBuyerClone .roleDataRibbon,
.adminBuyerClone .roleOptionCard,
.adminBuyerClone .adminPanel,
.adminBuyerClone .card{
  max-width:100%;
}

.adminBuyerClone .adminTableWrap{
  max-width:100%;
  overflow-x:auto!important;
}

.opsBuyerClone{
  max-width:100vw;
  overflow-x:hidden;
}

.opsBuyerClone *,
.opsBuyerClone *:before,
.opsBuyerClone *:after{
  min-width:0;
}

.opsBuyerClone .opsDeskTop{
  max-width:100vw;
  grid-template-columns:auto auto minmax(180px,1fr) auto auto auto auto auto auto auto auto!important;
  overflow:hidden;
}

.opsBuyerClone .buyerDeskSearch{
  min-width:0;
}

.opsBuyerClone .opsDeskNav{
  max-width:100vw;
  justify-content:flex-start!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
}

.opsBuyerClone .opsDeskNav button{
  flex:0 0 auto;
  padding-left:18px!important;
  padding-right:18px!important;
}

.opsBuyerClone .opsDeskMain{
  max-width:100vw;
  overflow-x:hidden;
}

.opsBuyerClone .opsEnhancedTable{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:auto!important;
}

.opsBuyerClone .opsEnhancedTable table{
  min-width:1320px!important;
}

@media(max-width:1200px){
  .b2bAssuranceGrid,
  .sellerQualityPanel .roleOptionGrid,
  .adminCompletionGrid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .buyerAuthLayout{
    grid-template-columns:1fr;
  }
  .adminBuyerClone .adminDeskTop{
    grid-template-columns:auto auto minmax(160px,1fr) auto auto!important;
  }
  .opsBuyerClone .opsDeskTop{
    grid-template-columns:auto auto minmax(160px,1fr) auto auto!important;
  }
}

@media(max-width:760px){
  .b2bAssuranceGrid,
  .sellerQualityPanel .roleOptionGrid,
  .adminCompletionGrid{
    grid-template-columns:1fr!important;
  }
  .buyerAuthAside,
  .buyerAuthLayout .buyerAuthCard,
  .privateInventoryCard{
    padding:18px!important;
  }
  .buyerAuthAside h1{
    font-size:32px!important;
  }
  .buyerDeskToolbar .buyerCertInput,
  .buyerDeskToolbar select,
  .buyerDeskToolbar button{
    width:100%!important;
  }
  .roleDataRibbon div{
    border-right:0!important;
    border-bottom:1px solid var(--ui-line);
  }
  .roleDataRibbon div:last-child{
    border-bottom:0;
  }
  .adminBuyerClone .adminDeskPageTitle{
    grid-template-columns:1fr!important;
  }
  .adminBuyerClone .adminDeskPageTitle button{
    width:100%;
  }
  .opsBuyerClone .opsDeskPageTitle{
    grid-template-columns:1fr!important;
  }
  .opsBuyerClone .opsDeskPageTitle button{
    width:100%;
  }
}

/* BUYER NIVODA-STYLE FINAL UI OVERRIDES */
body:has(.buyerNivodaShell){
  background:#fff !important;
}

.buyerNivodaShell{
  min-height:0 !important;
  background:#fff !important;
  color:#050505 !important;
}

.buyerNivodaMain{
  background:#fff !important;
}

.buyerNivodaTop{
  position:sticky !important;
  top:0 !important;
  z-index:1200 !important;
  height:58px !important;
  display:grid !important;
  grid-template-columns:auto 76px minmax(260px,1fr) 44px 106px 96px !important;
  align-items:center !important;
  gap:10px !important;
  padding:0 16px !important;
  border-bottom:1px solid #eef0f4 !important;
  background:#fff !important;
  box-shadow:none !important;
}

.buyerDeskMenuBtn{
  width:84px !important;
  height:42px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  border:0 !important;
  background:#fff !important;
  color:#050505 !important;
  font-weight:650 !important;
  padding:0 !important;
}

.buyerDeskMenuIcon{
  position:relative !important;
  width:25px !important;
  height:18px !important;
  display:inline-block !important;
}

.buyerDeskMenuIcon::before,
.buyerDeskMenuIcon::after,
.buyerDeskMenuIcon i{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  width:25px !important;
  height:2px !important;
  background:#111 !important;
  border-radius:2px !important;
}

.buyerDeskMenuIcon::before{
  top:0 !important;
}

.buyerDeskMenuIcon i{
  top:8px !important;
}

.buyerDeskMenuIcon::after{
  bottom:0 !important;
}

.buyerNivodaLogo{
  width:70px !important;
  height:42px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-decoration:none !important;
}

.buyerLogoMark{
  display:flex !important;
  align-items:center !important;
  gap:5px !important;
  width:62px !important;
  height:34px !important;
  justify-content:flex-start !important;
  background:transparent !important;
  border-radius:0 !important;
  color:inherit !important;
  font-size:0 !important;
  transform:none !important;
}

.buyerNivodaLogo .buyerLogoMark{
  display:flex !important;
  align-items:center !important;
  gap:5px !important;
  width:62px !important;
  height:34px !important;
  justify-content:flex-start !important;
  background:transparent !important;
  border-radius:0 !important;
  color:inherit !important;
  font-size:0 !important;
  transform:none !important;
}

.buyerLogoMark i:first-child{
  width:29px !important;
  height:29px !important;
  display:block !important;
  background:#050505 !important;
  clip-path:polygon(0 0,100% 0,50% 100%) !important;
}

.buyerLogoMark i:last-child{
  width:29px !important;
  height:29px !important;
  display:block !important;
  background:#050505 !important;
  border-radius:50% !important;
}

.buyerDeskSearch{
  height:40px !important;
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  gap:11px !important;
  padding:0 16px !important;
  border:1px solid #dde1e7 !important;
  border-radius:4px !important;
  background:#fff !important;
  box-shadow:none !important;
}

.buyerDeskSearch input{
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  border:0 !important;
  outline:0 !important;
  background:transparent !important;
  color:#111 !important;
  font-size:14px !important;
}

.buyerDeskSearch input::placeholder{
  color:#9ca3af !important;
}

.buyerSearchIcon{
  position:relative !important;
  width:16px !important;
  height:16px !important;
  flex:0 0 16px !important;
}

.buyerSearchIcon::before{
  content:"" !important;
  position:absolute !important;
  left:1px !important;
  top:1px !important;
  width:10px !important;
  height:10px !important;
  border:1.8px solid #aeb4bf !important;
  border-radius:50% !important;
}

.buyerSearchIcon::after{
  content:"" !important;
  position:absolute !important;
  right:1px !important;
  bottom:1px !important;
  width:7px !important;
  height:1.8px !important;
  background:#aeb4bf !important;
  border-radius:2px !important;
  transform:rotate(45deg) !important;
  transform-origin:center !important;
}

.buyerShortlistTop,
.buyerDeskUser{
  width:42px !important;
  height:42px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid #d9dde5 !important;
  border-radius:4px !important;
  background:#fff !important;
  color:#111 !important;
  font-weight:650 !important;
  text-decoration:none !important;
  box-shadow:none !important;
}

.buyerDeskCart{
  width:106px !important;
  height:42px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  border:1px solid #d9dde5 !important;
  border-radius:4px !important;
  padding:0 12px !important;
  background:#fff !important;
  color:#111 !important;
  font-weight:650 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}

.buyerDeskCart b{
  min-width:18px !important;
  height:18px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50% !important;
  background:#111 !important;
  color:#fff !important;
  font-size:11px !important;
  line-height:1 !important;
}

.buyerDeskHelp{
  width:96px !important;
  min-width:96px !important;
  height:44px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  border:0 !important;
  border-radius:6px !important;
  background:#050505 !important;
  color:#fff !important;
  padding:0 14px !important;
  font-weight:700 !important;
  white-space:nowrap !important;
}

.buyerDeskHelp::before{
  content:"?" !important;
  width:18px !important;
  height:18px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1.5px solid #fff !important;
  border-radius:50% !important;
  color:#fff !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:700 !important;
}

.buyerDeskHelp::after{
  content:"v" !important;
  color:#fff !important;
  font-size:11px !important;
  line-height:1 !important;
  margin-left:2px !important;
}

.buyerDeskUser{
  border-radius:50% !important;
  background:#eef3f9 !important;
  color:#2f4b5d !important;
}

.buyerNivodaTop .buyerDeskUser,
.buyerChatPrompt,
.buyerChatFab,
.buyerFloatingChat{
  display:none !important;
}

.buyerDeskNotice{
  position:relative !important;
  height:42px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 48px !important;
  background:#cfe4ff !important;
  color:#07111f !important;
  font-size:13px !important;
  font-weight:500 !important;
  border:0 !important;
}

.buyerNoticeClose{
  position:absolute !important;
  right:22px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  color:#9aa7b8 !important;
  font-size:18px !important;
}

.buyerDeskBlackNav{
  position:sticky !important;
  top:58px !important;
  z-index:1100 !important;
  height:84px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:44px !important;
  background:#050505 !important;
  border:0 !important;
  padding:0 18px !important;
}

.buyerDeskBlackNav button{
  height:84px !important;
  min-width:170px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:700 !important;
  box-shadow:none !important;
}

.buyerDeskBlackNav button.active{
  color:#fff !important;
}

.buyerDeskMain{
  padding:16px 16px 40px !important;
  background:#fff !important;
  border:0 !important;
}

.buyerNivodaTitle{
  display:grid !important;
  grid-template-columns:minmax(260px,1fr) auto auto !important;
  align-items:center !important;
  gap:18px !important;
  margin:0 0 12px !important;
}

.buyerNivodaTitle h1{
  display:inline-flex !important;
  align-items:baseline !important;
  gap:10px !important;
  margin:0 !important;
  color:#101010 !important;
  font-size:26px !important;
  line-height:1.1 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
}

.buyerNivodaTitle h1 small{
  color:#6f747d !important;
  font-size:14px !important;
  font-weight:650 !important;
}

.buyerDeskSaved,
.buyerViewSwitch{
  height:34px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.buyerDeskSaved > button,
.buyerViewSwitch{
  border:0 !important;
  background:#fff !important;
  color:#2c2f35 !important;
  font-size:14px !important;
  font-weight:650 !important;
  padding:0 4px !important;
  box-shadow:none !important;
  white-space:nowrap !important;
}

.buyerViewSwitch.active{
  color:#5a2cff !important;
}

.buyerNivodaToolbar{
  position:static !important;
  top:auto !important;
  z-index:1 !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  flex-wrap:wrap !important;
  padding:0 0 12px !important;
  margin:0 0 12px !important;
  border:0 !important;
  border-bottom:1px solid #e7ebf2 !important;
  background:#fff !important;
  box-shadow:none !important;
}

.buyerNivodaToolbar .buyerFilterBtn,
.buyerNivodaToolbar .buyerCertInput,
.buyerNivodaToolbar select,
.buyerNivodaToolbar .buyerQuickToggle{
  height:44px !important;
  border:1px solid #d6dbe3 !important;
  border-radius:8px !important;
  background:#fff !important;
  color:#111827 !important;
  font-size:14px !important;
  font-weight:650 !important;
  box-shadow:none !important;
}

.buyerNivodaToolbar .buyerFilterBtn,
.buyerNivodaToolbar .buyerQuickToggle{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
  padding:0 14px !important;
}

.buyerNivodaToolbar .buyerCertInput{
  width:152px !important;
  padding:0 12px !important;
  font-weight:500 !important;
}

.buyerNivodaToolbar .buyerCertInput::placeholder{
  color:#99a1ad !important;
}

.buyerNivodaToolbar select{
  min-width:80px !important;
  padding:0 34px 0 12px !important;
}

.buyerDeskSort{
  width:176px !important;
  margin-left:auto !important;
}

.filterGlyph{
  position:relative !important;
  width:15px !important;
  height:15px !important;
  display:inline-block !important;
}

.filterGlyph::before,
.filterGlyph::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  width:15px !important;
  height:2px !important;
  background:#4b5563 !important;
  border-radius:2px !important;
  box-shadow:0 7px 0 #4b5563, 0 14px 0 #4b5563 !important;
}

.filterGlyph::after{
  left:3px !important;
  top:-2px !important;
  width:4px !important;
  height:4px !important;
  border:1px solid #4b5563 !important;
  background:#fff !important;
  border-radius:50% !important;
  box-shadow:8px 7px 0 -1px #fff, 8px 7px 0 0 #4b5563, 1px 14px 0 -1px #fff, 1px 14px 0 0 #4b5563 !important;
}

.buyerDeskGrid{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(230px,1fr)) !important;
  gap:18px !important;
  align-items:start !important;
  background:#fff !important;
}

.buyerNivodaStoneCard{
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
  overflow:hidden !important;
  border:1px solid #eef0f4 !important;
  border-radius:8px !important;
  background:#fff !important;
  box-shadow:0 1px 5px rgba(15,23,42,.04) !important;
}

.buyerNivodaStoneCard:hover{
  transform:none !important;
  box-shadow:0 8px 22px rgba(15,23,42,.08) !important;
}

.buyerStoneActions{
  height:55px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:18px !important;
  padding:0 22px !important;
}

.buyerStoneActions button{
  position:relative !important;
  width:22px !important;
  height:22px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:0 !important;
  background:transparent !important;
  color:#9aa0aa !important;
  font-size:0 !important;
  padding:0 !important;
}

.buyerStoneActions button:first-child::before{
  content:"♡" !important;
  font-size:24px !important;
  line-height:1 !important;
}

.buyerStoneActions button:last-child::before{
  content:"" !important;
  position:absolute !important;
  width:4px !important;
  height:4px !important;
  border:1.5px solid #9aa0aa !important;
  border-radius:50% !important;
  left:4px !important;
  top:9px !important;
  box-shadow:8px -5px 0 -1.5px #fff,8px -5px 0 0 #9aa0aa,8px 5px 0 -1.5px #fff,8px 5px 0 0 #9aa0aa !important;
}

.buyerStoneActions button:last-child::after{
  content:"" !important;
  position:absolute !important;
  left:7px !important;
  top:9px !important;
  width:10px !important;
  height:10px !important;
  border-top:1.5px solid #9aa0aa !important;
  border-bottom:1.5px solid #9aa0aa !important;
  transform:skewY(-28deg) !important;
}

.buyerStoneMedia{
  position:relative !important;
  height:330px !important;
  margin:0 14px !important;
  border-radius:0 !important;
  overflow:hidden !important;
  background:#cfd4d7 !important;
}

.buyerStoneMedia img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  transform:none !important;
}

.buyerMedia360{
  position:absolute !important;
  left:12px !important;
  bottom:10px !important;
  width:30px !important;
  height:30px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.82) !important;
  color:#777f89 !important;
  font-size:8px !important;
  font-weight:700 !important;
}

.buyerMediaDots{
  position:absolute !important;
  left:50% !important;
  bottom:10px !important;
  display:flex !important;
  gap:8px !important;
  transform:translateX(-50%) !important;
}

.buyerMediaDots i{
  width:9px !important;
  height:9px !important;
  border-radius:50% !important;
  background:#fff !important;
}

.buyerStoneBody{
  padding:10px 14px 16px !important;
}

.buyerStoneBody h3{
  min-height:44px !important;
  margin:0 0 12px !important;
  color:#050505 !important;
  font-size:18px !important;
  line-height:1.22 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
}

.buyerStoneNumbers{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:9px !important;
  padding:12px 0 !important;
  border-top:1px solid #e7e9ee !important;
  color:#27303b !important;
  font-size:12px !important;
}

.buyerStoneNumbers span{
  white-space:nowrap !important;
}

.buyerStoneBadges{
  display:flex !important;
  gap:5px !important;
  min-width:0 !important;
  overflow:hidden !important;
  padding-bottom:12px !important;
  border-bottom:1px solid #e7e9ee !important;
}

.buyerStoneBadges b{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:0 !important;
  max-width:100% !important;
  height:24px !important;
  padding:0 12px !important;
  border-radius:999px !important;
  background:#d7f8e1 !important;
  color:#008a36 !important;
  font-size:12px !important;
  font-weight:700 !important;
  white-space:nowrap !important;
}

.buyerStoneBody p{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  min-height:50px !important;
  margin:0 !important;
  padding:12px 0 !important;
  border-bottom:1px solid #e7e9ee !important;
  color:#333 !important;
  font-size:14px !important;
  line-height:1.25 !important;
}

.buyerStoneBody p b{
  color:#111 !important;
  font-size:14px !important;
}

.buyerStoneBody p small{
  color:#6b7280 !important;
  font-size:12px !important;
}

.buyerStonePrice{
  display:flex !important;
  justify-content:space-between !important;
  gap:10px !important;
  padding:12px 0 !important;
  color:#111 !important;
  font-size:13px !important;
  font-weight:650 !important;
}

.buyerStonePrice small{
  display:block !important;
  color:#6b7280 !important;
  font-size:11px !important;
  font-weight:650 !important;
}

.buyerStoneBuy{
  width:100% !important;
  height:40px !important;
  border:0 !important;
  border-radius:8px !important;
  background:#111 !important;
  color:#fff !important;
  font-weight:700 !important;
}

.buyerStoneBuy:disabled{
  background:#f4f4f4 !important;
  color:#c2c2c2 !important;
  cursor:not-allowed !important;
}

.buyerDeskTableWrap{
  width:100% !important;
  overflow-x:auto !important;
  border-top:1px solid #eef0f4 !important;
  background:#fff !important;
}

.buyerDeskTable{
  min-width:1440px !important;
  background:#fff !important;
}

.buyerDeskTableHead,
.buyerDeskTableRow{
  display:grid !important;
  grid-template-columns:90px 100px 90px 70px 70px 80px 80px 80px 90px 90px 90px 90px 200px 130px 120px 46px !important;
  align-items:center !important;
  column-gap:12px !important;
  padding:0 14px !important;
}

.buyerDeskTableHead{
  height:48px !important;
  color:#4b4f57 !important;
  font-size:14px !important;
  font-weight:700 !important;
  border-bottom:1px solid #edf0f4 !important;
}

.buyerDeskTableHead em{
  color:#7c828c !important;
  font-size:11px !important;
  font-style:normal !important;
  font-weight:650 !important;
}

.buyerDeskTableItem{
  background:#fff !important;
}

.buyerDeskTableRow{
  min-height:58px !important;
  color:#050505 !important;
  font-size:13px !important;
  font-weight:500 !important;
  border-bottom:0 !important;
}

.buyerDeskTableRow img{
  width:48px !important;
  height:48px !important;
  border-radius:3px !important;
  object-fit:cover !important;
}

.buyerRowToggle{
  position:relative !important;
  width:22px !important;
  height:22px !important;
  border:1px solid #d8dde6 !important;
  border-radius:2px !important;
  background:#fff !important;
  color:#111 !important;
  font-size:0 !important;
  padding:0 !important;
}

.buyerRowToggle::before{
  content:"v" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:100% !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#111 !important;
  font-size:13px !important;
  font-weight:700 !important;
}

.buyerDeskTableItem.expanded .buyerRowToggle{
  background:#050505 !important;
  border-color:#050505 !important;
}

.buyerDeskTableItem.expanded .buyerRowToggle::before{
  content:"^" !important;
  color:#fff !important;
}

.buyerDeskExpanded{
  display:grid !important;
  grid-template-columns:240px minmax(180px,1fr) minmax(250px,1.25fr) 210px 180px 240px !important;
  gap:24px !important;
  padding:18px 24px 28px 50px !important;
  border-bottom:1px solid #f1f1f1 !important;
  background:#fff !important;
  box-shadow:none !important;
}

.buyerDeskExpanded b{
  display:block !important;
  margin:0 0 9px !important;
  color:#050505 !important;
  font-size:12px !important;
  font-weight:700 !important;
}

.buyerDeskExpanded p{
  margin:0 0 8px !important;
  color:#111827 !important;
  font-size:12px !important;
  line-height:1.35 !important;
}

.buyerDeskExpanded p span{
  display:block !important;
  color:#7a7f88 !important;
}

.buyerExpandedMedia{
  position:relative !important;
  width:150px !important;
  height:150px !important;
  overflow:hidden !important;
  border-radius:3px !important;
  background:#cfd4d7 !important;
}

.buyerExpandedMedia img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

.buyerExpandedMedia span{
  position:absolute !important;
  top:4px !important;
  left:6px !important;
  height:18px !important;
  display:inline-flex !important;
  align-items:center !important;
  border-radius:999px !important;
  background:#bff276 !important;
  color:#159000 !important;
  padding:0 7px !important;
  font-size:8px !important;
  font-weight:700 !important;
}

.buyerExpandedTags{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  max-width:220px !important;
  margin-top:10px !important;
}

.buyerExpandedTags span{
  height:25px !important;
  display:inline-flex !important;
  align-items:center !important;
  border-radius:999px !important;
  background:#d7f8e1 !important;
  color:#008a36 !important;
  padding:0 14px !important;
  font-size:12px !important;
  font-weight:700 !important;
}

.buyerDiamondDetails .buyerDetailGrid{
  display:grid !important;
  grid-template-columns:90px 90px !important;
  gap:7px 12px !important;
}

.buyerDelivery strong{
  display:block !important;
  margin-bottom:5px !important;
  color:#111 !important;
  font-size:13px !important;
  font-weight:700 !important;
}

.buyerActionButtons{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}

.buyerActionButtons button{
  width:100% !important;
  height:34px !important;
  border:1px solid #d9dde5 !important;
  border-radius:7px !important;
  background:#fff !important;
  color:#111 !important;
  font-size:12px !important;
  font-weight:700 !important;
}

.buyerActionButtons .buyerDisabledBuy{
  border-color:#f2f2f2 !important;
  background:#f4f4f4 !important;
  color:#c2c2c2 !important;
}

.buyerSideBackdrop{
  position:fixed !important;
  inset:0 !important;
  z-index:1900 !important;
  display:none !important;
  background:rgba(0,0,0,.55) !important;
}

.buyerSideBackdrop.active{
  display:block !important;
}

.buyerNivodaSideMenu{
  position:fixed !important;
  left:-324px !important;
  top:0 !important;
  z-index:2001 !important;
  width:320px !important;
  height:100vh !important;
  display:flex !important;
  flex-direction:column !important;
  overflow-y:auto !important;
  background:#fff !important;
  box-shadow:24px 0 70px rgba(0,0,0,.18) !important;
  transition:left .22s ease !important;
}

.buyerNivodaSideMenu.active{
  left:0 !important;
}

.buyerSideHead{
  height:94px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  padding:0 22px !important;
  border-bottom:0 !important;
}

.buyerSideBrand{
  color:#050505 !important;
  font-size:34px !important;
  font-weight:950 !important;
  letter-spacing:-.04em !important;
}

.buyerSideHead button{
  border:0 !important;
  background:transparent !important;
  color:#b7bcc6 !important;
  font-size:30px !important;
  line-height:1 !important;
}

.buyerNivodaSideMenu section{
  padding:18px 12px !important;
  border-bottom:1px solid #edf0f4 !important;
}

.buyerNivodaSideMenu h4{
  margin:0 0 10px !important;
  padding:0 12px !important;
  color:#333840 !important;
  font-size:14px !important;
  font-weight:700 !important;
}

.buyerNivodaSideMenu a{
  min-height:42px !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  padding:0 20px !important;
  border:0 !important;
  border-radius:4px !important;
  background:#fff !important;
  color:#1f2329 !important;
  font-size:15px !important;
  font-weight:650 !important;
  text-decoration:none !important;
}

.buyerNivodaSideMenu a.active{
  background:#f1ecff !important;
  color:#5a2cff !important;
  font-weight:650 !important;
}

.buyerNivodaSideMenu a .new{
  margin-left:auto !important;
  display:inline-flex !important;
  align-items:center !important;
  height:18px !important;
  border-radius:2px !important;
  background:#efe7ff !important;
  color:#5a2cff !important;
  padding:0 4px !important;
  font-size:10px !important;
  font-weight:700 !important;
}

.buyerSideUser{
  margin-top:auto !important;
  display:grid !important;
  grid-template-columns:38px 1fr !important;
  align-items:center !important;
  gap:10px !important;
  padding:18px 24px 24px !important;
  border-top:1px solid #edf0f4 !important;
}

.buyerSideUser .buyerAvatar{
  width:38px !important;
  height:38px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:4px !important;
  background:#e6e9ee !important;
  color:#7b8390 !important;
  font-size:22px !important;
}

.buyerSideUser b{
  display:block !important;
  color:#2e333a !important;
  font-size:14px !important;
}

.buyerSideUser small{
  display:block !important;
  max-width:210px !important;
  overflow:hidden !important;
  color:#8b929e !important;
  font-size:12px !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

.buyerSideUser button{
  grid-column:1/-1 !important;
  width:100% !important;
  height:42px !important;
  margin-top:2px !important;
  border:1px solid #d7dce5 !important;
  border-radius:4px !important;
  background:#fff !important;
  color:#222 !important;
  font-size:14px !important;
  font-weight:650 !important;
}

.buyerChatPrompt{
  position:fixed !important;
  right:16px !important;
  bottom:78px !important;
  z-index:1600 !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  padding:10px 16px !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#111 !important;
  font-size:13px !important;
  font-weight:700 !important;
  box-shadow:0 16px 40px rgba(15,23,42,.16) !important;
}

.buyerChatPrompt button{
  width:28px !important;
  height:28px !important;
  border:0 !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#111 !important;
  font-size:22px !important;
  line-height:1 !important;
}

.buyerChatFab{
  position:fixed !important;
  right:16px !important;
  bottom:16px !important;
  z-index:1600 !important;
  width:64px !important;
  height:64px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:0 !important;
  border-radius:50% !important;
  background:#050505 !important;
  color:#fff !important;
  font-size:24px !important;
  box-shadow:0 12px 28px rgba(0,0,0,.18) !important;
}

.buyerAccountOnly{
  padding:22px 16px 46px !important;
}

.buyerFlowPage{
  min-height:calc(100vh - 184px) !important;
  padding:18px 16px 56px !important;
  background:#fff !important;
}

.buyerFlowHead{
  display:grid !important;
  grid-template-columns:minmax(260px,1fr) auto !important;
  align-items:end !important;
  gap:16px !important;
  margin:0 0 18px !important;
  padding-bottom:14px !important;
  border-bottom:1px solid #e7ebf2 !important;
}

.buyerFlowHead h1{
  margin:8px 0 4px !important;
  color:#050505 !important;
  font-size:28px !important;
  line-height:1.1 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
}

.buyerFlowHead p{
  margin:0 !important;
  color:#67707d !important;
  font-size:14px !important;
}

.buyerBackBtn{
  height:34px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid #d9dde5 !important;
  border-radius:6px !important;
  background:#fff !important;
  color:#111 !important;
  padding:0 12px !important;
  font-size:13px !important;
  font-weight:700 !important;
}

.buyerFlowActions{
  display:flex !important;
  gap:10px !important;
  align-items:center !important;
  justify-content:flex-end !important;
}

.buyerFlowActions button,
.buyerEmptyState button,
.buyerSuccessPanel button,
.buyerCheckoutButtons button{
  height:42px !important;
  border:0 !important;
  border-radius:7px !important;
  background:#050505 !important;
  color:#fff !important;
  padding:0 18px !important;
  font-weight:700 !important;
}

.buyerFlowActions button.secondary,
.buyerEmptyState button.secondary,
.buyerSuccessPanel button.secondary,
.buyerCheckoutButtons button.secondary,
.buyerCheckoutButtons button.ghost{
  border:1px solid #d9dde5 !important;
  background:#fff !important;
  color:#111 !important;
}

.buyerCartLayout,
.buyerCheckoutLayout{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 370px !important;
  gap:30px !important;
  align-items:start !important;
}

.buyerCartPanel,
.buyerCheckoutForm,
.buyerSummaryPanel,
.buyerEmptyState,
.buyerSuccessPanel{
  border:1px solid #d9dde5 !important;
  border-radius:8px !important;
  background:#fff !important;
  box-shadow:none !important;
}

.buyerCartPanel{
  overflow:hidden !important;
}

.buyerCartItem{
  display:grid !important;
  grid-template-columns:92px minmax(0,1fr) 118px 130px 92px !important;
  align-items:center !important;
  gap:16px !important;
  min-height:118px !important;
  padding:16px !important;
  border-bottom:1px solid #edf0f4 !important;
}

.buyerCartItem:last-child{
  border-bottom:0 !important;
}

.buyerCartItem img{
  width:92px !important;
  height:92px !important;
  object-fit:cover !important;
  border-radius:4px !important;
  background:#d2d6dc !important;
}

.buyerCartItem small{
  display:block !important;
  margin-bottom:5px !important;
  color:#7a818c !important;
  font-size:12px !important;
  font-weight:650 !important;
}

.buyerCartItem h3{
  margin:0 0 6px !important;
  color:#050505 !important;
  font-size:17px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
}

.buyerCartItem p{
  margin:0 !important;
  color:#667085 !important;
  font-size:13px !important;
}

.buyerCartItem strong{
  color:#050505 !important;
  font-size:16px !important;
  font-weight:700 !important;
  text-align:right !important;
}

.buyerCartQty{
  display:inline-grid !important;
  grid-template-columns:34px 40px 34px !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid #d9dde5 !important;
  border-radius:999px !important;
  overflow:hidden !important;
}

.buyerCartQty button{
  width:34px !important;
  height:34px !important;
  border:0 !important;
  background:#fff !important;
  color:#111 !important;
  font-size:18px !important;
  font-weight:700 !important;
}

.buyerCartQty b{
  text-align:center !important;
  font-size:13px !important;
}

.buyerRemoveBtn{
  height:34px !important;
  border:1px solid #d9dde5 !important;
  border-radius:6px !important;
  background:#fff !important;
  color:#111 !important;
  font-size:12px !important;
  font-weight:700 !important;
}

.buyerSummaryPanel{
  position:sticky !important;
  top:204px !important;
  padding:22px !important;
}

.buyerSummaryPanel h2{
  margin:0 0 18px !important;
  color:#050505 !important;
  font-size:24px !important;
  font-weight:700 !important;
}

.buyerSummaryPanel p,
.buyerSummaryPanel h3{
  display:flex !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin:0 0 12px !important;
  padding:14px 0 !important;
  border-bottom:1px solid #edf0f4 !important;
  color:#111 !important;
}

.buyerSummaryPanel p span{
  max-width:220px !important;
  color:#5f6875 !important;
  font-size:13px !important;
}

.buyerSummaryPanel p b,
.buyerSummaryPanel h3 b{
  white-space:nowrap !important;
}

.buyerSummaryPanel h3{
  font-size:20px !important;
  font-weight:700 !important;
}

.buyerSummaryPanel > button{
  width:100% !important;
  height:44px !important;
  margin-top:8px !important;
  border:0 !important;
  border-radius:7px !important;
  background:#050505 !important;
  color:#fff !important;
  font-weight:700 !important;
}

.buyerSummaryPanel > button.secondary{
  border:1px solid #d9dde5 !important;
  background:#fff !important;
  color:#111 !important;
}

.buyerSummaryPanel > button:disabled{
  background:#f1f1f1 !important;
  color:#b8b8b8 !important;
}

.buyerSummaryNote{
  margin:12px 0 !important;
  border-radius:6px !important;
  background:#fff7ed !important;
  color:#9a3412 !important;
  padding:10px 12px !important;
  font-size:13px !important;
  font-weight:650 !important;
}

.buyerEmptyState,
.buyerSuccessPanel{
  min-height:260px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  padding:42px 24px !important;
}

.buyerEmptyState h2,
.buyerSuccessPanel h2{
  margin:0 0 10px !important;
  color:#050505 !important;
  font-size:28px !important;
  font-weight:700 !important;
}

.buyerEmptyState p,
.buyerSuccessPanel p{
  max-width:520px !important;
  margin:0 0 18px !important;
  color:#667085 !important;
}

.buyerSuccessPanel strong{
  display:block !important;
  margin:0 0 18px !important;
  color:#050505 !important;
  font-size:28px !important;
}

.buyerSuccessPanel div{
  display:flex !important;
  gap:10px !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
}

.buyerCheckoutForm{
  padding:22px !important;
}

.buyerCheckoutStep{
  display:flex !important;
  gap:14px !important;
  align-items:flex-start !important;
  margin:0 0 18px !important;
}

.buyerCheckoutStep b{
  width:34px !important;
  height:34px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50% !important;
  background:#050505 !important;
  color:#fff !important;
  font-size:12px !important;
}

.buyerCheckoutStep h2{
  margin:0 0 4px !important;
  font-size:20px !important;
  font-weight:700 !important;
}

.buyerCheckoutStep p{
  margin:0 !important;
  color:#667085 !important;
  font-size:13px !important;
}

.buyerCheckoutGrid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
  margin:0 0 26px !important;
}

.buyerCheckoutGrid label{
  display:grid !important;
  gap:7px !important;
  color:#111 !important;
  font-size:13px !important;
  font-weight:700 !important;
}

.buyerCheckoutGrid input{
  height:42px !important;
  border:1px solid #d9dde5 !important;
  border-radius:7px !important;
  background:#fff !important;
  padding:0 12px !important;
  color:#111 !important;
}

.buyerCheckoutButtons{
  display:flex !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}

.buyerShortlistList{
  display:grid !important;
  gap:12px !important;
}

.buyerShortlistCard{
  display:grid !important;
  grid-template-columns:110px minmax(0,1fr) 420px !important;
  align-items:center !important;
  gap:18px !important;
  min-height:126px !important;
  border:1px solid #d9dde5 !important;
  border-radius:8px !important;
  background:#fff !important;
  padding:14px !important;
}

.buyerShortlistMedia img{
  width:110px !important;
  height:96px !important;
  object-fit:cover !important;
  border-radius:4px !important;
  background:#d2d6dc !important;
}

.buyerShortlistCard h3{
  margin:0 0 6px !important;
  color:#050505 !important;
  font-size:18px !important;
  font-weight:700 !important;
}

.buyerShortlistCard p,
.buyerShortlistCard small{
  margin:0 !important;
  color:#667085 !important;
  font-size:13px !important;
}

.buyerShortlistActions{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:9px !important;
}

.buyerShortlistActions button{
  height:36px !important;
  border:1px solid #d9dde5 !important;
  border-radius:6px !important;
  background:#fff !important;
  color:#111 !important;
  font-size:12px !important;
  font-weight:700 !important;
}

.buyerShortlistActions button:disabled{
  background:#f4f4f4 !important;
  color:#b8b8b8 !important;
}

.buyerShortlistActions button.ghost{
  color:#b42318 !important;
}

.buyerToast{
  position:fixed !important;
  left:50% !important;
  bottom:22px !important;
  z-index:4000 !important;
  transform:translate(-50%,20px) !important;
  opacity:0 !important;
  pointer-events:none !important;
  border-radius:999px !important;
  background:#050505 !important;
  color:#fff !important;
  padding:11px 18px !important;
  font-size:13px !important;
  font-weight:700 !important;
  box-shadow:0 16px 38px rgba(0,0,0,.22) !important;
  transition:.18s ease !important;
}

.buyerToast.active{
  opacity:1 !important;
  transform:translate(-50%,0) !important;
}

.buyerFlowDetail .buyerDetailActionRow{
  display:flex !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}

.buyerAccountHero,
.buyerAccountTools{
  margin-top:0 !important;
}

@media (max-width:1500px){
  .buyerDeskGrid{
    grid-template-columns:repeat(4,minmax(230px,1fr)) !important;
  }

  .buyerStoneMedia{
    height:300px !important;
  }
}

@media (max-width:1180px){
  .buyerNivodaTop{
    grid-template-columns:auto 70px minmax(180px,1fr) 44px 94px !important;
  }

  .buyerDeskCart{
    display:none !important;
  }

  .buyerDeskUser{
    display:none !important;
  }

  .buyerDeskGrid{
    grid-template-columns:repeat(3,minmax(220px,1fr)) !important;
  }

  .buyerDeskBlackNav{
    gap:10px !important;
  }
}

@media (max-width:900px){
  .buyerNivodaTop{
    height:auto !important;
    grid-template-columns:auto 58px 1fr 42px !important;
    padding:8px 12px !important;
  }

  .buyerDeskSearch{
    grid-column:1/-1 !important;
    order:2 !important;
  }

  .buyerDeskHelp{
    display:none !important;
  }

  .buyerShortlistTop{
    justify-self:end !important;
  }

  .buyerDeskNotice{
    min-height:48px !important;
    height:auto !important;
    padding:8px 42px 8px 14px !important;
    text-align:center !important;
  }

  .buyerDeskBlackNav{
    top:98px !important;
    height:60px !important;
    justify-content:flex-start !important;
    overflow-x:auto !important;
  }

  .buyerDeskBlackNav button{
    height:60px !important;
    min-width:150px !important;
  }

  .buyerNivodaTitle{
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  .buyerDeskSort{
    width:100% !important;
    margin-left:0 !important;
  }

  .buyerDeskGrid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }

  .buyerStoneMedia{
    height:240px !important;
    margin:0 10px !important;
  }

  .buyerStoneBody h3{
    font-size:15px !important;
  }

  .buyerStoneNumbers{
    grid-template-columns:repeat(2,1fr) !important;
  }

  .buyerDeskExpanded{
    grid-template-columns:1fr !important;
    padding:16px !important;
  }

  .buyerFlowHead,
  .buyerCartLayout,
  .buyerCheckoutLayout{
    grid-template-columns:1fr !important;
  }

  .buyerSummaryPanel{
    position:static !important;
  }

  .buyerCartItem{
    grid-template-columns:74px minmax(0,1fr) !important;
  }

  .buyerCartItem img{
    width:74px !important;
    height:74px !important;
  }

  .buyerCartQty,
  .buyerCartItem strong,
  .buyerRemoveBtn{
    grid-column:2 !important;
    justify-self:start !important;
  }

  .buyerCheckoutGrid,
  .buyerShortlistCard{
    grid-template-columns:1fr !important;
  }

  .buyerShortlistActions{
    grid-template-columns:1fr !important;
  }
}

@media (max-width:560px){
  .buyerNivodaTop{
    grid-template-columns:auto 58px 1fr !important;
  }

  .buyerShortlistTop{
    display:none !important;
  }

  .buyerDeskMenuBtn{
    width:76px !important;
  }

  .buyerDeskGrid{
    grid-template-columns:1fr !important;
  }

  .buyerStoneMedia{
    height:310px !important;
  }

  .buyerNivodaToolbar .buyerFilterBtn,
  .buyerNivodaToolbar .buyerCertInput,
  .buyerNivodaToolbar select,
  .buyerNivodaToolbar .buyerQuickToggle,
  .buyerDeskSort{
    width:100% !important;
  }

  .buyerNivodaSideMenu{
    width:300px !important;
    left:-304px !important;
  }

  .buyerChatPrompt{
    left:12px !important;
    right:12px !important;
    justify-content:center !important;
  }
}

/* Final buyer cart visibility override: older theme hides direct card buttons. */
.buyerNivodaStoneCard .buyerStoneBody > .buyerStoneBuy,
.buyerNivodaStoneCard .buyerStoneBuy,
.buyerStoneCard .buyerStoneBody > .buyerStoneBuy{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  visibility:visible !important;
  opacity:1 !important;
}
