 body{
    background:#0b0f17;
  }

  .stores-page{
    max-width:980px;
    margin:0 auto;
    padding:14px 12px 36px;
    min-height:100vh;
  }

  .stores-shell{
    display:flex;
    flex-direction:column;
    gap:14px;
  }

  .stores-appbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:8px 4px 0;
  }

  .stores-appbar-title{
    margin:0;
    /* color:#fff; */
    font-size:28px;
    font-weight:800;
    letter-spacing:-.02em;
  }

  .stores-menu-btn{
    width:44px;
    height:44px;
    border-radius:14px;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    color:#fff;
    font-size:20px;
  }

  .stores-hero{
    padding:18px;
    border-radius:24px;
    background:#fff;
    border:1px solid #e5e7eb;
    box-shadow:0 18px 40px rgba(15,23,42,.08);
  }

  .stores-hero-title{
    margin:0;
    color:#111827;
    font-size:28px;
    line-height:1.1;
    font-weight:900;
    letter-spacing:-.02em;
  }

  .stores-hero-copy{
    margin:8px 0 0;
    color:#64748b;
    font-size:14px;
    line-height:1.55;
    font-weight:500;
  }

  .stores-search{
    margin-top:16px;
  }

  .stores-search-form{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:52px;
    padding:0 10px 0 14px;
    border-radius:16px;
    background:#f8fafc;
    border:1px solid #e5e7eb;
  }

  .stores-search-icon{
    color:#64748b;
    font-size:20px;
    flex:0 0 auto;
  }

  .stores-search-input{
    flex:1;
    min-width:0;
    height:50px;
    border:0;
    outline:none;
    background:transparent;
    color:#111827;
    font-size:15px;
  }

  .stores-search-input::placeholder{
    color:#94a3b8;
  }

  .stores-search-submit{
    width:40px;
    height:40px;
    border:0;
    border-radius:12px;
    background:transparent;
    color:#34d399;
    display:grid;
    place-items:center;
    font-size:20px;
  }

  .stores-sort-row{
    display:flex;
    gap:8px;
    overflow:auto;
    padding:2px 0;
    scrollbar-width:none;
  }

  .stores-sort-row::-webkit-scrollbar{
    display:none;
  }

  .stores-sort-chip{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:0 14px;
    border-radius:999px;
    text-decoration:none;
    background:#fff;
    border:1px solid rgba(255,255,255,.1);
    color:rgba(15, 15, 15, 0.72);
    font-size:13px;
    font-weight:700;
    white-space:nowrap;
    transition:.18s ease;
  }

  .stores-sort-chip:hover{
    color:#fff;
    border-color:rgba(255,255,255,.18);
  }

  .stores-sort-chip.is-active{
    background: #10b981;
  border-color: #34d399;
  color: #111827;
  }

  .stores-list{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
  }

  .store-card{
    position:relative;
    display:flex;
    flex-direction:column;
    height:100%;
    overflow:hidden;
    border-radius:26px;
    background:#fff;
    border:1px solid #e5e7eb;
    box-shadow:0 18px 34px rgba(15,23,42,.08);
    cursor:pointer;
  }

  .store-cover{
    position:relative;
    height:164px;
    background:linear-gradient(135deg,#1d4ed8 0%,#0f766e 55%,#111827 100%);
  }

  .store-cover img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .store-cover-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(0,0,0,.14) 0%,rgba(0,0,0,.62) 100%);
  }

  .store-cover-top{
    position:absolute;
    top:12px;
    left:12px;
    right:12px;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    z-index:2;
  }

  .store-cover-badges{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    flex:1;
    min-width:0;
    padding-right:8px;
  }

  .store-badge-{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:32px;
    padding:0 12px;
    border-radius:999px;
    color:#fff;
    font-size:11px;
    font-weight:800;
    letter-spacing:.02em;
    /* position:absolute; */
    left:0;
    top:0;
    right:none!important;
  }

  .store-badge-.top{
    background:#fb7185;
  }

  .store-badge-.open{
    background:#10b981;
  }

  .store-badge-.closed{
    background:#6b7280;
  }

  .store-follow-form{
    margin:0;
    flex:0 0 auto;
  }

  .store-follow-btn{
    min-height:36px;
    padding:0 14px;
    border-radius:999px;
    border:0;
    background:rgba(255,255,255,.92);
    color:#111827;
    font-size:12px;
    font-weight:800;
    white-space:nowrap;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 8px 18px rgba(15,23,42,.12);
    
  }

  @media  (max-width: 768px) {
    .store-follow-btn{
      position:absolute!important;
    }
  }

  .store-follow-btn.is-following{
    background:#ecfdf5;
    color:#047857;
  }

  .store-body{
    flex:1;
    padding:0 14px 14px;
    background:#fff;
    display:flex;
    flex-direction:column;
  }

  .store-logo-wrap{
    margin-top:-36px;
    position:relative;
    z-index:3;
    display:flex;
    align-items:flex-end;
    gap:12px;
  }

  .store-logo{
    width:74px;
    height:74px;
    border-radius:22px;
    overflow:hidden;
    background:#172033;
    border:3px solid #fff;
    box-shadow:0 10px 24px rgba(0,0,0,.28);
    flex:0 0 auto;
    display:grid;
    place-items:center;
  }

  .store-logo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .store-logo i{
    color:rgba(255,255,255,.6);
    font-size:28px;
  }

  .store-title-col{
    min-width:0;
    padding-bottom:6px;
    flex:1;
  }

  .store-name{
    margin:0;
    display:flex;
    align-items:center;
    gap:6px;
    color:#111827;
    font-size:21px;
    line-height:1.15;
    font-weight:900;
    letter-spacing:-.02em;
  }

  .store-name-text{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
  }

  .store-name i{
    color:#38bdf8;
    font-size:18px;
    flex:0 0 auto;
  }

  .store-meta-chips{
    margin-top:10px;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }

  .store-meta-chip{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:30px;
    padding:0 10px;
    border-radius:999px;
    background:#f8fafc;
    border:1px solid #e5e7eb;
    color:#334155;
    font-size:12px;
    font-weight:700;
  }

  .store-meta-chip i{
    color:#93c5fd;
    font-size:14px;
  }

  .store-desc{
    margin:12px 0 0;
    color:#64748b;
    font-size:14px;
    line-height:1.5;
    font-weight:500;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }

  .store-actions{
    margin-top:auto;
    padding-top:14px;
    display:flex;
    align-items:center;
    gap:10px;
  }

  .store-primary-link{
    flex:1;
    min-height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:16px;
    text-decoration:none;
    background:linear-gradient(90deg,#22c55e 0%,#14b8a6 100%);
    color:#fff;
    font-size:14px;
    font-weight:800;
  }

  .store-phone-link{
    width:46px;
    height:46px;
    border-radius:16px;
    display:grid;
    place-items:center;
    background:#f8fafc;
    border:1px solid #e5e7eb;
    color:#86efac;
    text-decoration:none;
    font-size:20px;
    flex:0 0 auto;
  }

  .stores-empty{
    padding:48px 20px;
    text-align:center;
    color:#64748b;
    font-size:15px;
    font-weight:600;
    border-radius:22px;
    background:#fff;
    border:1px solid #e5e7eb;
  }

  .stores-pager{
    margin-top:8px;
    display:flex;
    justify-content:center;
  }

  .stores-pager nav{
    display:flex;
    justify-content:center;
  }

  .stores-pager .pagination{
    flex-wrap:wrap;
    justify-content:center;
    gap:8px;
  }

  .stores-pager .page-link{
    border-radius:12px!important;
    border:1px solid rgba(255,255,255,.1)!important;
    background:#111827!important;
    color:#fff!important;
    padding:.55rem .85rem!important;
  }

  .stores-pager .page-item.active .page-link{
    background:#1e293b!important;
    border-color:#34d399!important;
    color:#86efac!important;
  }

  .stores-pager .page-item.disabled .page-link{
    opacity:.45;
  }

  @media (min-width: 768px){
    .stores-list{
      grid-template-columns:repeat(2, minmax(0, 1fr));
    }
  }

  @media (min-width: 1200px){
    .stores-page{
      max-width:1440px;
    }

    .stores-list{
      grid-template-columns:repeat(4, minmax(0, 1fr));
      gap:16px;
    }

    .store-cover{
      height:150px;
    }

    .store-name{
      font-size:18px;
    }

    .store-meta-chips{
      gap:6px;
    }

    .store-meta-chip{
      padding:0 8px;
      font-size:11px;
    }

    .store-desc{
      font-size:13px;
    }
  }

  @media (max-width: 767px){
    .stores-page{
      padding:10px 8px 24px;
    }

    .stores-hero{
      padding:16px;
      border-radius:22px;
    }

    .stores-hero-title,
    .stores-appbar-title{
      font-size:24px;
    }

    .store-cover{
      height:148px;
    }

    .store-name{
      font-size:19px;
    }

    .store-cover-top{
      flex-direction:column;
      align-items:flex-start;
    }

    .store-follow-form,
    .store-cover-top > .store-follow-btn,
    .store-cover-top > a.store-follow-btn{
      align-self:flex-end;
    }
  }