:root{
  --brand:#4f46e5;
  --brand-dark:#4338ca;
  --brand-light:#eef0ff;
  --ink:#171a2b;
  --muted:#6b7280;
}
body{ font-family:'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; color:var(--ink); }
h1,h2,h3,h4,h5,h6, .navbar-brand, .brand-text{ font-family:'Plus Jakarta Sans', sans-serif; }
.hero{ background:linear-gradient(135deg,var(--brand),var(--brand-dark)); color:#fff; padding:70px 0; }
.hero h1{ font-weight:800; }
.product-thumb{ position:relative; overflow:hidden; aspect-ratio:4/3; background:#f3f4f6; }
.product-thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.product-card:hover .product-thumb img{ transform:scale(1.05); }
.section-title{ font-weight:800; margin-bottom:1.75rem; }
.category-pill{ padding:.4rem 1rem; border-radius:50px; background:var(--brand-light); color:var(--brand); text-decoration:none; font-weight:600; font-size:.85rem; }
.category-pill:hover{ background:var(--brand); color:#fff; }
.btn-primary{ background-color:var(--brand); border-color:var(--brand); }
.btn-primary:hover{ background-color:var(--brand-dark); border-color:var(--brand-dark); }
.btn-outline-primary{ color:var(--brand); border-color:var(--brand); }
.btn-outline-primary:hover{ background-color:var(--brand); border-color:var(--brand); }
.text-primary{ color:var(--brand) !important; }
.checkout-summary{ position:sticky; top:130px; }
.gateway-option{ cursor:pointer; }
.gateway-option input:checked + label{ border-color:var(--brand); background:#f5f4ff; }
.gateway-option label{ border:1px solid #dee2e6; border-radius:.5rem; padding:1rem; display:block; width:100%; }

/* ===================== Premium Header ===================== */
.topbar{
  background:linear-gradient(90deg, var(--ink), #2a2f4a);
  color:rgba(255,255,255,.85);
  font-size:.8rem;
  padding:.5rem 0;
  letter-spacing:.2px;
}
.topbar-msg{ display:flex; align-items:center; gap:.5rem; }
.topbar-msg i{ color:#a5b4fc; }
.topbar-right{ display:flex; align-items:center; gap:1rem; }
.topbar-link{ color:rgba(255,255,255,.85); text-decoration:none; display:inline-flex; align-items:center; gap:.4rem; transition:color .15s ease; }
.topbar-link:hover{ color:#fff; }
.topbar-divider{ width:1px; height:14px; background:rgba(255,255,255,.25); }
.topbar-social{ display:flex; align-items:center; gap:.65rem; }
.topbar-social a{ color:rgba(255,255,255,.75); font-size:.8rem; transition:color .15s ease, transform .15s ease; }
.topbar-social a:hover{ color:#fff; transform:translateY(-1px); }

.main-nav{
  background:#fff;
  border-bottom:1px solid #eef0f4;
  padding:.85rem 0;
  transition:box-shadow .2s ease, padding .2s ease;
  z-index:1030;
}
.main-nav.is-scrolled{
  box-shadow:0 8px 24px rgba(23,26,43,.08);
  padding:.55rem 0;
}
.brand-mark{
  width:38px; height:38px; border-radius:11px;
  background:linear-gradient(135deg, var(--brand), #7c3aed);
  color:#fff; display:inline-flex; align-items:center; justify-content:center;
  font-size:1.05rem; box-shadow:0 6px 16px rgba(79,70,229,.35);
}
.brand-text{ font-weight:800; font-size:1.25rem; color:var(--ink); }

.nav-premium{ gap:.25rem; }
.nav-premium .nav-link{
  position:relative;
  font-weight:600;
  font-size:.92rem;
  color:#3a3f55;
  padding:.55rem .9rem !important;
  transition:color .15s ease;
}
.nav-premium .nav-link::after{
  content:'';
  position:absolute;
  left:.9rem; right:.9rem; bottom:.3rem;
  height:2px;
  background:var(--brand);
  border-radius:2px;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .2s ease;
}
.nav-premium .nav-link:hover{ color:var(--brand); }
.nav-premium .nav-link:hover::after{ transform:scaleX(1); }

.header-actions{ gap:.75rem; }
.search-form{
  display:flex; align-items:center; gap:.5rem;
  background:#f4f5f9; border:1px solid #eceef4;
  border-radius:50px; padding:.45rem .95rem;
  min-width:220px;
  transition:border-color .15s ease, background .15s ease;
}
.search-form:focus-within{ background:#fff; border-color:var(--brand); }
.search-form i{ color:var(--muted); font-size:.85rem; }
.search-form input{
  border:0; background:transparent; outline:none;
  font-size:.88rem; width:100%; color:var(--ink);
}
.cart-btn{
  position:relative;
  width:42px; height:42px; border-radius:50%;
  background:var(--brand-light); color:var(--brand);
  display:inline-flex; align-items:center; justify-content:center;
  font-size:1.05rem; text-decoration:none;
  transition:background .15s ease, color .15s ease, transform .15s ease;
  flex:0 0 auto;
}
.cart-btn:hover{ background:var(--brand); color:#fff; transform:translateY(-1px); }
.cart-badge{
  position:absolute; top:-4px; right:-4px;
  background:#ef4444; color:#fff; font-size:.68rem; font-weight:700;
  min-width:18px; height:18px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  padding:0 4px; border:2px solid #fff;
}

/* ===================== Premium Footer ===================== */
.site-footer{
  background:var(--ink);
  color:rgba(255,255,255,.65);
  margin-top:5rem;
  position:relative;
}
.site-footer::before{
  content:'';
  display:block;
  height:4px;
  background:linear-gradient(90deg, var(--brand), #7c3aed, #ec4899);
}
.footer-main{ padding:4rem 0 3rem; }
.footer-brand{ text-decoration:none; margin-bottom:.9rem; }
.footer-brand .brand-text{ color:#fff; }
.footer-tagline{ color:rgba(255,255,255,.55); max-width:280px; margin-bottom:1.25rem; font-size:.92rem; }
.social-circles{ display:flex; gap:.6rem; }
.social-circles a{
  width:36px; height:36px; border-radius:50%;
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.8);
  display:inline-flex; align-items:center; justify-content:center;
  text-decoration:none; transition:background .15s ease, color .15s ease, transform .15s ease;
}
.social-circles a:hover{ background:var(--brand); color:#fff; transform:translateY(-2px); }

.footer-heading{
  color:#fff; font-weight:700; font-size:.85rem;
  text-transform:uppercase; letter-spacing:.6px; margin-bottom:1.25rem;
}
.footer-links, .footer-contact{ list-style:none; padding:0; margin:0; }
.footer-links li, .footer-contact li{ margin-bottom:.75rem; font-size:.92rem; }
.footer-links a{ color:rgba(255,255,255,.62); text-decoration:none; transition:color .15s ease, padding-left .15s ease; }
.footer-links a:hover{ color:#fff; padding-left:3px; }
.footer-contact li{ color:rgba(255,255,255,.62); display:flex; align-items:center; gap:.55rem; }
.footer-contact a{ color:rgba(255,255,255,.62); text-decoration:none; }
.footer-contact a:hover{ color:#fff; }
.footer-contact i{ color:#a5b4fc; width:16px; text-align:center; }

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  padding:1.25rem 0;
  font-size:.85rem;
}
.copyright{ color:rgba(255,255,255,.5); }
.payment-icons{ display:flex; gap:.9rem; font-size:1.5rem; color:rgba(255,255,255,.5); }

.back-to-top{
  position:fixed; right:22px; bottom:22px;
  width:44px; height:44px; border-radius:50%;
  background:var(--brand); color:#fff; border:none;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 24px rgba(79,70,229,.4);
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease, background .15s ease;
  z-index:1040;
}
.back-to-top.is-visible{ opacity:1; visibility:visible; transform:translateY(0); }
.back-to-top:hover{ background:var(--brand-dark); }

/* ===================== Telegram Chat Button ===================== */
.telegram-chat-btn{
  position:fixed; left:22px; bottom:22px;
  width:56px; height:56px; border-radius:50%;
  background:#26A5E4; color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:1.7rem; text-decoration:none;
  box-shadow:0 10px 26px rgba(38,165,228,.45);
  z-index:1040;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.telegram-chat-btn::before{
  content:'';
  position:absolute; inset:0; border-radius:50%;
  box-shadow:0 0 0 0 rgba(38,165,228,.55);
  animation:tg-pulse 2.4s infinite;
  pointer-events:none;
}
.telegram-chat-btn:hover{
  color:#fff; background:#1e93cf;
  transform:translateY(-3px) scale(1.06);
  box-shadow:0 16px 34px rgba(38,165,228,.55);
}
@keyframes tg-pulse{
  0%{ box-shadow:0 0 0 0 rgba(38,165,228,.5); }
  70%{ box-shadow:0 0 0 16px rgba(38,165,228,0); }
  100%{ box-shadow:0 0 0 0 rgba(38,165,228,0); }
}
@media (max-width:575.98px){
  .telegram-chat-btn{ width:50px; height:50px; font-size:1.5rem; left:16px; bottom:16px; }
}

@media (max-width:991.98px){
  .search-form{ margin:.75rem 0; min-width:100%; }
  .header-actions{ flex-direction:row; justify-content:space-between; }
  .nav-premium .nav-link::after{ display:none; }
}
/* ===================== Crypto Payment Box ===================== */
.crypto-payment-box{
  --crypto-surface-alt:#f5f6f9;
  --crypto-line:#e5e7f0;
  max-width:620px;
  width:100%;
  margin:0 auto;
  background:#fff;
  border:1px solid var(--crypto-line);
  border-radius:14px;
  box-shadow:0 1px 2px rgba(23,26,43,.04), 0 10px 28px -16px rgba(23,26,43,.18);
  overflow:hidden;
}
.crypto-payment-box .crypto-panel{ padding:28px 30px 30px; }
.crypto-payment-box .crypto-eyebrow{
  display:block; font-size:.72rem; font-weight:700; letter-spacing:.07em;
  text-transform:uppercase; color:var(--brand); margin-bottom:8px;
}
.crypto-payment-box h2{ margin:0 0 10px; font-size:1.28rem; font-weight:800; line-height:1.3; color:var(--ink); }
.crypto-payment-box .crypto-lede{ color:var(--muted); font-size:.92rem; line-height:1.5; margin:0 0 22px; }

.crypto-payment-box .crypto-qr-wrap{
  display:flex; justify-content:center;
  background:var(--crypto-surface-alt); border:1px solid var(--crypto-line);
  border-radius:10px; padding:18px; margin-bottom:20px;
}
.crypto-payment-box .crypto-qr-wrap svg{ width:190px; height:190px; display:block; background:#fff; }

.crypto-payment-box .crypto-field{ margin-bottom:14px; }
.crypto-payment-box .crypto-field-label{
  display:block; font-size:.72rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.05em; color:#9aa0b1; margin-bottom:6px;
}
.crypto-payment-box .crypto-field-value{ display:flex; align-items:stretch; gap:8px; }
.crypto-payment-box .crypto-field-value code{
  flex:1; font-family:ui-monospace,"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  font-size:.86rem; word-break:break-all; background:var(--crypto-surface-alt);
  border:1px solid var(--crypto-line); border-radius:8px; padding:9px 11px;
  display:flex; align-items:center;
}
.crypto-payment-box .crypto-copy-btn{
  flex:none; border:1px solid var(--crypto-line); background:#fff; color:var(--ink);
  border-radius:8px; padding:0 14px; font-size:.8rem; font-weight:700; cursor:pointer;
  transition:border-color .12s ease, background .12s ease;
}
.crypto-payment-box .crypto-copy-btn:hover{ border-color:var(--brand); background:var(--brand-light); }

.crypto-payment-box .crypto-timer-row{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  background:var(--crypto-surface-alt); border:1px solid var(--crypto-line);
  border-radius:8px; padding:10px 14px; margin:6px 0 20px; font-size:.86rem;
}
.crypto-payment-box .crypto-timer-value{
  font-family:ui-monospace,"SFMono-Regular",Consolas,monospace; font-weight:700;
  font-variant-numeric:tabular-nums; color:var(--ink); margin-left:auto;
}
.crypto-payment-box .crypto-timer-row.crypto-timer-expired{ background:#fdf2df; border-color:transparent; }
.crypto-payment-box .crypto-timer-row.crypto-timer-expired #crypto-timer-label{ color:#8a5a10; font-weight:700; }
.crypto-payment-box .crypto-timer-note{ flex-basis:100%; font-size:.78rem; color:var(--muted); margin-top:2px; }

.crypto-payment-box .crypto-status{
  display:inline-flex; align-items:center; gap:7px; font-weight:700; font-size:.86rem;
  padding:8px 14px; border-radius:999px;
}
.crypto-payment-box .crypto-status::before{ content:''; width:7px; height:7px; border-radius:50%; background:currentColor; flex:none; }
.crypto-payment-box .crypto-status-awaiting{ background:#fdf2df; color:#8a5a10; }
.crypto-payment-box .crypto-status-seen{ background:#e2ecfd; color:#1d4ea8; }
.crypto-payment-box .crypto-status-confirmed{ background:#e0f3e6; color:#1a7a3f; }
.crypto-payment-box .crypto-confirmations{
  font-size:.78rem; color:#9aa0b1; margin:10px 0 0;
  font-family:ui-monospace,"SFMono-Regular",Consolas,monospace;
}

.crypto-payment-box .crypto-success-panel{ text-align:center; }
.crypto-payment-box .crypto-check{
  width:52px; height:52px; margin:4px auto 16px; border-radius:50%;
  background:#e0f3e6; color:#1a7a3f; display:flex; align-items:center; justify-content:center;
}
.crypto-payment-box .crypto-success-panel h2{ text-align:center; }
.crypto-payment-box .crypto-success-copy{ color:var(--muted); font-size:.92rem; line-height:1.5; margin:0 0 18px; }
.crypto-payment-box .crypto-tx-row{
  font-size:.82rem; background:var(--crypto-surface-alt); border:1px solid var(--crypto-line);
  border-radius:8px; padding:10px 14px; word-break:break-all;
}
.crypto-payment-box .crypto-tx-row .crypto-eyebrow{ display:inline; margin-right:6px; }
.crypto-payment-box .crypto-tx-row a{ font-family:ui-monospace,"SFMono-Regular",Consolas,monospace; color:var(--brand); text-decoration:none; }

/* ===================== Shop Page ===================== */
.shop-header-band{
  background:linear-gradient(135deg, var(--brand), #7c3aed);
  color:#fff;
  padding:56px 0 68px;
  margin-bottom:-40px;
  position:relative;
}
.shop-breadcrumb{
  display:flex; align-items:center; gap:.5rem;
  font-size:.85rem; font-weight:600; color:rgba(255,255,255,.75);
  margin-bottom:14px;
}
.shop-breadcrumb a{ color:rgba(255,255,255,.85); text-decoration:none; }
.shop-breadcrumb a:hover{ color:#fff; text-decoration:underline; }
.shop-breadcrumb i{ font-size:.65rem; color:rgba(255,255,255,.5); }
.shop-breadcrumb span{ color:#fff; }
.shop-title{ font-weight:800; font-size:2.25rem; margin-bottom:.5rem; }
.shop-subtitle{ color:rgba(255,255,255,.85); font-size:1rem; max-width:640px; margin-bottom:0; }

.shop-sidebar-card{
  background:#fff; border-radius:16px; padding:1.5rem;
  box-shadow:0 10px 30px -12px rgba(23,26,43,.12);
  position:relative; z-index:1;
}
.shop-sidebar-heading{
  font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  color:var(--muted); margin-bottom:1rem;
}
.category-filter-list{ list-style:none; margin:0; padding:0; }
.category-filter-list li + li{ margin-top:.25rem; }
.category-filter-list a{
  display:flex; align-items:center; justify-content:space-between; gap:.5rem;
  padding:.55rem .75rem; border-radius:10px;
  color:var(--ink); text-decoration:none; font-weight:600; font-size:.92rem;
  transition:background .15s ease, color .15s ease;
}
.category-filter-list a:hover{ background:var(--brand-light); color:var(--brand); }
.category-filter-list a.active{ background:var(--brand); color:#fff; }
.category-filter-list a.active .cat-count{ background:rgba(255,255,255,.25); color:#fff; }
.category-filter-list .cat-count{
  background:var(--brand-light); color:var(--brand);
  font-size:.72rem; font-weight:700; padding:.15rem .55rem; border-radius:50px;
  min-width:1.75rem; text-align:center; flex:none;
}

.shop-toolbar{
  display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap;
  background:#fff; border-radius:16px; padding:1rem 1.25rem;
  box-shadow:0 10px 30px -12px rgba(23,26,43,.12);
  margin-bottom:1.75rem; position:relative; z-index:1;
}
.shop-result-count{ color:var(--muted); font-size:.92rem; }
.shop-result-count strong{ color:var(--ink); }
.shop-sort-form{ display:flex; align-items:center; gap:.6rem; }
.shop-sort-form .form-select{ border-radius:10px; font-weight:600; font-size:.85rem; border-color:#e2e4ec; }
.shop-sort-form .form-select:focus{ border-color:var(--brand); box-shadow:0 0 0 .2rem var(--brand-light); }

.shop-empty-state{
  text-align:center; padding:4rem 1.5rem; background:#fff; border-radius:16px;
  box-shadow:0 10px 30px -12px rgba(23,26,43,.12);
}
.shop-empty-icon{
  width:72px; height:72px; border-radius:50%; background:var(--brand-light); color:var(--brand);
  display:flex; align-items:center; justify-content:center; font-size:1.75rem;
  margin:0 auto 1.25rem;
}

.pagination-premium{ gap:.35rem; }
.pagination-premium .page-link{
  border:none; border-radius:10px !important; color:var(--ink); font-weight:600;
  min-width:2.4rem; height:2.4rem; display:flex; align-items:center; justify-content:center;
  background:#fff; box-shadow:0 2px 8px -2px rgba(23,26,43,.12);
}
.pagination-premium .page-link:hover{ background:var(--brand-light); color:var(--brand); }
.pagination-premium .page-item.active .page-link{ background:var(--brand); color:#fff; box-shadow:none; }
.pagination-premium .page-item.disabled .page-link{ background:transparent; box-shadow:none; color:#c3c7d1; }

/* ===================== Product Card ===================== */
.product-card{
  border-radius:16px; overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease;
}
.product-card:hover{ transform:translateY(-4px); box-shadow:0 16px 34px -14px rgba(23,26,43,.22) !important; }
.product-thumb{ background:var(--brand-light); }
.product-card .card-title{
  min-height:2.6em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.product-card .card-title a:hover{ color:var(--brand) !important; }
.product-card p.text-muted.small{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.product-card .sale-badge{
  background:linear-gradient(135deg, #f43f5e, #ec4899); color:#fff; font-weight:700;
  font-size:.7rem; letter-spacing:.03em; text-transform:uppercase;
  padding:.3rem .65rem; border-radius:50px; border:none;
}
.product-card .btn-primary{ border-radius:10px; }

/* ===================== Trust signals / reviews / bulk pricing ===================== */
.product-card-rating{ color:#f59e0b; font-size:.8rem; }
.signal-badge{
  display:inline-flex; align-items:center; gap:4px;
  font-size:.72rem; font-weight:700; padding:.2rem .55rem; border-radius:50px;
  margin-right:6px;
}
.signal-sold{ background:#fff1e6; color:#c2410c; }
.signal-lowstock{ background:#fef3c7; color:#92400e; }
.signal-soldout{ background:#f3f4f6; color:#6b7280; }
.product-card-signals{ display:flex; flex-wrap:wrap; }

.bulk-pricing-table{
  border:1px solid #e5e7eb; border-radius:12px; overflow:hidden;
}
.bulk-pricing-heading{
  background:var(--brand-light); color:var(--brand); font-weight:700; font-size:.78rem;
  text-transform:uppercase; letter-spacing:.04em; padding:.5rem .9rem;
}
.bulk-pricing-row{
  display:flex; justify-content:space-between; padding:.5rem .9rem; font-size:.9rem;
  border-top:1px solid #f0f1f5;
}

.review-item:last-child{ border-bottom:none !important; padding-bottom:0 !important; margin-bottom:0 !important; }
.crypto-payment-box .crypto-tx-row a:hover{ text-decoration:underline; }

@media (max-width:480px){
  .crypto-payment-box .crypto-panel{ padding:22px 20px 24px; }
  .crypto-payment-box .crypto-field-value{ flex-direction:column; }
  .crypto-payment-box .crypto-copy-btn{ padding:8px 14px; }
}

.not-found-page{ padding-top:70px !important; padding-bottom:80px !important; }
.not-found-page .not-found-code{
  font-size:6rem; font-weight:800; line-height:1; color:var(--brand); opacity:.18;
  letter-spacing:-.03em;
}
@media (max-width:480px){
  .not-found-page{ padding-top:40px !important; padding-bottom:50px !important; }
  .not-found-page .not-found-code{ font-size:4rem; }
}
