/* Alki v13.21 — premium cards, showcases and dialogs with restrained futuristic motion. */
:root{
  --alki-polish-ease:cubic-bezier(.16,1,.3,1);
  --alki-polish-fast:180ms;
  --alki-polish-ui:280ms;
  --alki-polish-glow:color-mix(in srgb,var(--alki-master-accent,var(--accent,#7c3aed)) 22%,transparent);
  --alki-polish-line:color-mix(in srgb,var(--alki-master-accent,var(--accent,#7c3aed)) 20%,rgba(147,158,190,.2));
}

.merchant-product-card,
.merchant-showcase-card,
.merchant-banner-card,
.merchant-hierarchy-card,
.theme-choice,
.sp-product,
.sp-category-card,
.sp-testimonial-grid blockquote{
  transform:translateZ(0);
  backface-visibility:hidden;
}

/* Domain management consolidated inside the merchant workspace */
.domain-card{min-height:330px}
.public-id-box{display:grid;gap:12px;align-items:center;padding:16px;border:1px solid rgba(157,169,207,.16);border-radius:16px;background:rgba(5,8,14,.72);margin:16px 0}
.public-id-box>div{display:grid;gap:5px}.public-id-box a{color:#cbb9ff;font:600 12px/1.5 ui-monospace,monospace;overflow-wrap:anywhere}
.domain-current,.domain-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px;border:1px solid rgba(157,169,207,.16);border-radius:15px;background:rgba(5,8,14,.72);margin:12px 0}
.domain-current>div,.domain-row>div{display:grid;gap:4px;min-width:0}.domain-current small,.domain-row small{color:var(--muted);font-size:10px;overflow-wrap:anywhere}
.domain-status{display:inline-flex;padding:6px 9px;border-radius:999px;background:#211b2a;color:#c9bdd8;font-size:9px;font-weight:800;white-space:nowrap}.domain-status.ok{background:#0f2a20;color:#8ff0bf}.domain-status.warn{background:#322810;color:#f4d88a}
.domain-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin:16px 0}.dns-instructions{display:grid;gap:10px;margin:16px 0;padding:16px;border:1px solid rgba(124,58,237,.34);border-radius:16px;background:linear-gradient(145deg,#100d17,#080a10)}
.dns-instructions h3{margin:0}.dns-step{display:grid;gap:6px}.dns-step code{display:block;padding:9px 11px;background:#05070b;border:1px solid rgba(157,169,207,.16);border-radius:9px;color:#d9c7ff;overflow-wrap:anywhere}.plan-lock{padding:16px;border:1px solid rgba(245,158,11,.25);background:rgba(76,44,6,.16);border-radius:16px}.plan-lock p{margin-bottom:0;color:var(--muted)}

/* Merchant product cards */
.merchant-product-grid{
  gap:clamp(14px,1.5vw,22px);
}
.merchant-product-card{
  border-color:rgba(157,169,207,.17);
  border-radius:22px;
  background:
    linear-gradient(145deg,rgba(22,26,38,.96),rgba(8,11,18,.98));
  box-shadow:0 18px 48px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.035);
  transition:transform var(--alki-polish-ui) var(--alki-polish-ease),border-color var(--alki-polish-fast) ease,box-shadow var(--alki-polish-ui) ease;
}
.merchant-product-card::before,
.merchant-showcase-card::before,
.merchant-banner-card::before,
.theme-choice::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  border-radius:inherit;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(118deg,transparent 15%,rgba(255,255,255,.09) 34%,transparent 52%,var(--alki-polish-glow) 100%);
  transform:translateX(-14%);
  transition:opacity var(--alki-polish-fast) ease,transform 520ms var(--alki-polish-ease);
}
.merchant-product-media{
  aspect-ratio:3/4;
  border-bottom-color:rgba(157,169,207,.13);
  background:
    radial-gradient(circle at 76% 20%,rgba(124,58,237,.2),transparent 36%),
    linear-gradient(145deg,#161527,#080b12);
}
.merchant-product-media::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:32%;
  pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(4,6,12,.36));
}
.merchant-product-media img{
  transition:transform 620ms var(--alki-polish-ease),filter var(--alki-polish-ui) ease;
}
.merchant-product-media em{
  z-index:2;
  min-height:32px;
  display:flex;
  align-items:center;
  padding-inline:11px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  font-size:10px;
  letter-spacing:.02em;
}
.merchant-product-copy{
  gap:10px;
  padding:16px;
}
.merchant-product-copy h2{
  min-height:2.7em;
  font-size:14px;
  line-height:1.35;
  letter-spacing:-.012em;
}
.merchant-product-copy p{
  min-height:1.45em;
  font-size:11px;
}
.merchant-product-copy .btn{
  min-height:42px;
  border-color:rgba(157,169,207,.2);
  border-radius:13px;
}

/* Category showcases and banner slots */
.merchant-showcase-grid,
.merchant-banner-grid{
  gap:clamp(16px,1.8vw,26px);
}
.merchant-showcase-card,
.merchant-banner-card{
  position:relative;
  isolation:isolate;
  border-color:rgba(157,169,207,.17);
  border-radius:24px;
  background:linear-gradient(145deg,rgba(22,26,38,.96),rgba(8,11,18,.98));
  box-shadow:0 20px 56px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.035);
  transition:transform var(--alki-polish-ui) var(--alki-polish-ease),border-color var(--alki-polish-fast) ease,box-shadow var(--alki-polish-ui) ease;
}
.merchant-showcase-card>img,
.merchant-showcase-empty{
  aspect-ratio:4/3;
  background:
    radial-gradient(circle at 70% 20%,rgba(124,58,237,.2),transparent 38%),
    linear-gradient(145deg,#171527,#090b13);
}
.merchant-showcase-card>img{
  transition:transform 720ms var(--alki-polish-ease),filter var(--alki-polish-ui) ease;
}
.merchant-showcase-card>div:last-child{
  gap:10px;
  padding:18px;
}
.merchant-showcase-card h2,
.merchant-banner-card h2{
  font-size:17px;
  letter-spacing:-.018em;
}
.merchant-showcase-card p,
.merchant-banner-card p{
  font-size:11px;
  line-height:1.6;
}
.merchant-showcase-card .btn,
.merchant-banner-card .btn{
  min-height:44px;
  border-radius:13px;
}
.merchant-banner-card{
  padding:18px;
}
.merchant-banner-card>img,
.merchant-banner-empty{
  border-color:rgba(157,169,207,.16);
  border-radius:17px;
  background:
    radial-gradient(circle at 72% 18%,rgba(124,58,237,.18),transparent 38%),
    linear-gradient(145deg,#171527,#090b13);
}

/* Theme gallery */
.theme-grid{
  gap:18px;
}
.theme-choice{
  padding:15px;
  border-color:rgba(166,178,214,.17);
  border-radius:24px;
  background:
    radial-gradient(circle at 84% 12%,color-mix(in srgb,var(--theme-accent) 13%,transparent),transparent 34%),
    linear-gradient(145deg,#17141e,#0b0a10);
  box-shadow:0 18px 52px rgba(0,0,0,.23),inset 0 1px 0 rgba(255,255,255,.04);
  transition:transform var(--alki-polish-ui) var(--alki-polish-ease),border-color var(--alki-polish-fast) ease,box-shadow var(--alki-polish-ui) ease;
}
.theme-preview{
  min-height:200px;
  border-radius:calc(var(--theme-card-radius)*.82);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--theme-ink) 12%,transparent),0 18px 42px color-mix(in srgb,var(--theme-ink) 12%,transparent);
}
.theme-choice-head b{
  font-size:17px;
}
.theme-choice>span:not(.theme-preview):not(.theme-choice-head):not(.theme-choice-meta){
  font-size:11px;
  line-height:1.65;
}
.theme-choice>small{
  font-size:10px;
  line-height:1.55;
}
.theme-choice-meta i{
  padding:5px 8px;
  font-size:9px;
  border-color:rgba(157,169,207,.17);
  background:rgba(255,255,255,.025);
}
.theme-choice>strong{
  min-height:44px;
  border-radius:13px;
  font-size:11px;
  box-shadow:0 13px 30px color-mix(in srgb,var(--theme-accent) 24%,transparent);
}

/* Merchant and Designer modals */
.modal-backdrop,
.merchant-modal-backdrop,
.designer-modal{
  background:
    radial-gradient(circle at 50% 12%,rgba(108,82,255,.14),transparent 38%),
    rgba(2,4,10,.78);
  -webkit-backdrop-filter:blur(18px) saturate(120%);
  backdrop-filter:blur(18px) saturate(120%);
}
.modal,
.merchant-catalog-modal,
.designer-modal-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid rgba(160,174,216,.2);
  border-radius:26px;
  background:
    radial-gradient(circle at 92% 0,rgba(124,58,237,.12),transparent 32%),
    linear-gradient(150deg,rgba(18,22,33,.985),rgba(7,9,15,.99));
  box-shadow:0 38px 110px rgba(0,0,0,.52),0 0 0 1px rgba(124,58,237,.06),inset 0 1px 0 rgba(255,255,255,.05);
  animation:alki-polish-modal-in 320ms var(--alki-polish-ease) both;
}
.modal::before,
.merchant-catalog-modal::before,
.designer-modal-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  z-index:8;
  height:2px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--alki-master-accent,var(--accent,#7c3aed)),#4f8cff,transparent);
  background-size:180% 100%;
  animation:alki-polish-scan 6s ease-in-out infinite alternate;
}
.merchant-catalog-modal .modal-head,
.merchant-catalog-modal .modal-foot,
.designer-modal-card .modal-head,
.designer-modal-card .modal-footer{
  border-color:rgba(157,169,207,.14);
  background:rgba(9,12,20,.88);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}
.merchant-catalog-modal .modal-head{
  padding:22px 24px;
}
.merchant-catalog-modal .modal-head h3{
  font-size:clamp(21px,2vw,28px);
  letter-spacing:-.025em;
}
.merchant-catalog-modal .modal-head p{
  max-width:760px;
  font-size:11px;
  line-height:1.6;
}
.merchant-catalog-modal .modal-body{
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:22px 24px 28px;
}
.merchant-catalog-modal{
  display:flex;
  flex-direction:column;
}
.merchant-catalog-modal .modal-foot{
  gap:10px;
  padding:16px 24px;
}
.merchant-catalog-modal .modal-foot .btn,
.merchant-catalog-modal .modal-head .btn,
.designer-modal-card .btn{
  min-height:44px;
  border-radius:13px;
}
.merchant-editor-section{
  border-color:rgba(157,169,207,.16);
  border-radius:19px;
  background:linear-gradient(145deg,rgba(16,20,30,.9),rgba(8,11,18,.94));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.merchant-section-title h3{
  font-size:15px;
}
.merchant-section-title p{
  font-size:10px;
  line-height:1.55;
}

/* Public storefront cards and showcases */
.sp-product{
  border-radius:var(--theme-radius,20px);
  transition:transform var(--alki-polish-ui) var(--alki-polish-ease),box-shadow var(--alki-polish-ui) ease;
}
.sp-product-media{
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--theme-ink,var(--ink)) 11%,transparent);
  border-radius:var(--theme-radius,20px);
  background:
    radial-gradient(circle at 78% 16%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 34%),
    var(--theme-surface-alt,var(--soft));
  box-shadow:0 14px 38px color-mix(in srgb,var(--theme-ink,var(--ink)) 8%,transparent);
  transition:transform var(--alki-polish-ui) var(--alki-polish-ease),box-shadow var(--alki-polish-ui) ease,border-color var(--alki-polish-fast) ease;
}
.sp-product-copy{
  padding:16px 3px 4px;
}
.sp-product-copy>a{
  font-size:15px;
  line-height:1.4;
}
.sp-product-copy>span{
  margin:7px 0 13px;
  font-size:14px;
  font-weight:750;
}
.sp-add{
  min-height:44px;
  border-color:color-mix(in srgb,var(--theme-ink,var(--ink)) 12%,transparent);
  border-radius:13px;
  background:color-mix(in srgb,var(--theme-surface,var(--paper)) 94%,transparent);
  transition:transform var(--alki-polish-fast) var(--alki-polish-ease),border-color var(--alki-polish-fast) ease,box-shadow var(--alki-polish-fast) ease,color var(--alki-polish-fast) ease;
}
.sp-category-card{
  border:1px solid color-mix(in srgb,var(--theme-ink,var(--ink)) 12%,transparent);
  border-radius:var(--theme-radius,22px);
  box-shadow:0 18px 46px color-mix(in srgb,var(--theme-ink,var(--ink)) 9%,transparent);
  transition:transform var(--alki-polish-ui) var(--alki-polish-ease),box-shadow var(--alki-polish-ui) ease,border-color var(--alki-polish-fast) ease;
}
.sp-category-media img,
.sp-category-media picture{
  transition:transform 720ms var(--alki-polish-ease),filter var(--alki-polish-ui) ease;
}
.sp-testimonial-grid blockquote{
  border-color:color-mix(in srgb,var(--theme-ink,var(--ink)) 12%,transparent);
  border-radius:var(--theme-radius,22px);
  box-shadow:0 16px 42px color-mix(in srgb,var(--theme-ink,var(--ink)) 7%,transparent);
}

@media(hover:hover) and (pointer:fine){
  .merchant-product-card:hover,
  .merchant-showcase-card:hover,
  .merchant-banner-card:hover,
  .theme-choice:hover{
    transform:translateY(-5px);
    border-color:var(--alki-polish-line);
    box-shadow:0 28px 72px rgba(0,0,0,.3),0 0 42px var(--alki-polish-glow),inset 0 1px 0 rgba(255,255,255,.05);
  }
  .merchant-product-card:hover::before,
  .merchant-showcase-card:hover::before,
  .merchant-banner-card:hover::before,
  .theme-choice:hover::before{
    opacity:1;
    transform:translateX(0);
  }
  .merchant-product-card:hover .merchant-product-media img,
  .merchant-showcase-card:hover>img{
    transform:scale(1.035);
    filter:saturate(1.04) contrast(1.02);
  }
  .sp-product:hover{
    transform:translateY(-4px);
  }
  .sp-product:hover .sp-product-media,
  .sp-category-card:hover{
    border-color:color-mix(in srgb,var(--accent) 38%,transparent);
    box-shadow:0 24px 58px color-mix(in srgb,var(--theme-ink,var(--ink)) 13%,transparent),0 0 34px color-mix(in srgb,var(--accent) 10%,transparent);
  }
  .sp-category-card:hover .sp-category-media img{
    transform:scale(1.035);
  }
}

@keyframes alki-polish-modal-in{
  from{opacity:0;transform:translateY(14px) scale(.988);filter:saturate(.85)}
  to{opacity:1;transform:none;filter:none}
}
@keyframes alki-polish-scan{
  from{background-position:0 0;opacity:.58}
  to{background-position:100% 0;opacity:.95}
}

@media(max-width:720px){
  .merchant-product-grid{gap:12px}
  .merchant-product-copy{padding:12px}
  .merchant-product-copy h2{font-size:13px}
  .merchant-showcase-card,.merchant-banner-card{border-radius:20px}
  .merchant-banner-card{padding:13px}
  .merchant-catalog-modal{border-radius:22px 22px 0 0}
  .merchant-modal-backdrop{align-items:flex-end;padding:0}
  .merchant-catalog-modal .modal-head,.merchant-catalog-modal .modal-body,.merchant-catalog-modal .modal-foot{padding-left:17px;padding-right:17px}
  .theme-preview{min-height:170px}
  .sp-product-copy{padding-top:12px}
  .sp-product-copy>a{font-size:13px}
  .sp-product-copy>span{font-size:13px}
  .domain-form{grid-template-columns:1fr}.domain-current,.domain-row{align-items:flex-start;flex-wrap:wrap}.domain-row .btn{flex:1}.domain-card{min-height:unset}
}

@media(prefers-reduced-motion:reduce){
  .merchant-product-card,
  .merchant-product-media img,
  .merchant-showcase-card,
  .merchant-showcase-card>img,
  .merchant-banner-card,
  .theme-choice,
  .modal,
  .merchant-catalog-modal,
  .designer-modal-card,
  .sp-product,
  .sp-product-media,
  .sp-product-media img,
  .sp-category-card,
  .sp-category-media img{
    animation:none;
    transition:none;
    transform:none;
  }
  .modal::before,
  .merchant-catalog-modal::before,
  .designer-modal-card::before{
    animation:none;
  }
}
