/* ============================================================
   PureOrganics — Base CSS v3
   Sursă unică: color-preview-canvas.html (Color System v3 · Clinical Modern)
   NU adăuga clase, culori sau fonturi care nu există în canvas.
   ============================================================ */

/* ══════════════════════════════════════════════════════════════
   1. CSS TOKENS — copiate exact din canvas :root
══════════════════════════════════════════════════════════════ */
:root {
  /* BACKGROUNDS */
  --bg-primary:    #FFFFFF;
  --bg-soft:       #F7F9F8;
  --bg-muted:      #EAF5F2;
  --bg-statement:  #1C1008;

  /* TEXT */
  --text-primary:   #2E3531;
  --text-body:      #374151;
  --text-secondary: #6B7280;
  --text-muted:     #9CA3AF;

  /* BRAND GREEN */
  --green:          #007A5E;
  --green-dark:     #00624B;
  --green-deep:     #00463A;
  --green-pale:     #E8F4F0;

  /* RATING */
  --color-star:     #C27B3A;

  /* BORDERS */
  --border:         #E5EDE9;
  --border-light:   #F0F5F3;

  /* DARK SURFACES */
  --surface-inverse: #0F0F0F;
  --gray-dim:        #CBD5E1;

  /* ACCENT CLINIC */
  --accent-ink:      #2E4A8F;
  --accent-ink-bg:   #EEF2FB;

  /* ACCENT PROMOTIONAL */
  --accent-warm:      #D4956A;
  --accent-warm-text: #8B4A0E;
  --accent-warm-bg:   #FEF5EC;

  /* FONTS */
  --font:        'Manrope', sans-serif;
  --font-body:   'Inter', sans-serif;
  --font-accent: 'DM Serif Display', serif;

  /* RADIUS */
  --r:    12px;
  --r-sm: 8px;

  /* SPACING — grid 8px */
  --sp-1:  4px;
  --sp-2:  8px;
  --sp-3:  12px;
  --sp-4:  16px;
  --sp-6:  24px;
  --sp-8:  32px;
  --sp-12: 48px;
  --sp-14: 56px;
  --sp-16: 64px;
  --sp-20: 80px;
  --sp-24: 96px;

  /* SHADOWS */
  --shadow-sm:       0 1px 3px rgba(0,0,0,0.07), 0 1px 2px rgba(0,0,0,0.04);
  --shadow-md:       0 4px 12px rgba(0,0,0,0.08), 0 2px 4px rgba(0,0,0,0.05);
  --shadow-lg:       0 8px 24px rgba(0,0,0,0.10), 0 3px 6px rgba(0,0,0,0.05);
  --shadow-xl:       0 16px 48px rgba(0,0,0,0.12), 0 6px 12px rgba(0,0,0,0.06);
  --shadow-green:    0 4px 16px rgba(0,122,94,0.28);
  --shadow-green-lg: 0 8px 28px rgba(0,122,94,0.36);
}

/* ══════════════════════════════════════════════════════════════
   2. BASE RESET
══════════════════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: var(--font-body);
  color: var(--text-body);
  background: #fff;
  font-size: 15px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5 {
  font-family: var(--font);
  letter-spacing: -0.02em;
  color: var(--text-primary);
  line-height: 1.2;
  margin: 0;
}

p { margin: 0; }

a { color: inherit; }

img { display: block; max-width: 100%; }

/* Material Symbols */
.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* ══════════════════════════════════════════════════════════════
   3. CANVAS PRODUCTION COMPONENTS
   Copiați exact din color-preview-canvas.html — NU modifica
══════════════════════════════════════════════════════════════ */

/* ── BUTTONS ── */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 8px; font-family: var(--font); font-weight: 700;
  border-radius: var(--r); cursor: pointer; border: none;
  transition: background 150ms ease, box-shadow 150ms ease, transform 100ms ease;
  text-decoration: none; white-space: nowrap; line-height: 1;
  -webkit-font-smoothing: auto; letter-spacing: 0.01em;
}
.btn-primary {
  background: var(--green); color: #fff;
  padding: 12px 28px; font-size: 15px; font-weight: 800;
  min-height: 48px;
  font-family: var(--font);
  box-shadow: var(--shadow-green);
  text-shadow: 0 1px 0 rgba(0,0,0,0.18);
  border: none; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: var(--r);
  transition: background 150ms ease, box-shadow 150ms ease, transform 100ms ease;
  text-decoration: none; white-space: nowrap; line-height: 1;
  letter-spacing: 0.01em;
}
.btn-primary:hover { background: var(--green-dark); box-shadow: 0 6px 20px rgba(0,122,94,0.38); }
.btn-primary:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }
.btn-primary:active { transform: scale(0.98); }

.btn-cta {
  background: var(--green); color: #fff;
  padding: 14px 28px; font-size: 15px; font-family: var(--font); font-weight: 800;
  flex-direction: column; gap: 5px;
  box-shadow: var(--shadow-green);
  text-shadow: 0 1px 0 rgba(0,0,0,0.18);
  border: none; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: var(--r);
  transition: background 150ms ease, box-shadow 150ms ease, transform 100ms ease;
  text-decoration: none; white-space: nowrap; letter-spacing: 0.01em;
}
.btn-cta:hover { background: var(--green-dark); box-shadow: 0 6px 20px rgba(0,122,94,0.38); }
.btn-cta:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }
.btn-cta:active { transform: scale(0.98); }
.btn-cta-label { font-size: 15px; font-weight: 800; letter-spacing: 0.01em; }
.btn-cta-price { font-size: 12px; font-weight: 600; color: rgba(255,255,255,0.82); }

.btn-secondary {
  background: transparent; color: var(--green);
  border: 1.5px solid var(--green);
  padding: 13px 28px; font-size: 15px;
  font-family: var(--font); font-weight: 700;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: var(--r); cursor: pointer;
  transition: background 150ms ease; text-decoration: none; white-space: nowrap;
}
.btn-secondary:hover { background: var(--green-pale); }
.btn-secondary:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }

.btn-ghost {
  background: transparent; color: var(--text-secondary);
  border: 1.5px solid var(--border);
  padding: 10px 20px; font-size: 13px;
  font-family: var(--font); font-weight: 700;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: var(--r); cursor: pointer;
  transition: border-color 150ms ease, color 150ms ease, background 150ms ease;
  text-decoration: none; white-space: nowrap;
}
.btn-ghost:hover { border-color: var(--green); color: var(--green); background: var(--green-pale); }
.btn-ghost:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }

.btn-sm { padding: 9px 18px; font-size: 13px; }
.btn[disabled], .btn[aria-disabled="true"] {
  opacity: 0.38; cursor: not-allowed; pointer-events: none; box-shadow: none;
}

/* ── BENEFIT PILL ── */
.benefit-pill {
  display: inline-flex; align-items: center; gap: 5px;
  font-family: var(--font);
  font-size: 12px; font-weight: 600; color: var(--text-secondary);
}
.benefit-pill .pill-icon { display: none; }

/* ── TRUST BADGE ── */
.trust-badge {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 10px 16px; background: white;
  border: 1px solid var(--border); border-radius: var(--r);
}
.trust-badge-icon {
  display: flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; background: var(--bg-muted);
  border-radius: 50%; flex-shrink: 0;
}
.trust-badge-text { display: flex; flex-direction: column; gap: 1px; }
.trust-badge-name { font-family: var(--font); font-size: 12px; font-weight: 700; color: var(--text-primary); }
.trust-badge-desc { font-family: var(--font-body); font-size: 11px; color: var(--text-secondary); }

/* ── STAR RATING ── */
.star-row { display: inline-flex; align-items: center; gap: 6px; }
.stars { display: inline-flex; gap: 2px; }
.stars svg { color: var(--color-star); }
.star-score { font-family: var(--font); font-size: 14px; font-weight: 800; color: var(--text-primary); }
.star-count { font-family: var(--font-body); font-size: 12px; color: var(--text-secondary); }

/* ── PRICE BLOCK ── */
.price-block { display: flex; flex-direction: column; gap: 4px; }
.price-main {
  font-family: var(--font); font-size: 28px; font-weight: 800;
  color: var(--text-primary); letter-spacing: -0.02em; line-height: 1;
}
.price-original { font-family: var(--font-body); font-size: 14px; color: var(--text-muted); text-decoration: line-through; }
.price-per-dose { font-family: var(--font-body); font-size: 12px; color: var(--text-secondary); }
.price-badge-discount {
  display: inline-block; padding: 3px 9px; border-radius: 6px;
  background: var(--accent-warm-bg); color: var(--accent-warm-text);
  font-family: var(--font); font-size: 11px; font-weight: 700;
}
.price-badge-science {
  display: inline-block; padding: 3px 9px; border-radius: 6px;
  background: var(--accent-ink-bg); color: var(--accent-ink);
  font-family: var(--font); font-size: 11px; font-weight: 700;
}

/* ── BUNDLE PRICING ── */
.pkg-option {
  display: flex; align-items: center; gap: 14px;
  padding: 14px 16px; border: 1.5px solid var(--border);
  border-radius: var(--r); cursor: pointer;
  transition: border-color 150ms ease, background 150ms ease;
  position: relative; background: white;
}
.pkg-option:hover { border-color: var(--green); }
.pkg-option.is-selected { border-color: var(--green); background: var(--green-pale); }
.pkg-radio {
  width: 18px; height: 18px; flex-shrink: 0;
  border: 1.5px solid var(--border); border-radius: 50%; background: white;
  display: flex; align-items: center; justify-content: center;
  transition: border-color 150ms ease;
}
.pkg-option.is-selected .pkg-radio { border-color: var(--green); background: var(--green); }
.pkg-option.is-selected .pkg-radio::after {
  content: ''; width: 6px; height: 6px; background: white; border-radius: 50%;
}
.pkg-qty { font-family: var(--font); font-size: 13px; font-weight: 800; color: var(--text-primary); min-width: 80px; }
.pkg-prices { display: flex; flex-direction: column; gap: 1px; flex: 1; }
.pkg-price-main { font-family: var(--font); font-size: 16px; font-weight: 800; color: var(--text-primary); letter-spacing: -0.01em; }
.pkg-price-per { font-family: var(--font-body); font-size: 11px; color: var(--text-secondary); }
.pkg-price-per s { color: var(--text-muted); }
.pkg-badge { font-family: var(--font); font-size: 10px; font-weight: 700; padding: 3px 8px; border-radius: 6px; white-space: nowrap; flex-shrink: 0; }
.pkg-badge-rec  { background: var(--green); color: white; }
.pkg-badge-save { background: var(--accent-warm-bg); color: var(--accent-warm-text); }
/* Radio inputs visually hidden but tabbable */
.pkg-option input[type="radio"] {
  position: absolute; appearance: none; -webkit-appearance: none;
  opacity: 0; width: 1px; height: 1px; margin: 0; padding: 0; border: 0; pointer-events: none;
}
.pkg-option:has(input:focus-visible) {
  outline: 2px solid var(--green); outline-offset: 2px; border-radius: var(--r);
}

/* ── RATING HISTOGRAM ── */
.rating-block { display: flex; gap: 32px; align-items: flex-start; flex-wrap: wrap; }
.rating-score-col { display: flex; flex-direction: column; align-items: center; gap: 8px; flex-shrink: 0; }
.rating-big {
  font-family: var(--font); font-size: 56px; font-weight: 800;
  color: var(--text-primary); letter-spacing: -0.04em; line-height: 1;
}
.rating-stars-lg { color: var(--color-star); font-size: 16px; letter-spacing: 2px; line-height: 1; }
.rating-count { font-family: var(--font-body); font-size: 12px; color: var(--text-secondary); }
.rating-bars { flex: 1; min-width: 200px; display: flex; flex-direction: column; gap: 6px; }
.rating-bar-row { display: flex; align-items: center; gap: 10px; }
.rating-bar-label {
  font-family: var(--font); font-size: 11px; font-weight: 700;
  color: var(--text-secondary); width: 20px; text-align: right; flex-shrink: 0;
}
.rating-bar-track { flex: 1; height: 8px; background: var(--bg-soft); border-radius: 4px; overflow: hidden; }
.rating-bar-fill  { height: 100%; background: var(--color-star); border-radius: 4px; }
.rating-bar-pct   { font-family: var(--font-body); font-size: 11px; color: var(--text-secondary); width: 32px; flex-shrink: 0; }

/* ── INTERACTIVE TIMELINE (itl-) ── */
.itl-wrap { padding: 8px 0 4px; user-select: none; }
.itl-row { display: flex; justify-content: space-between; align-items: flex-start; position: relative; padding-top: 4px; }
.itl-track-bg,
.itl-track-fill {
  position: absolute; left: 16px; right: 16px; top: 20px;
  height: 2px; border-radius: 2px; pointer-events: none;
}
.itl-track-bg   { background: #C4D0CE; z-index: 0; }
.itl-track-fill { background: var(--green); z-index: 1; width: 0; right: auto; transition: width 0.45s cubic-bezier(0.4,0,0.2,1); }
.itl-thumb {
  position: absolute; top: 20px; left: 16px;
  transform: translate(-50%, -50%);
  width: 20px; height: 20px; border-radius: 50%;
  background: white; border: 2.5px solid var(--green);
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  cursor: grab; z-index: 5; touch-action: none;
  transition: left 0.45s cubic-bezier(0.4,0,0.2,1), transform 0.2s;
}
.itl-thumb.dragging { cursor: grabbing; transform: translate(-50%, -50%) scale(1.3); transition: transform 0.15s; }
.itl-step {
  position: relative; z-index: 2; flex: 1;
  display: flex; flex-direction: column; align-items: center;
  background: none; border: none; cursor: pointer; padding: 0; gap: 10px;
  -webkit-tap-highlight-color: transparent; outline: none;
}
.itl-step:focus,
.itl-step:focus-visible { outline: none; box-shadow: none; }
.itl-step:focus-visible .itl-dot { outline: 2px solid var(--green); outline-offset: 3px; border-radius: 50%; }
.itl-step:first-child { align-items: flex-start; }
.itl-step:first-child .itl-desc { text-align: left; margin-left: -4px; }
.itl-step:last-child  { align-items: flex-end; }
.itl-step:last-child  .itl-desc { text-align: center; margin-right: -4px; }
.itl-dot {
  width: 32px; height: 32px; border-radius: 50%;
  border: 2px solid #C4D0CE; background: white;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  transition: border-color 0.3s, background 0.3s, box-shadow 0.3s;
}
.itl-ck { display: none; color: white; font-size: 13px; font-weight: 800; line-height: 0; align-items: center; justify-content: center; }
.itl-df { display: none; width: 8px; height: 8px; border-radius: 50%; background: var(--green); }
.itl-step.is-done  .itl-dot { border-color: var(--green); background: #EEF8F4; }
.itl-step.is-active .itl-dot { background: var(--green); border-color: var(--green); box-shadow: 0 0 0 5px rgba(0,122,94,0.14); }
.itl-step.is-active .itl-ck { display: flex; }
.itl-day {
  font-family: var(--font); font-size: 11px; font-weight: 700;
  letter-spacing: 0.05em; text-transform: uppercase; color: #8A9894;
  white-space: nowrap; transition: color 0.3s;
}
.itl-desc {
  font-family: var(--font-body); font-size: 11px; color: #5C6360;
  white-space: normal; line-height: 1.3; word-break: break-word;
  text-align: center; max-width: 72px; transition: color 0.3s;
}
.itl-step.is-done   .itl-day  { color: var(--green); }
.itl-step.is-active .itl-day  { color: var(--green-dark); }
.itl-step.is-active .itl-desc { font-family: var(--font); font-weight: 700; color: var(--green-dark); }

/* ── TRUST STRIP ── */
.trust-strip {
  display: flex; align-items: center; justify-content: center;
  gap: 0; background: var(--bg-soft);
  border: 1px solid var(--border); border-radius: var(--r); overflow: hidden;
}
.trust-item {
  flex: 1; display: flex; flex-direction: column; align-items: center;
  gap: 5px; padding: 16px 10px; text-align: center; position: relative;
}
.trust-item + .trust-item::before {
  content: ''; position: absolute; left: 0; top: 20%; bottom: 20%; width: 1px; background: var(--border);
}
@media (max-width: 640px) {
  .trust-item--hide-mobile { display: none; }
}
.trust-icon { width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.trust-value { font-family: var(--font); font-size: 14px; font-weight: 800; color: var(--text-primary); line-height: 1; }
.trust-label { font-family: var(--font-body); font-size: 10px; color: var(--text-secondary); line-height: 1.3; }

/* ── TESTIMONIAL GRID ── */
.testi-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.testi-card {
  background: var(--bg-primary); border: 1px solid var(--border); border-radius: var(--r);
  padding: 20px; display: flex; flex-direction: column; gap: 12px;
  box-shadow: var(--shadow-sm); transition: box-shadow 0.2s, transform 0.2s;
}
.testi-card:hover { box-shadow: var(--shadow-md); transform: translateY(-1px); }
.testi-stars { display: flex; gap: 2px; }
.testi-stars svg { fill: var(--color-star); }
.testi-quote {
  font-family: var(--font-accent); font-style: italic;
  font-size: 15px; line-height: 1.55; color: var(--text-primary); flex: 1;
}
.testi-quote::before { content: '\201E'; }
.testi-quote::after  { content: '\201D'; }
.testi-outcome {
  background: var(--bg-muted); border-radius: var(--r-sm); padding: 8px 12px;
  font-family: var(--font); font-size: 12px; font-weight: 700; color: var(--green-dark);
  display: flex; align-items: center; gap: 6px;
}
.testi-outcome::before {
  content: ''; display: block; width: 6px; height: 6px;
  border-radius: 50%; background: var(--green); flex-shrink: 0;
}
.testi-meta {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px;
  padding-top: 10px; border-top: 1px solid var(--border-light);
}
.testi-meta > div:not(.testi-source) { flex: 1; min-width: 0; }
.testi-author { font-family: var(--font); font-size: 12px; font-weight: 700; color: var(--text-primary); }
.testi-detail { font-size: 11px; color: var(--text-muted); margin-top: 1px; }
.testi-source { font-size: 10px; color: var(--text-muted); font-family: var(--font); letter-spacing: 0.04em; }

/* ── SAFETY BLOCK ── */
.safety-block { border: 1px solid var(--border); border-radius: var(--r); overflow: hidden; }
.safety-header {
  display: flex; align-items: center; gap: 10px; padding: 14px 16px;
  background: var(--bg-soft); border-bottom: 1px solid var(--border);
}
.safety-header-icon {
  width: 28px; height: 28px; border-radius: 50%; background: #FEF2F2;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.safety-header-title { font-family: var(--font); font-size: 13px; font-weight: 700; color: var(--text-primary); flex: 1; }
.safety-header-tag {
  font-family: var(--font); font-size: 10px; font-weight: 700;
  padding: 2px 8px; border-radius: 4px; background: #FEE2E2; color: #B91C1C;
  letter-spacing: 0.04em; text-transform: uppercase;
}
.safety-body { padding: 16px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
@media (max-width: 500px) { .safety-body { grid-template-columns: 1fr; } }
.safety-item {
  display: flex; align-items: flex-start; gap: 8px; padding: 10px 12px;
  border-radius: var(--r-sm); background: var(--bg-primary); border: 1px solid var(--border-light);
}
.safety-item-icon {
  width: 20px; height: 20px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 1px;
}
.safety-item-icon.warn { background: #FEE2E2; }
.safety-item-icon.ok   { background: var(--green-pale); }
.safety-item-icon.info { background: var(--accent-ink-bg); }
.safety-item-text { font-size: 12px; color: var(--text-body); line-height: 1.45; }
.safety-item-text strong { font-family: var(--font); font-size: 11px; font-weight: 700; color: var(--text-primary); display: block; margin-bottom: 1px; }
.safety-note { padding: 10px 16px 14px; font-size: 11px; color: var(--text-muted); border-top: 1px solid var(--border-light); line-height: 1.5; }
.safety-inline { display: flex; flex-wrap: wrap; gap: 6px; padding: 10px 0 0; }
.safety-pill {
  display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px;
  border-radius: 20px; border: 1px solid var(--border); font-size: 11px;
  font-family: var(--font); font-weight: 500; color: var(--text-secondary);
  background: var(--bg-primary); white-space: nowrap;
}
.safety-pill.warn { border-color: #FECACA; color: #B91C1C; background: #FEF2F2; }
.safety-pill.ok   { border-color: #A7F3D0; color: var(--green-dark); background: var(--green-pale); }

/* ── DDFP — BENEFIT HIGHLIGHT VARIANTS ── */
.ddfp-d {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px; border-radius: var(--r);
  background: linear-gradient(90deg, var(--green-pale) 0%, #f5fbf8 100%);
  border: 1px solid rgba(0,122,94,0.18);
}
.ddfp-d-icon {
  width: 32px; height: 32px; border-radius: 50%; background: white;
  border: 1.5px solid rgba(0,122,94,0.25);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.ddfp-d-body { flex: 1; min-width: 0; }
.ddfp-d-title { font-family: var(--font); font-size: 12px; font-weight: 800; color: var(--green-dark); }
.ddfp-d-sub   { font-family: var(--font-body); font-size: 11px; color: var(--text-secondary); margin-top: 1px; }
.ddfp-d-tag {
  font-family: var(--font); font-size: 10px; font-weight: 700;
  padding: 3px 9px; border-radius: 20px;
  background: var(--green); color: white; white-space: nowrap; flex-shrink: 0;
}

.ddfp-a {
  display: flex; align-items: center; gap: 6px; padding: 6px 10px;
  border-radius: 6px; background: var(--green-pale); border: 1px solid rgba(0,122,94,0.18);
  width: fit-content;
}
.ddfp-a-text { font-family: var(--font); font-size: 11px; font-weight: 700; color: var(--green-dark); }
.ddfp-a-sub  { font-family: var(--font-body); font-size: 10px; color: var(--green); }

.ddfp-b {
  display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px;
  border-radius: 8px; background: var(--bg-soft); border: 1px solid var(--border);
}
.ddfp-b-icon {
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--green-pale); display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.ddfp-b-label { font-family: var(--font); font-size: 12px; font-weight: 700; color: var(--text-primary); }
.ddfp-b-sub   { font-family: var(--font-body); font-size: 10px; color: var(--text-secondary); margin-top: 1px; }

/* ── ABSORPTION BARS ── */
.absbar-wrap { display: flex; flex-direction: column; gap: 14px; }
.absbar-row  { display: flex; flex-direction: column; gap: 5px; }
.absbar-header { display: flex; align-items: center; justify-content: space-between; }
.absbar-label  { font-family: var(--font); font-size: 12px; font-weight: 700; color: var(--text-primary); }
.absbar-value  { font-family: var(--font); font-size: 12px; font-weight: 800; color: var(--green-dark); }
.absbar-track { height: 10px; border-radius: 10px; background: var(--bg-muted); overflow: hidden; position: relative; }
.absbar-fill  { height: 100%; border-radius: 10px; background: linear-gradient(90deg, var(--green-dark), var(--green)); transition: width 1s cubic-bezier(0.4,0,0.2,1); }
.absbar-fill.dim  { background: var(--gray-dim); }
.absbar-caption { font-family: var(--font-body); font-size: 10px; color: var(--text-muted); }

/* ── COMPARISON TABLE ── */
.comp-outer { position: relative; }
.comp-outer::after {
  content: ''; position: absolute; top: 0; right: 0; bottom: 0; width: 40px;
  background: linear-gradient(to right, transparent, rgba(255,255,255,0.85));
  pointer-events: none; border-radius: 0 var(--r) var(--r) 0; transition: opacity 200ms;
}
.comp-outer.scrolled-end::after { opacity: 0; }
.comp-scroll {
  overflow-x: auto; overflow-y: hidden;
  touch-action: pan-x pan-y;
  border-radius: var(--r); border: 1px solid var(--border); box-shadow: var(--shadow-md);
}
.comp-scroll:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.comp-table { width: 100%; min-width: 480px; border-collapse: collapse; background: var(--bg-primary); }
.comp-table thead tr th {
  padding: 14px 16px; font-family: var(--font); font-size: 11px; font-weight: 700;
  letter-spacing: 0.07em; text-transform: uppercase; border-bottom: 2px solid var(--border); vertical-align: bottom;
}
.comp-th-feat { text-align: left; color: var(--text-muted); background: var(--bg-soft); width: 1%; }
.comp-th-po   { background: var(--bg-statement); color: #fff; text-align: left; width: 32%; border-left: 3px solid var(--green); }
.comp-th-gen  { background: var(--bg-soft); color: var(--text-secondary); text-align: left; width: 32%; }
.comp-winner {
  display: inline-block; background: var(--green); color: white;
  font-size: 9px; font-weight: 800; padding: 2px 7px; border-radius: 20px;
  letter-spacing: 0.06em; text-transform: uppercase; margin-top: 5px;
}
.comp-table tbody tr { border-bottom: 1px solid var(--border-light); transition: background 120ms ease; }
.comp-table tbody tr:last-child { border-bottom: none; }
.comp-table tbody tr:hover .comp-td-feat { background: var(--border-light); }
.comp-table tbody tr:hover .comp-td-po   { background: #F4F6F5; }
.comp-table tbody tr:hover .comp-td-gen  { background: #F9FAFB; }
.comp-td-feat {
  padding: 12px 16px; background: var(--bg-soft); border-right: 1px solid var(--border);
  vertical-align: middle; position: sticky; left: 0; z-index: 1; transition: background 120ms ease;
}
.comp-feat-name { font-family: var(--font); font-size: 13px; font-weight: 700; color: var(--text-primary); line-height: 1.3; white-space: nowrap; }
.comp-td-po {
  padding: 12px 16px; text-align: left; background: white;
  border-left: 3px solid var(--green); border-right: 1px solid var(--border-light);
  vertical-align: middle; transition: background 120ms ease;
}
.comp-td-gen { padding: 12px 16px; text-align: left; vertical-align: middle; transition: background 120ms ease; }
.comp-yes, .comp-no { display: flex; align-items: center; gap: 6px; font-size: 13px; font-family: var(--font-body); line-height: 1.3; }
.comp-yes { color: var(--text-primary); font-weight: 600; }
.comp-no  { color: var(--text-muted); font-weight: 400; }
.comp-icon { flex-shrink: 0; width: 18px; height: 18px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.comp-icon-yes { background: var(--green); }
.comp-icon-no  { background: #E5E7EB; }
.comp-tfoot-tr td {
  padding: 11px 16px; border-top: 2px solid var(--border);
  font-family: var(--font); font-size: 11px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase;
}
.comp-tfoot-feat { background: var(--bg-soft); color: var(--text-muted); position: sticky; left: 0; }
.comp-tfoot-po   { background: white; color: var(--text-primary); text-align: left; border-left: 3px solid var(--green); }
.comp-tfoot-gen  { color: var(--text-muted); text-align: left; }

/* ── ACCORDION ── */
.accordion { border-top: 1px solid var(--border); }
.accordion-item { border-bottom: 1px solid var(--border); }
.accordion-trigger {
  display: flex; align-items: center; justify-content: space-between;
  width: 100%; min-height: 48px; padding: 12px 0; background: none; border: none; cursor: pointer;
  font-family: var(--font); font-size: 14px; font-weight: 700;
  color: var(--text-primary); text-align: left; gap: 12px;
}
.accordion-trigger:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; border-radius: 4px; }
.accordion-icon {
  width: 20px; height: 20px; flex-shrink: 0; display: flex; align-items: center; justify-content: center;
  color: var(--text-muted); transition: transform 200ms ease, color 200ms ease;
}
.accordion-item.is-open .accordion-icon { transform: rotate(180deg); color: var(--green); }
.accordion-body { overflow: hidden; max-height: 0; transition: max-height 250ms ease; }
.accordion-item.is-open .accordion-body { max-height: 500px; }
.accordion-content { padding: 0 0 16px; font-family: var(--font-body); font-size: 14px; color: var(--text-body); line-height: 1.7; }

/* ── DROP CHEVRON (GEO dropdown toggle) ── */
.drop-chevron { flex-shrink: 0; color: var(--text-muted); transition: transform 0.2s ease; }

/* ── DELIVERY STRIP ── */
.delivery-strip {
  display: flex; flex-wrap: wrap; gap: 0;
  background: var(--bg-soft); border: 1px solid var(--border); border-radius: var(--r); overflow: hidden;
}
.delivery-item { flex: 1; min-width: 140px; display: flex; align-items: center; gap: 10px; padding: 12px 16px; position: relative; }
.delivery-item + .delivery-item::before {
  content: ''; position: absolute; left: 0; top: 20%; bottom: 20%; width: 1px; background: var(--border);
}
.delivery-item-icon {
  width: 32px; height: 32px; border-radius: 50%; background: white;
  border: 1px solid var(--border); display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.delivery-item-title { font-family: var(--font); font-size: 12px; font-weight: 700; color: var(--text-primary); }
.delivery-item-sub   { font-family: var(--font-body); font-size: 10px; color: var(--text-secondary); margin-top: 1px; }

/* ── SECTION LABELS & HEADINGS ── */
.section-tag {
  display: inline-block; border: 1px solid var(--green); color: var(--green);
  font-family: var(--font); font-size: 10px; font-weight: 700;
  padding: 3px 10px; border-radius: 4px; letter-spacing: 0.08em; text-transform: uppercase;
  margin-bottom: 16px;
}
.section-h2 {
  font-family: var(--font); font-size: clamp(1.35rem,3.5vw,1.9rem); font-weight: 800; color: var(--text-primary);
  line-height: 1.2; letter-spacing: -0.025em; margin: 0 0 10px;
}
.section-sub { font-size: 14px; color: var(--text-secondary); line-height: 1.65; margin-bottom: 32px; max-width: 520px; }

/* ── HERO EYEBROW ── */
.hero-eyebrow {
  display: inline-flex; align-items: center; gap: 7px;
  background: var(--green-pale); color: var(--text-primary);
  font-family: var(--font); font-size: 12px; font-weight: 700;
  padding: 5px 12px; border-radius: 40px; margin-bottom: 20px; letter-spacing: 0.04em;
}
.hero-eyebrow::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--green); }

/* ── HERO PRODUCT IMAGE ── */
.hero-product-img {
  width: auto; height: 280px; object-fit: contain; display: block;
  filter: drop-shadow(0 24px 40px rgba(0,0,0,0.13));
  transition: transform 300ms ease;
}

/* ── CERT CHIP ── */
.cert-chip {
  background: var(--bg-primary); border: 1px solid var(--border);
  font-family: var(--font); font-size: 9px; font-weight: 700;
  padding: 4px 8px; border-radius: 4px; color: var(--green-dark); white-space: nowrap;
}

/* ── PH EYEBROW ── */
.ph-eyebrow {
  font-family: var(--font); font-size: 10px; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--green); margin-bottom: 4px;
}

/* ── DATA STRIP ── */
.data-strip {
  background: var(--bg-statement); padding: 24px 40px;
  display: flex; justify-content: space-around; flex-wrap: wrap; gap: 24px;
}
.data-item { text-align: center; }
.data-num { font-family: var(--font); font-size: 26px; font-weight: 800; color: #fff; line-height: 1; letter-spacing: -0.03em; }
.data-num span { color: #4ADE80; font-size: 20px; }
.data-label { font-size: 10.5px; color: rgba(255,255,255,0.82); margin-top: 3px; letter-spacing: 0.04em; text-transform: uppercase; font-weight: 500; }

/* ── TRANSPARENCY CARD ── */
.transp-card {
  background: var(--bg-primary); border: 1px solid var(--border);
  border-radius: var(--r); padding: 24px;
  transition: border-color 150ms ease, box-shadow 150ms ease;
}
.transp-card:hover { border-color: var(--green); box-shadow: 0 4px 16px rgba(0,122,94,0.07); }
.transp-icon {
  width: 36px; height: 36px; border: 1.5px solid var(--green);
  border-radius: var(--r-sm); display: flex; align-items: center; justify-content: center;
  margin-bottom: 12px; font-size: 16px;
}
.transp-title { font-family: var(--font); font-size: 13px; font-weight: 800; color: var(--text-primary); margin-bottom: 4px; }
.transp-body  { font-size: 12px; color: var(--text-secondary); line-height: 1.55; }
.transp-cta   { font-family: var(--font); font-size: 11px; font-weight: 700; color: var(--green); margin-top: 10px; display: block; transition: color 150ms ease; }
.transp-cta:hover { color: var(--green-dark); }

/* ── ACCENT BADGES ── */
.badge-ink {
  display: inline-flex; align-items: center; gap: 4px;
  background: var(--accent-ink-bg); color: var(--accent-ink);
  font-family: var(--font); font-size: 9px; font-weight: 700;
  padding: 3px 8px; border-radius: 4px; letter-spacing: 0.06em; text-transform: uppercase;
  border: 1px solid rgba(46,74,143,0.15);
}
.badge-warm {
  display: inline-flex; align-items: center; gap: 4px;
  background: var(--accent-warm-bg); color: var(--accent-warm-text);
  font-family: var(--font); font-size: 9px; font-weight: 700;
  padding: 3px 8px; border-radius: 4px; letter-spacing: 0.06em; text-transform: uppercase;
  border: 1px solid rgba(139,74,14,0.15);
}
.ink-text  { color: var(--accent-ink); font-weight: 700; }
.warm-text { color: var(--accent-warm-text); font-weight: 700; }
.ink-link  { color: var(--accent-ink); font-size: 12px; font-weight: 500; text-decoration: underline; text-underline-offset: 2px; }
.price-old { text-decoration: line-through; color: var(--accent-warm); font-size: 0.88em; font-weight: 500; margin-right: 4px; }

/* ── PROSPECT DOWNLOAD ── */
.prospect-compact {
  display: flex; align-items: center; gap: 14px;
  background: var(--bg-soft); border: 1px solid var(--border);
  border-radius: var(--r); padding: 14px 18px; max-width: 500px;
  text-decoration: none; transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.prospect-compact:hover { border-color: rgba(0,122,94,0.28); box-shadow: var(--shadow-sm); }
.prospect-compact:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; border-radius: var(--r); }
.prospect-compact-icon { flex-shrink: 0; display: flex; align-items: center; }
.prospect-compact:hover .p2c { transform: rotate(6deg) translateX(2px); transition: transform 0.28s cubic-bezier(0.34,1.4,0.64,1); transform-origin: 50% 90%; }
.prospect-compact-title { font-family: var(--font); font-size: 13px; font-weight: 700; color: var(--text-primary); line-height: 1.3; }
.prospect-compact-sub   { font-family: var(--font-body); font-size: 11px; color: var(--text-secondary); margin-top: 2px; }
.prospect-compact-text  { flex: 1; min-width: 0; }
.prospect-compact-arrow { flex-shrink: 0; color: var(--green); opacity: 0.55; transition: transform 0.20s ease, opacity 0.20s ease; }
.prospect-compact:hover .prospect-compact-arrow { transform: translateY(2px); opacity: 1; }

/* ── VISUALLY HIDDEN ── */
.visually-hidden {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* ── SKIP LINK ── */
.skip-link {
  position: absolute; top: -100%; left: 16px;
  background: var(--green); color: #fff;
  font-family: var(--font); font-size: 13px; font-weight: 700;
  padding: 10px 20px; border-radius: var(--r-sm); text-decoration: none; z-index: 9999;
  transition: top 150ms ease;
}
.skip-link:focus { top: 16px; }

/* ══════════════════════════════════════════════════════════════
   4. PAGE LAYOUT — clase de layout specifice paginilor produs
   (nu există în canvas — layouturi, containere, galerie)
══════════════════════════════════════════════════════════════ */

/* ── Container ── */
.container { max-width: 1140px; margin: 0 auto; padding: 0 clamp(16px, 4vw, 40px); }
.container--narrow { max-width: 860px; }
.container--center { max-width: 680px; text-align: center; }

section { padding: clamp(48px, 7vw, 80px) 0; }

/* ── Sticky CTA (mobile) ── */
.sticky-cta {
  position: fixed; bottom: 0; left: 0; right: 0;
  background: white; box-shadow: 0 -1px 0 var(--border), 0 -8px 32px rgba(0,0,0,0.08);
  padding: 10px 16px; display: flex; align-items: center; gap: 12px; z-index: 100;
  transform: translateY(100%); transition: transform 0.28s ease;
}
.sticky-cta.visible { transform: translateY(0); }
@media (min-width: 768px) { .sticky-cta { display: none; } }

/* ── Breadcrumb ── */
.breadcrumb-bar { padding: 10px 0; font-size: 12px; color: var(--text-muted); }
.breadcrumb-bar a { color: var(--text-muted); text-decoration: none; }
.breadcrumb-bar a:hover { color: var(--text-primary); }
.breadcrumb-bar a:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; border-radius: 2px; }

/* ── Hero 2-col grid ── */
/* Mobile: image first, then CTA — standard e-commerce UX */
.hero-grid { display: flex; flex-direction: column; gap: 32px; }
@media (min-width: 1024px) {
  .hero-grid { flex-direction: row; gap: 60px; align-items: flex-start; }
  .hero-grid > .hero-media { width: 55%; flex-shrink: 0; order: -1; }
  .hero-grid > .hero-buy   { width: 45%; flex-shrink: 0; position: sticky; top: 20px; align-self: flex-start; }
}

/* ── Product gallery ── */
.gallery-main {
  width: 100%; aspect-ratio: 1/1; background: var(--bg-soft);
  border-radius: 20px; border: 1px solid rgba(166,182,172,0.15);
  overflow: hidden; display: flex; align-items: center; justify-content: center;
  margin-bottom: 12px; position: relative;
}
.gallery-thumbs { display: none; gap: 8px; justify-content: flex-start; }
@media (min-width: 1024px) { .gallery-thumbs { display: flex; } }
.gallery-thumb {
  border-radius: 10px; overflow: hidden; flex-shrink: 0; cursor: pointer;
  width: 72px; height: 72px; border: 1.5px solid rgba(166,182,172,0.3);
  transition: border-color 0.2s, transform 0.15s;
}
.gallery-thumb:hover   { border-color: var(--green); }
.gallery-thumb:active  { transform: scale(0.96); }
.gallery-thumb.active  { border: 2px solid var(--green); }
.gallery-dots { display: flex; justify-content: center; gap: 5px; margin-top: 10px; }
@media (min-width: 1024px) { .gallery-dots { display: none; } }
.gallery-dot {
  /* Touch target real ≥24×24px — Lighthouse măsoară elementul */
  min-height: 24px; min-width: 24px;
  display: inline-flex; align-items: center; justify-content: center;
  background: transparent; cursor: pointer; position: relative;
}
/* Vizualul dot via ::after */
.gallery-dot::after {
  content: ''; display: block;
  height: 4px; width: 6px; border-radius: 2px;
  background: rgba(166,182,172,0.4);
  transition: width 0.25s ease, background 0.25s ease;
}
.gallery-dot.active::after { background: var(--green); width: 20px; }

/* ── Gallery award badge ── */
.gallery-award {
  position: absolute; top: 16px; right: 16px;
  width: 72px; height: 72px; border-radius: 50%;
  border: 1.5px solid rgba(0,122,94,0.2); background: white; z-index: 4;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  box-shadow: 0 2px 12px rgba(0,0,0,0.10); cursor: pointer;
}
.gallery-award:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.16); }
.gallery-award-stars { font-size: 9px; letter-spacing: 1px; color: var(--color-star); }
.gallery-award-score {
  font-family: var(--font); font-size: 12px; font-weight: 800; color: var(--green-dark);
  line-height: 1.1; margin-top: 2px;
}
.gallery-award-label {
  font-family: var(--font); font-size: 7.5px; font-weight: 800; color: var(--green-dark);
  text-align: center; line-height: 1.2; text-transform: uppercase; letter-spacing: 0.04em;
}

/* ── Gallery float animation ── */
.gallery-float-wrap {
  animation: gentleFloat 7s ease-in-out infinite;
  width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;
}
@keyframes gentleFloat {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-10px); }
}

/* ── Image spec placeholders ── */
.img-spec {
  width: 100%; height: 100%;
  background: repeating-linear-gradient(-45deg, #d6ece5, #d6ece5 8px, #eaf5f2 8px, #eaf5f2 16px);
  border: 2px dashed rgba(0,122,94,0.4); border-radius: inherit;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; padding: 10px; gap: 3px;
}
.isp-label { font-weight: 800; font-size: 12px; color: var(--green); font-family: var(--font); line-height: 1.3; }
.isp-desc  { font-size: 10px; color: var(--text-secondary); line-height: 1.35; max-width: 220px; }
.isp-res   { font-size: 9px; font-weight: 700; color: var(--green); background: white; padding: 2px 8px; border-radius: 100px; margin-top: 2px; white-space: nowrap; }
.isp-src   { font-size: 9px; color: var(--text-secondary); margin-top: 1px; }

/* ── Stock pulse dot ── */
.stock-dot {
  width: 7px; height: 7px; border-radius: 50%; background: var(--green);
  flex-shrink: 0; animation: stockPulse 2s ease-in-out infinite;
}
@keyframes stockPulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }

/* ── Mechanism grid (2-col, cards use .transp-card) ── */
.mech-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
  margin-bottom: clamp(24px, 4vw, 36px);
}
@media (max-width: 640px) { .mech-grid { grid-template-columns: 1fr; } }

/* ── FAQ sidebar layout ── */
.faq-grid { display: block; }
@media (min-width: 768px) {
  .faq-grid { display: grid; grid-template-columns: 1fr 2fr; gap: 60px; align-items: start; }
}

/* ── Reviews "citește toate" ── */
.reviews-more {
  display: inline-flex; align-items: center; gap: 4px;
  font-family: var(--font); font-size: 13px; font-weight: 700;
  color: var(--green); text-decoration: none;
  border-bottom: 1px solid transparent; padding-bottom: 1px;
  transition: border-color 150ms ease;
}
.reviews-more:hover { border-color: var(--green); }
.reviews-more:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; border-radius: 2px; }

/* ══════════════════════════════════════════════════════════════
   5. ACCESSIBILITY — FOCUS STATES
══════════════════════════════════════════════════════════════ */
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
select:focus-visible,
input:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 2px;
  border-radius: 2px;
}

/* ══════════════════════════════════════════════════════════════
   5b. TYPOGRAPHY — BALANCE + NUMERIC
══════════════════════════════════════════════════════════════ */
h1, h2, h3, .section-h2 { text-wrap: balance; }
.tabular { font-variant-numeric: tabular-nums; }

/* Gallery thumbs/dots as buttons — reset browser defaults */
button.gallery-thumb, button.gallery-dot {
  background: none; border: none; padding: 0; cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* Testimonial inline strip */
.testi-inline { display: flex; gap: 14px; align-items: flex-start; }
.testi-inline-avatar {
  width: 40px; height: 40px; border-radius: 50%; flex-shrink: 0;
  background: var(--bg-muted); border: 1px solid var(--border-light);
  font-family: var(--font); font-size: 16px; font-weight: 700; color: var(--green);
  display: flex; align-items: center; justify-content: center;
}
.testi-inline-body { flex: 1; }
.testi-inline-text { font-size: 14px; line-height: 1.7; color: var(--text-primary); font-style: italic; }
.testi-inline-footer { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 10px; }
.testi-inline-name { font-size: 12px; font-weight: 700; color: var(--text-secondary); font-family: var(--font); }
.testi-inline-stars { display: flex; gap: 3px; }
.testi-inline-stars svg { fill: var(--color-star); }

/* ══════════════════════════════════════════════════════════════
   6. RESPONSIVE
══════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
  .testi-grid { grid-template-columns: 1fr; }
  body { font-size: 16px; padding-bottom: 60px; }
}

@media (max-width: 640px) {
  .mech-grid { grid-template-columns: 1fr; }
  .trust-strip { flex-wrap: wrap; }
}

@media (max-width: 480px) {
  .prospect-compact { max-width: 100%; }
}

/* ══════════════════════════════════════════════════════════════
   7. ATC DRAWER — slide-up, mobile only
══════════════════════════════════════════════════════════════ */
.po-atc-drawer {
  position: fixed; left: 0; right: 0; bottom: 60px; z-index: 110;
  background: white;
  border-top: 1px solid var(--border);
  box-shadow: 0 -4px 24px rgba(0,0,0,0.12);
  padding: 12px 16px;
  transform: translateY(calc(100% + 60px));
  transition: transform 0.28s cubic-bezier(0.4,0,0.2,1);
  display: flex; align-items: center; gap: 12px;
}
.po-atc-drawer.visible { transform: translateY(0); }
@media (min-width: 768px) { .po-atc-drawer { display: none; } }

.po-atc-drawer__img-wrap { position: relative; flex-shrink: 0; }
.po-atc-drawer__img {
  width: 48px; height: 48px; border-radius: 8px; flex-shrink: 0;
  object-fit: cover; border: 1px solid var(--border-light);
}
.po-atc-drawer__info { flex: 1; min-width: 0; }
.po-atc-drawer__name {
  font-family: var(--font); font-size: 13px; font-weight: 700;
  color: var(--text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.po-atc-drawer__price {
  font-size: 12px; color: var(--text-secondary); margin-top: 2px;
}
.po-atc-drawer__price strong {
  color: var(--green); font-family: var(--font); font-weight: 800; font-size: 14px;
}
.po-atc-drawer__price small { color: var(--text-muted); }
.po-atc-drawer__btn {
  flex-shrink: 0; height: 48px; padding: 0 20px; font-size: 14px;
}

/* ══════════════════════════════════════════════════════════════
   8. BOTTOM NAVIGATION — mobile only
══════════════════════════════════════════════════════════════ */
.po-bottom-nav {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 100;
  height: 60px;
  background: white; border-top: 1px solid var(--border);
  display: flex; align-items: stretch;
  padding-bottom: env(safe-area-inset-bottom);
}
@media (min-width: 768px) { .po-bottom-nav { display: none; } }

.po-nav-item {
  flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 3px; font-size: 10px; font-weight: 600; font-family: var(--font);
  color: var(--text-secondary); text-decoration: none;
  padding: 6px 4px; transition: color 0.2s;
  -webkit-tap-highlight-color: transparent; min-height: 48px;
}
.po-nav-item svg { flex-shrink: 0; }
.po-nav-item:hover, .po-nav-item.is-active { color: var(--green); }
.po-nav-item.po-nav-quiz { color: var(--green); font-weight: 800; }

/* ══════════════════════════════════════════════════════════════
   7. MINI CART DRAWER
══════════════════════════════════════════════════════════════ */
.po-mini-cart {
  display: none;
  position: fixed; inset: 0; z-index: 9999;
  justify-content: flex-end;
}
.po-mini-cart.is-open,
.po-mini-cart.is-closing {
  display: flex;
}
.po-mini-cart__overlay {
  position: absolute; inset: 0;
  background: rgba(0,0,0,0.45);
  cursor: pointer;
  animation: poOverlayIn 0.25s ease forwards;
}
@keyframes poOverlayIn { from { opacity: 0; } to { opacity: 1; } }
.po-mini-cart__overlay.is-closing { animation: poOverlayOut 0.28s ease forwards; }
@keyframes poOverlayOut { from { opacity: 1; } to { opacity: 0; } }

.po-mini-cart__panel {
  position: relative; z-index: 1;
  width: min(400px, 100vw); height: 100%;
  background: #fff; display: flex; flex-direction: column;
  box-shadow: -4px 0 32px rgba(0,0,0,0.14);
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.4,0,0.2,1);
  overflow-y: auto;
}
.po-mini-cart.is-open .po-mini-cart__panel { transform: translateX(0); }
.po-mini-cart.is-closing .po-mini-cart__panel { transform: translateX(100%); }

.po-mini-cart__header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 20px;
  background: var(--green-pale); border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}
.po-mini-cart__confirmed {
  display: flex; align-items: center; gap: 8px;
  font-family: var(--font); font-size: 15px; font-weight: 700; color: var(--green);
}
.po-mini-cart__close {
  background: none; border: none; cursor: pointer; padding: 4px;
  color: var(--text-muted); line-height: 0; border-radius: 6px;
  transition: color 0.15s, background 0.15s;
}
.po-mini-cart__close:hover { color: var(--text-primary); background: rgba(0,0,0,0.06); }

.po-mini-cart__items {
  flex: 1; overflow-y: auto; border-bottom: 1px solid var(--border);
}
.po-mini-cart__item {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 20px; border-bottom: 1px solid var(--border);
}
.po-mini-cart__item:last-child { border-bottom: none; }
.po-mini-cart__item-img {
  width: 60px; height: 60px; object-fit: contain; flex-shrink: 0;
  border-radius: 8px; background: var(--bg-muted);
}
.po-mini-cart__item-img--placeholder {
  width: 60px; height: 60px; flex-shrink: 0;
  border-radius: 8px; background: var(--bg-muted);
}
.po-mini-cart__item-info { flex: 1; min-width: 0; }
.po-mini-cart__item-name {
  font-family: var(--font); font-size: 13px; font-weight: 700;
  color: var(--text-primary); margin: 0 0 3px; line-height: 1.35;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.po-mini-cart__item-qty {
  font-size: 12px; color: var(--text-secondary); margin: 0;
}
.po-mini-cart__item-price {
  font-family: var(--font); font-size: 15px; font-weight: 800;
  color: var(--green); margin: 0; white-space: nowrap; flex-shrink: 0;
}
.po-mini-cart__item-remove {
  background: none; border: none; cursor: pointer; padding: 4px;
  color: var(--text-muted); flex-shrink: 0; line-height: 0;
  border-radius: 4px; transition: color 0.15s, background 0.15s;
  margin-left: 4px;
}
.po-mini-cart__item-remove:hover { color: #c0392b; background: rgba(192,57,43,0.08); }
.po-mini-cart__empty {
  padding: 32px 20px; text-align: center;
  font-size: 14px; color: var(--text-secondary);
}
.po-mini-cart__total-row.is-shipping .po-mini-cart__total-value.is-free {
  color: #007A5E; font-weight: 700;
}

.po-mini-cart__totals {
  padding: 16px 20px; border-bottom: 1px solid var(--border); flex-shrink: 0;
}
.po-mini-cart__total-row {
  display: flex; justify-content: space-between; align-items: center;
  font-family: var(--font);
}
.po-mini-cart__total-row + .po-mini-cart__total-row { margin-top: 8px; }
.po-mini-cart__total-label { font-size: 13px; color: var(--text-secondary); }
.po-mini-cart__total-value { font-size: 13px; font-weight: 600; color: var(--text-secondary); }
.po-mini-cart__total-row.is-main .po-mini-cart__total-label { font-size: 15px; font-weight: 700; color: var(--text-primary); }
.po-mini-cart__total-row.is-main .po-mini-cart__total-value { font-size: 18px; font-weight: 800; color: var(--text-primary); }
.po-mini-cart__total-row.is-discount .po-mini-cart__total-value { color: #c0392b; }

.po-mini-cart__actions {
  padding: 20px; display: flex; flex-direction: column; gap: 10px;
  margin-top: auto; flex-shrink: 0;
}
.po-mini-cart__btn-checkout {
  display: block; width: 100%; padding: 15px;
  background: var(--green); color: #fff; border: none; border-radius: 10px;
  font-family: var(--font); font-size: 16px; font-weight: 700;
  text-align: center; text-decoration: none; cursor: pointer;
  transition: background 0.2s; line-height: 1;
}
.po-mini-cart__btn-checkout:hover { background: var(--green-dark); color: #fff; }
.po-mini-cart__btn-continue {
  background: none; border: none; cursor: pointer;
  font-family: var(--font); font-size: 14px; font-weight: 500;
  color: var(--text-secondary); text-align: center; padding: 6px;
  transition: color 0.15s;
}
.po-mini-cart__btn-continue:hover { color: var(--text-primary); }

/* ══════════════════════════════════════════════════════════════
   8. REDUCED MOTION
══════════════════════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ══════════════════════════════════════════════════════════════
   9. KADENCE THEME RESET
   Kadence: button:focus specificity 0,1,1 > clasa noastră 0,1,0.
   Fix: class+pseudo = 0,2,0 câștigă. Ordinea contează:
   :focus (reset) ÎNAINTE de :focus-visible (restore accesibilitate).
══════════════════════════════════════════════════════════════ */

/* ── Butoane CTA: menținem culorile proprii la focus mouse ── */
.btn-primary:focus,
.btn-cta:focus {
  outline: none; box-shadow: none;
  background: var(--green); color: #fff;
}
.btn-secondary:focus {
  outline: none; box-shadow: none;
  background: transparent; color: var(--green);
}
.btn-ghost:focus {
  outline: none; box-shadow: none;
  background: transparent; color: var(--text-secondary);
}
.po-mini-cart__btn-checkout:focus {
  outline: none; box-shadow: none;
  background: var(--green); color: #fff;
}

/* ── Butoane bare: eliminăm orice adăugire de la Kadence (hover/focus/active) ── */
.itl-step:hover, .itl-step:focus, .itl-step:active,
.gallery-thumb:hover, .gallery-thumb:focus, .gallery-thumb:active,
.gallery-dot:hover, .gallery-dot:focus, .gallery-dot:active,
.accordion-trigger:hover, .accordion-trigger:focus, .accordion-trigger:active,
.reviews-more:hover, .reviews-more:focus, .reviews-more:active,
.prospect-compact:hover, .prospect-compact:focus, .prospect-compact:active,
.po-mini-cart__close:hover, .po-mini-cart__close:focus, .po-mini-cart__close:active,
.po-mini-cart__item-remove:hover, .po-mini-cart__item-remove:focus, .po-mini-cart__item-remove:active,
.po-mini-cart__btn-continue:hover, .po-mini-cart__btn-continue:focus, .po-mini-cart__btn-continue:active {
  outline: none; box-shadow: none;
  background: none; color: inherit;
}

/* ── Restaurare focus-visible (tastatură) — TREBUIE după :focus ── */
.btn-primary:focus-visible,
.btn-cta:focus-visible {
  outline: 2px solid var(--green); outline-offset: 3px;
}
.btn-secondary:focus-visible,
.btn-ghost:focus-visible {
  outline: 2px solid var(--green); outline-offset: 3px;
}
.accordion-trigger:focus-visible {
  outline: 2px solid var(--green); outline-offset: 2px; border-radius: 4px;
}
.reviews-more:focus-visible {
  outline: 2px solid var(--green); outline-offset: 2px; border-radius: 2px;
}
.prospect-compact:focus-visible {
  outline: 2px solid var(--green); outline-offset: 2px; border-radius: var(--r);
}
.itl-step:focus-visible .itl-dot {
  outline: 2px solid var(--green); outline-offset: 3px; border-radius: 50%;
}
