﻿:root {
      --qgl-cyan: #00f0ff;
      --qgl-blue: #0052ff;
      --qgl-dark: #060c18;
      --qgl-ink: #0f172a;
      --qgl-body: #334155;
      --qgl-muted: #64748b;
      --qgl-page: #f5f8fc;
      --qgl-line: rgba(15, 23, 42, 0.1);
    }

    html,
    body {
      margin: 0;
      min-height: 100%;
      background: var(--qgl-page);
      font-family: Inter, Arial, Helvetica, sans-serif;
      color: var(--qgl-body);
    }

    .qgl-shop,
    .qgl-shop * {
      box-sizing: border-box;
    }

    .qgl-shop {
      background:
        linear-gradient(180deg, rgba(0,82,255,.08), rgba(0,240,255,.04) 360px, transparent 620px),
        #f5f8fc;
      min-height: 100vh;
    }

    .qgl-shop__header-spacer {
      min-height: 112px;
      background:
        radial-gradient(circle at 20% 20%, rgba(0,240,255,.18), transparent 18rem),
        linear-gradient(180deg, #020817, #060c18);
      border-bottom: 1px solid rgba(255,255,255,.1);
    }

    .qgl-shop-hero {
      position: relative;
      overflow: hidden;
      padding: 72px 24px 44px;
      background:
        radial-gradient(circle at 18% 18%, rgba(0,240,255,.18), transparent 28rem),
        radial-gradient(circle at 82% 18%, rgba(0,82,255,.16), transparent 30rem),
        linear-gradient(135deg, #071225 0%, #0b2a65 48%, #053047 100%);
      color: #fff;
    }

    .qgl-shop-hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background-image:
        linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
      background-size: 56px 56px;
      mask-image: linear-gradient(to bottom, #000, transparent 92%);
      pointer-events: none;
    }

    .qgl-shop-hero__inner,
    .qgl-shop-main__inner {
      width: min(1320px, calc(100% - 48px));
      margin: 0 auto;
      position: relative;
      z-index: 1;
    }

    .qgl-shop-hero__eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      min-height: 30px;
      padding: 0 14px;
      border-radius: 999px;
      border: 1px solid rgba(0,240,255,.28);
      background: rgba(0,240,255,.08);
      color: var(--qgl-cyan);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: .16em;
      text-transform: uppercase;
    }

    .qgl-shop-hero__eyebrow::before {
      content: "";
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: #00ff66;
      box-shadow: 0 0 12px rgba(0,255,102,.9);
    }

    .qgl-shop-hero__grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(420px, .62fr);
      gap: 48px;
      align-items: end;
      margin-top: 18px;
    }

    .qgl-shop-hero h1 {
      margin: 0;
      max-width: 760px;
      font-size: clamp(44px, 5.5vw, 76px);
      line-height: .98;
      letter-spacing: -.055em;
      font-weight: 950;
    }

    .qgl-shop-hero p {
      max-width: 760px;
      margin: 22px 0 0;
      color: rgba(255,255,255,.72);
      font-size: 17px;
      line-height: 1.72;
      font-weight: 600;
    }

    .qgl-shop-hero__stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
    }

    .qgl-shop-hero__stat {
      min-height: 104px;
      padding: 20px;
      border-radius: 18px;
      border: 1px solid rgba(255,255,255,.13);
      background: rgba(255,255,255,.08);
      backdrop-filter: blur(14px);
    }

    .qgl-shop-hero__stat strong {
      display: block;
      color: var(--qgl-cyan);
      font-size: 30px;
      line-height: 1;
      font-weight: 950;
    }

    .qgl-shop-hero__stat span {
      display: block;
      margin-top: 12px;
      color: rgba(255,255,255,.74);
      font-size: 12px;
      font-weight: 900;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .qgl-shop-main {
      padding: 34px 0 90px;
    }

    .qgl-shop-tabs {
      position: sticky;
      top: 0;
      z-index: 20;
      padding: 16px 0;
      margin-bottom: 20px;
      background: rgba(245,248,252,.88);
      backdrop-filter: blur(18px);
      border-bottom: 1px solid rgba(15,23,42,.08);
    }

    .qgl-shop-tabs__inner {
      width: min(1320px, calc(100% - 48px));
      margin: 0 auto;
      display: flex;
      gap: 10px;
      overflow-x: auto;
      scrollbar-width: thin;
      padding-bottom: 2px;
    }

    .qgl-shop-tab {
      flex: 0 0 auto;
      min-height: 42px;
      border: 1px solid rgba(15,23,42,.1);
      border-radius: 999px;
      background: #fff;
      color: var(--qgl-body);
      padding: 0 17px;
      font: inherit;
      font-size: 13px;
      font-weight: 800;
      cursor: pointer;
      transition: color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
    }

    .qgl-shop-tab:hover,
    .qgl-shop-tab.is-active {
      color: #001018;
      border-color: rgba(0,240,255,.6);
      background: linear-gradient(135deg, #00f0ff, #8afcff);
      box-shadow: 0 0 24px rgba(0,240,255,.26);
      transform: translateY(-1px);
    }

    .qgl-shop-layout {
      display: grid;
      grid-template-columns: 300px minmax(0, 1fr);
      gap: 24px;
      align-items: start;
    }

    .qgl-shop-filter {
      position: sticky;
      top: 92px;
      width: 300px;
      border-radius: 22px;
      background: #fff;
      border: 1px solid rgba(15,23,42,.08);
      box-shadow: 0 8px 30px rgba(0,0,0,.06);
      overflow: hidden;
    }

    .qgl-shop-filter__head {
      padding: 20px 20px 18px;
      background: linear-gradient(135deg, rgba(0,82,255,.08), rgba(0,240,255,.08));
      border-bottom: 1px solid rgba(15,23,42,.08);
    }

    .qgl-shop-filter__head strong {
      display: block;
      color: var(--qgl-ink);
      font-size: 16px;
      font-weight: 950;
    }

    .qgl-shop-filter__head span {
      display: block;
      margin-top: 6px;
      color: var(--qgl-muted);
      font-size: 12px;
      font-weight: 700;
    }

    .qgl-shop-filter__group {
      padding: 20px;
      border-bottom: 1px solid rgba(15,23,42,.08);
    }

    .qgl-shop-filter__group:last-child {
      border-bottom: 0;
    }

    .qgl-shop-filter__title {
      margin: 0 0 12px;
      color: var(--qgl-ink);
      font-size: 12px;
      font-weight: 950;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    .qgl-shop-filter__list {
      display: grid;
      gap: 8px;
    }

    .qgl-shop-filter__item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      min-height: 34px;
      border: 0;
      background: transparent;
      color: var(--qgl-body);
      padding: 0;
      font: inherit;
      font-size: 13px;
      font-weight: 700;
      text-align: left;
      cursor: pointer;
    }

    .qgl-shop-filter__item:hover,
    .qgl-shop-filter__item.is-active {
      color: var(--qgl-blue);
    }

    .qgl-shop-filter__count {
      color: var(--qgl-muted);
      font-size: 11px;
      font-weight: 800;
    }

    .qgl-shop-filter__quick {
      display: grid;
      gap: 9px;
    }

    .qgl-shop-filter__quick a {
      min-height: 38px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 12px;
      border-radius: 12px;
      color: var(--qgl-ink);
      text-decoration: none;
      background: #f8fafc;
      border: 1px solid rgba(15,23,42,.08);
      font-size: 13px;
      font-weight: 800;
    }

    .qgl-shop-filter__quick a:hover {
      border-color: rgba(0,240,255,.45);
      color: var(--qgl-blue);
    }

    .qgl-shop-content__bar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      margin-bottom: 18px;
      padding: 18px 20px;
      border-radius: 18px;
      background: #fff;
      border: 1px solid rgba(15,23,42,.08);
      box-shadow: 0 8px 30px rgba(0,0,0,.04);
    }

    .qgl-shop-content__bar h2 {
      margin: 0;
      color: var(--qgl-ink);
      font-size: 20px;
      font-weight: 950;
    }

    .qgl-shop-content__bar p {
      margin: 5px 0 0;
      color: var(--qgl-muted);
      font-size: 13px;
      font-weight: 700;
    }

    .qgl-shop-search {
      width: min(320px, 100%);
      height: 42px;
      border-radius: 999px;
      border: 1px solid rgba(15,23,42,.1);
      background: #f8fafc;
      padding: 0 16px;
      outline: none;
      font: inherit;
      font-size: 13px;
      font-weight: 700;
      color: var(--qgl-ink);
    }

    .qgl-shop-search:focus {
      border-color: rgba(0,82,255,.36);
      box-shadow: 0 0 0 4px rgba(0,82,255,.08);
    }

    .qgl-products-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 18px;
    }

    .qgl-product-card {
      display: flex;
      flex-direction: column;
      min-height: 420px;
      border-radius: 18px;
      background: #fff;
      border: 1px solid rgba(15,23,42,.08);
      box-shadow: 0 8px 30px rgba(0,0,0,.06);
      overflow: hidden;
      transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    }

    .qgl-product-card:hover {
      transform: translateY(-6px);
      border-color: rgba(0,240,255,.42);
      box-shadow: 0 18px 48px rgba(15,23,42,.12);
    }

    .qgl-product-card__media {
      height: 168px;
      display: flex;
      align-items: center;
      justify-content: center;
      background:
        radial-gradient(circle at 50% 42%, rgba(0,240,255,.15), transparent 8rem),
        linear-gradient(135deg, #eef6ff, #ffffff);
      border-bottom: 1px solid rgba(15,23,42,.08);
    }

    .qgl-product-card__mock {
      width: 86px;
      height: 64px;
      border-radius: 16px;
      background:
        linear-gradient(135deg, rgba(0,82,255,.9), rgba(0,240,255,.9));
      box-shadow: 0 18px 34px rgba(0,82,255,.22);
      position: relative;
    }

    .qgl-product-card__mock::before,
    .qgl-product-card__mock::after {
      content: "";
      position: absolute;
      left: 16px;
      right: 16px;
      height: 8px;
      border-radius: 999px;
      background: rgba(255,255,255,.82);
    }

    .qgl-product-card__mock::before {
      top: 18px;
    }

    .qgl-product-card__mock::after {
      top: 36px;
    }

    .qgl-product-card__body {
      padding: 18px;
      display: flex;
      flex: 1;
      flex-direction: column;
    }

    .qgl-product-card h3 {
      margin: 0;
      color: var(--qgl-ink);
      font-size: 16px;
      line-height: 1.28;
      font-weight: 950;
    }

    .qgl-product-card p {
      margin: 10px 0 0;
      color: var(--qgl-muted);
      font-size: 13px;
      line-height: 1.55;
      font-weight: 600;
    }

    .qgl-product-card__tags {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      margin-top: 14px;
    }

    .qgl-product-tag {
      min-height: 26px;
      display: inline-flex;
      align-items: center;
      padding: 0 10px;
      border-radius: 999px;
      background: rgba(0,82,255,.07);
      color: var(--qgl-blue);
      font-size: 11px;
      font-weight: 900;
    }

    .qgl-product-tag--brand {
      background: rgba(0,240,255,.12);
      color: #05758b;
    }

    .qgl-product-card__actions {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      margin-top: auto;
      padding-top: 18px;
    }

    .qgl-product-card__btn {
      min-height: 38px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 12px;
      text-decoration: none;
      font-size: 12px;
      font-weight: 950;
      border: 1px solid rgba(15,23,42,.1);
      color: var(--qgl-ink);
      background: #f8fafc;
    }

    .qgl-product-card__btn--primary {
      color: #001018;
      background: linear-gradient(135deg, #00f0ff, #8afcff);
      border-color: transparent;
      box-shadow: 0 0 18px rgba(0,240,255,.22);
    }

    .qgl-product-empty {
      display: none;
      padding: 42px;
      border-radius: 18px;
      background: #fff;
      border: 1px solid rgba(15,23,42,.08);
      color: var(--qgl-muted);
      font-weight: 700;
      text-align: center;
    }

    .qgl-product-empty.is-visible {
      display: block;
    }

    .qgl-shop-footer-spacer {
      min-height: 160px;
      background:
        radial-gradient(circle at 82% 30%, rgba(0,240,255,.12), transparent 20rem),
        linear-gradient(180deg, #f5f8fc, #020817);
    }

    @media (max-width: 1180px) {
      .qgl-products-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
      .qgl-shop-hero__grid {
        grid-template-columns: 1fr;
      }
      .qgl-shop-hero__stats {
        max-width: 720px;
      }
    }

    @media (max-width: 980px) {
      .qgl-shop-layout {
        grid-template-columns: 1fr;
      }
      .qgl-shop-filter {
        position: static;
        width: 100%;
      }
      .qgl-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 640px) {
      .qgl-shop-hero__inner,
      .qgl-shop-main__inner,
      .qgl-shop-tabs__inner {
        width: min(100% - 32px, 1320px);
      }
      .qgl-shop-hero {
        padding: 52px 0 34px;
      }
      .qgl-shop-hero__stats,
      .qgl-products-grid {
        grid-template-columns: 1fr;
      }
      .qgl-shop-content__bar {
        flex-direction: column;
        align-items: stretch;
      }
      .qgl-shop-search {
        width: 100%;
      }
    }
