/* ── Polish Faza 4 — DOAR partea publică de shop ───────────────────────────── */
/* B. Butoane unificate */
.btn { border-radius: 8px; transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease; }
.btn:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,.12); }
.btn:active { transform: translateY(0); box-shadow: none; }
.btn:focus-visible { outline: 2px solid var(--primary, #f97316); outline-offset: 2px; }

/* C. Carduri produs: hover lift există deja în styles.css (.product-card:hover) — aici doar
   îmbunătățim tranziția să fie fluidă (styles.css nu are transition pe transform) */
.product-card { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }

/* C. Pulse coș la adăugare (desktop: buton plutitor; mobil: iconița din bara de jos) */
@keyframes cartPulse { 0%{transform:scale(1)} 35%{transform:scale(1.3)} 70%{transform:scale(.95)} 100%{transform:scale(1)} }
#floatingCartBtn.cart-pulse, #mobileNavCartIcon.cart-pulse { animation: cartPulse .45s ease !important; }

/* C. Fade-in modale custom */
@keyframes modalFade { from{opacity:0} to{opacity:1} }
#zoneModal[style*="flex"], [id^="notifyModal"][style*="flex"] { animation: modalFade .18s ease; }

/* E. Tipografie & spațieri */
.section-title { font-size: 1.35rem; font-weight: 700; letter-spacing: -.01em; }
.page-content p { line-height: 1.6; }

/* F. Spinner mic reutilizabil */
@keyframes polishSpin { to{transform:rotate(360deg)} }
.polish-spinner { display:inline-block; width:14px; height:14px; border:2px solid rgba(0,0,0,.15); border-top-color: var(--primary, #f97316); border-radius:50%; animation: polishSpin .7s linear infinite; vertical-align:-2px; }

/* NOTĂ: nu folosim prefers-reduced-motion aici — pe Windows cu „Animation effects" oprit
   (setare foarte comună) regula anula TOATE micro-efectele, inclusiv hover-ul pre-existent
   al cardurilor. Efectele sunt suficient de blânde încât să rămână active pentru toți. */
