@charset "UTF-8";

/* ==========================================================================
   PIAȚA STOMATOLOGICĂ — LIBRĂRIA (lista, pagina vânzătorului, pagina cărții,
   coșul)
   --------------------------------------------------------------------------
   Refolosește: .ps-filtre + .ps-filtre-active (components/anunturi-lista.css,
   încărcat de pagina listei), .ps-grila-carduri + .ps-card-media--carte,
   .ps-panou, .ps-detalii, .ps-chip, .ps-coloane (components/pagina.css).
   Aici: chip-urile de categorie, cardul de carte (favorit, preț), bannerul
   „Ai o carte de vânzare?”, panourile librăriei, pagina cărții și coșul.
   ========================================================================== */


/* ==========================================================================
   1. LISTA
   ========================================================================== */

.ps-librarie__rezultate { display: grid; gap: 20px; min-inline-size: 0; align-content: start; }

/* pastilele filtrelor active stau deasupra coloanelor, lipite de ele, ca la anunțuri */
.ps-librarie > .ps-filtre-active + .ps-coloane { margin-block-start: 0; }

/* numărul în stânga, „Filtre” (care deschide sertarul de filtre) în dreapta */
.ps-librarie__bara {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
@media (min-width: 992px) {
  .ps-librarie__filtre { position: sticky; inset-block-start: calc(var(--ps-navbar-h) + 20px); }
}

.ps-librarie__chipuri {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ps-librarie__chipuri .ps-chip { min-block-size: 34px; padding-inline: 14px; font-size: 13px; }

/* pe telefon chip-urile categoriilor ocupă prea mult loc; categoriile sunt și în filtre */
@media (max-width: 767.98px) {
  .ps-librarie__categorii { display: none; }
}

.ps-librarie__numar {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 10px;
  margin: 0;
  color: var(--ps-text-ui);
  font: var(--ps-fw-semibold) 14px/1.3 var(--ps-font-sans);
}
.ps-librarie__cautat { color: var(--ps-text-faint-aa); font-weight: var(--ps-fw-medium); }

.ps-librarie__grila { --ps-grila-min: 210px; --ps-grila-gap: 22px; }

.ps-librarie__antet-sectiune {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
}
.ps-librarie__titlu-sectiune {
  margin: 0;
  font: var(--ps-type-h2);
  letter-spacing: var(--ps-ls-tight);
}

/* bannerul „Ai o carte de vânzare?” (spec-marketplace §2.6) */
.ps-librarie-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 24px;
  margin-block-start: 16px;
  padding: clamp(20px, 3vw, 32px);
  border: 1px solid var(--ps-border-soft);
  border-radius: var(--ps-radius-panel);
  background: var(--ps-bg);
}
.ps-librarie-cta__pictograma {
  display: grid;
  place-items: center;
  inline-size: 56px;
  block-size: 56px;
  border-radius: var(--ps-radius-card);
  background: var(--ps-surface);
  box-shadow: var(--ps-shadow-card);
  color: var(--ps-green-action);
  font-size: 30px;
}
.ps-librarie-cta__text { flex: 1 1 260px; display: grid; gap: 4px; }
.ps-librarie-cta__titlu { margin: 0; font: var(--ps-type-h3); }
.ps-librarie-cta__mesaj { margin: 0; color: var(--ps-text-ui); font: var(--ps-type-body); }


/* ==========================================================================
   2. CARDUL DE CARTE
   ========================================================================== */

.ps-carte-card .ps-card-media__imagine { background: var(--ps-surface-tint); }

.ps-carte-card__favorit {
  position: absolute;
  inset-block-start: 10px;
  inset-inline-end: 10px;
  z-index: 2;
  margin: 0;
}
.ps-carte-card__favorit .ps-icon-btn {
  --ps-icon-btn-bg: var(--ps-glass-bg);
  --ps-icon-btn-radius: var(--ps-radius-full);
  -webkit-backdrop-filter: var(--ps-glass-blur);
  backdrop-filter: var(--ps-glass-blur);
  box-shadow: var(--ps-shadow-xs);
}

.ps-carte-card__autor { color: var(--ps-text-ui); }

.ps-carte-card .ps-card-media__subsol { flex-wrap: wrap; align-items: flex-end; }
.ps-carte-card__pret {
  display: grid;
  gap: 2px;
  margin: 0;
  font-variant-numeric: tabular-nums;
}
.ps-carte-card__pret-vechi,
.ps-carte__pret-vechi {
  color: var(--ps-text-faint-aa);
  font: var(--ps-fw-medium) 12.5px/1.2 var(--ps-font-sans);
}

.ps-carte-card--indisponibila .ps-card-media__imagine img { filter: grayscale(.7); opacity: .7; }


/* ==========================================================================
   3. PANOURILE LIBRĂRIEI (contact, livrare)
   ========================================================================== */

.ps-librarie__lateral { display: grid; gap: 20px; }

.ps-librarie-contact__identitate {
  display: flex;
  align-items: center;
  gap: 14px;
  min-inline-size: 0;
}
.ps-librarie-contact__logo {
  flex: none;
  inline-size: 64px;
  block-size: 64px;
  border-radius: var(--ps-radius-card);
  object-fit: contain;
  background: var(--ps-surface-muted);
  box-shadow: inset 0 0 0 1px var(--ps-border-soft);
}
.ps-librarie-contact__eticheta {
  margin: 0;
  color: var(--ps-text-faint-aa);
  font: var(--ps-fw-semibold) 11.5px/1.2 var(--ps-font-sans);
  letter-spacing: var(--ps-ls-caps);
  text-transform: uppercase;
}
.ps-librarie-contact__nume {
  margin: 2px 0 0;
  font: var(--ps-fw-semibold) 18px/1.25 var(--ps-font-sans);
  overflow-wrap: anywhere;
}
.ps-librarie-contact__nume a { color: inherit; text-decoration: none; }
.ps-librarie-contact__nume a:hover { color: var(--ps-green-link); }

.ps-librarie-contact__lista,
.ps-librarie-livrare__lista {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  font: var(--ps-type-body);
  color: var(--ps-text-ui);
}
.ps-librarie-contact__lista li,
.ps-librarie-livrare__lista li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-inline-size: 0;
  overflow-wrap: anywhere;
}
.ps-librarie-contact__lista .ps-icon-glyph,
.ps-librarie-livrare__lista .ps-icon-glyph {
  flex: none;
  color: var(--ps-green-action);
  font-size: 20px;
}
.ps-librarie-contact__lista a { color: var(--ps-text); text-decoration: none; }
.ps-librarie-contact__lista a:hover { color: var(--ps-green-link); text-decoration: underline; }

.ps-librarie-livrare__politica {
  border-block-start: 1px solid var(--ps-border-soft);
  padding-block-start: 12px;
}
.ps-librarie-livrare__politica > summary {
  cursor: pointer;
  color: var(--ps-text);
  font: var(--ps-fw-semibold) 14px/1.3 var(--ps-font-sans);
}
.ps-librarie-livrare__text {
  margin: 10px 0 0;
  color: var(--ps-text-ui);
  font: var(--ps-type-body);
  white-space: pre-line;
}


/* ==========================================================================
   4. PAGINA CĂRȚII
   ========================================================================== */

.ps-carte__firimitura-curenta {
  display: inline-block;
  max-inline-size: 36ch;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: bottom;
}

.ps-carte__produs {
  display: grid;
  grid-template-columns: minmax(240px, 420px) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 56px);
  align-items: start;
}
@media (max-width: 767.98px) {
  .ps-carte__produs { grid-template-columns: minmax(0, 1fr); }
}

.ps-carte__galerie { display: grid; gap: 12px; }
.ps-carte__coperta {
  display: grid;
  place-items: center;
  margin: 0;
  aspect-ratio: 3 / 4;
  padding: clamp(16px, 3vw, 32px);
  border-radius: var(--ps-radius-panel);
  background: var(--ps-bg);
  box-shadow: inset 0 0 0 1px var(--ps-border-soft);
}
.ps-carte__coperta img {
  max-inline-size: 100%;
  max-block-size: 100%;
  inline-size: auto;
  block-size: auto;
  object-fit: contain;
  border-radius: 6px;
  box-shadow: var(--ps-shadow-photo);
}

.ps-carte__miniaturi {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ps-carte__miniatura {
  display: block;
  inline-size: 64px;
  aspect-ratio: 3 / 4;
  padding: 4px;
  border: 2px solid transparent;
  border-radius: var(--ps-radius-control);
  background: var(--ps-surface);
  box-shadow: var(--ps-shadow-xs);
  transition: border-color var(--ps-duration) var(--ps-ease);
}
.ps-carte__miniatura img { inline-size: 100%; block-size: 100%; object-fit: contain; }
.ps-carte__miniatura:hover { border-color: var(--ps-green-stroke); }
.ps-carte__miniatura[aria-current="true"] { border-color: var(--ps-green-action); }

.ps-carte__info { display: grid; gap: 14px; min-inline-size: 0; align-content: start; }
.ps-carte__chipuri { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.ps-carte__chipuri a.ps-chip { text-decoration: none; }

.ps-carte__titlu { margin: 0; font: var(--ps-type-h1); letter-spacing: var(--ps-ls-title); overflow-wrap: break-word; }
.ps-carte__autor { margin: 0; color: var(--ps-text-ui); font: var(--ps-type-lead); }

.ps-carte__rating-scurt {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  justify-self: start;
  color: var(--ps-text-ui);
  font: var(--ps-fw-medium) 13.5px/1.2 var(--ps-font-sans);
  text-decoration: none;
}
.ps-carte__rating-scurt:hover { color: var(--ps-text); text-decoration: underline; }

/* stelele: un rând gol și unul plin, tăiat la --ps-progres */
.ps-stele {
  position: relative;
  display: inline-flex;
  flex: none;
  color: var(--ps-c-grey-300);
  line-height: 1;
}
.ps-stele__gol,
.ps-stele__plin { display: inline-flex; white-space: nowrap; }
.ps-stele__plin {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  inline-size: var(--ps-progres, 0%);
  overflow: hidden;
  color: var(--ps-orange);
}
.ps-stele .ps-icon-glyph { font-size: 20px; }
.ps-stele--mic .ps-icon-glyph { font-size: 16px; }

.ps-carte__cumpara { gap: 14px; }
.ps-carte__pret {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 12px;
  margin: 0;
  font-variant-numeric: tabular-nums;
}
.ps-carte__pret-curent {
  font: var(--ps-fw-bold) clamp(26px, 1vw + 20px, 34px)/1.1 var(--ps-font-sans);
  letter-spacing: -.02em;
  color: var(--ps-text);
}
.ps-carte__pret-vechi { font-size: 15px; }

.ps-carte__stoc {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--ps-text-ui);
  font: var(--ps-fw-medium) 13.5px/1.2 var(--ps-font-sans);
}
.ps-punct-stare {
  inline-size: 9px;
  block-size: 9px;
  border-radius: 50%;
  background: var(--ps-c-grey-350);
}
.ps-punct-stare--ok {
  background: var(--ps-green-action);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--ps-green-action) 18%, transparent);
}

.ps-carte__actiuni { display: flex; flex-wrap: wrap; gap: 10px; }
.ps-carte__actiuni form { margin: 0; }
.ps-carte__favorit[aria-pressed="true"] {
  --ps-btn-fg: var(--ps-favorite);
  border-color: color-mix(in srgb, var(--ps-favorite) 40%, transparent);
  background: color-mix(in srgb, var(--ps-favorite) 7%, var(--ps-surface));
  color: var(--ps-favorite);
}
.ps-carte__favorit[aria-pressed="true"] .ps-icon-glyph {
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

.ps-carte__beneficii {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(200px, 100%), 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ps-carte__beneficiu {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid var(--ps-border-soft);
  border-radius: var(--ps-radius-control);
  background: var(--ps-surface);
  font: var(--ps-fw-semibold) 13px/1.3 var(--ps-font-sans);
}
.ps-carte__beneficiu > .ps-icon-glyph { color: var(--ps-green-action); font-size: 22px; }
.ps-carte__beneficiu strong { display: block; font-weight: var(--ps-fw-semibold); }
.ps-carte__beneficiu-text { display: block; margin-block-start: 2px; color: var(--ps-text-ui); font-weight: var(--ps-fw-regular); }

.ps-carte__distribuie {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0;
}
.ps-carte__distribuie-eticheta {
  margin-inline-end: 6px;
  color: var(--ps-text-faint-aa);
  font: var(--ps-fw-medium) 13px/1.2 var(--ps-font-sans);
}

.ps-carte__sectiuni { margin-block-start: clamp(32px, 4vw, 56px); }
.ps-carte__principal { display: grid; gap: 20px; min-inline-size: 0; }
.ps-carte__descriere {
  margin: 0;
  color: var(--ps-text);
  font: var(--ps-fw-regular) 15.5px/1.7 var(--ps-font-sans);
  white-space: pre-line;
  overflow-wrap: break-word;
}

.ps-carte__recomandari { display: grid; gap: 20px; margin-block-start: clamp(32px, 4vw, 56px); }

/* --- review-uri ----------------------------------------------------------- */
.ps-carte-review__sumar {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px 32px;
  align-items: center;
}
@media (max-width: 575.98px) {
  .ps-carte-review__sumar { grid-template-columns: minmax(0, 1fr); }
}
.ps-carte-review__medie { display: grid; justify-items: center; gap: 6px; margin: 0; }
.ps-carte-review__nota {
  font: var(--ps-fw-bold) 44px/1 var(--ps-font-sans);
  letter-spacing: -.03em;
  font-variant-numeric: tabular-nums;
}
.ps-carte-review__voturi { color: var(--ps-text-faint-aa); font: var(--ps-type-small); }

.ps-carte-review__distributie {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
  font: var(--ps-fw-medium) 12.5px/1.2 var(--ps-font-sans);
  color: var(--ps-text-ui);
}
.ps-carte-review__distributie li {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) 32px;
  align-items: center;
  gap: 10px;
}
.ps-carte-review__bara {
  position: relative;
  block-size: 8px;
  border-radius: 8px;
  background: var(--ps-surface-muted);
  overflow: hidden;
}
.ps-carte-review__bara::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  inline-size: var(--ps-progres, 0%);
  border-radius: inherit;
  background: var(--ps-orange);
}
.ps-carte-review__numar { text-align: end; font-variant-numeric: tabular-nums; }

.ps-carte-review__lista { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.ps-carte-review__item {
  display: grid;
  gap: 6px;
  padding-block: 16px;
  border-block-start: 1px solid var(--ps-border-soft);
}
.ps-carte-review__antet {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 12px;
  margin: 0;
  font: var(--ps-type-body);
}
.ps-carte-review__antet time { color: var(--ps-text-faint-aa); font-size: 12.5px; }
.ps-carte-review__mesaj { margin: 0; color: var(--ps-text-ui); font: var(--ps-type-body); white-space: pre-line; overflow-wrap: break-word; }

.ps-carte-review__adauga > summary { list-style: none; cursor: pointer; }
.ps-carte-review__adauga > summary::-webkit-details-marker { display: none; }
.ps-carte-review__formular { margin-block-start: 16px; max-inline-size: 560px; }
.ps-carte-review__conectare {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  margin: 0;
  color: var(--ps-text-ui);
  font: var(--ps-type-body);
}

/* nota: radio-uri reale, desenate ca stele; o stea e plină dacă ea sau una de după e bifată */
.ps-stele-input__optiuni { display: inline-flex; gap: 2px; }
.ps-stele-input__optiune label {
  display: grid;
  place-items: center;
  inline-size: 40px;
  block-size: 40px;
  border-radius: 12px;
  color: var(--ps-c-grey-300);
  cursor: pointer;
  transition: color var(--ps-duration-fast) var(--ps-ease), transform var(--ps-duration-fast) var(--ps-ease-spring);
}
.ps-stele-input__optiune .ps-icon-glyph { font-size: 30px; }
.ps-stele-input__optiune:has(input:checked) label,
.ps-stele-input__optiune:has(~ .ps-stele-input__optiune input:checked) label,
.ps-stele-input__optiuni:hover .ps-stele-input__optiune:has(~ .ps-stele-input__optiune:hover) label,
.ps-stele-input__optiuni .ps-stele-input__optiune:hover label { color: var(--ps-orange); }
.ps-stele-input__optiune:has(input:checked) .ps-icon-glyph,
.ps-stele-input__optiune:has(~ .ps-stele-input__optiune input:checked) .ps-icon-glyph {
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.ps-stele-input__optiune label:hover { transform: scale(1.12); }
.ps-stele-input__optiune input:focus-visible + label {
  outline: var(--ps-focus-width) solid var(--ps-focus-color);
  outline-offset: 2px;
}


/* ==========================================================================
   5. COȘUL
   ========================================================================== */

.ps-cos__grupuri { display: grid; gap: 20px; min-inline-size: 0; }
.ps-cos__grup .ps-panou__titlu a { color: inherit; text-decoration: none; }
.ps-cos__grup .ps-panou__titlu a:hover { color: var(--ps-green-link); }

.ps-cos__produse { display: grid; margin: 0; padding: 0; list-style: none; }

.ps-cos-produs {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto minmax(90px, auto) auto;
  grid-template-areas: "coperta info cantitate total sterge";
  align-items: center;
  gap: 8px 16px;
  padding-block: 14px;
  border-block-start: 1px solid var(--ps-border-soft);
}
.ps-cos-produs:first-child { border-block-start: 0; padding-block-start: 0; }
@media (max-width: 575.98px) {
  .ps-cos-produs {
    grid-template-columns: 56px minmax(0, 1fr) auto;
    grid-template-areas:
      "coperta info sterge"
      "coperta cantitate total";
  }
}

.ps-cos-produs__coperta { grid-area: coperta; display: block; }
.ps-cos-produs__coperta img {
  inline-size: 100%;
  aspect-ratio: 3 / 4;
  object-fit: contain;
  border-radius: 8px;
  background: var(--ps-surface-tint);
}
.ps-cos-produs__info { grid-area: info; display: grid; gap: 2px; min-inline-size: 0; }
.ps-cos-produs__titlu { margin: 0; font: var(--ps-fw-semibold) 15px/1.3 var(--ps-font-sans); }
.ps-cos-produs__titlu a { color: var(--ps-text); text-decoration: none; }
.ps-cos-produs__titlu a:hover { color: var(--ps-green-link); }
.ps-cos-produs__autor,
.ps-cos-produs__pret-unitar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0;
  color: var(--ps-text-faint-aa);
  font: var(--ps-fw-medium) 12.5px/1.3 var(--ps-font-sans);
}

.ps-cos-produs__cantitate {
  grid-area: cantitate;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 3px;
  border: 1px solid var(--ps-border);
  border-radius: var(--ps-radius-full);
  background: var(--ps-surface);
  justify-self: start;
}
.ps-cos-produs__cantitate form { margin: 0; }
.ps-cos-produs__cantitate .ps-icon-btn { --ps-icon-btn-radius: var(--ps-radius-full); --ps-icon-btn-glyph: 18px; }
.ps-cos-produs__numar {
  min-inline-size: 28px;
  text-align: center;
  font: var(--ps-fw-semibold) 14px/1 var(--ps-font-sans);
  font-variant-numeric: tabular-nums;
}

.ps-cos-produs__total {
  grid-area: total;
  margin: 0;
  text-align: end;
  font: var(--ps-fw-bold) 15px/1.2 var(--ps-font-sans);
  font-variant-numeric: tabular-nums;
}
.ps-cos-produs__sterge { grid-area: sterge; margin: 0; justify-self: end; }

.ps-cos__totaluri {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 16px;
  margin: 0;
  padding-block-start: 14px;
  border-block-start: 1px solid var(--ps-border-soft);
  color: var(--ps-text-ui);
  font: var(--ps-type-body);
}
.ps-cos__totaluri dd { margin: 0; text-align: end; font-variant-numeric: tabular-nums; color: var(--ps-text); }
.ps-cos__total-eticheta { color: var(--ps-text); font-weight: var(--ps-fw-semibold); }
.ps-cos__total-valoare { font-weight: var(--ps-fw-bold); }
.ps-cos__total-valoare--mare { font-size: 20px; letter-spacing: -.01em; }

.ps-cos__indemn {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 10px 14px;
  border-radius: var(--ps-radius-control);
  background: var(--ps-surface-tint);
  color: var(--ps-green-dark);
  font: var(--ps-fw-medium) 13px/1.35 var(--ps-font-sans);
}
.ps-cos__indemn .ps-icon-glyph { font-size: 20px; }

.ps-cos__sumar { gap: 16px; }
.ps-cos__sumar form { margin: 0; }
.ps-cos__nota { margin: 0; color: var(--ps-text-faint-aa); font: var(--ps-type-small); }

/* plata si livrarea, sub „Plaseaza comanda” */
.ps-cos__informatii {
  display: grid;
  gap: var(--ps-space-10);
  margin: 0;
  padding: var(--ps-space-10) var(--ps-space-15);
  border-radius: var(--ps-radius-panel);
  background: var(--ps-bg-warm);
  list-style: none;
  color: var(--ps-text-ui);
  font: var(--ps-type-small);
}
.ps-cos__informatii > li {
  display: flex;
  align-items: flex-start;
  gap: var(--ps-space-10);
}
.ps-cos__informatii .ps-icon-glyph { flex: none; color: var(--ps-green-dark); }
.ps-cos__informatii a { color: var(--ps-green-link); }
.ps-cos__conectare { display: flex; justify-content: center; margin: 24px 0 0; }

/* confirmarea vizuală scurtă după „Adaugă în coș” (pusă de librarie.js) */
@media (prefers-reduced-motion: no-preference) {
  .ps-btn[data-ps-adaugat] { animation: ps-librarie-adaugat .6s var(--ps-ease-spring); }
}
@keyframes ps-librarie-adaugat {
  40% { transform: scale(1.08); box-shadow: var(--ps-shadow-cta-hover); }
}


/* ==========================================================================
   6. BARA LIBRĂRIEI (antetul din BibliotecaStomatologie.Master): „Favorite”
      și coșul cu număr, listă și ștergere (conținutul vine din librarie.js)
   ========================================================================== */

.ps-librarie-bara {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-block-end: 16px;
}

.ps-cos-antet__buton .ps-badge--numeric { margin-inline-start: 2px; }

/* bara stă în antetul paginii, lângă acțiuni („Vinde o carte”); panoul coșului iese din
   antet, deci antetul nu-l taie și stă deasupra conținutului de dedesubt */
.ps-antet-pagina__actiuni { align-items: center; }
.ps-antet-pagina__actiuni > .ps-librarie-bara { margin: 0; }
.ps-antet-pagina:has(.ps-cos-antet) { overflow: visible; z-index: var(--ps-z-raised); }

/* pe telefon butoanele sunt mai strânse, ca „Favorite”, coșul și „Vinde o carte” să încapă pe un rând */
@media (max-width: 575.98px) {
  .ps-antet-pagina__actiuni:has(> .ps-librarie-bara) { gap: 8px; }
  .ps-antet-pagina__actiuni:has(> .ps-librarie-bara) .ps-btn {
    --ps-btn-min-w: 0;
    --ps-btn-gap: var(--ps-space-6);
    white-space: nowrap;
  }
  .ps-antet-pagina__actiuni:has(> .ps-librarie-bara) > .ps-btn,
  .ps-librarie-bara .ps-btn--outline { --ps-btn-px: var(--ps-space-13); }
  .ps-librarie-bara .ps-btn--text-gri { --ps-btn-px: var(--ps-space-6); }
}

.ps-cos-antet__panou {
  display: grid;
  gap: 12px;
  min-inline-size: min(300px, calc(100vw - 24px));
  padding: 14px;
}
.ps-cos-antet__panou[hidden] { display: none; }

.ps-cos-antet__titlu { margin: 0; color: var(--ps-text-ui); font: var(--ps-type-body); }
.ps-cos-antet__titlu strong { color: var(--ps-text); }

.ps-cos-antet__lista { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.ps-cos-antet__lista[hidden] { display: none; }

.ps-cos-antet__produs {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
  padding-block-start: 10px;
  border-block-start: var(--ps-border-width) solid var(--ps-border-soft);
}
.ps-cos-antet__produs:first-child { padding-block-start: 0; border-block-start: 0; }

.ps-cos-antet__coperta {
  inline-size: 48px;
  block-size: 64px;
  border-radius: 6px;
  object-fit: cover;
  background: var(--ps-surface-tint);
}

.ps-cos-antet__info { display: grid; gap: 1px; min-inline-size: 0; font: var(--ps-type-small); color: var(--ps-text-ui); }
.ps-cos-antet__carte {
  overflow: hidden;
  color: var(--ps-text);
  font-weight: var(--ps-fw-semibold);
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ps-cos-antet__carte:hover { color: var(--ps-green-link); text-decoration: underline; }
.ps-cos-antet__autor { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ps-cos-antet__pret { color: var(--ps-text); font-weight: var(--ps-fw-semibold); font-variant-numeric: tabular-nums; }

.ps-cos-antet__total {
  margin: 0;
  color: var(--ps-text);
  font-weight: var(--ps-fw-bold);
  text-align: end;
  font-variant-numeric: tabular-nums;
}

/* --- pagina cărții: stocul („E ultima carte” cu roșu) și data publicării --- */
.ps-carte__stoc--ultima { color: var(--ps-danger); }

.ps-carte__publicata {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  color: var(--ps-text-faint-aa);
  font: var(--ps-type-small);
}
.ps-carte__publicata .ps-icon-glyph { font-size: 16px; }
