/* DreamCodeV Custom storefront */
.custom-store-page{
  background:
    radial-gradient(circle at 82% 0%,rgba(105,73,230,.19),transparent 34rem),
    radial-gradient(circle at 0 46%,rgba(43,150,255,.07),transparent 36rem),
    #05020a;
}
.custom-hero{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(300px,.72fr);
  gap:46px;
  align-items:center;
  padding:88px 0 72px;
}
.custom-hero h1{
  margin:0;
  font-family:"Space Grotesk",sans-serif;
  font-size:clamp(58px,8vw,108px);
  line-height:.9;
  letter-spacing:-.07em;
}
.custom-hero h1 span{
  color:transparent;
  background:linear-gradient(135deg,var(--violet),var(--blue));
  -webkit-background-clip:text;
  background-clip:text;
}
.custom-hero .lede{
  max-width:680px;
  margin:26px 0 0;
  color:#b7afc3;
  font-size:17px;
  line-height:1.7;
}
.custom-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.custom-hero-art{
  position:relative;
  min-height:320px;
  display:grid;
  place-items:center;
}
.custom-orbit{
  position:absolute;
  border:1px solid rgba(173,143,255,.14);
  border-radius:50%;
}
.custom-orbit.ring-a{width:245px;height:245px}
.custom-orbit.ring-b{width:330px;height:330px;border-color:rgba(97,194,255,.08)}
.custom-mark{
  position:relative;
  z-index:2;
  width:142px;
  height:142px;
  display:grid;
  place-items:center;
  border:1px solid rgba(166,134,255,.28);
  border-radius:42px;
  color:#b79dff;
  background:radial-gradient(circle at 42% 28%,rgba(145,103,255,.25),transparent 65%),#0f0a19;
  box-shadow:0 0 70px rgba(100,66,220,.2);
}
.custom-mark svg{width:82px;height:82px}
.custom-float-label{
  position:absolute;
  z-index:3;
  min-height:34px;
  display:flex;
  align-items:center;
  padding:0 11px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:11px;
  color:#bab1c6;
  background:rgba(8,6,13,.86);
  backdrop-filter:blur(10px);
  font-size:9px;
  font-weight:850;
}
.custom-float-label.first{top:58px;right:12px}
.custom-float-label.second{bottom:42px;left:10px}
.custom-promise{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  padding-bottom:72px;
}
.custom-promise article{
  display:flex;
  gap:12px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(255,255,255,.022);
}
.custom-icon{
  width:36px;height:36px;flex:0 0 36px;
  display:grid;place-items:center;
  border:1px solid rgba(157,122,255,.2);
  border-radius:11px;
  color:#ab8fff;
  background:rgba(118,80,255,.075);
}
.custom-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.custom-promise strong{display:block;font-size:11px}
.custom-promise p{margin:4px 0 0;color:#8b8396;font-size:9px;line-height:1.5}
.custom-product-head{display:flex;justify-content:space-between;gap:22px;align-items:end}
.custom-filters{display:flex;gap:6px;flex-wrap:wrap}
.custom-filters button{
  min-height:34px;
  padding:0 11px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:10px;
  background:#0c0912;
  color:#8e8599;
  font:inherit;
  font-size:9px;
  font-weight:850;
  cursor:pointer;
}
.custom-filters button.active{
  border-color:rgba(154,118,255,.28);
  color:#e8e0f4;
  background:rgba(117,79,255,.10);
}
.custom-catalog{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.custom-product-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(145deg,#0e0a16,#09070e);
}
.custom-product-media{
  position:relative;
  aspect-ratio:1/1;
  display:block;
  overflow:hidden;
  background:
    radial-gradient(circle at 72% 20%,rgba(125,89,255,.18),transparent 37%),
    linear-gradient(145deg,#100b1b,#08060d);
}
.custom-product-media img{width:100%;height:100%;display:block;object-fit:cover}
.custom-product-placeholder{width:100%;height:100%;display:grid;place-items:center;color:#7659c7}
.custom-product-placeholder svg{width:82px;height:82px}
.custom-personal-badge{
  position:absolute;
  left:12px;
  bottom:12px;
  min-height:26px;
  display:flex;
  align-items:center;
  padding:0 9px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:999px;
  background:rgba(7,5,11,.82);
  color:#d8cbff;
  backdrop-filter:blur(8px);
  font-size:8px;
  font-weight:900;
}
.custom-product-copy{padding:17px}
.custom-product-meta{display:flex;justify-content:space-between;gap:10px;align-items:center}
.custom-product-meta>span{
  color:#766e81;
  font-size:7px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.custom-price{font-size:12px;color:#d9cdfd}
.custom-product-copy h3{margin:11px 0 6px;font-family:"Space Grotesk",sans-serif;font-size:21px;letter-spacing:-.035em}
.custom-product-copy p{min-height:34px;margin:0;color:#8e859a;font-size:10px;line-height:1.55}
.custom-product-link{display:inline-flex;margin-top:14px;color:#b99eff;text-decoration:none;font-size:9px;font-weight:900}
.custom-loading-card,.custom-empty{
  grid-column:1/-1;
  min-height:180px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:10px;
  padding:30px;
  border:1px solid var(--line);
  border-radius:18px;
  color:#82798e;
  text-align:center;
  background:#0b0811;
}
.custom-loading-card span{
  width:26px;height:26px;
  border:2px solid rgba(255,255,255,.07);
  border-top-color:#9c7aff;
  border-radius:50%;
  animation:custom-spin .8s linear infinite;
}
@keyframes custom-spin{to{transform:rotate(360deg)}}
.custom-empty strong{color:#ddd4e8;font-size:13px}
.custom-empty p{max-width:460px;margin:0;font-size:10px;line-height:1.6}
.custom-business-callout{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:28px;
}
.custom-business-callout>div{max-width:760px}
.custom-business-callout p:last-child{color:#938a9e;font-size:12px;line-height:1.65}
@media(max-width:900px){
  .custom-hero{grid-template-columns:1fr;gap:20px}
  .custom-hero-art{min-height:250px}
  .custom-promise{grid-template-columns:1fr}
  .custom-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .custom-hero{padding:56px 0 46px}
  .custom-hero h1{font-size:clamp(54px,16vw,78px)}
  .custom-hero-art{display:none}
  .custom-promise{padding-bottom:52px}
  .custom-product-head{align-items:stretch;flex-direction:column}
  .custom-filters{width:100%}
  .custom-filters button{flex:1}
  .custom-catalog{grid-template-columns:1fr}
  .custom-business-callout{align-items:flex-start;flex-direction:column}
}
