.ul-toolbar {
    display: flex; justify-content: space-between; align-items: center;
    padding: 11px 16px;
    border-bottom: 0.5px solid rgba(0,0,0,0.08);
  }
  .ul-count {
    font-size: 11px; font-weight: 600; letter-spacing: .7px;
    text-transform: uppercase; color: #888;
  }
  .ul-tg {
    display: flex; gap: 3px;
    background: #f2f2f2; border-radius: 8px; padding: 3px;
  }
  .ul-tg-btn {
    width: 30px; height: 30px; border: none; border-radius: 6px;
    cursor: pointer; background: transparent;
    display: flex; align-items: center; justify-content: center;
    transition: background .15s; color: #aaa; font-size: 15px;
  }
  .ul-tg-btn.on {
    background: #fff;
    box-shadow: 0 0 0 0.5px rgba(0,0,0,0.12);
    color: #096735;
  }

  /* ── GRID ── */
  .ul-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px; padding: 14px;
  }
  .ul-grid.hidden, .ul-list.hidden { display: none !important; }

  .gc {
    border: 0.5px solid rgba(0,0,0,0.1); border-radius: 12px;
    overflow: hidden; cursor: pointer;
    transition: border-color .2s, transform .15s;
    background: #fff;
  }
  .gc:hover { border-color: #096735; transform: translateY(-2px); }

  .gc-img {
    width: 100%; aspect-ratio: 3/2; position: relative;
    display: flex; align-items: center; justify-content: center; overflow: hidden;
  }
  .gc-img img { width: 100%; height: 100%; object-fit: cover; }

  .ul-badge {
    position: absolute; top: 7px; left: 7px;
    font-size: 9px; font-weight: 700;
    padding: 2px 8px; border-radius: 20px;
    text-transform: uppercase; letter-spacing: .4px;
  }
  .b-promo { background: #096735; color: #fff; }
  .b-new   { background: #f0c040; color: #5a3800; }
  .b-hot   { background: #c0392b; color: #fff; }

  .gc-body { padding: 10px 11px 12px; }
  .gc-chips { display: flex; gap: 4px; margin-bottom: 9px; flex-wrap: wrap; }
  .gc-foot {
    display: flex; justify-content: space-between; align-items: flex-end;
    border-top: 0.5px solid rgba(0,0,0,0.07);
    padding-top: 8px;
  }
  .gc-price {
    font-family: 'Playfair Display', serif;
    font-size: 14px; font-weight: 600; line-height: 1.1;
  }
  .gc-price-sfx { font-size: 12px; }
  .gc-star { display: flex; align-items: center; gap: 2px; font-size: 11px; font-weight: 500;}
  .gc-star i { font-size: 11px; }

  /* ── LIST ── */
  .ul-list { display: flex; flex-direction: column; }

  .lc {
    display: flex; align-items: center; gap: 13px;
    padding: 14px 16px;
    border-bottom: 0.5px solid rgba(0,0,0,0.07);
    cursor: pointer; transition: background .15s;
    text-decoration: none; color: inherit;
  }
  .lc:last-child { border-bottom: none; }
  .lc:hover { background: #f7faf8; }

  .lc-img {
    width: 82px; min-width: 82px; height: 82px;
    border-radius: 10px; overflow: hidden;
    position: relative; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
  }
  .lc-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

  .lc-mid { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
  .lc-dot { width: 3px; height: 3px; border-radius: 50%; background: #ccc; flex-shrink: 0; }
  .lc-chips { display: flex; gap: 5px; flex-wrap: wrap; }

  .lc-right {
    display: flex; flex-direction: column;
    align-items: flex-end; justify-content: space-between;
    flex-shrink: 0; height: 82px;
  }
  .lc-lbl { font-size: 11px; color: #aaa; }
  .lc-price {
    font-family: 'Playfair Display', serif;
    font-size: 16px; font-weight: 600; white-space: nowrap;
  }
  .lc-sfx { font-size: 12px; }
  .lc-star { display: flex; align-items: center; gap: 3px; font-size: 11px; font-weight: 500;}
  .lc-star i { font-size: 11px; }

  @media (max-width: 767px) {
    .ul-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; padding: 10px; }
  }


  /* ── DARK MODE ── */
[data-bs-theme="dark"] .gc {
  background-color: var(--bs-body-bg);
  border-color: #242526;
}
[data-bs-theme="dark"] .gc-airline,
[data-bs-theme="dark"] .lc-lbl,
[data-bs-theme="dark"] .ul-count {
  color: var(--bs-secondary-color);
}
[data-bs-theme="dark"] .gc-foot {
  border-color: #242526;
}
[data-bs-theme="dark"] .ul-toolbar {
  border-color: #242526;
}
[data-bs-theme="dark"] .ul-tg {
  background-color: var(--bs-secondary-bg-subtle);
}
[data-bs-theme="dark"] .ul-tg-btn.on {
  background-color: var(--bs-tertiary-bg);
  box-shadow: 0 0 0 0.5px var(--bs-border-color);
  color: #1aab60;
}
[data-bs-theme="dark"] .ul-tg-btn {
  color: var(--bs-secondary-color);
}
[data-bs-theme="dark"] .lc {
  border-color: #242526;
}
[data-bs-theme="dark"] .lc:hover {
  background-color: var(--bs-secondary-bg-subtle);
}
[data-bs-theme="dark"] .lc-dot {
  background-color: var(--bs-secondary-color);
}