/* Programul „Promovare gratuită prin recomandări”: invitațiile din site (.rf-card, .rf-home), bara de progres (.rf-bar),
   panoul din cont (.rf-panel), pagina programului (.rf-page) și mesajul de bun venit (.rf-welcome).
   Stiluri proprii, ca să nu depindă de clasele compilate ale Tailwind. */
:root {
  --rf-green: #059669; --rf-green-700: #047857; --rf-green-50: #ecfdf5; --rf-green-100: #d1fae5; --rf-green-200: #a7f3d0;
  --rf-amber: #f59e0b; --rf-ink: #0f172a; --rf-text: #334155; --rf-muted: #64748b; --rf-line: #e2e8f0; --rf-blue: #2563eb;
}
.rf-ico { width: 22px; height: 22px; flex-shrink: 0; }
.rf-arrow { width: 16px; height: 16px; flex-shrink: 0; transition: transform .2s; }

/* ---------- Bara de progres ---------- */
.rf-bar { position: relative; height: 14px; border-radius: 999px; background: #e2e8f0; overflow: hidden; }
.rf-bar__fill { position: absolute; inset: 0 auto 0 0; width: 0; border-radius: inherit; background: linear-gradient(90deg, #10b981, #059669); transition: width 1.1s cubic-bezier(.22, 1, .36, 1); }
.rf-bar__fill::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .45), transparent); transform: translateX(-100%); animation: rf-shine 2.4s ease-in-out infinite; }
.rf-bar.is-full .rf-bar__fill { background: linear-gradient(90deg, #059669, #f59e0b); }
.rf-bar__ticks { position: absolute; inset: 0; background: repeating-linear-gradient(90deg, transparent 0, transparent calc(5% - 1px), rgba(255, 255, 255, .7) calc(5% - 1px), rgba(255, 255, 255, .7) 5%); pointer-events: none; }
.rf-bar--lg { height: 22px; }
.rf-bar--sm { height: 8px; }
.rf-bar--sm .rf-bar__ticks { display: none; }
@keyframes rf-shine { 0% { transform: translateX(-100%); } 60%, 100% { transform: translateX(100%); } }
.rf-scale { display: flex; justify-content: space-between; margin-top: 6px; font-size: .72rem; font-weight: 600; color: var(--rf-muted); font-variant-numeric: tabular-nums; }
@media (prefers-reduced-motion: reduce) { .rf-bar__fill { transition: none; } .rf-bar__fill::after { animation: none; } }

/* ---------- Invitația din paginile site-ului ---------- */
.rf-wrap { margin: 24px 0; }
.rf-wrap--list { margin: 0; }
.rf-wrap--tight { margin: 0 0 24px; }
.rf-wrap--blog { margin: 28px 0; }
.rf-card {
  position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 14px; align-items: start;
  padding: 16px; border-radius: 16px; border: 1px solid var(--rf-green-200);
  background: linear-gradient(135deg, #f0fdf4 0%, var(--rf-green-50) 55%, #fffbeb 100%);
  color: var(--rf-text); text-decoration: none !important; overflow: hidden; transition: border-color .2s, box-shadow .2s;
}
.rf-card:hover { border-color: #6ee7b7; box-shadow: 0 8px 24px rgba(5, 150, 105, .14); }
.rf-card:focus-visible { outline: 3px solid rgba(5, 150, 105, .35); outline-offset: 2px; }
.rf-card::after { content: ""; position: absolute; right: -40px; top: -40px; width: 150px; height: 150px; border-radius: 50%; background: radial-gradient(circle, rgba(245, 158, 11, .16), transparent 70%); pointer-events: none; }
.rf-card__icon { grid-row: span 2; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 13px; color: #fff; background: linear-gradient(135deg, #10b981, var(--rf-green-700)); box-shadow: 0 6px 14px rgba(5, 150, 105, .28); }
.rf-card__body { display: grid; gap: 4px; min-width: 0; }
.rf-card__kicker { font-size: .7rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--rf-green-700); }
.rf-card__title { font-size: 1.02rem; font-weight: 800; line-height: 1.3; color: var(--rf-ink); }
.rf-card__text { font-size: .9rem; line-height: 1.55; color: var(--rf-text); }
.rf-card__steps { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.rf-card__steps > span { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; background: #fff; border: 1px solid var(--rf-green-100); font-size: .76rem; font-weight: 600; color: var(--rf-text); }
.rf-card__steps b { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: var(--rf-green); color: #fff; font-size: .68rem; }
.rf-card__progress { display: grid; gap: 4px; margin-top: 8px; max-width: 420px; }
.rf-card__progress span { font-size: .78rem; font-weight: 700; color: var(--rf-green-700); font-variant-numeric: tabular-nums; }
.rf-card__cta { grid-column: 1 / -1; display: inline-flex; align-items: center; justify-content: center; gap: 6px; margin-top: 10px; padding: 10px 16px; border-radius: 12px; background: var(--rf-green); color: #fff; font-weight: 700; font-size: .92rem; transition: background-color .2s; }
.rf-card:hover .rf-card__cta { background: var(--rf-green-700); }
.rf-card:hover .rf-arrow { transform: translateX(3px); }
@media (min-width: 640px) {
  .rf-card { grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; padding: 18px 20px; gap: 4px 18px; }
  .rf-card__icon { grid-row: auto; width: 52px; height: 52px; border-radius: 15px; }
  .rf-card__icon .rf-ico { width: 26px; height: 26px; }
  .rf-card__cta { grid-column: auto; margin-top: 0; white-space: nowrap; }
}
/* În articolele de blog, peste stilurile textului */
.rf-wrap--blog .rf-card { color: var(--rf-text); }
.rf-wrap--blog .rf-card, .rf-wrap--blog .rf-card * { text-decoration: none; }
.rf-wrap--blog .rf-card__title { margin: 0; }
.rf-wrap--blog p { margin: 0; }

/* ---------- Homepage ---------- */
.rf-home { position: relative; padding: 48px 0; overflow: hidden; background: radial-gradient(1200px 400px at 85% 0%, rgba(245, 158, 11, .18), transparent 60%), linear-gradient(135deg, #064e3b 0%, #047857 55%, #065f46 100%); color: #ecfdf5; }
@media (min-width: 768px) { .rf-home { padding: 72px 0; } }
.rf-home__inner { position: relative; max-width: 80rem; margin: 0 auto; padding: 0 16px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: center; }
@media (min-width: 640px) { .rf-home__inner { padding: 0 24px; } }
@media (min-width: 1024px) { .rf-home__inner { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 56px; padding: 0 32px; } }
.rf-home__eyebrow { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .2); color: #fde68a; font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.rf-home__eyebrow .rf-ico { width: 16px; height: 16px; }
.rf-home__title { margin: 14px 0 10px; font-size: clamp(1.7rem, 4vw, 2.6rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.15; color: #fff; }
.rf-home__title em { font-style: normal; color: #fcd34d; }
.rf-home__lead { max-width: 40rem; font-size: 1.05rem; line-height: 1.65; color: #d1fae5; }
.rf-home__steps { display: grid; gap: 10px; margin: 22px 0 26px; padding: 0; list-style: none; counter-reset: rf; }
@media (min-width: 640px) { .rf-home__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.rf-home__steps li { counter-increment: rf; display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; border-radius: 14px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14); font-size: .92rem; line-height: 1.45; color: #ecfdf5; }
.rf-home__steps li::before { content: counter(rf); display: grid; place-items: center; flex-shrink: 0; width: 26px; height: 26px; border-radius: 50%; background: #fcd34d; color: #064e3b; font-weight: 800; font-size: .85rem; }
.rf-home__steps strong { color: #fff; }
.rf-home__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.rf-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 20px; border-radius: 12px; font-weight: 700; font-size: .95rem; text-decoration: none; border: 0; cursor: pointer; transition: background-color .2s, color .2s, box-shadow .2s, transform .2s; }
.rf-btn:hover .rf-arrow { transform: translateX(3px); }
.rf-btn svg:not(.rf-arrow) { width: 18px; height: 18px; flex-shrink: 0; }
.rf-btn--gold { background: #fcd34d; color: #064e3b; box-shadow: 0 8px 20px rgba(0, 0, 0, .18); }
.rf-btn--gold:hover { background: #fde68a; }
.rf-btn--ghost { background: rgba(255, 255, 255, .1); color: #fff; border: 1px solid rgba(255, 255, 255, .3); }
.rf-btn--ghost:hover { background: rgba(255, 255, 255, .18); }
.rf-btn--green { background: var(--rf-green); color: #fff; }
.rf-btn--green:hover { background: var(--rf-green-700); }
.rf-btn--light { background: #fff; color: var(--rf-ink); border: 1px solid var(--rf-line); }
.rf-btn--light:hover { border-color: #cbd5e1; background: #f8fafc; }
.rf-btn[disabled] { opacity: .6; cursor: not-allowed; }
.rf-btn:focus-visible { outline: 3px solid rgba(252, 211, 77, .6); outline-offset: 2px; }

/* Machetă: panoul de progres, animat */
.rf-demo { position: relative; padding: 22px; border-radius: 22px; background: #fff; color: var(--rf-text); box-shadow: 0 30px 60px rgba(2, 44, 34, .35); }
.rf-demo__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.rf-demo__who { display: flex; align-items: center; gap: 10px; font-weight: 700; color: var(--rf-ink); }
.rf-demo__avatar { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; color: #fff; background: linear-gradient(135deg, #10b981, #047857); }
.rf-demo__badge { padding: 4px 10px; border-radius: 999px; background: var(--rf-green-50); color: var(--rf-green-700); font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.rf-demo__count { display: flex; align-items: baseline; gap: 8px; margin-bottom: 10px; color: var(--rf-muted); font-size: .9rem; }
.rf-demo__count b { font-size: 2rem; font-weight: 800; color: var(--rf-ink); font-variant-numeric: tabular-nums; }
.rf-demo .rf-bar__fill { animation: rf-demo-fill 7s cubic-bezier(.4, 0, .2, 1) infinite; }
@keyframes rf-demo-fill { 0% { width: 8%; } 70%, 92% { width: 100%; } 100% { width: 8%; } }
.rf-demo__link { display: flex; align-items: center; gap: 8px; margin-top: 16px; padding: 10px 12px; border-radius: 12px; background: #f8fafc; border: 1px dashed #cbd5e1; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .85rem; color: var(--rf-ink); overflow: hidden; white-space: nowrap; }
.rf-demo__share { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.rf-demo__share span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: #fff; }
.rf-demo__share svg { width: 18px; height: 18px; }
.rf-demo__prize { display: flex; align-items: center; gap: 10px; margin-top: 16px; padding: 12px 14px; border-radius: 14px; background: linear-gradient(135deg, #fffbeb, #fef3c7); border: 1px solid #fde68a; color: #78350f; font-size: .9rem; font-weight: 600; }
.rf-demo__prize .rf-ico { color: #d97706; }
@media (prefers-reduced-motion: reduce) { .rf-demo .rf-bar__fill { animation: none; width: 65%; } }

/* Culorile rețelelor */
.rf-s-wa { background: #22c55e; } .rf-s-fb { background: #1877f2; } .rf-s-in { background: #0a66c2; } .rf-s-x { background: #0f172a; }
.rf-s-tg { background: #229ed9; } .rf-s-mail { background: #475569; } .rf-s-more { background: var(--rf-green); }

/* ---------- Panoul din cont ---------- */
.rf-panel { scroll-margin-top: 90px; margin-bottom: 24px; border-radius: 18px; border: 1px solid var(--rf-green-200); background: #fff; box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 10px 30px rgba(5, 150, 105, .08); overflow: hidden; }
.rf-panel__head { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 12px 20px; padding: 20px; background: linear-gradient(135deg, #f0fdf4, #ecfdf5 60%, #fffbeb); border-bottom: 1px solid var(--rf-green-100); }
@media (min-width: 640px) { .rf-panel__head { padding: 22px 24px; } }
.rf-panel__titlewrap { display: flex; gap: 14px; align-items: flex-start; min-width: 0; flex: 1 1 320px; }
.rf-panel__icon { display: grid; place-items: center; flex-shrink: 0; width: 46px; height: 46px; border-radius: 14px; color: #fff; background: linear-gradient(135deg, #10b981, #047857); box-shadow: 0 6px 14px rgba(5, 150, 105, .25); }
.rf-panel__title { margin: 0; font-size: 1.2rem; font-weight: 800; color: var(--rf-ink); line-height: 1.3; }
.rf-panel__sub { margin: 4px 0 0; font-size: .92rem; line-height: 1.55; color: var(--rf-text); }
.rf-panel__how { display: inline-flex; align-items: center; gap: 6px; font-size: .88rem; font-weight: 700; color: var(--rf-green-700); text-decoration: none; white-space: nowrap; }
.rf-panel__how:hover { text-decoration: underline; }
.rf-panel__body { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; padding: 20px; }
.rf-panel__body > * { min-width: 0; }
@media (min-width: 640px) { .rf-panel__body { padding: 24px; } }
@media (min-width: 1024px) { .rf-panel__body { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; } }
.rf-label { display: block; margin-bottom: 8px; font-size: .78rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--rf-muted); }
.rf-progress__top { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.rf-progress__count { font-size: 1rem; color: var(--rf-muted); }
.rf-progress__count b { font-size: 2.1rem; font-weight: 800; color: var(--rf-ink); font-variant-numeric: tabular-nums; }
.rf-progress__pct { font-size: 1.1rem; font-weight: 800; color: var(--rf-green-700); font-variant-numeric: tabular-nums; }
.rf-progress__hint { margin: 10px 0 0; font-size: .9rem; line-height: 1.5; color: var(--rf-text); }
.rf-progress__hint strong { color: var(--rf-ink); }
.rf-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
@media (min-width: 640px) { .rf-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .rf-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .rf-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.rf-stat { padding: 10px 12px; border-radius: 12px; background: #f8fafc; border: 1px solid var(--rf-line); }
.rf-stat b { display: block; font-size: 1.25rem; font-weight: 800; color: var(--rf-ink); font-variant-numeric: tabular-nums; }
.rf-stat span { font-size: .76rem; color: var(--rf-muted); line-height: 1.3; }
.rf-linkbox { display: flex; gap: 8px; }
.rf-linkbox input { flex: 1 1 auto; min-width: 0; padding: 11px 12px; border-radius: 12px; border: 1px solid #cbd5e1; background: #f8fafc; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .92rem; color: var(--rf-ink); }
.rf-linkbox input:focus { outline: 2px solid rgba(5, 150, 105, .35); border-color: var(--rf-green); }
.rf-linkbox .rf-btn { padding: 11px 16px; white-space: nowrap; }
.rf-msg { width: 100%; min-height: 112px; margin-top: 14px; padding: 10px 12px; border-radius: 12px; border: 1px solid #cbd5e1; font: inherit; font-size: .9rem; line-height: 1.5; color: var(--rf-text); resize: vertical; }
.rf-msg:focus { outline: 2px solid rgba(5, 150, 105, .35); border-color: var(--rf-green); }
.rf-share { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.rf-share a, .rf-share button { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 999px; border: 0; color: #fff; font-weight: 700; font-size: .85rem; text-decoration: none; cursor: pointer; transition: filter .2s, transform .2s; }
.rf-share a:hover, .rf-share button:hover { filter: brightness(1.08); transform: translateY(-1px); }
.rf-share svg { width: 18px; height: 18px; flex-shrink: 0; }
.rf-share [hidden] { display: none; }
.rf-note { display: flex; gap: 8px; margin-top: 14px; padding: 10px 12px; border-radius: 12px; background: #f8fafc; font-size: .82rem; line-height: 1.5; color: var(--rf-muted); }
.rf-note svg { width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px; }
.rf-unlock { grid-column: 1 / -1; padding: 18px; border-radius: 16px; background: linear-gradient(135deg, #fffbeb, #fef3c7); border: 1px solid #fcd34d; }
.rf-unlock__title { display: flex; align-items: center; gap: 10px; margin: 0 0 4px; font-size: 1.1rem; font-weight: 800; color: #78350f; }
.rf-unlock__title .rf-ico { color: #d97706; }
.rf-unlock p { margin: 0 0 12px; font-size: .92rem; line-height: 1.55; color: #78350f; }
.rf-choices { display: grid; gap: 8px; margin-bottom: 14px; }
@media (min-width: 768px) { .rf-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.rf-choice { position: relative; display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 14px; background: #fff; border: 2px solid #fde68a; cursor: pointer; transition: border-color .2s, box-shadow .2s; }
.rf-choice:hover { border-color: #f59e0b; }
.rf-choice input { position: absolute; opacity: 0; pointer-events: none; }
.rf-choice:has(input:checked) { border-color: var(--rf-green); box-shadow: 0 0 0 3px rgba(5, 150, 105, .15); }
.rf-choice.is-off { opacity: .55; cursor: not-allowed; }
.rf-choice__img { flex-shrink: 0; width: 52px; height: 52px; border-radius: 10px; background: #f1f5f9 center / cover no-repeat; }
.rf-choice__txt { min-width: 0; }
.rf-choice__txt b { display: block; font-size: .92rem; color: var(--rf-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rf-choice__txt span { font-size: .78rem; color: var(--rf-muted); }
.rf-choice__radio { flex-shrink: 0; width: 20px; height: 20px; margin-left: auto; border-radius: 50%; border: 2px solid #cbd5e1; }
.rf-choice:has(input:checked) .rf-choice__radio { border: 6px solid var(--rf-green); }
.rf-result { margin-top: 12px; font-size: .92rem; font-weight: 600; }
.rf-result.is-ok { color: var(--rf-green-700); }
.rf-result.is-err { color: #b91c1c; }
.rf-active { grid-column: 1 / -1; display: grid; gap: 8px; }
.rf-active__item { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; padding: 10px 14px; border-radius: 12px; background: var(--rf-green-50); border: 1px solid var(--rf-green-100); font-size: .9rem; }
.rf-active__item a { font-weight: 700; color: var(--rf-ink); text-decoration: none; }
.rf-active__item a:hover { text-decoration: underline; }
.rf-active__item span { color: var(--rf-green-700); font-weight: 600; }
.rf-active__item.is-past { background: #f8fafc; border-color: var(--rf-line); }
.rf-active__item.is-past span { color: var(--rf-muted); }
.rf-suspended { grid-column: 1 / -1; padding: 14px 16px; border-radius: 14px; background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; font-size: .92rem; }

/* ---------- Pagina programului ---------- */
.rf-page { color: var(--rf-text); }
.rf-page__hero { position: relative; overflow: hidden; padding: 44px 0 56px; background: radial-gradient(900px 380px at 90% -10%, rgba(245, 158, 11, .22), transparent 60%), linear-gradient(135deg, #064e3b 0%, #047857 60%, #065f46 100%); color: #ecfdf5; }
@media (min-width: 768px) { .rf-page__hero { padding: 64px 0 80px; } }
.rf-container { max-width: 76rem; margin: 0 auto; padding: 0 16px; }
@media (min-width: 640px) { .rf-container { padding: 0 24px; } }
.rf-page__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: center; }
@media (min-width: 1024px) { .rf-page__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 56px; } }
.rf-page__crumbs { margin-bottom: 14px; font-size: .85rem; color: #a7f3d0; }
.rf-page__crumbs a { color: #d1fae5; text-decoration: none; }
.rf-page__crumbs a:hover { text-decoration: underline; }
.rf-page h1 { margin: 14px 0 12px; font-size: clamp(1.9rem, 4.5vw, 3rem); font-weight: 800; letter-spacing: -.025em; line-height: 1.1; color: #fff; }
.rf-page h1 em { font-style: normal; color: #fcd34d; }
.rf-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 24px 0 26px; }
@media (min-width: 640px) { .rf-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.rf-fact { padding: 12px 14px; border-radius: 14px; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .18); }
.rf-fact b { display: block; font-size: 1.5rem; font-weight: 800; color: #fff; line-height: 1.1; }
.rf-fact span { font-size: .8rem; color: #d1fae5; }
.rf-me { padding: 20px; border-radius: 20px; background: #fff; color: var(--rf-text); box-shadow: 0 30px 60px rgba(2, 44, 34, .35); }
.rf-me h2 { margin: 0 0 4px; font-size: 1.05rem; font-weight: 800; color: var(--rf-ink); }
.rf-me p { margin: 10px 0 14px; font-size: .9rem; line-height: 1.5; }
.rf-section { padding: 48px 0; }
@media (min-width: 768px) { .rf-section { padding: 64px 0; } }
.rf-section--alt { background: #f8fafc; }
.rf-eyebrow { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 999px; background: var(--rf-green-50); color: var(--rf-green-700); font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.rf-eyebrow svg { width: 15px; height: 15px; flex-shrink: 0; }
.rf-h2 { margin: 12px 0 8px; font-size: clamp(1.45rem, 3vw, 2rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.2; color: var(--rf-ink); }
.rf-lead { max-width: 46rem; margin: 0 0 26px; font-size: 1.02rem; line-height: 1.65; color: #475569; }
.rf-steps { display: grid; gap: 14px; padding: 0; margin: 0; list-style: none; }
@media (min-width: 768px) { .rf-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .rf-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.rf-step { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 22px 20px 20px; border-radius: 18px; background: #fff; border: 1px solid var(--rf-line); box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 6px 20px rgba(15, 23, 42, .05); }
.rf-step__num { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: linear-gradient(135deg, #10b981, #047857); color: #fff; font-size: 1.05rem; font-weight: 800; }
.rf-step h3 { margin: 4px 0 0; font-size: 1.05rem; font-weight: 800; color: var(--rf-ink); }
.rf-step p { margin: 0; font-size: .92rem; line-height: 1.6; }
.rf-step__tag { align-self: flex-start; margin-top: auto; padding: 3px 10px; border-radius: 999px; background: #f1f5f9; color: #475569; font-size: .74rem; font-weight: 700; }
.rf-zones { display: grid; gap: 14px; }
@media (min-width: 640px) { .rf-zones { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .rf-zones { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.rf-zone { padding: 20px; border-radius: 18px; background: #fff; border: 1px solid var(--rf-line); }
.rf-zone__icon { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 10px; border-radius: 12px; background: #fef3c7; color: #b45309; }
.rf-zone h3 { margin: 0 0 6px; font-size: 1rem; font-weight: 800; color: var(--rf-ink); }
.rf-zone p { margin: 0; font-size: .9rem; line-height: 1.55; }
.rf-two { display: grid; gap: 20px; }
@media (min-width: 900px) { .rf-two { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; } }
.rf-box { padding: 22px; border-radius: 18px; background: #fff; border: 1px solid var(--rf-line); }
.rf-box h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 1.05rem; font-weight: 800; color: var(--rf-ink); }
.rf-list { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.rf-list li { display: flex; gap: 10px; font-size: .93rem; line-height: 1.55; }
.rf-list li::before { content: ""; flex-shrink: 0; width: 20px; height: 20px; margin-top: 1px; border-radius: 50%; background: var(--rf-green-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23047857' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 12px no-repeat; }
.rf-list--no li::before { background: #fef2f2 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b91c1c' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") center / 11px no-repeat; }
.rf-rules { counter-reset: rr; display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.rf-rules li { counter-increment: rr; position: relative; padding: 12px 14px 12px 50px; border-radius: 14px; background: #fff; border: 1px solid var(--rf-line); font-size: .93rem; line-height: 1.6; }
.rf-rules li::before { content: counter(rr); position: absolute; left: 14px; top: 12px; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 8px; background: #f1f5f9; color: #334155; font-size: .8rem; font-weight: 800; }
.rf-meta { margin-top: 14px; font-size: .85rem; color: var(--rf-muted); }
.rf-meta a { color: var(--rf-green-700); }
.rf-faq { display: grid; gap: 10px; }
.rf-faq details { border-radius: 14px; background: #fff; border: 1px solid var(--rf-line); }
.rf-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; font-weight: 700; color: var(--rf-ink); cursor: pointer; list-style: none; }
.rf-faq summary::-webkit-details-marker { display: none; }
.rf-faq summary::after { content: "+"; flex-shrink: 0; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; background: var(--rf-green-50); color: var(--rf-green-700); font-weight: 800; }
.rf-faq details[open] summary::after { content: "−"; }
.rf-faq p { margin: 0; padding: 0 16px 16px; font-size: .93rem; line-height: 1.65; }
.rf-final { padding: 36px 24px; border-radius: 24px; text-align: center; background: linear-gradient(135deg, #064e3b, #047857); color: #d1fae5; }
.rf-final h2 { margin: 0 0 8px; font-size: clamp(1.4rem, 3vw, 1.9rem); font-weight: 800; color: #fff; }
.rf-final p { max-width: 38rem; margin: 0 auto 20px; line-height: 1.6; }
.rf-final .rf-home__actions { justify-content: center; }

/* ---------- Bun venit pentru vizitatorii veniți prin recomandare ---------- */
.rf-welcome { background: linear-gradient(90deg, #ecfdf5, #fffbeb); border-bottom: 1px solid var(--rf-green-100); }
.rf-welcome__in { display: flex; align-items: center; gap: 12px; max-width: 80rem; margin: 0 auto; padding: 10px 16px; font-size: .9rem; color: var(--rf-text); }
.rf-welcome__in .rf-ico { color: var(--rf-green); }
.rf-welcome__in p { flex: 1 1 auto; margin: 0; line-height: 1.45; }
.rf-welcome__in a { font-weight: 700; color: var(--rf-green-700); white-space: nowrap; }
.rf-welcome__x { flex-shrink: 0; display: grid; place-items: center; width: 30px; height: 30px; border: 0; border-radius: 8px; background: transparent; color: var(--rf-muted); font-size: 1.2rem; cursor: pointer; }
.rf-welcome__x:hover { background: rgba(15, 23, 42, .06); }
