/* Marketplace listing tabs and preview-only plugin pack cards. */
.catalog .catalog-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 22px;
  padding: 5px;
  width: fit-content;
  max-width: 100%;
  border: 1px solid rgba(124, 172, 197, 0.22);
  border-radius: 9px;
  background: rgba(2, 8, 13, 0.82);
}
.catalog .catalog-tab {
  min-height: 42px;
  padding: 10px 20px;
  border: 1px solid transparent;
  border-radius: 6px;
  color: #a9bac4;
  background: transparent;
  font: inherit;
  font-size: 0.88rem;
  font-weight: 700;
  cursor: pointer;
  transition: background 150ms ease, border-color 150ms ease, color 150ms ease;
}
.catalog .catalog-tab:hover { color: #e7f6ff; background: rgba(8, 215, 255, 0.07); }
.catalog .catalog-tab[aria-selected="true"] {
  color: #eafaff;
  border-color: rgba(8, 215, 255, 0.4);
  background: linear-gradient(135deg, rgba(8, 215, 255, 0.14), rgba(8, 215, 255, 0.035));
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.04);
}
.catalog .catalog-tab:focus-visible {
  outline: 2px solid #08d7ff;
  outline-offset: 3px;
}
.catalog .catalog-panel[hidden], .catalog #catalog-type-field[hidden],
.catalog #catalog-order-field[hidden] { display: none !important; }
.catalog .catalog-panel { min-width: 0; }
.catalog .catalog-panel-heading {
  margin: 22px 0 15px;
  color: #f0f8fb;
  font-size: 1.12rem;
  letter-spacing: -0.015em;
}
.catalog .pack-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.catalog .pack-card {
  display: flex;
  flex-direction: column;
  gap: 17px;
  min-width: 0;
  padding: 22px;
  border: 1px solid rgba(124, 172, 197, 0.25);
  border-radius: 9px;
  background: linear-gradient(130deg, rgba(10, 25, 32, 0.97), rgba(2, 8, 13, 0.98));
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.03);
}
.catalog .pack-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.catalog .pack-card-heading h4 { margin: 0; color: #f2f7fa; font-size: 1.12rem; }
.catalog .pack-card-heading p { margin: 8px 0 0; color: #a0b1bc; font-size: 0.85rem; }
.catalog .pack-discount { flex-shrink: 0; color: #67df93; font-size: 0.85rem; font-weight: 800; }
.catalog .pack-items { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.catalog .pack-items li { padding: 7px 11px; border: 1px solid rgba(124, 172, 197, 0.22); border-radius: 6px; color: #d8e9ef; background: rgba(8, 215, 255, 0.055); font-size: 0.78rem; }
.catalog .pack-card-footer { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 15px; margin-top: auto; padding-top: 16px; border-top: 1px solid rgba(124, 172, 197, 0.16); }
.catalog .pack-price-group { display: grid; gap: 4px; }
.catalog .pack-price-group del { color: #849aa6; font-size: 0.78rem; }
.catalog .pack-price-group strong { color: #f4fbff; font-size: 1.45rem; line-height: 1.15; }
.catalog .pack-saving { color: #67df93; font-size: 0.78rem; font-weight: 700; }
.catalog .pack-availability { color: #d8b67b; padding: 6px 10px; border-radius: 5px; border: 1px solid rgba(226, 181, 114, 0.34); background: rgba(226, 181, 114, 0.08); font-size: 0.75rem; font-weight: 700; }
.catalog .pack-availability-note { margin: 0; color: #8299a5; font-size: 0.76rem; line-height: 1.45; }
@media (max-width: 900px) {
  .catalog .pack-grid { grid-template-columns: 1fr; }
}
@media (max-width: 540px) {
  .catalog .catalog-tabs { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
  .catalog .catalog-tab { padding-inline: 10px; font-size: 0.77rem; }
  .catalog .pack-card { padding: 16px; }
  .catalog .pack-discount { font-size: 0.75rem; }
}
