/* ==========================================================================
   Pagina de produs
   ========================================================================== */

.ac-is-product #brx-content { padding-top: 0; }

.ac-is-product .woocommerce-notices-wrapper:not(:empty) {
  max-width: var(--ac-maxw); margin: 1rem auto 0; padding-inline: var(--ac-gutter);
}
.ac-is-product .woocommerce-breadcrumb {
  max-width: var(--ac-maxw); margin: 0 auto; padding: 1.1rem var(--ac-gutter) 0;
  font-size: .82rem; color: var(--ac-muted);
}
.ac-is-product .woocommerce-breadcrumb a { color: var(--ac-muted); text-decoration: none; }
.ac-is-product .woocommerce-breadcrumb a:hover { color: var(--ac-gold); }

.ac-is-product div.product {
  max-width: var(--ac-maxw); margin-inline: auto;
  padding: clamp(1.4rem, 3vw, 2.6rem) var(--ac-gutter) 0;
  display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: clamp(1.8rem, 4vw, 4rem); align-items: start;
}
/* WooCommerce dă galeriei și rezumatului `float:left/right; width:48%`.
   În grid asta le lasă la jumătate de coloană, cu spațiu gol la dreapta. */
.ac-is-product div.product > .woocommerce-product-gallery,
.ac-is-product div.product > .summary { float: none; width: 100%; margin: 0; }
.ac-is-product div.product > .woocommerce-product-gallery { grid-column: 1; }
/* Rezumatul NU e sticky: e mai înalt decât ecranul (pastile + livrare + trei
   secțiuni pliabile), iar la derulare ieșea din celula lui și se suprapunea
   peste descriere și peste tabelul de mărimi. */
.ac-is-product div.product > .summary { grid-column: 2; }
.ac-is-product div.product > .ac-p-desc,
.ac-is-product div.product > .ac-p-marimi,
.ac-is-product div.product > .related,
.ac-is-product div.product > .upsells { grid-column: 1 / -1; }

/* --- butonul care deschide recomandarea de mărime -------------------------- */
/* Caseta stă deasupra celei de stoc și e scoasă în evidență (cerere client
   11.08.2026: „de ridicat deasupra casetei «În stoc» și, dacă se poate, de
   evidențiat mai mult pentru a sări în ochi"). Accentul se face cu fundal crem
   + o bară aurie pe muchia din stânga, nu cu un buton auriu plin: butonul
   principal al paginii rămâne „Adaugă în coș", iar două suprafețe pline una
   sub alta s-ar bate între ele. */
.ac-p-recbtn {
  display: flex; flex-direction: column; align-items: flex-start; gap: .25rem;
  width: 100%; margin-top: .9rem; padding: 1.05rem 3rem 1.05rem 1.3rem;
  border: 1px solid var(--ac-gold); border-left: 4px solid var(--ac-gold);
  background: var(--ac-paper-2); cursor: pointer;
  text-align: left; position: relative;
  transition: border-color .3s, background .3s, box-shadow .3s;
}
.ac-p-recbtn:hover {
  background: var(--ac-paper);
  box-shadow: 0 12px 26px -20px rgba(20, 14, 8, .85);
}
.ac-p-recbtn-t {
  font-family: "AC Newsreader", Georgia, serif; font-weight: 500; font-size: 1.02rem;
  color: var(--ac-ink); letter-spacing: -.01em;
}
.ac-p-recbtn-d { font-size: .8rem; color: var(--ac-muted); }
/* săgeata: două linii, desenate din CSS, ca să nu mai încărcăm un SVG */
.ac-p-recbtn::after {
  content: "→"; position: absolute; right: 1.1rem; top: 50%; transform: translateY(-50%);
  color: var(--ac-gold); font-size: 1.05rem; transition: transform .3s var(--ac-ease);
}
.ac-p-recbtn:hover::after { transform: translateY(-50%) translateX(4px); }

/* --- fereastra cu recomandarea -------------------------------------------- */
.ac-modal {
  position: fixed; inset: 0; z-index: 1210;
  display: grid; place-items: center; padding: var(--ac-gutter);
  opacity: 0; visibility: hidden; transition: opacity .3s var(--ac-ease), visibility .3s;
}
.ac-modal.is-open { opacity: 1; visibility: visible; }
.ac-modal-fund { position: absolute; inset: 0; background: rgba(28, 21, 14, .55); backdrop-filter: blur(2px); }
.ac-modal-cutie {
  position: relative; z-index: 1; width: min(760px, 100%); max-height: 88vh; overflow-y: auto;
  background: var(--ac-paper); box-shadow: 0 40px 80px -50px rgba(20, 14, 8, .9);
  transform: translateY(14px); transition: transform .35s var(--ac-ease);
}
.ac-modal.is-open .ac-modal-cutie { transform: none; }
.ac-modal-x { position: absolute; top: .4rem; right: .4rem; z-index: 2; }
/* în fereastră recomandarea are o singură coloană: la 760px lățime, două ar
   strânge și formularul, și răspunsul */
.ac-rec-modal .ac-rec {
  grid-template-columns: minmax(0, 1fr); background: none; box-shadow: none;
  padding: clamp(1.4rem, 3vw, 2.2rem);
}
.ac-rec-modal .ac-rec-form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ac-rec-modal .ac-rec-gol { display: none; }
@media (max-width: 560px) {
  .ac-rec-modal .ac-rec-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ac-modal-cutie { max-height: 92vh; }
}

@media (max-width: 900px) {
  /* minmax(0, 1fr), nu 1fr: `1fr` are minimul `auto`, iar galeria flexslider
     ține toate cadrele pe un rând, deci coloana s-ar lăți la ~1100px și ar
     produce scroll orizontal pe telefon */
  .ac-is-product div.product { grid-template-columns: minmax(0, 1fr); }
  .ac-is-product div.product > .woocommerce-product-gallery,
  .ac-is-product div.product > .summary { grid-column: 1; }
  .ac-is-product div.product > .summary { position: static; }
}

/* --- galerie --------------------------------------------------------------- */
.woocommerce-product-gallery { position: relative; max-width: 100%; }
.woocommerce-product-gallery .flex-viewport { overflow: hidden; }
.woocommerce-product-gallery__wrapper { background: #fff; }
.woocommerce-product-gallery__image { display: block; }
.woocommerce-product-gallery__image img { width: 100%; height: auto; }
.woocommerce-product-gallery .flex-control-thumbs {
  display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: .7rem 0 0; padding: 0;
}
.woocommerce-product-gallery .flex-control-thumbs li { width: 74px; }
.woocommerce-product-gallery .flex-control-thumbs img {
  width: 100%; height: auto; cursor: pointer; border: 1px solid transparent; background: #fff;
}
/* WooCommerce stinge miniaturile inactive la `opacity: .3`. Cu 4 fotografii
   trecea neobservat; de la 12.08.2026 galeria are câte o miniatură pe culoare
   (până la 18), iar tocmai culoarea trebuie să se distingă: la 30% toate arătau
   spălăcite. Rămâne o diferență clară între activă și restul, fără să facă
   fotografiile ilizibile. */
.woocommerce-product-gallery .flex-control-thumbs img { opacity: .78; transition: opacity .2s, border-color .2s; }
.woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.woocommerce-product-gallery .flex-control-thumbs img:hover { border-color: var(--ac-gold); opacity: 1; }

/* --- rezumat -------------------------------------------------------------- */
.summary .ac-p-eyebrow {
  display: flex; gap: .8rem; align-items: baseline; flex-wrap: wrap;
  font-size: .78rem; letter-spacing: .12em; text-transform: uppercase;
  color: var(--ac-gold); margin-bottom: .7rem;
}
.summary .ac-p-cod { color: var(--ac-muted); letter-spacing: .08em; }
.summary .product_title {
  font-family: "AC Newsreader", Georgia, serif; font-weight: 500;
  font-size: clamp(1.8rem, 3.4vw, 2.9rem); line-height: 1.08; letter-spacing: -.022em;
  margin-bottom: 1rem;
}
.summary .price {
  font-family: "AC Newsreader", Georgia, serif; font-size: clamp(1.8rem, 3.2vw, 2.55rem);
  color: var(--ac-pret); font-variant-numeric: tabular-nums; line-height: 1.2;
  margin-bottom: .3rem;
}
.summary .price del { color: var(--ac-muted); font-size: .62em; margin-right: .4rem; }
.summary .price ins { text-decoration: none; }
.summary .price .woocommerce-Price-currencySymbol { font-size: .55em; color: var(--ac-muted); }
.summary .woocommerce-product-details__short-description {
  color: var(--ac-muted); font-size: .95rem; margin-block: 1.1rem;
}
/* teaser: intro-ul se oprește la 3 rânduri, restul e două secțiuni mai jos;
   linkul „Citiți descrierea completă" e pus de ac-produs.php */
.summary .woocommerce-product-details__short-description > p {
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
  overflow: hidden;
}
.summary .ac-p-desc-link {
  display: inline-block; margin-top: -.3rem; margin-bottom: 1.1rem;
  font-size: .84rem; color: var(--ac-gold); text-underline-offset: 3px;
}
.summary .ac-p-desc-link:hover { color: var(--ac-ink); }
.summary .woocommerce-product-details__short-description ul { margin: .6rem 0 0 1.1rem; }
.summary .woocommerce-product-details__short-description li { margin-bottom: .25rem; }

.ac-p-trust {
  list-style: none; margin: 0 0 1.2rem; padding: .9rem 0 0;
  border-top: 1px solid var(--ac-hair); display: grid; gap: .38rem;
}
.ac-p-trust li {
  position: relative; padding-left: 1.5rem; font-size: .86rem; color: var(--ac-muted);
}
.ac-p-trust li::before {
  content: ""; position: absolute; left: 0; top: .42em; width: 9px; height: 5px;
  border-left: 1.6px solid var(--ac-gold); border-bottom: 1.6px solid var(--ac-gold);
  transform: rotate(-45deg);
}

/* --- pastile de variație --------------------------------------------------- */
.summary form.cart { margin: 0; }
.summary table.variations { display: block; width: 100%; }
.summary table.variations tbody, .summary table.variations tr { display: block; }
.summary table.variations th,
.summary table.variations td { display: block; width: 100%; padding: 0; text-align: left; }
.summary table.variations .label { display: none; }

.ac-pastile { margin-bottom: 1.15rem; }
.ac-pastile-cap {
  display: flex; align-items: baseline; justify-content: space-between; gap: 1rem;
  margin-bottom: .5rem;
}
.ac-pastile-cap .ac-label { margin: 0; }
.ac-pastile-sel { font-size: .84rem; color: var(--ac-ink); }
.ac-pastile-link { font-size: .8rem; color: var(--ac-gold); }
.ac-pastile-lista { display: flex; flex-wrap: wrap; gap: .5rem; }
.ac-pastile-select { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }

/* `inline-flex` cu centrare pe ambele axe, nu centrarea implicită a butonului:
   cu `height` fix și `line-height: 1`, textul unui <button> cade cu 1-2px sub
   mijloc, iar pe un rând de opt pastile se vede. */
.ac-pastila {
  display: inline-flex; align-items: center; justify-content: center; text-align: center;
  border: 1px solid var(--ac-hair); background: none; cursor: pointer; padding: 0;
  font: 600 .88rem/1 "AC Archivo", sans-serif; color: var(--ac-ink);
  transition: border-color .25s, background .25s, color .25s, transform .25s, box-shadow .25s;
}
.ac-pastila--culoare {
  width: 36px; height: 36px; background: var(--ac-pastila); position: relative;
  border: 0; box-shadow: inset 0 0 0 1px rgba(38, 32, 25, .2);
}
.ac-pastila--culoare:hover { transform: translateY(-3px); }
.ac-pastila--culoare[aria-pressed="true"]::after {
  content: ""; position: absolute; inset: -5px; border: 1px solid var(--ac-gold);
}
/* toate mărimile au aceeași lățime, inclusiv XXXL: un rând de pastile de lățimi
   diferite arată a listă, nu a set */
.ac-pastila--marime { width: 64px; height: 46px; padding: 0; letter-spacing: .04em; }
.ac-pastila--marime:hover { border-color: var(--ac-ink); }
.ac-pastila--marime[aria-pressed="true"] {
  background: var(--ac-choc); border-color: var(--ac-choc); color: var(--ac-cream);
}
.ac-pastila.is-indisponibil {
  opacity: .32; cursor: not-allowed; text-decoration: line-through;
}
.ac-pastila.is-indisponibil:hover { transform: none; border-color: var(--ac-hair); color: var(--ac-ink); }

/* Până se aleg culoarea și mărimea, WooCommerce ține în pagină un bloc gol de
   variație și un „resetează" invizibil. Fără asta rămâne o gaură de ~120px
   între pastile și butonul de comandă. */
.summary .woocommerce-variation:empty { display: none; }
.summary .single_variation_wrap { margin-top: 1rem; }
.summary .reset_variations {
  font-size: .8rem; color: var(--ac-muted); margin-bottom: .6rem;
}
.summary .reset_variations[style*="visibility: hidden"] { display: none; }
.summary .woocommerce-variation-price .price { font-size: 1.6rem; margin-bottom: .8rem; }
.summary .woocommerce-variation-availability p { font-size: .86rem; color: var(--ac-muted); }

/* --- adaugă în coș ---------------------------------------------------------
   Bricks pune „−" și „+" ca <span class="action"> peste input; le aducem în
   rând, într-o ramă compactă, ca butonul de comandă să rămână eroul zonei. */
.summary .quantity {
  position: relative; display: inline-grid; grid-template-columns: 34px 40px 34px;
  align-items: stretch; border: 1px solid var(--ac-hair); background: #fff;
  height: 52px; margin-right: .6rem; flex: none;
  /* WooCommerce dă `.quantity` lățime 100%: fără asta rama rămâne mult mai
     lată decât cele trei coloane dinăuntru */
  width: max-content; min-width: 0;
}
.summary .quantity input.qty {
  grid-column: 2; grid-row: 1; width: 100%; height: 100%; padding: 0;
  text-align: center; border: 0; background: none;
  font: 600 15px/1 "AC Archivo", sans-serif; color: var(--ac-ink);
  -moz-appearance: textfield; appearance: textfield;
}
.summary .quantity input.qty::-webkit-outer-spin-button,
.summary .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.summary .quantity .action {
  grid-row: 1; display: grid; place-items: center; cursor: pointer;
  color: var(--ac-muted); transition: color .2s, background .2s;
}
.summary .quantity .action:hover { color: var(--ac-ink); background: var(--ac-paper-2); }
.summary .quantity .action.minus { grid-column: 1; }
.summary .quantity .action.plus { grid-column: 3; }
.summary .quantity .action svg { width: 15px; height: 15px; }

/* Butonul nu se mai întinde pe toată lățimea coloanei: lângă un selector de
   cantitate de 108px, o bară de 450px arăta ca o eroare de machetare. Are acum
   lățime proprie și stă centrat pe aceeași linie cu selectorul. */
.summary .single_add_to_cart_button {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  height: 52px; padding: 0 2.4rem; border: 0; border-radius: 0; cursor: pointer;
  background: var(--ac-antracit); color: var(--ac-cream);
  flex: 0 1 300px; max-width: 300px;
  font: 600 .92rem/1 "AC Archivo", sans-serif; letter-spacing: .05em;
  transition: background .3s, box-shadow .3s, color .3s;
  box-shadow: 0 12px 26px -18px rgba(20, 14, 8, .9);
}
.summary .single_add_to_cart_button:hover { background: var(--ac-choc); box-shadow: 0 16px 30px -16px rgba(20, 14, 8, .95); }
/* Starea inactivă nu e un bloc gri: e un contur, ca să nu pară un buton stricat
   ci unul care încă așteaptă o alegere. */
.summary .single_add_to_cart_button.disabled,
.summary .single_add_to_cart_button:disabled {
  background: none; color: var(--ac-muted); box-shadow: inset 0 0 0 1px var(--ac-hair);
  cursor: not-allowed; opacity: 1;
}
.summary .woocommerce-variation-add-to-cart {
  display: flex; flex-wrap: wrap; gap: .6rem; align-items: center;
}
/* indiciul de lângă buton, cât timp lipsește o alegere */
.ac-p-hint {
  flex: 1 1 100%; font-size: .8rem; color: var(--ac-muted); margin-top: -.1rem;
}
.ac-p-hint b { color: var(--ac-ink); font-weight: 600; }

/* --- livrare + stoc --------------------------------------------------------
   O fișă, nu un paragraf: starea stocului sus, faptele de livrare dedesubt,
   fiecare cu eticheta lui. Se citesc dintr-o privire, în punctul de decizie. */
.ac-p-livrare {
  margin-top: 1.5rem; padding: 1.1rem 1.2rem;
  background: var(--ac-paper-2); box-shadow: inset 0 0 0 1px var(--ac-hair);
}
.ac-p-stoc {
  display: flex; align-items: baseline; gap: .55rem; flex-wrap: wrap;
  font-size: .9rem; line-height: 1.4;
}
.ac-p-stoc-pt {
  width: 7px; height: 7px; border-radius: 50%; flex: none; align-self: center;
  position: relative;
}
.ac-p-stoc-t { font-weight: 600; letter-spacing: .04em; }
.ac-p-stoc-d { color: var(--ac-muted); font-size: .85rem; }
.ac-p-stoc.is-ok .ac-p-stoc-t { color: var(--ac-ok); }
.ac-p-stoc.is-ok .ac-p-stoc-pt { background: var(--ac-ok); }
/* un halou care pulsează discret: semnalul „e disponibil acum", fără zgomot */
.ac-p-stoc.is-ok .ac-p-stoc-pt::after {
  content: ""; position: absolute; inset: -4px; border-radius: 50%;
  border: 1px solid var(--ac-ok); opacity: .35; animation: ac-puls 2.6s ease-out infinite;
}
@keyframes ac-puls {
  0% { transform: scale(.6); opacity: .5; }
  70% { transform: scale(1.35); opacity: 0; }
  100% { opacity: 0; }
}
.ac-p-stoc.is-nu .ac-p-stoc-t { color: var(--ac-sale); }
.ac-p-stoc.is-nu .ac-p-stoc-pt { background: var(--ac-sale); }

.ac-p-spec { margin: .9rem 0 0; padding-top: .85rem; border-top: 1px solid var(--ac-hair); }
.ac-p-spec > div {
  display: flex; align-items: baseline; gap: 1rem; padding-block: .3rem;
}
.ac-p-spec dt {
  flex: none; width: 82px; font-size: .72rem; font-weight: 600;
  letter-spacing: .13em; text-transform: uppercase; color: var(--ac-muted);
}
.ac-p-spec dd { margin: 0; font-size: .86rem; color: var(--ac-ink); }
.ac-p-spec-ok { color: var(--ac-ok); font-weight: 600; }
.ac-p-nota { font-size: .84rem; color: var(--ac-muted); margin-top: .6rem; font-style: italic; }

/* --- pliabile (livrabilul 6) ----------------------------------------------- */
.ac-p-acc { margin-top: 1.5rem; border-top: 1px solid var(--ac-hair); }
.ac-p-acc details { border-bottom: 1px solid var(--ac-hair); }
.ac-p-acc summary {
  cursor: pointer; list-style: none; display: flex; align-items: center; gap: .9rem;
  padding-block: 1.05rem; font-size: .95rem; transition: color .25s;
}
.ac-p-acc summary:hover { color: var(--ac-gold); }
.ac-p-acc summary::-webkit-details-marker { display: none; }
.ac-acc-n {
  flex: none; font: 600 .68rem/1 "AC Archivo", sans-serif; letter-spacing: .14em;
  color: var(--ac-gold); padding-top: .15em;
}
.ac-acc-t {
  flex: 1; font-family: "AC Newsreader", Georgia, serif; font-weight: 500;
  font-size: 1.06rem; letter-spacing: -.01em;
}
/* semnul de deschidere: două linii care devin una, fără să sară */
.ac-p-acc summary::after {
  content: ""; flex: none; width: 12px; height: 12px; position: relative;
  background:
    linear-gradient(var(--ac-gold), var(--ac-gold)) center / 12px 1px no-repeat,
    linear-gradient(var(--ac-gold), var(--ac-gold)) center / 1px 12px no-repeat;
  transition: transform .35s var(--ac-ease);
}
.ac-p-acc details[open] summary::after { transform: rotate(90deg); background-size: 12px 1px, 0 0; }
.ac-p-acc details > div {
  padding: 0 0 1.2rem 2.1rem; font-size: .88rem; color: var(--ac-muted);
  animation: ac-acc-in .35s var(--ac-ease);
}
@keyframes ac-acc-in { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: none; } }
.ac-p-acc ul { margin: 0 0 .6rem; padding: 0; list-style: none; }
.ac-p-acc li { margin-bottom: .42rem; padding-left: 1.1rem; position: relative; }
.ac-p-acc li::before {
  content: ""; position: absolute; left: 0; top: .62em; width: 5px; height: 1px;
  background: var(--ac-gold);
}
@media (max-width: 480px) {
  .ac-p-acc details > div { padding-left: 0; }
}

/* --- descriere -------------------------------------------------------------
   Capitolele stau într-o GRILĂ, nu într-un `columns: 2`: fluxul pe coloane
   rupea listele în două, iar punctele rămâneau orfane, fără titlul lor. */
.ac-p-desc { padding-block: clamp(2.5rem, 5vw, 4.5rem); border-top: 1px solid var(--ac-hair); margin-top: clamp(2rem, 4vw, 3.5rem); }
.ac-p-desc-cap { margin-bottom: clamp(1.4rem, 2.6vw, 2.2rem); }
.ac-p-desc-cap .ac-no { margin-bottom: .6rem; }
.ac-p-desc > .ac-p-desc-cap h2, .ac-p-marimi > .ac-p-desc-cap h2, .ac-p-recenzii > .ac-p-desc-cap h2 {
  font-family: "AC Newsreader", Georgia, serif; font-weight: 500;
  font-size: clamp(1.6rem, 3.2vw, 2.4rem); letter-spacing: -.02em; line-height: 1.08;
}
.ac-p-desc-intro {
  max-width: 62ch; margin-bottom: clamp(1.8rem, 3.4vw, 2.8rem);
}
.ac-p-desc-intro p {
  font-family: "AC Newsreader", Georgia, serif; font-size: clamp(1.05rem, 1.7vw, 1.24rem);
  line-height: 1.65; color: var(--ac-ink); margin-bottom: .8rem;
}
.ac-p-desc-intro p:last-child { margin-bottom: 0; }

.ac-p-desc-grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.6rem, 3vw, 2.6rem) clamp(2rem, 5vw, 4.5rem);
}
.ac-p-blk { border-top: 1px solid var(--ac-hair); padding-top: 1.1rem; }
.ac-p-blk h2 {
  font-size: .76rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
  color: var(--ac-gold); margin: 0 0 .75rem;
}
.ac-p-blk p, .ac-p-blk li { color: var(--ac-muted); font-size: .92rem; line-height: 1.7; }
.ac-p-blk ul { margin: 0; padding: 0; list-style: none; }
.ac-p-blk li { margin-bottom: .45rem; position: relative; }
.ac-p-blk ul > li { padding-left: 1.15rem; }
/* liniuța DOAR pe listele neordonate: ghidul de îmbrăcare sterilă de la halatele
   chirurgicale (12.08.2026) e un `<ol>`, iar pașii apăreau cu număr ȘI liniuță. */
.ac-p-blk ul > li::before {
  content: ""; position: absolute; left: 0; top: .68em; width: 6px; height: 1px;
  background: var(--ac-dim);
}
.ac-p-blk ol { margin: 0; padding-left: 1.3rem; }
.ac-p-blk ol > li { padding-left: .25rem; }
.ac-p-blk ol > li::marker { color: var(--ac-gold); font-weight: 600; }
@media (max-width: 760px) { .ac-p-desc-grid { grid-template-columns: minmax(0, 1fr); } }

/* --- tabel de mărimi ------------------------------------------------------- */
.ac-p-marimi { padding-block: clamp(2.5rem, 5vw, 4.5rem); border-top: 1px solid var(--ac-hair); }
.ac-p-tblcap {
  display: flex; align-items: baseline; justify-content: space-between; gap: 1rem;
  flex-wrap: wrap; margin: clamp(2rem, 4vw, 3rem) 0 1.1rem;
  border-bottom: 1px solid var(--ac-hair); padding-bottom: .9rem;
}
.ac-p-tblcap h3 {
  font-family: "AC Newsreader", Georgia, serif; font-weight: 500;
  font-size: 1.25rem; letter-spacing: -.01em;
}
/* comutator segmentat, o singură ramă în jurul ambelor unități */
.ac-p-unit { display: flex; border: 1px solid var(--ac-hair); }
.ac-p-unit button {
  border: 0; background: none; cursor: pointer; min-width: 64px;
  padding: .5rem .95rem; font: 600 .76rem/1 "AC Archivo", sans-serif;
  letter-spacing: .1em; text-transform: uppercase; color: var(--ac-muted);
  transition: background .25s, color .25s;
}
.ac-p-unit button + button { border-left: 1px solid var(--ac-hair); }
.ac-p-unit button:hover { color: var(--ac-ink); }
.ac-p-unit button.is-on { background: var(--ac-choc); color: var(--ac-cream); }

.ac-tbl-wrap { overflow-x: auto; }
.ac-tbl { border-collapse: collapse; width: 100%; min-width: 640px; font-size: .86rem; }
/* Aliniere la mijlocul coloanei, cerere client 12.08.2026: coloanele sunt
   numerice și de lățimi diferite, iar la stânga cifrele păreau nealiniate cu
   antetul. `tabular-nums` ține cifrele pe aceeași grilă în interiorul celulei. */
.ac-tbl th, .ac-tbl td {
  border-bottom: 1px solid var(--ac-hair); padding: .5rem .7rem; text-align: center;
  font-variant-numeric: tabular-nums; white-space: nowrap;
}
.ac-tbl thead th {
  font-size: .7rem; letter-spacing: .1em; text-transform: uppercase;
  color: var(--ac-muted); font-weight: 600; border-bottom-color: var(--ac-ink);
  padding-bottom: .7rem;
}
.ac-tbl tbody tr { transition: background .2s; }
.ac-tbl tbody tr:hover { background: var(--ac-paper-2); }
.ac-tbl tbody th { padding: 0; }
/* mărimea din rând e butonul care o alege în selectorul de comandă */
.ac-tbl-sel {
  display: block; width: 100%; text-align: center; border: 0; background: none;
  cursor: pointer; padding: .5rem .7rem;
  font: 700 .86rem/1.4 "AC Archivo", sans-serif; letter-spacing: .04em; color: var(--ac-ink);
  transition: color .2s;
}
.ac-tbl-sel:hover { color: var(--ac-gold); }
/* `display: none` cât e ascunsă, nu doar `opacity: 0`: la opacitate zero
   eticheta ocupă în continuare spațiu în flux, iar mărimea centrată (cerere
   client 12.08.2026) ieșea împinsă spre stânga cu lățimea cuvântului „alege". */
.ac-tbl-sel::after {
  content: "alege"; display: none; margin-left: .5rem;
  font: 600 .62rem/1 "AC Archivo", sans-serif; letter-spacing: .12em; text-transform: uppercase;
  color: var(--ac-gold);
}
.ac-tbl tbody tr:hover .ac-tbl-sel::after,
.ac-tbl-sel:focus-visible::after { display: inline-block; }
.ac-tbl tbody tr.is-rec { background: var(--ac-paper-2); box-shadow: inset 3px 0 0 var(--ac-gold); }
.ac-tbl tbody tr.is-rec .ac-tbl-sel { color: var(--ac-gold); }

/* --- recomandare de mărime (livrabilul 14) ---------------------------------
   Două coloane: măsurile în stânga, răspunsul în dreapta. Panoul din dreapta
   nu e gol până la primul rezultat, ca omul să știe la ce să se aștepte. */
.ac-rec {
  display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: clamp(1.4rem, 3vw, 3rem);
  background: var(--ac-paper-2); box-shadow: inset 0 0 0 1px var(--ac-hair);
  padding: clamp(1.3rem, 3vw, 2.4rem);
}
.ac-rec h3 {
  font-family: "AC Newsreader", Georgia, serif; font-weight: 500;
  font-size: clamp(1.2rem, 2.2vw, 1.6rem); letter-spacing: -.01em; margin-bottom: .6rem;
}
.ac-rec-intro { font-size: .89rem; color: var(--ac-muted); max-width: 56ch; margin-bottom: 1.3rem; line-height: 1.7; }
.ac-rec-form {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 1rem;
}
.ac-rec-form .ac-field { margin-bottom: 1rem; }
.ac-rec-form label { font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; }
/* unitatea stă în câmp, nu în etichetă: altfel „Circumferință bust (cm)" se
   rupe pe două rânduri și câmpurile pornesc de la înălțimi diferite */
.ac-rec-inp { position: relative; }
.ac-rec-inp input {
  width: 100%; background: #fff; border: 1px solid var(--ac-hair); border-radius: 0;
  padding: .72rem 2.4rem .72rem .85rem;
  font: 600 16px/1.2 "AC Archivo", sans-serif; color: var(--ac-ink);
  font-variant-numeric: tabular-nums; transition: border-color .25s;
}
.ac-rec-inp input::placeholder { color: var(--ac-dim); font-weight: 400; }
.ac-rec-inp input:hover { border-color: var(--ac-dim); }
.ac-rec-inp input:focus { outline: 2px solid var(--ac-gold); outline-offset: -1px; border-color: var(--ac-gold); }
.ac-rec-inp input::-webkit-outer-spin-button,
.ac-rec-inp input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.ac-rec-inp input { -moz-appearance: textfield; appearance: textfield; }
.ac-rec-u {
  position: absolute; right: .8rem; top: 50%; transform: translateY(-50%);
  font-size: .78rem; color: var(--ac-muted); pointer-events: none;
}
.ac-rec-actiuni { grid-column: 1 / -1; margin-top: .3rem; }
@media (max-width: 520px) {
  .ac-rec-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.ac-rec-dreapta { display: flex; flex-direction: column; }
.ac-rec-out { display: block; }
.ac-rec-out:empty { display: none; }
.ac-rec-out:not(:empty) {
  background: #fff; box-shadow: inset 0 0 0 1px var(--ac-hair);
  padding: 1.2rem 1.3rem; animation: ac-acc-in .4s var(--ac-ease);
}
/* panoul de așteptare dispare în clipa în care apare un rezultat */
.ac-rec-gol {
  display: flex; flex-direction: column; gap: .8rem;
  border: 1px dashed var(--ac-hair); padding: 1.2rem 1.3rem;
}
.ac-rec-gol { gap: .5rem; }
.ac-rec-gol p { font-size: .84rem; color: var(--ac-muted); line-height: 1.65; }
.ac-rec-gol .ac-rec-et { margin-bottom: 0; }
.ac-rec.has-rezultat .ac-rec-gol { display: none; }

.ac-rec-marime {
  font-family: "AC Newsreader", Georgia, serif; font-size: clamp(2.4rem, 5vw, 3.4rem);
  color: var(--ac-gold); line-height: 1; display: block; letter-spacing: -.02em;
}
.ac-rec-et {
  display: block; font: 600 .68rem/1 "AC Archivo", sans-serif; letter-spacing: .16em;
  text-transform: uppercase; color: var(--ac-muted); margin-bottom: .5rem;
}
.ac-rec-motiv { font-size: .85rem; color: var(--ac-muted); margin-top: .55rem; line-height: 1.65; }
.ac-rec-atentie { font-size: .85rem; color: var(--ac-sale); margin-top: .55rem; line-height: 1.6; }
.ac-rec-alege {
  display: inline-flex; align-items: center; gap: .5rem; margin-top: 1rem;
  border: 1px solid var(--ac-antracit); background: none; cursor: pointer;
  padding: .7rem 1.1rem; font: 600 .82rem/1 "AC Archivo", sans-serif; letter-spacing: .05em;
  color: var(--ac-antracit); transition: background .3s, color .3s;
}
.ac-rec-alege:hover { background: var(--ac-antracit); color: var(--ac-cream); }
.ac-rec-alege::after { content: "→"; transition: transform .3s var(--ac-ease); }
.ac-rec-alege:hover::after { transform: translateX(4px); }
.ac-rec-disclaimer { font-size: .8rem; color: var(--ac-muted); margin-top: 1rem; line-height: 1.6; }

@media (max-width: 900px) {
  .ac-rec { grid-template-columns: minmax(0, 1fr); }
}

/* --- bara fixă de comandă pe mobil (livrabilul 5) -------------------------- */
.ac-buybar { display: none; }
@media (max-width: 900px) {
  .ac-buybar {
    display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 990;
    background: var(--ac-choc); color: var(--ac-cream);
    box-shadow: 0 -12px 30px -24px rgba(20, 14, 8, .9);
  }
  .ac-buybar[hidden] { display: none; }
  .ac-buybar-in {
    display: flex; align-items: center; gap: .8rem; padding: .6rem var(--ac-gutter);
  }
  .ac-buybar-pret { min-width: 0; flex: 1; }
  .ac-buybar-nume {
    display: block; font-size: .74rem; color: var(--ac-dim);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  .ac-buybar-suma {
    display: block; font-family: "AC Newsreader", Georgia, serif; font-size: 1.25rem;
    color: var(--ac-pret-clar); font-variant-numeric: tabular-nums; line-height: 1.2;
  }
  .ac-buybar-suma .woocommerce-Price-currencySymbol { color: var(--ac-dim); }
  .ac-buybar-suma del { display: none; }
  .ac-buybar-suma ins { text-decoration: none; }
  .ac-buybar-btn { flex: none; padding: .8rem 1.2rem; min-height: 46px; }
  .ac-is-product body, body.ac-is-product { padding-bottom: 68px; }
}

/* --- produsele cu preț la cerere (decizie client 11.08.2026) ---------------- */
.ac-p-oferta { margin: 1.2rem 0 .4rem; }
.ac-p-oferta-nota { color: var(--ac-muted); max-width: 46ch; margin: 0 0 .9rem; }
/* pe fundalul închis al barei mobile, cerneala nu se vede */
.ac-buybar-suma .ac-pret-cerere { color: var(--ac-cream); font-size: .92rem; }

/* --- schița cu punctele de măsurare, sub tabel (client 12.08.2026) ---------
   Desenul e alb-negru pe fundal alb: fără chenar s-ar topi în hârtia crem. */
.ac-p-schita {
  margin: clamp(1.6rem, 3vw, 2.4rem) 0 0; max-width: 720px;
  border: 1px solid var(--ac-hair); background: #fff; padding: .9rem;
}
.ac-p-schita img { display: block; width: 100%; height: auto; }
.ac-p-schita figcaption {
  margin-top: .7rem; font-size: .8rem; color: var(--ac-muted);
  font-style: italic; text-align: center;
}

/* ==========================================================================
   03 · Păreri — recenziile clienților
   Secțiunea o randează pluginul Customer Reviews (livrabilul 9). Nu-i atingem
   fișierele: doar aducem tipografia și culorile în design system-ul nostru,
   cu aceeași specificitate ca a lui, ca să nu ajungem la `!important`.
   Stelele rămân chihlimbarii: e o convenție pe care oamenii o citesc dintr-o
   privire, iar aurul nostru pe crem cade prea aproape de fundal.
   ========================================================================== */
.ac-p-recenzii {
  padding-block: clamp(2.5rem, 5vw, 4.5rem);
  border-top: 1px solid var(--ac-hair);
}
.ac-p-recenzii .cr-summaryBox-wrap .cr-average-rating,
.ac-p-recenzii .cr-summaryBox-wrap .cr-total-rating-count,
.ac-p-recenzii .cr-all-reviews-shortcode .cr-average-rating,
.ac-p-recenzii .cr-all-reviews-shortcode .cr-total-rating-count {
  color: var(--ac-ink);
  font-family: "AC Newsreader", Georgia, serif;
}
.ac-p-recenzii .cr-all-reviews-shortcode .cr-total-rating-count {
  font-family: "AC Archivo", system-ui, sans-serif;
  color: var(--ac-muted);
}
.ac-p-recenzii .cr-all-reviews-shortcode .cr-button-search {
  background: var(--ac-antracit);
  border-color: var(--ac-antracit);
  color: var(--ac-cream);
}
.ac-p-recenzii-intro {
  max-width: 62ch; color: var(--ac-muted);
  margin-bottom: clamp(1.4rem, 2.6vw, 2rem);
}

/* Produs fără recenzii: pluginul nu poate ascunde bara de sumar cât timp e
   pornit butonul „Scrieți o recenzie" (o singură condiție `||` pentru amândouă,
   în class-cr-all-reviews.php). Un „0,0" cu histograma goală pe fiecare pagină
   de produs al unui magazin nou lucrează împotriva conversiei, deci ascundem
   doar partea de note și păstrăm invitația. */
/* Specificitatea o urcăm ca a lui (`.cr-all-reviews-shortcode .cr-summaryBox-wrap
   .cr-overall-rating-wrap`, 0-3-0), nu cu `!important`: regula 7. */
.ac-p-recenzii--goale .cr-all-reviews-shortcode .cr-summaryBox-wrap .cr-overall-rating-wrap,
.ac-p-recenzii--goale .cr-all-reviews-shortcode .cr-summaryBox-wrap .ivole-summaryBox,
.ac-p-recenzii--goale .cr-all-reviews-shortcode .cr-summaryBox-wrap .cr-summary-separator,
.ac-p-recenzii--goale .cr-all-reviews-shortcode .cr-summaryBox-wrap .cr-summary-separator-side,
.ac-p-recenzii--goale .cr-all-reviews-shortcode .cr-ajax-search,
.ac-p-recenzii--goale .cr-all-reviews-shortcode .cr-count-row,
.ac-p-recenzii--goale .cr-all-reviews-shortcode .cr-search-no-reviews { display: none; }
.ac-p-recenzii--goale .cr-all-reviews-shortcode .cr-summaryBox-wrap { border: 0; padding: 0; }

/* Fila „Scrieți o recenzie": pluginul o colorează verde-turcoaz din CSS-ul lui.
   Antracitul e culoarea butoanelor de acțiune pe tot site-ul. */
/* Butonul „Scrieți o recenzie" și cel de trimitere: pluginul le colorează
   verde-turcoaz din CSS-ul lui. Antracitul e culoarea acțiunii pe tot site-ul.
   `.cr-nav-left` NU e butonul, ci săgeata de întoarcere: are fundal doar în
   CSS-ul lui și rămâne cum e. */
.ac-p-recenzii .cr-all-reviews-shortcode .cr-add-review-wrap .cr-all-reviews-add-review,
.ac-p-recenzii .cr-all-reviews-shortcode .cr-review-form-buttons .cr-review-form-submit {
  background: var(--ac-antracit);
  color: var(--ac-cream);
  border-color: var(--ac-antracit);
}
