/* ==========================================================================
   NPA - catalogul de analize
   Rand dens, nu grila cu poze: analizele nu au imagini, iar utilizatorul
   scaneaza denumire, termen si pret.
   ========================================================================== */

/* Antetul catalogului e centrat: titlu, text si cautarea pe mijloc. */
.npa-shop__head { padding: 44px 0 36px; background: var(--npa-bg-alt); border-bottom: 1px solid var(--npa-line); text-align: center; }
.npa-shop__head .npa-breadcrumb { justify-content: center; }
.npa-shop__title { margin-bottom: 10px; font-size: var(--npa-fs-3xl); }
.npa-shop__lead { max-width: 700px; margin: 0 auto 24px; font-size: var(--npa-fs-md); color: var(--npa-muted); }
.npa-shop__head .npa-search { max-width: 760px; margin: 0 auto; text-align: left; box-shadow: 0 10px 30px rgba(11,42,74,.08); }

.npa-shop {
  display: grid; grid-template-columns: 268px minmax(0, 1fr);
  gap: 36px; padding-top: 32px; padding-bottom: 56px;
  align-items: start;
}

/* Filtre ------------------------------------------------------------------ */
.npa-filters { position: sticky; top: 132px; }
.npa-filters__toggle { display: none; }
.npa-filters__title {
  margin-bottom: 12px; font-size: 12px; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase; color: var(--npa-teal);
}
.npa-filters__list { list-style: none; margin: 0; padding: 0; max-height: 620px; overflow-y: auto; }
.npa-filters__list a {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 12px; border-radius: var(--npa-radius-sm);
  font-size: 14.5px; color: var(--npa-text-2);
}
.npa-filters__list a:hover { background: var(--npa-bg-tint); color: var(--npa-blue); }
.npa-filters__list .is-active > a { background: var(--npa-navy); color: #fff; font-weight: 600; }

/* Bara de rezultate ------------------------------------------------------- */
.npa-shop__bar {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 12px 20px; margin-bottom: 16px;
  padding-bottom: 14px; border-bottom: 1px solid var(--npa-line);
}
.npa-shop__count { font-size: 14px; color: var(--npa-muted); }
.npa-shop__bar .woocommerce-ordering select {
  border: 1px solid var(--npa-line-strong); border-radius: var(--npa-radius);
  padding: 9px 12px; font-size: 14px; color: var(--npa-text-2); background: #fff;
}

/* Lista de analize -------------------------------------------------------- */
.npa-tests { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--npa-line); }

.npa-test {
  display: flex; align-items: center; justify-content: space-between;
  gap: 20px; padding: 16px 4px;
  border-bottom: 1px solid var(--npa-line);
}
.npa-test:hover { background: var(--npa-bg-tint); }

.npa-test__main { flex: 1 1 auto; min-width: 0; }
.npa-test__name {
  display: block; margin-bottom: 5px;
  font-size: 15.5px; font-weight: 600; line-height: 1.35; color: var(--npa-navy);
}
.npa-test__name:hover { color: var(--npa-blue); text-decoration: underline; }

.npa-test__specs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; }
.npa-test__spec { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; color: var(--npa-muted); }
.npa-test__spec .npa-icon { color: var(--npa-muted-2); }

.npa-test__buy { flex: 0 0 auto; display: flex; align-items: center; gap: 14px; min-width: 190px; justify-content: flex-end; }
.npa-test__price { font-family: var(--npa-font-head); font-size: 16px; font-weight: 700; color: var(--npa-blue); white-space: nowrap; }
.npa-test__price .amount { color: inherit; }
.npa-test__price del { color: var(--npa-muted-2); font-weight: 500; font-size: 13px; }

.npa-price-request { font-size: 13.5px; font-weight: 600; color: var(--npa-teal); white-space: nowrap; }

/* Butonul WooCommerce din lista */
.npa-test .add_to_cart_button,
.npa-test .added_to_cart {
  padding: 10px 20px; font-size: 13.5px; border-radius: var(--npa-radius-pill);
}
.npa-test .added_to_cart { background: var(--npa-teal-mid); }

/* Responsive -------------------------------------------------------------- */
@media (max-width: 900px) {
  .npa-shop { grid-template-columns: minmax(0, 1fr); gap: 20px; padding-top: 20px; }

  .npa-filters { position: static; }
  .npa-filters__toggle {
    display: flex; align-items: center; justify-content: space-between;
    width: 100%; padding: 13px 16px;
    background: #fff; border: 1px solid var(--npa-line-strong);
    border-radius: var(--npa-radius); color: var(--npa-navy);
    font-size: 15px; font-weight: 600; cursor: pointer;
  }
  .npa-filters__toggle::after { content: "▾"; }
  .npa-filters__toggle[aria-expanded="true"]::after { content: "▴"; }
  .npa-filters__body { display: none; padding-top: 14px; }
  .npa-filters__body.is-open { display: block; }
  .npa-filters__list { max-height: none; }

  .npa-test { flex-wrap: wrap; gap: 10px; padding: 14px 2px; }
  .npa-test__buy { width: 100%; min-width: 0; justify-content: space-between; }
  .npa-shop__title { font-size: var(--npa-fs-2xl); }
}

/* Butoanele din lista de analize, aliniate la paleta temei. */
.npa-test .add_to_cart_button,
.npa-test a.button,
.woocommerce ul.npa-tests a.button {
  background-color: var(--npa-blue);
  color: #fff;
  border-radius: var(--npa-radius);
  font-weight: 600;
}
.npa-test .add_to_cart_button:hover,
.woocommerce ul.npa-tests a.button:hover {
  background-color: var(--npa-navy);
}
.npa-test .added_to_cart {
  background-color: var(--npa-teal-mid);
  color: #fff;
  padding: 9px 14px;
  border-radius: var(--npa-radius);
  font-size: 13.5px;
  font-weight: 600;
}

/* Magazin inchis: ce apare in locul butonului de comanda */
.npa-nocart {
	border: 1px solid var(--npa-line);
	background: var(--npa-bg-alt);
	border-radius: 12px;
	padding: 16px 18px;
	margin: 12px 0;
}
.npa-nocart__text { margin: 0 0 12px; font-size: 15px; color: var(--npa-muted-2); }
.npa-nocart__actions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 10px;
}
.npa-nocart__actions .npa-btn {
	width: 100%;
	justify-content: center;
	text-align: center;
}
