/*!
 * CloudMarket demo template (Bootstrap 5)
 * This is an original layout inspired by typical cloud marketplaces.
 */

:root{
  --cm-primary: #0d6efd;
  --cm-accent: #20c997;
  --cm-ink: #0b1220;
  --cm-muted: #6c757d;
  --cm-bg: #f7f9fc;
  --cm-card: #ffffff;
  --cm-border: rgba(11,18,32,.10);
  --cm-shadow: 0 12px 30px rgba(11,18,32,.08);
  --cm-radius: 18px;
}

html, body{
  height: 100%;
}

body{
  color: var(--cm-ink);
  background:
    radial-gradient(1000px 600px at 10% -10%, rgba(13,110,253,.14), transparent 60%),
    radial-gradient(900px 500px at 100% 0%, rgba(32,201,151,.12), transparent 55%),
    var(--cm-bg);
}

/* Header */
.navbar-blur{
  backdrop-filter: blur(10px);
  background: rgba(255,255,255,.78);
  border-bottom: 1px solid rgba(11,18,32,.08);
}

.brand-logo{
  height: 34px;
  width: auto;
}

.nav-icon-btn{
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(11,18,32,.08);
  background: rgba(255,255,255,.9);
}

.counter-dot{
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 18px;
  height: 18px;
  padding: 0 6px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  background: var(--cm-primary);
  border: 2px solid rgba(255,255,255,.9);
}

/* Hero */
.hero{
  border-radius: calc(var(--cm-radius) + 8px);
  background:
    radial-gradient(900px 500px at 0% 0%, rgba(13,110,253,.20), transparent 55%),
    radial-gradient(900px 500px at 100% 0%, rgba(32,201,151,.16), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.88));
  border: 1px solid rgba(11,18,32,.08);
  box-shadow: var(--cm-shadow);
  overflow: hidden;
}

.hero .pill{
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .45rem .75rem;
  border-radius: 999px;
  border: 1px solid rgba(11,18,32,.10);
  background: rgba(255,255,255,.85);
  font-weight: 600;
  color: var(--cm-ink);
}

.hero-figure{
  max-width: 520px;
  width: 100%;
  height: auto;
}

.gradient-text{
  background: linear-gradient(90deg, var(--cm-primary), var(--cm-accent));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Cards */
.cm-card{
  background: var(--cm-card);
  border: 1px solid rgba(11,18,32,.08);
  border-radius: var(--cm-radius);
  box-shadow: 0 10px 22px rgba(11,18,32,.05);
}

.cm-card-hover{
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.cm-card-hover:hover{
  transform: translateY(-2px);
  box-shadow: var(--cm-shadow);
  border-color: rgba(13,110,253,.25);
}

.badge-soft{
  background: rgba(13,110,253,.10);
  color: var(--cm-primary);
  border: 1px solid rgba(13,110,253,.18);
  font-weight: 700;
}

.badge-soft-accent{
  background: rgba(32,201,151,.12);
  color: #0b6b4d;
  border: 1px solid rgba(32,201,151,.22);
  font-weight: 700;
}

.kv{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .5rem 1rem;
  font-size: .95rem;
}

.kv .k{
  color: var(--cm-muted);
}

.price{
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.section-title{
  letter-spacing: -0.02em;
}

.icon-tile{
  width: 52px;
  height: 52px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(13,110,253,.08);
  border: 1px solid rgba(13,110,253,.14);
}

.icon-tile img{
  width: 34px;
  height: 34px;
}

.small-muted{
  color: var(--cm-muted);
  font-size: .95rem;
}

.footer{
  border-top: 1px solid rgba(11,18,32,.08);
  background: rgba(255,255,255,.72);
}

kbd.kbd{
  padding: .15rem .35rem;
  border-radius: .4rem;
  border: 1px solid rgba(11,18,32,.16);
  background: rgba(255,255,255,.9);
}

.table-lite > :not(caption) > * > *{
  padding: .8rem .9rem;
}

/* Product list */
.filter-card{
  position: sticky;
  top: 84px;
}

@media (max-width: 991.98px){
  .filter-card{
    position: static;
  }
}
