
:root{
  --bg:#071122;
  --bg2:#08162b;
  --card:#0c1a33;
  --card2:#0d1d39;
  --text:#f5f7fb;
  --muted:#98a4bb;
  --line:rgba(255,255,255,.08);
  --primary:#7969ff;
  --primary2:#5488ff;
  --shadow:0 18px 34px rgba(0,0,0,.28);
  --nav-h:74px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  max-width:430px;
  margin:0 auto;
  min-height:100vh;
  color:var(--text);
  background:radial-gradient(circle at top,#0b1f40 0%, var(--bg) 45%, #030915 100%);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  overflow-x:hidden;
}
button,input{font:inherit}
.app-shell{min-height:100vh;padding:12px 10px calc(var(--nav-h) + 20px)}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:6px 2px 10px}
.brand-wrap{display:flex;align-items:center;gap:12px}
.brand-badge{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;font-weight:800;background:linear-gradient(135deg,var(--primary),var(--primary2));box-shadow:var(--shadow)}
.eyebrow{font-size:11px;color:#acb7ca;letter-spacing:.08em;text-transform:uppercase}
.topbar h1{margin:2px 0 0;font-size:18px;line-height:1.1}
.icon-btn{width:42px;height:42px;border:none;border-radius:16px;background:rgba(255,255,255,.08);color:#fff}
.icon-btn.small{width:36px;height:36px;border-radius:12px}
.hero-card{background:linear-gradient(145deg,rgba(121,105,255,.22),rgba(9,21,44,.58));border:1px solid var(--line);box-shadow:var(--shadow);border-radius:28px;padding:14px 14px;margin-bottom:12px}
.mini-pill,.count-pill{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.06);font-size:12px;color:#dce4f5}
.hero-card h2{margin:10px 0 8px;font-size:20px;line-height:1.14}
.hero-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.38}
.section-head{display:flex;align-items:center;justify-content:space-between;margin:6px 0 14px}
.section-head h3{margin:0;font-size:18px}
.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.product-card{
  background:linear-gradient(180deg,var(--card),var(--card2));
  border:1px solid var(--line);
  border-radius:24px;
  padding:9px;
  box-shadow:var(--shadow);
  min-width:0;
}
.product-thumb{
  position:relative;
  aspect-ratio:1/0.88;
  border-radius:16px;
  background:linear-gradient(180deg,#dfe4f1,#f3f5fa);
  overflow:hidden;
  margin-bottom:7px;
}
.thumb-loader{
  position:absolute; inset:0;
  background:linear-gradient(90deg,#d8deea 25%,#eef2f8 50%,#d8deea 75%);
  background-size:200% 100%;
  animation:shimmer 1.1s linear infinite;
}
.product-thumb img{
  width:100%; height:100%; object-fit:cover; display:block;
  opacity:0; transition:opacity .25s ease;
}
.product-thumb.loaded img{opacity:1}
.product-thumb.loaded .thumb-loader{display:none}
.product-name{
  margin:0 0 3px;
  font-size:13px;
  line-height:1.15;
  font-weight:780;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  min-height:auto;
}
.product-price{
  font-size:13px;
  font-weight:900;
  line-height:1.05;
  margin-bottom:7px;
}
.product-actions{display:grid;grid-template-columns:38px 1fr;gap:7px}
.share-btn,.add-btn,.load-btn,.pay-btn{border:none}
.share-btn{height:38px;border-radius:13px;background:rgba(255,255,255,.07);color:#fff;font-size:17px}
.add-btn,.pay-btn{height:38px;border-radius:13px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;font-weight:800;box-shadow:0 10px 24px rgba(92,108,255,.3)}
.load-wrap{padding:16px 0 4px}
.load-btn{width:100%;height:48px;border-radius:18px;background:rgba(255,255,255,.08);color:#fff;border:1px solid var(--line);font-weight:800}
.floating-cart{position:fixed;right:max(14px, env(safe-area-inset-right));bottom:calc(var(--nav-h) + 12px);width:58px;height:52px;border-radius:22px;border:none;background:linear-gradient(145deg,#0f2246,#132d5d);color:#fff;box-shadow:var(--shadow)}
.cart-icon{font-size:22px}
.cart-badge{position:absolute;top:-6px;right:-4px;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#ff5b5b;display:grid;place-items:center;font-size:13px;font-weight:800}
.bottom-nav{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:min(100%,430px);padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:rgba(6,16,34,.92);backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.06);display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.nav-item{height:52px;border:none;border-radius:18px;background:transparent;color:#a6b0c3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-weight:700}
.nav-item span:last-child{font-size:12px}
.nav-item.active{background:rgba(121,105,255,.18);color:#fff}
.sheet{position:fixed;inset:0;background:rgba(2,7,15,.62);backdrop-filter:blur(8px);display:flex;align-items:flex-end;padding:0 0 calc(var(--nav-h) + 10px)}
.hidden{display:none}
.sheet-card{width:100%;background:#08152a;border-top-left-radius:28px;border-top-right-radius:28px;padding:16px 14px;box-shadow:var(--shadow);border-top:1px solid rgba(255,255,255,.06);max-height:72vh;overflow:auto}
.sheet-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.sheet-head h3{margin:0}
.cart-items{display:grid;gap:10px;margin-bottom:12px}
.cart-item{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:18px;padding:8px}
.cart-item img{width:48px;height:48px;border-radius:12px;object-fit:cover;background:#fff}
.cart-item p{margin:0}
.cart-item .small{font-size:12px;color:var(--muted)}
.remove-btn{border:none;background:transparent;color:#ff8b8b;font-weight:700}
.summary-row{display:flex;justify-content:space-between;align-items:center;padding:10px 2px 14px}
.checkout-form{display:grid;gap:10px}
.checkout-form input{height:46px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:#fff;padding:0 14px}
.empty{padding:18px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid var(--line);text-align:center;color:var(--muted)}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--nav-h) + 84px);background:#101d37;color:#fff;padding:10px 14px;border-radius:14px;border:1px solid var(--line);box-shadow:var(--shadow);z-index:50}
.detail-sheet{position:fixed;inset:0;background:rgba(2,7,15,.62);backdrop-filter:blur(8px);display:flex;align-items:flex-end;padding:0 0 calc(var(--nav-h) + 10px);z-index:40}
.detail-card{width:100%;background:#08152a;border-top-left-radius:28px;border-top-right-radius:28px;padding:14px;box-shadow:var(--shadow);border-top:1px solid rgba(255,255,255,.06)}
.detail-media{position:relative;border-radius:20px;overflow:hidden;background:linear-gradient(180deg,#dfe4f1,#f3f5fa);aspect-ratio:1/0.78;margin-bottom:10px}
.detail-media img{width:100%;height:100%;object-fit:cover;display:block}
.detail-name{font-size:18px;line-height:1.18;font-weight:800;margin:0 0 4px}
.detail-price{font-size:16px;font-weight:900;margin:0 0 10px}
.detail-actions{display:grid;grid-template-columns:44px 1fr;gap:8px}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
@media (max-width:360px){
  .product-grid{gap:10px}
  .product-card{padding:9px}
  .product-name{font-size:14px;min-height:34px}
}


.search-sheet-card{padding-bottom:18px}
.search-box-wrap{margin:4px 0 10px}
.search-input{
  width:100%;
  height:46px;
  border-radius:16px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.06);
  color:#fff;
  padding:0 14px;
  outline:none;
}
.search-input::placeholder{color:#8fa0bb}
.search-results-info{
  font-size:12px;
  color:var(--muted);
  padding:2px 2px 0;
}
.product-card.hidden-by-search{display:none}


.search-sheet-card{
  padding-bottom:18px;
  max-height:84vh;
  min-height:72vh;
  display:flex;
  flex-direction:column;
}
.search-box-wrap{
  margin:4px 0 8px;
  position:sticky;
  top:0;
  z-index:2;
  background:#08152a;
  padding-bottom:6px;
}
.search-results-info{
  font-size:12px;
  color:var(--muted);
  padding:0 2px 8px;
}
.search-results-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  overflow:auto;
  padding-bottom:4px;
}
.search-empty{
  padding:18px;
  border-radius:18px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--line);
  text-align:center;
  color:var(--muted);
  grid-column:1/-1;
}
.search-result-card{
  background:linear-gradient(180deg,var(--card),var(--card2));
  border:1px solid var(--line);
  border-radius:22px;
  padding:9px;
  box-shadow:var(--shadow);
  min-width:0;
}
.search-result-card .product-thumb{margin-bottom:7px;aspect-ratio:1/0.88}
.search-result-card .product-name{
  margin:0 0 3px;
  font-size:13px;
  line-height:1.15;
  font-weight:780;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  min-height:auto;
}
.search-result-card .product-price{
  font-size:13px;
  font-weight:900;
  line-height:1.05;
  margin-bottom:7px;
}
.search-result-card .product-actions{
  display:grid;
  grid-template-columns:38px 1fr;
  gap:7px;
}
.search-result-card .share-btn,
.search-result-card .add-btn{
  height:38px;
  border-radius:13px;
}
.product-card.hidden-by-search{display:none}


/* hard override for search results grid */
#searchSheet .sheet-card{
  max-height:84vh;
  min-height:72vh;
}
#searchResultsGrid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
  align-content:start;
}
#searchResultsGrid .search-result-card{
  width:auto !important;
  min-width:0 !important;
  display:block !important;
  background:linear-gradient(180deg,var(--card),var(--card2));
  border:1px solid var(--line);
  border-radius:22px;
  padding:9px;
  box-shadow:var(--shadow);
}
#searchResultsGrid .product-thumb{
  aspect-ratio:1/0.88 !important;
  margin-bottom:7px !important;
}
#searchResultsGrid .product-name{
  margin:0 0 3px !important;
  font-size:13px !important;
  line-height:1.15 !important;
  font-weight:780 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
#searchResultsGrid .product-price{
  font-size:13px !important;
  font-weight:900 !important;
  line-height:1.05 !important;
  margin-bottom:7px !important;
}
#searchResultsGrid .product-actions{
  display:grid !important;
  grid-template-columns:38px 1fr !important;
  gap:7px !important;
}
#searchResultsGrid .share-btn,
#searchResultsGrid .add-btn{
  height:38px !important;
  border-radius:13px !important;
}
#searchResultsGrid .search-empty{
  grid-column:1 / -1;
}


.account-sheet-card{
  max-height:84vh;
  min-height:68vh;
}

.account-hero{
  display:grid;
  grid-template-columns:64px 1fr;
  gap:12px;
  align-items:center;
  padding:14px;
  margin-bottom:12px;
  border-radius:22px;
  background:linear-gradient(145deg,rgba(121,105,255,.20),rgba(14,27,52,.80));
  border:1px solid var(--line);
}

.account-avatar{
  width:64px;
  height:64px;
  border-radius:20px;
  display:grid;
  place-items:center;
  font-size:24px;
  font-weight:900;
  color:#fff;
  background:linear-gradient(135deg,var(--primary),var(--primary2));
  box-shadow:var(--shadow);
}

.account-kicker{
  margin:0 0 4px;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#b4bfd6;
}

.account-hero-copy h4{
  margin:0 0 4px;
  font-size:18px;
  line-height:1.1;
}

.account-subtext,
.account-note{
  margin:0;
  font-size:12px;
  line-height:1.45;
  color:var(--muted);
}

.account-stats-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-bottom:12px;
}

.account-stat-card,
.account-block{
  padding:14px;
  border-radius:18px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--line);
}

.account-stat-card strong{
  display:block;
  margin-top:6px;
  font-size:18px;
  line-height:1.1;
}

.stat-label,
.account-block .label{
  font-size:12px;
  color:var(--muted);
}

.account-content{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.account-block-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:8px;
}

.account-block .value{
  margin:0 0 4px;
  font-size:15px;
  font-weight:760;
  line-height:1.35;
  word-break:break-word;
}

.account-status-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  color:#fff;
  background:rgba(87,215,141,.18);
  border:1px solid rgba(87,215,141,.30);
}

.account-actions{
  display:grid;
  gap:10px;
}

.account-actions.two-col{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.account-actions.single{
  grid-template-columns:1fr;
}

.account-btn,
.ghost-wide-btn,
.ghost-mini-btn{
  border:none;
  cursor:pointer;
}

.account-btn{
  width:100%;
  min-height:46px;
  border-radius:16px;
  background:linear-gradient(135deg,var(--primary),var(--primary2));
  color:#fff;
  font-weight:800;
  padding:0 14px;
}

.account-btn.secondary{
  background:rgba(255,255,255,.08);
  border:1px solid var(--line);
}

.ghost-wide-btn,
.ghost-mini-btn{
  background:rgba(255,255,255,.06);
  color:#dce4f5;
  border:1px solid var(--line);
}

.ghost-wide-btn{
  min-height:44px;
  border-radius:14px;
  font-weight:700;
}

.ghost-mini-btn{
  min-height:30px;
  padding:0 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}

.account-btn:disabled,
.ghost-wide-btn:disabled,
.ghost-mini-btn:disabled{
  opacity:.5;
  cursor:not-allowed;
}


/* home loading skeletons */
.product-card.skeleton-card{
  pointer-events:none;
}
.skeleton-card .product-thumb,
.skeleton-line,
.skeleton-btn,
.skeleton-icon{
  position:relative;
  overflow:hidden;
  background:rgba(255,255,255,.06);
}
.skeleton-card .product-thumb{
  aspect-ratio:1/0.88;
  border-radius:18px;
  margin-bottom:7px;
}
.skeleton-line{
  height:14px;
  border-radius:10px;
  margin-bottom:7px;
}
.skeleton-line.short{width:58%; height:12px; margin-bottom:8px;}
.skeleton-actions{
  display:grid;
  grid-template-columns:38px 1fr;
  gap:7px;
}
.skeleton-icon,.skeleton-btn{
  height:38px;
  border-radius:13px;
}
.skeleton-shimmer::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
  transform:translateX(-100%);
  animation:skeletonMove 1.1s infinite;
}
@keyframes skeletonMove{
  100%{transform:translateX(100%)}
}


.cart-preview-card{
  max-height:78vh;
}
.terms-check{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:4px 2px 0;
  color:#dce4f5;
  font-size:13px;
  line-height:1.35;
}
.terms-check input{
  margin-top:2px;
  width:18px;
  height:18px;
  accent-color:#7969ff;
}
.pay-btn[disabled]{
  opacity:.55;
  filter:saturate(.7);
  box-shadow:none;
}
.cart-preview-pulse{
  animation:cartPulse .36s ease;
}
@keyframes cartPulse{
  0%{transform:scale(1)}
  40%{transform:scale(1.08)}
  100%{transform:scale(1)}
}


.cart-items{
  display:grid;
  gap:10px;
  margin-bottom:12px;
}
.cart-item{
  display:grid;
  grid-template-columns:52px 1fr auto;
  gap:10px;
  align-items:center;
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.03));
  border:1px solid var(--line);
  border-radius:18px;
  padding:9px;
}
.cart-item img{
  width:52px;
  height:52px;
  border-radius:13px;
  object-fit:cover;
  background:#fff;
}
.cart-item-main{
  min-width:0;
}
.cart-item-name{
  margin:0 0 5px;
  font-size:14px;
  font-weight:760;
  line-height:1.2;
}
.cart-meta{
  margin:0 0 8px;
  font-size:12px;
  color:var(--muted);
}
.cart-controls{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.qty-btn{
  width:28px;
  height:28px;
  border:none;
  border-radius:10px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-weight:900;
  line-height:1;
}
.qty-badge{
  min-width:30px;
  height:28px;
  padding:0 8px;
  border-radius:10px;
  background:rgba(255,255,255,.05);
  border:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:800;
  color:#fff;
}
.delete-btn{
  height:28px;
  padding:0 10px;
  border:none;
  border-radius:10px;
  background:rgba(255,91,91,.12);
  color:#ff8e8e;
  font-weight:800;
  font-size:12px;
}
.cart-line-total{
  font-size:13px;
  font-weight:900;
  color:#fff;
  white-space:nowrap;
  align-self:center;
}


/* cart polish upgrade */
.cart-preview-card{
  max-height:82vh;
}
.cart-item{
  grid-template-columns:50px 1fr auto;
  gap:12px;
  padding:10px;
  border-radius:20px;
}
.cart-item img{
  width:50px;
  height:50px;
  border-radius:14px;
}
.cart-item-main{
  min-width:0;
}
.cart-item-name{
  margin:0 0 4px;
  font-size:13px;
  font-weight:780;
  line-height:1.18;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.cart-meta{
  margin:0 0 8px;
  font-size:11px;
  color:var(--muted);
}
.cart-controls{
  display:flex;
  align-items:center;
  gap:6px;
}
.qty-btn{
  width:30px;
  height:30px;
  border-radius:11px;
  background:rgba(255,255,255,.09);
  color:#fff;
  font-size:18px;
  font-weight:800;
}
.qty-badge{
  min-width:28px;
  height:30px;
  border-radius:11px;
  font-size:12px;
}
.delete-btn{
  height:30px;
  padding:0 12px;
  border-radius:11px;
  background:rgba(255,91,91,.13);
  color:#ff9a9a;
  font-weight:800;
  font-size:12px;
}
.cart-line-total{
  font-size:13px;
  font-weight:900;
  white-space:nowrap;
  align-self:flex-start;
  padding-top:4px;
}
.summary-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:12px 2px 14px;
  font-size:15px;
}
.summary-row strong{
  font-size:16px;
}
.checkout-form{
  display:grid;
  gap:10px;
}
.checkout-form input{
  height:48px;
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.055);
  color:#fff;
  padding:0 15px;
}
.checkout-form input::placeholder{
  color:#8191ab;
}
.terms-check{
  gap:9px;
  padding:2px 2px 0;
  font-size:12px;
}
.pay-btn{
  height:48px !important;
  border-radius:18px !important;
}


.sheet-head-actions{
  display:flex;
  align-items:center;
  gap:8px;
}
.text-btn{
  border:none;
  background:transparent;
  color:#c9d4ea;
  font-weight:700;
  font-size:12px;
}
.danger-text{
  color:#ff9a9a;
}
.inline-link{
  border:none;
  background:transparent;
  color:#9db4ff;
  font-weight:800;
  padding:0;
  text-decoration:underline;
}
.terms-sheet-card,
.thankyou-sheet-card{
  max-height:80vh;
}
.terms-content{
  display:grid;
  gap:10px;
  color:#d9e3f5;
  font-size:13px;
  line-height:1.5;
}
.thankyou-wrap{
  padding:6px 2px 2px;
  text-align:center;
}
.thankyou-badge{
  width:70px;
  height:70px;
  margin:2px auto 12px;
  border-radius:22px;
  display:grid;
  place-items:center;
  font-size:34px;
  font-weight:900;
  color:#fff;
  background:linear-gradient(135deg,#10b981,#34d399);
  box-shadow:0 14px 28px rgba(16,185,129,.28);
}
.thankyou-wrap h4{
  margin:0 0 8px;
  font-size:22px;
}
.thankyou-wrap p{
  margin:0 0 14px;
  color:var(--muted);
  font-size:14px;
}
.thankyou-meta{
  display:grid;
  gap:10px;
  margin:0 0 14px;
}
.thankyou-meta div{
  background:rgba(255,255,255,.04);
  border:1px solid var(--line);
  border-radius:16px;
  padding:10px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.thankyou-meta span{
  font-size:12px;
  color:var(--muted);
}
.thankyou-meta strong{
  font-size:14px;
  color:#fff;
}


/* thank you polish */
#thankYouSheet{
  align-items:center;
  justify-content:center;
  padding:16px;
}
.thankyou-sheet-card{
  width:min(92vw, 420px);
  max-height:min(86vh, 760px);
  margin:0 auto;
  border-radius:30px;
  animation:thankYouPop .28s ease;
}
.thankyou-wrap{
  padding:4px 2px 2px;
  text-align:center;
}
.thankyou-badge{
  width:82px;
  height:82px;
  margin:6px auto 14px;
  border-radius:26px;
  display:grid;
  place-items:center;
  font-size:40px;
  font-weight:900;
  color:#fff;
  background:linear-gradient(135deg,#22c55e,#16a34a);
  box-shadow:0 20px 40px rgba(34,197,94,.34);
}
.thankyou-wrap h4{
  margin:0 0 8px;
  font-size:24px;
  line-height:1.12;
}
.thankyou-wrap p{
  margin:0 0 16px;
  color:var(--muted);
  font-size:14px;
  line-height:1.45;
}
.thankyou-meta{
  display:grid;
  gap:10px;
  margin:0 0 16px;
}
.thankyou-meta div{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.07);
  border-radius:18px;
  padding:12px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.thankyou-meta span{
  font-size:12px;
  color:var(--muted);
}
.thankyou-meta strong{
  font-size:15px;
  color:#fff;
  font-weight:800;
}
#thankYouStatus{
  color:#22c55e !important;
  font-weight:900 !important;
  letter-spacing:.04em;
}
@keyframes thankYouPop{
  from{opacity:0;transform:translateY(20px) scale(.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}


.receipt-action-stack{
  display:grid;
  gap:10px;
}
.secondary-receipt{
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:none !important;
}


@media (max-width:360px){
  .account-actions.two-col{
    grid-template-columns:1fr;
  }
  .account-block-head{
    flex-direction:column;
    align-items:flex-start;
  }
}

.account-link-btn{display:flex;align-items:center;justify-content:center;text-decoration:none;}
.lookup-empty{padding:18px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:#9aaccc;text-align:center;}


/* ===== Global Help / Support ===== */
.quick-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.quick-link{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 12px;border-radius:16px;text-decoration:none;color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);font-weight:800;text-align:center}
.quick-link.primary{background:linear-gradient(135deg,#7969ff,#5488ff);box-shadow:0 10px 24px rgba(92,108,255,.22)}
.help-hint{margin-top:8px;color:#91a4c5;font-size:12px;line-height:1.45}
.spk-help-fab{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:calc(var(--nav-h,82px) + 82px);width:58px;height:58px;border:none;border-radius:999px;background:linear-gradient(135deg,#7969ff,#5488ff);color:#fff;font-size:23px;font-weight:900;box-shadow:0 18px 34px rgba(0,0,0,.34);z-index:70;cursor:pointer}
.spk-help-panel{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:calc(var(--nav-h,82px) + 150px);width:min(360px,calc(100vw - 24px));background:linear-gradient(180deg,#0c1a33,#08152a);border:1px solid rgba(255,255,255,.08);border-radius:24px;box-shadow:0 24px 50px rgba(0,0,0,.36);padding:14px;z-index:80}
.spk-help-panel.hidden{display:none}
.spk-help-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.spk-help-title{font-size:18px;font-weight:900;margin:0;color:#fff}
.spk-help-sub{font-size:13px;color:#93a6cb;line-height:1.4;margin:4px 0 0}
.spk-help-close{width:38px;height:38px;border:none;border-radius:14px;background:rgba(255,255,255,.08);color:#fff;font-size:18px;cursor:pointer}
.spk-help-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 12px}
.spk-help-chip{border:none;border-radius:999px;background:rgba(255,255,255,.07);color:#eff4ff;padding:9px 12px;font-size:12px;font-weight:800;cursor:pointer}
.spk-help-answer{padding:12px 13px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);color:#ecf2ff;font-size:13px;line-height:1.5;min-height:74px}
.spk-help-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.spk-help-link{display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;min-height:44px;border-radius:14px;font-size:12px;font-weight:900;padding:0 8px;color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
.spk-help-link.primary{background:linear-gradient(135deg,#7969ff,#5488ff)}
.page-help-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.page-help-strip a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 10px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);color:#fff;text-decoration:none;font-weight:800;font-size:13px;text-align:center}
@media (max-width:420px){.spk-help-actions{grid-template-columns:1fr}.page-help-strip{grid-template-columns:1fr}}

.cart-preview-actions{display:grid;gap:12px;margin-top:16px}.cart-preview-note{margin:0;color:#9db0d3;font-size:13px;line-height:1.5}

.brand-wrap{display:flex;align-items:center;gap:12px}.brand-logo{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.14);box-shadow:0 8px 18px rgba(0,0,0,.28)}
.brand-wrap .eyebrow{letter-spacing:.04em}
.page-brand{display:flex;align-items:center;gap:12px;margin-bottom:14px}.page-brand-logo{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.12);box-shadow:0 8px 18px rgba(0,0,0,.25)}.page-brand-copy{display:grid;gap:2px}.page-brand-copy strong{font-size:15px;font-weight:900;color:#fff}.page-brand-copy span{font-size:12px;color:#9fb0c7}.brand-inline{display:flex;align-items:center;gap:10px}.brand-inline img{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.12)}


.promo-image-slider{
  padding:10px;
}

.promo-image-track{
  position:relative;
  min-height:168px;
}

.promo-image-slide{
  display:none;
}

.promo-image-slide.is-active{
  display:block;
}

.promo-image{
  display:block;
  width:100%;
  height:165px;
  object-fit:cover;
  object-position:center;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.06);
  box-shadow:0 12px 34px rgba(0,0,0,.38);
  background:#071122;
}

.promo-dots{
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:10px;
}

.promo-dot{
  width:8px;
  height:8px;
  padding:0;
  border:none;
  border-radius:999px;
  background:rgba(255,255,255,.24);
}

.promo-dot.is-active{
  width:20px;
  background:linear-gradient(135deg,#ffd44d,#fff1ab);
}

@media (min-width:768px){
  .promo-image{
    height:220px;
  }
}


/* ===== Success + Tracking Unified Design System ===== */
.thankyou-card-v2{
  width:min(94vw,420px);
  max-width:420px;
  max-height:min(88vh,760px);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  border-radius:28px;
  padding:16px 14px 14px;
  background:
    radial-gradient(circle at top right, rgba(99,102,241,.16), transparent 28%),
    radial-gradient(circle at top left, rgba(34,197,94,.10), transparent 24%),
    linear-gradient(180deg, rgba(6,15,38,.985), rgba(5,13,32,.985));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 22px 70px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.05);
}

.thankyou-card-v2::-webkit-scrollbar{ width:0; height:0; }

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

.thankyou-topbar-copy{ min-width:0; }

.thankyou-kicker{
  display:inline-block;
  margin:0 0 4px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
  color:#ffffff;
}

.thankyou-topbar h3{
  margin:0;
  font-size:20px;
  line-height:1.08;
  font-weight:900;
  color:#fff;
}

.thankyou-close-btn{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:14px !important;
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  color:#fff !important;
  box-shadow:none !important;
}

.thankyou-wrap-v2{
  padding:0;
  text-align:left;
}

.thankyou-hero{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:10px;
  margin:0 0 14px;
}

.thankyou-wrap-v2 .thankyou-badge{
  width:88px;
  height:88px;
  display:grid;
  place-items:center;
  margin:0 auto;
  border-radius:28px;
  font-size:42px;
  font-weight:900;
  color:#fff;
  background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.22), transparent 30%), linear-gradient(180deg, #22c55e, #16a34a);
  box-shadow:0 18px 40px rgba(34,197,94,.30), inset 0 1px 0 rgba(255,255,255,.28);
}

.thankyou-hero-copy h4{
  margin:0 0 6px;
  font-size:24px;
  line-height:1.08;
  font-weight:900;
  color:#fff;
}

.thankyou-hero-copy p{
  margin:0;
  color:#9fb0c9;
  font-size:13px;
  line-height:1.45;
}

.thankyou-summary-card{
  display:grid;
  gap:10px;
  margin:0 0 14px;
  padding:12px;
  border-radius:22px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}

.thankyou-row{
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:13px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.thankyou-row-simple span{
  flex:0 0 auto;
  min-width:92px;
  font-size:13px;
  font-weight:800;
  color:#cfe0ff;
}

.thankyou-row strong{
  flex:1 1 auto;
  margin-left:auto;
  font-size:15px;
  color:#fff;
  line-height:1.28;
  text-align:right;
  word-break:break-word;
}

.thankyou-value-code{
  letter-spacing:.03em;
}

.thankyou-status-row{
  align-items:center;
}

.thankyou-status-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:152px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(34,197,94,.16);
  border:1px solid rgba(34,197,94,.30);
  color:#4ade80 !important;
  font-weight:900 !important;
  letter-spacing:.03em;
  font-size:12px !important;
  text-transform:none;
}

.tracking-mini-card{
  margin:0 0 14px;
  padding:14px 12px 12px;
  border-radius:20px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
}

.tracking-mini-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:14px;
}

.tracking-mini-head small{
  display:block;
  color:#8ea2be;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.10em;
  margin-bottom:4px;
}

.tracking-mini-head strong{
  display:block;
  font-size:16px;
  line-height:1.2;
  color:#fff;
}

.tracking-mini-line{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  align-items:start;
}

.tracking-mini-step{
  position:relative;
  text-align:center;
  min-width:0;
}

.tracking-mini-step:not(:last-child)::after{
  content:"";
  position:absolute;
  top:8px;
  left:calc(50% + 14px);
  width:calc(100% - 28px);
  height:4px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  transition:background .25s ease, box-shadow .25s ease;
}

.tracking-mini-step.done:not(:last-child)::after,
.tracking-mini-step.current:not(:last-child)::after{
  background:linear-gradient(90deg, rgba(34,197,94,1), rgba(74,222,128,.72));
  box-shadow:0 0 14px rgba(34,197,94,.22);
}

.tracking-mini-dot{
  width:18px;
  height:18px;
  border-radius:999px;
  margin:0 auto 9px;
  background:rgba(255,255,255,.18);
  border:2px solid rgba(255,255,255,.08);
  position:relative;
  z-index:1;
  transition:background .25s ease, box-shadow .25s ease, transform .25s ease;
}

.tracking-mini-step.done .tracking-mini-dot,
.tracking-mini-step.current .tracking-mini-dot{
  background:#22c55e;
  box-shadow:0 0 0 6px rgba(34,197,94,.12);
}

.tracking-mini-step.current .tracking-mini-dot{
  transform:scale(1.04);
}

.tracking-mini-step.emphasis-complete .tracking-mini-dot{
  background:#fb923c;
  box-shadow:0 0 0 6px rgba(251,146,60,.15), 0 0 18px rgba(251,146,60,.45);
  animation:thankyouPulseOrange 1.15s ease-in-out infinite;
}

.tracking-mini-step em{
  display:block;
  font-style:normal;
  font-size:11px;
  line-height:1.25;
  color:#8ea2be;
  font-weight:800;
}

.tracking-mini-step.done em,
.tracking-mini-step.current em,
.tracking-mini-step.emphasis-complete em{
  color:#fff;
}

@keyframes thankyouPulseOrange{
  0%,100%{ transform:scale(1); opacity:1; }
  50%{ transform:scale(1.12); opacity:.9; }
}

.thankyou-actions-v2{
  gap:10px;
}

.thankyou-actions-v2 .pay-btn{
  height:50px !important;
  border-radius:17px !important;
  font-size:15px !important;
  font-weight:900 !important;
}

.secondary-receipt{
  background:rgba(255,255,255,.07) !important;
  border:1px solid rgba(255,255,255,.09) !important;
  box-shadow:none !important;
}

.thankyou-primary-btn{
  box-shadow:0 14px 34px rgba(99,102,241,.28) !important;
}

@media (max-width:420px){
  .thankyou-card-v2{
    width:min(96vw,420px);
    max-height:min(90vh,760px);
    border-radius:24px;
    padding:14px 12px 12px;
  }

  .thankyou-topbar h3{
    font-size:18px;
  }

  .thankyou-close-btn{
    width:40px;
    height:40px;
    flex-basis:40px;
  }

  .thankyou-wrap-v2 .thankyou-badge{
    width:78px;
    height:78px;
    border-radius:24px;
    font-size:35px;
  }

  .thankyou-hero-copy h4{
    font-size:22px;
  }

  .thankyou-summary-card{
    padding:10px;
    border-radius:18px;
  }

  .thankyou-row{
    padding:12px;
    border-radius:16px;
  }

  .thankyou-row-simple span{
    min-width:74px;
    font-size:12px;
  }

  .thankyou-row strong{
    font-size:14px;
  }

  .thankyou-status-badge{
    min-width:128px;
    padding:7px 10px;
    font-size:11px !important;
  }

  .tracking-mini-card{
    padding:12px 10px 11px;
    border-radius:18px;
  }

  .tracking-mini-line{
    gap:4px;
  }

  .tracking-mini-step:not(:last-child)::after{
    left:calc(50% + 12px);
    width:calc(100% - 24px);
  }

  .tracking-mini-dot{
    width:16px;
    height:16px;
    margin-bottom:8px;
  }

  .tracking-mini-step em{
    font-size:10px;
  }

  .thankyou-actions-v2 .pay-btn{
    height:48px !important;
    font-size:14px !important;
  }
}


/* Unified tracking cards for receipt + account */
.tracking-card,
.status-indicator{
  border-radius:18px !important;
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(255,255,255,.07) !important;
}
.tracking-top strong,
.status-indicator strong{
  font-size:15px !important;
}
.tracking-line,
.timeline.timeline-3{
  gap:8px !important;
}
.track-step em,
.timeline-step span{
  font-size:10px !important;
  font-weight:700 !important;
}
.track-dot,
.timeline-dot{
  width:14px !important;
  height:14px !important;
  margin:0 auto 8px !important;
}
