
/* Speedoo Dashboard PRO - Public Styles */
:root{
  --spd-primary:#51122F;
  --spd-bg:#f4f6f8;
  --spd-panel:#ffffff;
  --spd-border:rgba(15,23,42,.10);
  --spd-text:#0f172a;
  --spd-muted:rgba(15,23,42,.70);
  --spd-radius: var(--spdpro-card-radius, 16px);
  --spd-radius-btn: var(--spdpro-btn-radius, 14px);
}

body.spdpro-public-page{
  margin:0;
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica,Arial;
  background: radial-gradient(1200px 800px at 20% 10%, rgba(139,45,76,.08), transparent 60%),
              radial-gradient(1200px 800px at 80% 0%, rgba(81,18,47,.10), transparent 55%),
              var(--spd-bg);
  color:var(--spd-text);
}


.spdpro-loader{
  position:fixed; inset:0; display:flex; align-items:center; justify-content:center;
  background:rgba(244,246,248,.75); backdrop-filter: blur(6px);
  z-index:9999; opacity:0; pointer-events:none; transition:.2s;
}
.spdpro-loader.on{opacity:1; pointer-events:auto}
.spdpro-spinner{
  width:42px; height:42px; border-radius:50%;
  border:3px solid rgba(255,255,255,.2); border-top-color: var(--spd-primary);
  animation: spdspin 1s linear infinite;
}
@keyframes spdspin{to{transform:rotate(360deg)}}


.spdpro-track-wrap{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.spdpro-track-card{
  width:min(720px, 96vw);
  border-radius:calc(var(--spd-radius) + 2px);
  border:1px solid var(--spd-border);
  background: var(--spd-panel);
  padding:20px;
  box-shadow:0 25px 70px rgba(0,0,0,.35);
}
.spdpro-track-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.spdpro-track-head h1{
  margin:0;
  font-size:18px;
  font-weight:900;
}
.spdpro-track-logo{width:42px; height:42px; object-fit:contain; filter: drop-shadow(0 10px 18px rgba(0,0,0,.25))}
.spdpro-track-lang a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:clamp(6px, calc(var(--spd-radius-btn) - 2px), 16px);
  border:1px solid rgba(15,23,42,.12);
  text-decoration:none;
  color:var(--spd-muted);
  margin-inline-start:6px;
}
.spdpro-track-lang a:hover{color:var(--spd-text); border-color:rgba(15,23,42,.20)}

.spdpro-track-form label{display:block; color:var(--spd-muted); font-weight:800; margin:10px 0 6px}
.spdpro-track-row{display:flex; gap:10px}
.spdpro-track-row input{
  flex:1;
  border-radius:var(--spd-radius-btn);
  border:1px solid rgba(15,23,42,.12);
  background: rgba(255,255,255,.8);
  color: var(--spd-text);
  padding:12px 12px;
}
.spdpro-track-row input:focus{outline:none; border-color:rgba(139,45,76,.8); box-shadow:0 0 0 3px rgba(139,45,76,.18)}
.spdpro-track-hint{color:var(--spd-muted); margin-top:10px}

.spdpro-public .spdpro-blog-card{
  border:1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.03);
  border-radius: 16px;
  overflow:hidden;
  margin:12px 0;
}
.spdpro-blog-thumb{height:220px; background-size:cover; background-position:center}
.spdpro-blog-body{padding:14px}
.spdpro-blog-body h3{margin:0 0 8px; font-weight:900}
.spdpro-blog-meta{color:var(--spd-muted); font-size:12px; margin-bottom:10px}
.spdpro-blog-text{color:var(--spd-muted); line-height:1.7}

.spdpro-slider{position:relative; overflow:hidden; border-radius:16px; border:1px solid rgba(15,23,42,.10); background:rgba(255,255,255,.03)}
.spdpro-slider-track{display:flex; transition: transform .45s ease; width:100%}
.spdpro-slide{min-width:100%}
.spdpro-slide img{width:100%; height:360px; object-fit:cover; display:block}
@media (max-width: 820px){ .spdpro-slide img{height:240px} }
.spdpro-slide-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  border:1px solid rgba(15,23,42,.18);
  background:rgba(0,0,0,.35);
  color:var(--spd-text);
  width:40px; height:40px;
  border-radius:999px;
  cursor:pointer;
}
.spdpro-slide-btn.prev{inset-inline-start:10px}
.spdpro-slide-btn.next{inset-inline-end:10px}

.spdpro-track-result{
  margin-top:14px;
  border:1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.03);
  border-radius:16px;
  padding:14px;
}
.spdpro-track-status{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  font-weight:900;
}
.spdpro-track-kv{margin-top:10px; display:grid; grid-template-columns:1fr 1fr; gap:8px; color:var(--spd-muted)}
@media (max-width: 820px){ .spdpro-track-kv{grid-template-columns:1fr} }
.spdpro-track-kv div span{color:var(--spd-text); font-weight:800; margin-inline-end:6px}
.spdpro-track-timeline{margin-top:12px; display:flex; flex-direction:column; gap:10px}
.spdpro-track-item{display:flex; gap:10px}
.spdpro-track-dot{width:10px; height:10px; border-radius:50%; background:var(--spd-primary); margin-top:6px; box-shadow:0 0 0 4px rgba(139,45,76,.18)}
.spdpro-track-item .meta{color:var(--spd-muted); font-size:12px; margin-top:4px}

.spdpro-public-page .spdpro-btn{
  appearance:none;
  border:1px solid rgba(15,23,42,.12);
  background:rgba(255,255,255,.04);
  color:var(--spd-text);
  padding:11px 14px;
  border-radius: var(--spd-radius-btn);
  cursor:pointer;
  font-weight:900;
}
.spdpro-public-page .spdpro-btn.primary{
  background: var(--spdpro-btn-primary-bg, var(--spd-primary));
  color: var(--spdpro-btn-primary-text, #ffffff);
  border-color: color-mix(in srgb, var(--spdpro-btn-primary-bg, var(--spd-primary)) 70%, transparent 30%);
}
.spdpro-public-page .spdpro-btn.primary:hover{
  background: var(--spdpro-btn-primary-hover-bg, var(--spd-primary));
  color: var(--spdpro-btn-primary-hover-text, #ffffff);
}


/* Premium Clients Carousel */
.spdpro-clients{
  width:100%;
  overflow:hidden;
  border:1px solid rgba(15,23,42,.10);
  border-radius:16px;
  background:rgba(255,255,255,.03);
  padding:14px 0;
}
.spdpro-clients-track{
  display:flex;
  align-items:center;
  gap:16px;
  width:max-content;
  animation: spdpro-marquee 28s linear infinite;
}
@keyframes spdpro-marquee{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}
body.rtl .spdpro-clients-track{
  animation-direction: reverse;
}
.spdpro-client{
  min-width: 120px;
  text-align:center;
  color: var(--spd-text);
  text-decoration:none;
}
.spdpro-client a{text-decoration:none; color:inherit}
.spdpro-client-circle{
  width:74px; height:74px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.18);
  background-size:cover;
  background-position:center;
  margin:0 auto 8px;
  box-shadow: 0 14px 40px rgba(0,0,0,.30);
}
.spdpro-client-name{
  font-size:12px;
  color: var(--spd-muted);
  font-weight:800;
}
.spdpro-siteinfo{
  border:1px solid rgba(15,23,42,.10);
  border-radius:16px;
  background:rgba(255,255,255,.03);
  padding:14px;
  color:var(--spd-muted);
  line-height:1.7;
}
.spdpro-siteinfo h3{
  margin:8px 0;
  color:var(--spd-text);
  font-weight:900;
}
.spdpro-social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border:1px solid rgba(15,23,42,.12);
  border-radius:12px;
  text-decoration:none;
  color:var(--spd-text);
  margin:4px 6px 0 0;
}

/* v4.6.0 modern WooCommerce-powered storefront */
.spdpro-storefront{
  --spd-store-accent: var(--spd-primary);
  --spd-store-accent-2: color-mix(in srgb, var(--spd-store-accent) 65%, #2563eb 35%);
  margin:18px 0;
}
.spdpro-store-hero{
  position:relative;
  overflow:hidden;
  border-radius:calc(var(--spd-radius) + 4px);
  background:linear-gradient(135deg, color-mix(in srgb, var(--spd-store-accent) 82%, #0f172a 18%), color-mix(in srgb, var(--spd-store-accent-2) 78%, #111827 22%));
  color:#fff;
  padding:28px;
  box-shadow:0 24px 60px rgba(15,23,42,.20);
}
.spdpro-store-hero.has-image{background-size:cover; background-position:center}
.spdpro-store-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(800px 300px at 20% 0%, rgba(255,255,255,.16), transparent 60%);
  pointer-events:none;
}
.spdpro-store-hero-inner{position:relative; z-index:1; max-width:760px}
.spdpro-store-badge{
  display:inline-flex;
  align-items:center;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  font-weight:800;
  margin-bottom:12px;
}
.spdpro-store-hero h2{margin:0; font-size:clamp(28px, 4vw, 46px); line-height:1.05; color:#fff}
.spdpro-store-hero p{margin:14px 0 0; color:rgba(255,255,255,.92); line-height:1.8; max-width:60ch}
.spdpro-store-hero-actions{display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:18px}
.spdpro-store-meta{font-size:13px; color:rgba(255,255,255,.88)}

.spdpro-store-filters{
  margin:16px 0 10px;
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:12px;
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(15,23,42,.10);
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(8px);
}
.spdpro-store-filter{display:flex; flex-direction:column; gap:6px}
.spdpro-store-filter.actions{justify-content:flex-end}
.spdpro-store-filter label{font-size:12px; font-weight:900; color:var(--spd-muted)}
.spdpro-store-filter input,
.spdpro-store-filter select{
  width:100%;
  border-radius:14px;
  border:1px solid rgba(15,23,42,.12);
  background:#fff;
  color:var(--spd-text);
  padding:12px 13px;
}

.spdpro-store-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:8px 0 14px;
}
.spdpro-store-count{font-weight:900; color:var(--spd-text)}
.spdpro-store-note{color:var(--spd-muted); font-size:13px}

.spdpro-store-grid{
  display:grid;
  grid-template-columns:repeat(var(--spd-store-cols, 4), minmax(0,1fr));
  gap:16px;
}
.spdpro-store-card{
  display:flex;
  flex-direction:column;
  border-radius:20px;
  overflow:hidden;
  border:1px solid rgba(15,23,42,.10);
  background:rgba(255,255,255,.92);
  box-shadow:0 16px 34px rgba(15,23,42,.07);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.spdpro-store-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 44px rgba(15,23,42,.12);
  border-color:color-mix(in srgb, var(--spd-store-accent) 35%, rgba(15,23,42,.10) 65%);
}
.spdpro-store-thumb{display:block; aspect-ratio:1/1; background:#fff}
.spdpro-store-thumb img{width:100%; height:100%; object-fit:cover; display:block}
.spdpro-store-card-body{padding:16px; display:flex; flex-direction:column; gap:10px; height:100%}
.spdpro-store-cats{font-size:12px; color:var(--spd-muted); font-weight:800}
.spdpro-store-card h3{margin:0; font-size:18px; line-height:1.35}
.spdpro-store-card h3 a{text-decoration:none; color:var(--spd-text)}
.spdpro-store-price,
.spdpro-store-price .amount{font-weight:900; color:var(--spd-store-accent); font-size:18px}
.spdpro-store-stock{font-size:12px; font-weight:900; padding:6px 10px; border-radius:999px; width:max-content}
.spdpro-store-stock.in{background:rgba(34,197,94,.12); color:#166534}
.spdpro-store-stock.out{background:rgba(239,68,68,.10); color:#991b1b}
.spdpro-store-card-actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:auto}
.spdpro-store-card-actions .spdpro-btn{flex:1 1 140px; text-align:center; text-decoration:none}
.spdpro-store-empty{
  padding:20px;
  border:1px dashed rgba(15,23,42,.16);
  border-radius:18px;
  background:rgba(255,255,255,.65);
  color:var(--spd-muted);
}
.spdpro-store-pagination{display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-top:18px}
.spdpro-page-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:42px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.12);
  background:#fff;
  color:var(--spd-text);
  text-decoration:none;
  font-weight:900;
}
.spdpro-page-link.active{background:var(--spd-store-accent); color:#fff; border-color:transparent}

.spdpro-store-layout-minimal .spdpro-store-card{border-radius:16px}
.spdpro-store-layout-split .spdpro-store-hero{padding:34px}
.spdpro-store-layout-split .spdpro-store-grid .spdpro-store-card:nth-child(3n+1){grid-column:span 2}

@media (max-width: 1100px){
  .spdpro-store-filters{grid-template-columns:repeat(2, minmax(0,1fr))}
  .spdpro-store-grid{grid-template-columns:repeat(var(--spd-store-cols-tablet, 2), minmax(0,1fr))}
  .spdpro-store-layout-split .spdpro-store-grid .spdpro-store-card:nth-child(3n+1){grid-column:auto}
}
@media (max-width: 640px){
  .spdpro-store-hero{padding:22px}
  .spdpro-store-filters{grid-template-columns:1fr}
  .spdpro-store-toolbar{flex-direction:column; align-items:flex-start}
  .spdpro-store-grid{grid-template-columns:repeat(var(--spd-store-cols-mobile, 1), minmax(0,1fr))}
}
