/* Recenzii: hub + product review pages (templates/hd-recenzi*.php).
   Same tokens and card language as site-design.css. */
.rv-page{
  --ink:#1a1d1a; --paper:#f7f4ee; --card:#fffdf9; --line:#e4ddd0; --muted:#6a6459;
  --accent:#e8552b; --accent-dark:#c8421e; --green:#1f7a4d; --gold:#b8852a;
  --shadow:0 1px 2px rgba(26,29,26,.06),0 8px 24px rgba(26,29,26,.07);
  --radius:14px;
}
.rv-page .site{ background:transparent; }
.rv-page .site-content{ padding:0 !important; display:block; }
.rv-page .site-main{ margin:0 !important; padding:0 !important; }
.rv-page #primary{ width:100%; float:none; }

.rv-wrap{
  max-width:1200px; margin:0 auto; padding:28px 0 0;
  display:flex; flex-direction:column; gap:24px;
  color:var(--ink); font-family:'Hanken Grotesk',system-ui,sans-serif; font-size:16px; line-height:1.55;
}
.rv-wrap *,.rv-wrap *::before,.rv-wrap *::after{ box-sizing:border-box; }
.rv-wrap h1,.rv-wrap h2,.rv-wrap h3{ font-family:'Fraunces',Georgia,serif; font-weight:600; color:var(--ink); margin:0; line-height:1.15; }
.rv-wrap [hidden]{ display:none !important; }
.rv-wrap a{ color:var(--accent-dark); }
.rv-wrap a:hover{ color:var(--ink); }

.rv-crumbs{ font-size:14px; color:var(--muted); display:flex; flex-wrap:wrap; gap:6px; }
.rv-crumbs a{ color:var(--muted); }
.rv-crumbs [aria-current]{ color:var(--ink); }

.rv-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:24px; }
.rv-kicker{ font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--accent-dark); }
.rv-kicker--muted{ color:var(--muted); }
.rv-note{ margin:0; font-size:13px; color:var(--muted); }
.rv-disc{ margin:0; font-size:13px; color:var(--muted); }
.rv-demo{ margin:0; font-size:13px; color:#6b4f12; background:#f6ecd6; border:1px solid #ead8b0; border-radius:10px; padding:10px 14px; }

/* placeholder / image */
.rv-ph{ border-radius:12px; background:#efe9de; display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--muted); text-align:center; padding:12px; }
.rv-ph-brand{ font-weight:700; font-size:18px; }
.rv-ph-model{ font-size:13px; }
.rv-img{ border-radius:12px; width:100%; height:100%; object-fit:contain; background:#fff; }

/* hero */
.rv-hero{ display:flex; flex-wrap:wrap; gap:28px; }
.rv-hero-img{ flex:1 1 280px; min-height:260px; }
.rv-hero-body{ flex:999 1 420px; min-width:0; display:flex; flex-direction:column; gap:12px; }
.rv-hero h1{ font-size:clamp(28px,4vw,40px); }
.rv-rating{ display:flex; align-items:center; gap:8px; font-size:15px; }
.rv-stars{ display:inline-flex; gap:2px; }
.rv-chips{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.rv-chips li{ margin:0; padding:4px 12px; border-radius:999px; background:var(--paper); border:1px solid var(--line); font-size:14px; }
.rv-pricebox{ background:var(--paper); border-radius:12px; padding:18px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; }
.rv-small{ display:block; font-size:13px; color:var(--muted); }
.rv-price{ display:block; font-family:'Fraunces',Georgia,serif; font-size:36px; font-weight:700; line-height:1.1; margin:2px 0 8px; }
.rv-pills{ display:flex; flex-wrap:wrap; gap:8px; }
.rv-pill{ display:inline-flex; align-items:center; gap:6px; padding:3px 10px; border-radius:999px; font-size:13px; font-weight:700; background:#efe9de; color:#4f4a42; }
.rv-pill--ok,.rv-pill--down,.rv-pill--good{ background:#e3f1e9; color:var(--green); }
.rv-pill--up,.rv-pill--wait{ background:#fbe6dd; color:#a8361a; }

/* buttons */
.rv-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; background:var(--accent-dark); color:#fff !important; font-weight:700; text-decoration:none !important; padding:13px 22px; border-radius:10px; min-height:48px; border:1px solid var(--accent-dark); line-height:1.2; text-align:center; }
.rv-btn:hover{ background:#a8361a; border-color:#a8361a; }
.rv-btn--ghost{ background:transparent; color:var(--ink) !important; border-color:var(--ink); }
.rv-btn--ghost:hover{ background:var(--ink); border-color:var(--ink); color:#fff !important; }

/* verdict */
.rv-verdict{ display:flex; gap:16px; align-items:flex-start; border-radius:var(--radius); padding:20px 22px; border:1px solid var(--line); background:#f3eee4; }
.rv-verdict--good{ background:#e3f1e9; border-color:#b9dcc8; }
.rv-verdict--wait{ background:#fbe9e1; border-color:#f2c3b1; }
.rv-vicon{ flex:0 0 44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; background:var(--muted); }
.rv-verdict--good .rv-vicon{ background:var(--green); }
.rv-verdict--wait .rv-vicon{ background:var(--accent-dark); }
.rv-verdict h2{ font-size:22px; margin:2px 0 4px; }
.rv-verdict p{ margin:0; }

/* stat tiles */
.rv-tiles{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.rv-tile{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:14px 18px; }
.rv-tile span{ display:block; font-size:13px; color:var(--muted); }
.rv-tile b{ display:block; font-family:'Fraunces',Georgia,serif; font-size:24px; }

/* chart */
.rv-chart-head{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; margin-bottom:8px; }
.rv-chart h2{ font-size:24px; }
.rv-toggle{ display:flex; gap:6px; }
.rv-toggle button{ font:inherit; font-size:14px; font-weight:700; min-height:44px; padding:8px 16px; border-radius:999px; border:1px solid var(--line); background:var(--card); color:var(--ink); cursor:pointer; }
.rv-toggle button[aria-pressed="true"]{ background:var(--ink); border-color:var(--ink); color:#fff; }
.rv-plot-wrap{ padding:12px 0 32px 64px; }
.rv-plot{ position:relative; height:260px; touch-action:pan-y; }
.rv-gridline{ position:absolute; left:0; right:0; border-top:1px solid #ece6da; }
.rv-ylab{ position:absolute; left:-64px; width:54px; text-align:right; transform:translateY(-50%); font-size:12px; color:var(--muted); }
.rv-xlab{ position:absolute; top:100%; margin-top:10px; transform:translateX(-50%); font-size:12px; color:var(--muted); }
.rv-oos{ position:absolute; top:0; bottom:0; background:repeating-linear-gradient(135deg,#ece5d8 0 5px,var(--paper) 5px 11px); display:flex; justify-content:center; align-items:flex-start; }
.rv-oos span{ margin-top:8px; padding:2px 8px; border-radius:6px; background:var(--card); font-size:12px; font-weight:700; color:var(--muted); white-space:nowrap; }
.rv-avg{ position:absolute; left:0; right:0; border-top:2px dashed var(--gold); }
.rv-avg span{ position:absolute; left:4px; bottom:4px; font-size:12px; font-weight:600; color:var(--muted); background:var(--card); padding:0 4px; }
.rv-line{ position:absolute; left:0; top:0; width:100%; height:100%; overflow:visible; }
.rv-line path{ fill:none; stroke:var(--ink); stroke-width:2; stroke-linejoin:round; stroke-linecap:round; }
.rv-dot,.rv-hdot{ position:absolute; width:12px; height:12px; margin:-6px 0 0 -6px; border-radius:50%; box-shadow:0 0 0 2px var(--card); pointer-events:none; }
.rv-dot--min{ background:var(--green); }
.rv-dot--now{ background:var(--accent); width:14px; height:14px; margin:-7px 0 0 -7px; }
.rv-hdot{ background:var(--ink); }
.rv-mlab{ position:absolute; font-size:12px; font-weight:700; white-space:nowrap; pointer-events:none; }
.rv-mlab--min{ color:var(--green); transform:translate(-50%,12px); }
.rv-mlab--now{ transform:translate(-100%,-170%); }
.rv-cross{ position:absolute; top:0; bottom:0; border-left:1px dashed var(--muted); pointer-events:none; }
.rv-tip{ position:absolute; top:6px; background:var(--ink); color:#fff; padding:6px 10px; border-radius:8px; font-size:13px; white-space:nowrap; pointer-events:none; z-index:2; }
.rv-chart details{ border-top:1px solid var(--line); margin-top:12px; padding-top:10px; }
.rv-chart summary{ cursor:pointer; font-weight:600; font-size:14px; }
.rv-rows{ list-style:none; margin:8px 0 0; padding:0; max-height:240px; overflow:auto; }
.rv-rows li{ margin:0; display:flex; justify-content:space-between; gap:12px; padding:6px 4px; border-bottom:1px solid #f0eadf; font-size:14px; }
.rv-rows li span{ color:var(--muted); }

/* pe scurt + sfaturi */
.rv-two{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.rv-two h2{ font-size:24px; margin-bottom:14px; }
.rv-dl{ margin:0; }
.rv-dl dt{ font-size:13px; font-weight:700; color:var(--muted); margin-top:12px; }
.rv-dl dt:first-child{ margin-top:0; }
.rv-dl dd{ margin:2px 0 0; }
.rv-dl ul{ margin:0; padding-left:18px; }
.rv-dl li{ margin:0; }
.rv-dl .rv-dt-good{ color:var(--green); }
.rv-dl .rv-dt-bad{ color:#a8361a; }
.rv-tips{ list-style:none; margin:0; padding:0; counter-reset:rvt; display:flex; flex-direction:column; gap:14px; }
.rv-tips li{ counter-increment:rvt; display:flex; gap:12px; margin:0; }
.rv-tips li::before{ content:counter(rvt); flex:0 0 28px; height:28px; border-radius:50%; background:var(--ink); color:#fff; font-weight:700; font-size:14px; display:flex; align-items:center; justify-content:center; }

/* product cards (hub + alternatives) */
.rv-head{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:8px; margin-bottom:14px; }
.rv-head h2{ font-size:26px; }
.rv-head a{ font-weight:600; }
.rv-grid3{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.rv-pc{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:14px; display:flex; flex-direction:column; gap:8px; }
.rv-pc-img{ display:block; height:140px; text-decoration:none !important; }
.rv-pc-img .rv-ph{ height:100%; }
.rv-badge{ align-self:flex-start; font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; background:var(--ink); color:#fff; padding:3px 9px; border-radius:6px; }
.rv-pc h3{ font-size:19px; }
.rv-pc h3 a{ color:var(--ink); text-decoration:none; }
.rv-pc h3 a:hover{ color:var(--accent-dark); }
.rv-pc-price{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.rv-pc-price b{ font-size:21px; }
.rv-pc-price > span:not(.rv-pill){ font-size:13px; font-weight:700; color:var(--muted); }
.rv-pc-price > span.is-less{ color:var(--green); }
.rv-pc-actions{ display:flex; gap:8px; margin-top:auto; padding-top:6px; }
.rv-pc-actions .rv-btn{ flex:1 1 0; min-height:44px; padding:10px 8px; font-size:14px; }

/* hub link + hub intro */
.rv-hub{ display:flex; justify-content:space-between; align-items:center; gap:16px; background:var(--ink); color:#f7f4ee !important; border-radius:var(--radius); padding:22px 24px; text-decoration:none !important; }
.rv-hub small{ display:block; font-size:12px; font-weight:700; letter-spacing:.12em; color:#f0a184; }
.rv-hub strong{ display:block; font-family:'Fraunces',Georgia,serif; font-size:22px; font-weight:600; color:#f7f4ee; }
.rv-hub span span{ display:block; font-size:14px; color:#d8d2c6; }
.rv-intro{ text-align:center; padding:48px 24px 44px; background:linear-gradient(180deg,#fffaf2 0%,var(--card) 100%); }
.rv-intro h1{ font-size:clamp(30px,4.5vw,44px); margin:10px 0; }
.rv-intro p{ margin:0 auto; max-width:620px; color:var(--muted); }

@media (max-width:900px){
  .rv-tiles{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rv-grid3{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rv-two{ grid-template-columns:1fr; }
}
@media (max-width:768px){
  .rv-wrap{ padding:16px 18px 0; gap:18px; }
}
@media (max-width:600px){
  .rv-card{ padding:18px; }
  .rv-grid3{ grid-template-columns:1fr; }
  .rv-hero-img{ min-height:150px; }
  .rv-pricebox > div{ width:100%; }
  .rv-pricebox .rv-btn{ width:100%; }
  .rv-price{ font-size:32px; }
  .rv-plot-wrap{ padding-left:52px; }
  .rv-ylab{ left:-52px; width:46px; font-size:11px; }
  .rv-intro{ padding:36px 16px 32px; }
}
