/* Glowrity Marketplace 1.2.15 — compact 4D controls and responsive depth. */

:root{
  --glw-4d-blue-front:#0d6bd0;
  --glw-4d-blue-top:#2783e5;
  --glw-4d-blue-edge:#003d83;
  --glw-4d-blue-glow:rgba(13,107,208,.24);
  --glw-4d-pink-front:#ec344d;
  --glw-4d-pink-top:#ff5b70;
  --glw-4d-pink-edge:#981a2e;
  --glw-4d-pink-glow:rgba(236,52,77,.24);
  --glw-4d-light-front:#f6f9fc;
  --glw-4d-light-top:#fff;
  --glw-4d-light-edge:#bec9d7;
  --glw-4d-light-glow:rgba(16,35,71,.12);
  --glw-4d-danger-front:#b82b43;
  --glw-4d-danger-top:#d54a60;
  --glw-4d-danger-edge:#701225;
  --glw-4d-danger-glow:rgba(184,43,67,.24);
}

/* 1.2.18: warehouse selection is an internal compatibility detail. */
.form-group:has(select[name="warehouse_id"]),
.form-group:has(select[name="warehouse"]) {
  display: none !important;
}

/*
 * The fourth dimension is interaction over time: the highlight travels as a
 * control lifts, then the physical edge compresses when it is pressed.
 */
:is(.button,.btn){
  --glw-4d-front:var(--glw-4d-blue-front);
  --glw-4d-top:var(--glw-4d-blue-top);
  --glw-4d-edge:var(--glw-4d-blue-edge);
  --glw-4d-glow:var(--glw-4d-blue-glow);
  position:relative;
  overflow:hidden;
  transform-style:preserve-3d;
  backface-visibility:hidden;
  background:
    radial-gradient(circle at 22% 0%,rgba(255,255,255,.30),transparent 42%),
    linear-gradient(180deg,var(--glw-4d-top),var(--glw-4d-front))!important;
  border-color:var(--glw-4d-edge)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.48),
    inset 0 -2px 2px rgba(0,22,58,.12),
    0 4px 0 var(--glw-4d-edge),
    0 5px 2px rgba(8,28,61,.08),
    0 11px 22px var(--glw-4d-glow)!important;
  transform:perspective(520px) translate3d(0,-2px,0) rotateX(.01deg);
  transition:transform .16s cubic-bezier(.2,.75,.25,1),box-shadow .16s ease,filter .16s ease!important;
}

:is(.button,.btn)::before{
  content:"";
  position:absolute;
  z-index:0;
  top:1px;
  left:-65%;
  width:48%;
  height:calc(100% - 2px);
  border-radius:inherit;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.44),transparent);
  transform:skewX(-18deg);
  opacity:.52;
  pointer-events:none;
  transition:left .42s cubic-bezier(.2,.7,.2,1),opacity .2s ease;
}

:is(.button,.btn)::after{
  content:"";
  position:absolute;
  z-index:0;
  right:8px;
  bottom:3px;
  left:8px;
  height:1px;
  border-radius:99px;
  background:rgba(255,255,255,.24);
  pointer-events:none;
}

:is(.button,.btn):hover{
  filter:saturate(1.06) brightness(1.025);
  transform:perspective(520px) translate3d(0,-4px,0) rotateX(-1.4deg) scale(1.008);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    inset 0 -2px 2px rgba(0,22,58,.11),
    0 5px 0 var(--glw-4d-edge),
    0 7px 3px rgba(8,28,61,.08),
    0 15px 27px var(--glw-4d-glow)!important;
}

:is(.button,.btn):hover::before{left:118%;opacity:.74}

:is(.button,.btn):active{
  filter:saturate(1.02);
  transform:perspective(520px) translate3d(0,2px,0) rotateX(0) scale(.992);
  box-shadow:
    inset 0 2px 5px rgba(0,22,58,.22),
    inset 0 1px 0 rgba(255,255,255,.25),
    0 1px 0 var(--glw-4d-edge),
    0 3px 6px var(--glw-4d-glow)!important;
  transition-duration:.07s!important;
}

:is(.button,.btn).pink,
:is(.button,.btn).gold,
:is(.button,.btn).seller-primary{
  --glw-4d-front:var(--glw-4d-pink-front);
  --glw-4d-top:var(--glw-4d-pink-top);
  --glw-4d-edge:var(--glw-4d-pink-edge);
  --glw-4d-glow:var(--glw-4d-pink-glow);
}

:is(.button,.btn).light{
  --glw-4d-front:var(--glw-4d-light-front);
  --glw-4d-top:var(--glw-4d-light-top);
  --glw-4d-edge:var(--glw-4d-light-edge);
  --glw-4d-glow:var(--glw-4d-light-glow);
  color:#14345f!important;
  text-shadow:0 1px 0 #fff;
}

:is(.button,.btn).danger{
  --glw-4d-front:var(--glw-4d-danger-front);
  --glw-4d-top:var(--glw-4d-danger-top);
  --glw-4d-edge:var(--glw-4d-danger-edge);
  --glw-4d-glow:var(--glw-4d-danger-glow);
}

:is(.button,.btn):disabled,
:is(.button,.btn)[aria-disabled="true"]{
  transform:none!important;
  filter:grayscale(.25)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 1px 2px rgba(16,35,71,.1)!important;
}

:is(.button,.btn):disabled::before,
:is(.button,.btn)[aria-disabled="true"]::before{display:none}

/* Dashboard actions use controlled perspective without becoming larger. */
.mp1211-action-card,
.dashboard-top-button,
.admin-hub-button{
  transform-style:preserve-3d;
  backface-visibility:hidden;
  background:
    radial-gradient(circle at 18% 0%,rgba(255,255,255,.96),transparent 46%),
    linear-gradient(180deg,#fff,#f3f7fb);
  box-shadow:inset 0 1px 0 #fff,0 4px 0 #c5d0de,0 12px 24px rgba(16,35,71,.11)!important;
  transform:perspective(700px) translate3d(0,-1px,0) rotateX(.01deg);
}

.mp1211-action-card:hover,
.dashboard-top-button:hover,
.admin-hub-button:hover{
  transform:perspective(700px) translate3d(0,-4px,0) rotateX(-1.25deg);
  box-shadow:inset 0 1px 0 #fff,0 5px 0 #b8c5d5,0 17px 30px rgba(16,35,71,.15)!important;
}

.mp1211-action-card:active,
.dashboard-top-button:active,
.admin-hub-button:active{
  transform:perspective(700px) translate3d(0,3px,0) rotateX(0);
  box-shadow:inset 0 2px 4px rgba(16,35,71,.11),0 1px 0 #b8c5d5,0 4px 8px rgba(16,35,71,.09)!important;
}

.dashboard-top-button.primary,
.admin-hub-button--pink{
  background:
    radial-gradient(circle at 18% 0%,rgba(255,255,255,.30),transparent 45%),
    linear-gradient(180deg,#ff526a,#e32a45)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.46),0 4px 0 var(--glw-4d-pink-edge),0 12px 24px rgba(236,52,77,.2)!important;
}

/* Small circular commerce controls receive the same lift/compression sequence. */
.mini-cart,
.wishlist-button button{
  transform:translate3d(0,-1px,0);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 4px 0 var(--glw-4d-pink-edge),0 10px 18px rgba(236,52,77,.2)!important;
}

.mini-cart:hover,
.wishlist-button button:hover{transform:translate3d(0,-3px,0) scale(1.025);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 5px 0 var(--glw-4d-pink-edge),0 14px 23px rgba(236,52,77,.24)!important}
.mini-cart:active,
.wishlist-button button:active{transform:translate3d(0,2px,0) scale(.98);box-shadow:inset 0 2px 4px rgba(77,0,14,.2),0 1px 0 var(--glw-4d-pink-edge),0 3px 7px rgba(236,52,77,.15)!important}

@media(max-width:760px){
  :is(.button,.btn){transform:translate3d(0,-1px,0)}
  :is(.button,.btn):hover{transform:translate3d(0,-2px,0);filter:none}
  :is(.button,.btn):active{transform:translate3d(0,2px,0) scale(.992)}
  .mp1211-action-card,.dashboard-top-button,.admin-hub-button{transform:translate3d(0,-1px,0)}
  .mp1211-action-card:hover,.dashboard-top-button:hover,.admin-hub-button:hover{transform:translate3d(0,-2px,0)}
  .mp1211-action-card:active,.dashboard-top-button:active,.admin-hub-button:active{transform:translate3d(0,2px,0)}
}

@media(prefers-reduced-motion:reduce){
  :is(.button,.btn),:is(.button,.btn)::before,.mp1211-action-card,.dashboard-top-button,.admin-hub-button,.mini-cart,.wishlist-button button{transition:none!important}
  :is(.button,.btn),:is(.button,.btn):hover,:is(.button,.btn):active,.mp1211-action-card,.mp1211-action-card:hover,.mp1211-action-card:active,.dashboard-top-button,.dashboard-top-button:hover,.dashboard-top-button:active,.admin-hub-button,.admin-hub-button:hover,.admin-hub-button:active,.mini-cart,.mini-cart:hover,.mini-cart:active,.wishlist-button button,.wishlist-button button:hover,.wishlist-button button:active{transform:none!important}
  :is(.button,.btn)::before{display:none}
}

/* Version 1.2.19: compact product photos lead every table-style listing. */
.glw-product-listing-identity{
  display:inline-grid;
  grid-template-columns:44px minmax(0,1fr);
  align-items:center;
  gap:10px;
  min-width:180px;
  max-width:360px;
  vertical-align:middle;
}

.glw-product-listing-thumb{
  display:block;
  width:44px;
  height:44px;
  aspect-ratio:1;
  object-fit:contain;
  object-position:center;
  border:1px solid #dce4ee;
  border-radius:10px;
  background:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 2px 6px rgba(16,35,71,.10);
}

.glw-product-listing-copy{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:2px;
  line-height:1.25;
}

.glw-product-listing-copy strong,
.glw-product-listing-copy small{
  display:block;
  overflow-wrap:anywhere;
}

.glw-product-listing-link{
  display:inline-flex;
  align-items:flex-start;
  gap:4px;
  color:inherit;
  text-decoration:none;
}

.glw-product-listing-link:hover strong,
.glw-product-listing-link:focus-visible strong{text-decoration:underline}

@media(max-width:560px){
  .glw-product-listing-identity{
    grid-template-columns:40px minmax(0,1fr);
    gap:8px;
    min-width:150px;
  }
  .glw-product-listing-thumb{width:40px;height:40px;border-radius:9px}
}
