/* ==========================================================================
   Coșul lateral
   Aceeași hârtie crem și aceleași linii de păr ca restul site-ului: panoul e o
   continuare a paginii, nu o fereastră de sistem lipită peste ea.
   ========================================================================== */

.ac-sc-ov {
  position: fixed; inset: 0; z-index: 1190;
  background: rgba(28, 21, 14, .5); backdrop-filter: blur(2px);
  opacity: 0; transition: opacity .35s var(--ac-ease);
}
.ac-sc-ov.is-open { opacity: 1; }
.ac-sc-ov[hidden] { display: none; }

.ac-sc {
  position: fixed; top: 0; right: 0; bottom: 0; z-index: 1200;
  width: 430px; max-width: 92vw;
  background: var(--ac-paper); color: var(--ac-ink);
  display: flex; flex-direction: column;
  transform: translateX(100%);
  transition: transform .42s var(--ac-ease);
  box-shadow: -30px 0 60px -40px rgba(20, 14, 8, .8);
}
.ac-sc.is-open { transform: none; }
/* fără `is-open` panoul e în afara ecranului; îl scoatem și din arborele de
   accesibilitate, altfel cititoarele de ecran citesc un coș invizibil */
.ac-sc[aria-hidden="true"] { visibility: hidden; }
.ac-sc.is-open { visibility: visible; }

/* --- cap ------------------------------------------------------------------ */
.ac-sc-head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem;
  padding: 1.3rem 1.4rem 1.1rem; border-bottom: 1px solid var(--ac-hair); flex: none;
}
.ac-sc-head .ac-no { margin-bottom: .35rem; }
.ac-sc-head h2 {
  font-family: "AC Newsreader", Georgia, serif; font-weight: 500;
  font-size: 1.6rem; line-height: 1; letter-spacing: -.02em;
}
.ac-sc-head .ac-icbtn { margin: -.4rem -.5rem 0 0; }

.ac-sc-body { flex: 1; overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column; }
.ac-sc-body.is-loading { opacity: .45; pointer-events: none; transition: opacity .2s; }

/* --- coș gol -------------------------------------------------------------- */
.ac-sc-gol {
  flex: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: center;
  gap: 1.1rem; padding: 2.5rem 1.4rem;
}
/* Iconița, nu un numeral. „00" scris mare, singur deasupra textului, se citea
   ca un contor stricat, nu ca ornament editorial (semnalat de client 18.08.2026). */
.ac-sc-gol-ic {
  display: inline-flex; align-items: center; justify-content: center;
  width: 3rem; height: 3rem; border-radius: 50%;
  border: 1px solid var(--ac-hair);
  color: var(--ac-muted);
}
.ac-sc-gol-ic svg { width: 1.45rem; height: 1.45rem; }
.ac-sc-gol p { color: var(--ac-muted); font-size: .92rem; max-width: 34ch; line-height: 1.7; }

/* --- lista de produse ----------------------------------------------------- */
.ac-sc-lista { list-style: none; margin: 0; padding: .4rem 1.4rem; }
.ac-sc-item {
  display: grid; grid-template-columns: 78px minmax(0, 1fr) 26px;
  gap: .9rem; align-items: start;
  padding: 1.05rem 0; border-bottom: 1px solid var(--ac-hair);
}
.ac-sc-item:last-child { border-bottom: 0; }
.ac-sc-img { display: block; background: #fff; box-shadow: inset 0 0 0 1px var(--ac-hair); }
.ac-sc-img img { width: 100%; height: 100%; aspect-ratio: 4/5; object-fit: cover; }
.ac-sc-info { min-width: 0; }
.ac-sc-nume {
  display: block; font-family: "AC Newsreader", Georgia, serif; font-weight: 500;
  font-size: .98rem; line-height: 1.3; color: var(--ac-ink); text-decoration: none;
  transition: color .25s;
}
.ac-sc-nume:hover { color: var(--ac-gold); }
.ac-sc-attr {
  font-size: .74rem; letter-spacing: .08em; text-transform: uppercase;
  color: var(--ac-muted); margin-top: .3rem;
}
.ac-sc-rand {
  display: flex; align-items: center; justify-content: space-between; gap: .7rem;
  margin-top: .7rem;
}
.ac-sc-qty {
  display: inline-grid; grid-template-columns: 28px 34px 28px; align-items: stretch;
  border: 1px solid var(--ac-hair); background: #fff; height: 34px;
}
.ac-sc-qty button {
  border: 0; background: none; cursor: pointer; color: var(--ac-muted);
  font: 400 1rem/1 "AC Archivo", sans-serif; padding: 0;
  /* tema aliniază textul butoanelor la stânga: centrarea pe grid e imună la moștenire */
  display: grid; place-items: center;
  transition: color .2s, background .2s;
}
.ac-sc-qty button:hover { color: var(--ac-ink); background: var(--ac-paper-2); }
.ac-sc-inp {
  border: 0; border-inline: 1px solid var(--ac-hair); background: none; width: 100%;
  text-align: center; font: 600 .85rem/1 "AC Archivo", sans-serif; color: var(--ac-ink);
  -moz-appearance: textfield; appearance: textfield;
}
.ac-sc-inp::-webkit-outer-spin-button, .ac-sc-inp::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.ac-sc-pret {
  font-family: "AC Newsreader", Georgia, serif; font-size: 1.08rem; color: var(--ac-pret);
  font-variant-numeric: tabular-nums; white-space: nowrap;
}
.ac-sc-pret .woocommerce-Price-currencySymbol { font-size: .62em; color: var(--ac-muted); }
.ac-sc-sterge {
  width: 26px; height: 26px; display: grid; place-items: center; padding: 0;
  border: 0; background: none; cursor: pointer; color: var(--ac-dim);
  transition: color .25s;
}
.ac-sc-sterge:hover { color: var(--ac-pret); }
.ac-sc-sterge svg { width: 13px; height: 13px; }

/* --- recomandări ---------------------------------------------------------- */
.ac-sc-rec { padding: 1.2rem 0 1.3rem 1.4rem; border-top: 1px solid var(--ac-hair); }
.ac-sc-rec-cap {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding-right: 1.4rem; margin-bottom: .9rem;
}
.ac-sc-rec-cap h3 {
  font-size: .72rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
  color: var(--ac-muted);
}
.ac-sc-rec-nav { display: flex; gap: .35rem; }
.ac-sc-rec-nav button {
  width: 28px; height: 28px; display: grid; place-items: center; padding: 0;
  border: 1px solid var(--ac-hair); background: none; cursor: pointer;
  color: var(--ac-ink); font-size: .8rem; transition: border-color .25s, color .25s, opacity .25s;
}
.ac-sc-rec-nav button:hover:not(:disabled) { border-color: var(--ac-gold); color: var(--ac-gold); }
.ac-sc-rec-nav button:disabled { opacity: .3; cursor: default; }
/* derulare nativă cu aliniere: pe telefon se trage cu degetul, fără JS de mișcare */
.ac-sc-rec-sina {
  list-style: none; margin: 0; padding: 0 1.4rem 0 0;
  display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.ac-sc-rec-sina::-webkit-scrollbar { display: none; }
.ac-sc-rec-card { flex: 0 0 128px; scroll-snap-align: start; }
.ac-sc-rec-card a { display: block; text-decoration: none; color: inherit; }
.ac-sc-rec-img {
  display: block; background: #fff; box-shadow: inset 0 0 0 1px var(--ac-hair);
  transition: box-shadow .3s;
}
.ac-sc-rec-img img, .ac-sc-rec-fara {
  display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover;
}
.ac-sc-rec-fara { background: var(--ac-paper-2); }
.ac-sc-rec-card a:hover .ac-sc-rec-img { box-shadow: inset 0 0 0 1px var(--ac-gold); }
.ac-sc-rec-nume {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  font-family: "AC Newsreader", Georgia, serif; font-size: .84rem; line-height: 1.3;
  margin-top: .5rem;
}
.ac-sc-rec-pret {
  display: block; font-family: "AC Newsreader", Georgia, serif; font-size: .95rem;
  color: var(--ac-pret); margin-top: .2rem; font-variant-numeric: tabular-nums;
}
.ac-sc-rec-pret .woocommerce-Price-currencySymbol { font-size: .62em; color: var(--ac-muted); }
.ac-sc-rec-pret del { display: none; }
.ac-sc-rec-pret ins { text-decoration: none; }

/* --- subsol --------------------------------------------------------------- */
.ac-sc-jos {
  flex: none; position: sticky; bottom: 0; z-index: 2;
  background: var(--ac-paper); border-top: 1px solid var(--ac-hair);
  padding: 1.1rem 1.4rem 1.3rem;
  box-shadow: 0 -20px 30px -28px rgba(20, 14, 8, .8);
}
.ac-sc-prag { margin-bottom: .9rem; }
.ac-sc-prag p { font-size: .8rem; color: var(--ac-muted); margin-bottom: .45rem; }
.ac-sc-prag .woocommerce-Price-amount { color: var(--ac-ink); font-weight: 600; }
.ac-sc-prag.is-atins p { color: var(--ac-ok); font-weight: 600; }
.ac-sc-bara { display: block; height: 2px; background: var(--ac-hair); overflow: hidden; }
.ac-sc-bara i { display: block; height: 100%; background: var(--ac-gold); transition: width .5s var(--ac-ease); }
.ac-sc-prag.is-atins .ac-sc-bara i { background: var(--ac-ok); }
.ac-sc-economie { font-size: .82rem; color: var(--ac-pret); margin-bottom: .6rem; }
.ac-sc-economie .woocommerce-Price-amount { color: var(--ac-pret); }
.ac-sc-total {
  display: flex; align-items: baseline; justify-content: space-between; gap: 1rem;
  padding-top: .8rem; border-top: 1px solid var(--ac-hair);
}
.ac-sc-total > span:first-child {
  font-size: .74rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
  color: var(--ac-muted);
}
.ac-sc-suma {
  font-family: "AC Newsreader", Georgia, serif; font-size: 1.6rem; color: var(--ac-pret);
  font-variant-numeric: tabular-nums; line-height: 1;
}
.ac-sc-suma .woocommerce-Price-currencySymbol { font-size: .58em; color: var(--ac-muted); }
.ac-sc-nota { font-size: .76rem; color: var(--ac-muted); margin-top: .4rem; }
.ac-sc-cta { width: 100%; margin-top: .9rem; }
.ac-sc-link {
  display: block; text-align: center; margin-top: .7rem; font-size: .82rem;
  color: var(--ac-muted); text-decoration: none;
}
.ac-sc-link:hover { color: var(--ac-gold); }

/* butonul de comandă în așteptarea răspunsului */
.single_add_to_cart_button.is-loading, .ac-card-btn.is-loading { opacity: .6; pointer-events: none; }

@media (max-width: 480px) {
  .ac-sc { width: 100%; max-width: 100%; }
  .ac-sc-item { grid-template-columns: 66px minmax(0, 1fr) 24px; gap: .75rem; }
  .ac-sc-head, .ac-sc-lista, .ac-sc-jos { padding-inline: var(--ac-gutter); }
  .ac-sc-rec { padding-left: var(--ac-gutter); }
  .ac-sc-rec-cap, .ac-sc-rec-sina { padding-right: var(--ac-gutter); }
}
