/*
Theme Name: Revanzator
Theme URI: https://revanzator.ro
Author: Revanzator.ro
Author URI: https://revanzator.ro
Description: Temă custom pentru Revanzator.ro — platformă de aprovizionare pentru revânzători (haine second-hand la kg și parfumuri individuale). Fără cont de utilizator, fără plată online — comenzile se trimit pe WhatsApp/telefon/formular. Necesită plugin-ul Advanced Custom Fields (ACF).
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: revanzator
*/

:root{
  --rv-bg:#FFFFFF; --rv-bg-soft:#F5F5F7;
  --rv-ink:#0A0A0B; --rv-ink-2:#424245; --rv-muted:#6E6E73;
  --rv-line:#E8E8ED; --rv-line-strong:#D2D2D7;
  --rv-accent:#0A0A0B; --rv-accent-ink:#FFFFFF;
  --rv-growth:#0F9D53; --rv-growth-dark:#0B7A41; --rv-growth-soft:#E4F7EC;
  --rv-black:#000000; --rv-black-soft:#161617;
  --rv-warn:#F59E0B; --rv-warn-soft:#FFFBEB;
  --rv-info:#6366F1; --rv-info-soft:#EEF2FF;
  --rv-radius-sm:14px; --rv-radius:20px; --rv-radius-lg:32px; --rv-radius-pill:999px;
  --rv-shadow-xs:0 1px 2px rgba(10,10,11,.04);
  --rv-shadow-sm:0 2px 12px rgba(10,10,11,.05);
  --rv-shadow:0 8px 30px rgba(10,10,11,.07);
  --rv-shadow-lg:0 24px 60px rgba(10,10,11,.10);
  --rv-shadow-btn:0 10px 24px rgba(10,10,11,.18);
  --rv-font:'Plus Jakarta Sans','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --rv-nav-h:84px;
  --rv-ease:cubic-bezier(.22,1,.36,1);
  --rv-t-fast:.18s var(--rv-ease); --rv-t:.32s var(--rv-ease);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--rv-bg);color:var(--rv-ink);
  font-family:var(--rv-font);font-size:1.0625rem;line-height:1.65;letter-spacing:-.006em;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{line-height:1.05;font-weight:700;letter-spacing:-.03em;margin:0;}
p{margin:0;color:var(--rv-ink-2);}
a{color:inherit;text-decoration:none;transition:color var(--rv-t-fast);}
button{font-family:inherit;cursor:pointer;background:none;border:none;color:inherit;}
:focus-visible{outline:2px solid var(--rv-growth);outline-offset:2px;}
img{max-width:100%;display:block;}
@media(prefers-reduced-motion:reduce){*{transition:none !important;}}

.rv-preview::after,.rv-cat-card::after,.rv-card--dark::after,.rv-card--accent::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.rv-container{max-width:1200px;margin:0 auto;padding-inline:24px;}
.rv-container-wide{max-width:1180px;margin:0 auto;padding-inline:24px;}
.rv-section{padding-block:140px;}
.rv-section-sm{padding-block:88px;}
.rv-section-alt{background:var(--rv-bg-soft);border-top:1px solid var(--rv-line);border-bottom:1px solid var(--rv-line);}

/* ---------- KICKER ---------- */
.rv-kicker{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  color:var(--rv-ink-2);background:var(--rv-bg-soft);border:1px solid var(--rv-line);
  padding:8px 16px;border-radius:var(--rv-radius-pill);box-shadow:var(--rv-shadow-sm);
}

/* ---------- BUTTONS ---------- */
.rv-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-weight:600;font-size:1.05rem;padding:17px 32px;border-radius:var(--rv-radius-pill);
  border:1px solid transparent;letter-spacing:-.01em;
  transition:transform var(--rv-t-fast),box-shadow var(--rv-t),background var(--rv-t),color var(--rv-t);
}
.rv-btn:active{transform:translateY(1px) scale(.99);}
.rv-btn--primary{background:var(--rv-accent);color:var(--rv-accent-ink);box-shadow:var(--rv-shadow-btn);}
.rv-btn--primary:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(10,10,11,.26);}
.rv-btn--soft{background:var(--rv-bg-soft);color:var(--rv-ink);border-color:var(--rv-line);box-shadow:var(--rv-shadow-sm);}
.rv-btn--soft:hover{transform:translateY(-2px);box-shadow:var(--rv-shadow);border-color:var(--rv-line-strong);}
.rv-btn--sm{padding:11px 20px;font-size:.9rem;}

/* ---------- NAV ---------- */
.rv-nav{
  position:sticky;top:0;z-index:100;height:var(--rv-nav-h);
  display:flex;align-items:center;background:rgba(247,248,250,.88);
  backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid transparent;
  transition:border-color var(--rv-t),box-shadow var(--rv-t);
}
.rv-nav.is-scrolled{border-bottom-color:var(--rv-line);box-shadow:var(--rv-shadow-xs);}
.rv-nav__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;}
.rv-brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.03em;font-size:1.16rem;}
.rv-brand__mark{width:36px;height:36px;border-radius:50%;background:var(--rv-ink);color:#fff;display:grid;place-items:center;box-shadow:var(--rv-shadow);flex-shrink:0;}
.rv-brand__mark svg{width:18px;height:18px;}
.rv-brand__word{display:flex;align-items:baseline;gap:1px;}
.rv-brand__word b{font-weight:800;}
.rv-brand__word em{font-style:normal;font-weight:700;font-size:.68em;color:var(--rv-growth);letter-spacing:-.01em;}
.rv-nav__menu{display:none;align-items:center;gap:28px;list-style:none;margin:0;padding:0;}
.rv-nav__menu a{font-weight:500;color:var(--rv-ink-2);font-size:.95rem;position:relative;padding-bottom:4px;}
.rv-nav__menu a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;background:var(--rv-ink);border-radius:2px;transition:right var(--rv-t-fast);}
.rv-nav__menu a:hover::after,.rv-nav__menu a.is-active::after{right:0;}
.rv-nav__menu a:hover{color:var(--rv-ink);}
.rv-nav__cta{display:flex;align-items:center;gap:10px;}
/* „Contul meu": pe telefon rămâne doar în meniul deschis (nu ajunge loc lângă WhatsApp + burger); de la 900px apare în antet */
.rv-nav__account{display:none;gap:8px;}
.rv-nav__account svg{flex:none;}
@media(min-width:900px){.rv-nav__account{display:inline-flex;}}
.rv-burger{display:flex;width:40px;height:40px;border:1px solid var(--rv-line);border-radius:10px;background:var(--rv-bg-soft);align-items:center;justify-content:center;}
@media(min-width:900px){.rv-nav__menu{display:flex;} .rv-burger{display:none;}}

.rv-mobile-menu{display:none;flex-direction:column;background:var(--rv-bg);border-bottom:1px solid var(--rv-line);}
.rv-mobile-menu.is-open{display:flex;}
.rv-mobile-menu a{display:block;text-align:left;font-size:1.05rem;font-weight:600;padding:16px 24px;border-bottom:1px solid var(--rv-line);color:var(--rv-ink);}
@media(min-width:900px){.rv-mobile-menu{display:none !important;}}

/* ---------- HERO ---------- */
.rv-hero{position:relative;padding-block:120px 80px;overflow:hidden;text-align:center;}
.rv-hero__glow{
  position:absolute;left:50%;top:30%;transform:translate(-50%,-50%);
  width:min(680px,90vw);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 38% 32%,#fff 0%,#eef0f3 45%,rgba(227,230,234,0) 72%);
  z-index:-1;
}
.rv-hero__glow::before{
  content:"";position:absolute;left:14%;top:8%;width:46%;height:46%;border-radius:50%;
  background:radial-gradient(circle,rgba(31,77,59,.10) 0%,rgba(31,77,59,0) 70%);
}
.rv-hero__inner{max-width:900px;margin:0 auto;}
.rv-hero h1{font-size:clamp(2.8rem,7.2vw,5.6rem);letter-spacing:-.045em;line-height:1.04;margin:28px 0 24px;}
.rv-hero h1 em{font-style:normal;color:var(--rv-growth);}
.rv-hero__lead{font-size:clamp(1.08rem,2.2vw,1.32rem);color:var(--rv-muted);max-width:560px;margin:0 auto 44px;line-height:1.55;}
.rv-hero__actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:40px;}
.rv-hero__trust{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;font-size:.86rem;color:var(--rv-muted);margin-bottom:36px;}
.rv-hero__trust span::before{content:"✓ ";color:var(--rv-growth);font-weight:700;}

.rv-hero__qualities{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:40px;}
.rv-hero__qualities-label{font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--rv-muted);}
.rv-hero__qualities-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;}
.rv-hero__qualities-chips .h-chip{
  font-size:.82rem;font-weight:600;padding:7px 15px;border-radius:var(--rv-radius-pill);
  background:var(--rv-bg-soft);border:1px solid var(--rv-line);color:var(--rv-ink-2);box-shadow:var(--rv-shadow-xs);
}

.rv-preview{position:relative;max-width:760px;aspect-ratio:2/1;margin:0 auto;background:var(--rv-ink);border-radius:26px;overflow:hidden;box-shadow:var(--rv-shadow-lg);text-align:left;}
.rv-preview__scenes{position:absolute;inset:0;}
.rv-preview__scene{position:absolute;inset:0;background-size:cover;background-position:center;}
.rv-preview__scene.scene-1{background-image:radial-gradient(140% 100% at 50% 0%,#20242a 0%,#0A0A0B 60%,#050806 100%);}
.rv-preview__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,11,.05) 0%,rgba(10,10,11,.3) 100%);}

/* ---------- Lockscreen notification (hero preview) ---------- */
.rv-lockscreen{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:center;padding:22px 20px;}
.rv-lockscreen__status{width:100%;max-width:420px;display:flex;justify-content:space-between;align-items:center;color:rgba(255,255,255,.82);font-size:.8rem;font-weight:600;font-variant-numeric:tabular-nums;}
.rv-lockscreen__status svg{width:17px;height:12px;}
.rv-lockscreen__icons{display:flex;align-items:center;gap:6px;}
.rv-lockscreen__clock{text-align:center;margin-top:14px;}
.rv-lockscreen__time{font-size:clamp(2.6rem,6vw,3.4rem);font-weight:300;color:#fff;letter-spacing:-.02em;line-height:1;}
.rv-lockscreen__date{font-size:.86rem;color:rgba(255,255,255,.55);margin-top:6px;text-transform:capitalize;}

.rv-notif-stack{position:relative;width:100%;max-width:420px;flex:1;margin-top:22px;}
.rv-notif{
  position:absolute;left:0;right:0;top:0;
  background:rgba(255,255,255,.1);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);
  border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:12px 14px;
  display:flex;gap:11px;align-items:flex-start;box-shadow:0 20px 44px rgba(0,0,0,.4);
  opacity:0;transform:translateY(-130%);
  transition:transform .55s cubic-bezier(.34,1.5,.6,1),opacity .35s var(--rv-ease);
}
.rv-notif.is-in{opacity:1;transform:translateY(0);}
.rv-notif__icon{width:34px;height:34px;flex:none;display:flex;align-items:center;justify-content:center;}
.rv-notif__icon svg{width:34px;height:34px;}
.rv-notif__body{flex:1;min-width:0;}
.rv-notif__top{display:flex;justify-content:space-between;gap:8px;}
.rv-notif__app{font-size:.76rem;font-weight:700;letter-spacing:-.01em;color:rgba(255,255,255,.85);}
.rv-notif__time{font-size:.7rem;color:rgba(255,255,255,.4);flex:none;}
.rv-notif__text{font-size:.86rem;color:#fff;line-height:1.4;margin-top:2px;letter-spacing:-.005em;}
.rv-preview__caption{text-align:center;font-size:.92rem;color:var(--rv-muted);margin-top:22px;}
@media(max-width:640px){
  .rv-lockscreen{padding:18px 16px;}
  .rv-lockscreen__time{font-size:2.2rem;}
  .rv-notif__text{font-size:.82rem;}
}
@media(prefers-reduced-motion:reduce){.rv-notif{transition:opacity .3s ease;}}

/* ---------- SCROLL REVEAL ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--rv-ease),transform .7s var(--rv-ease);}
.reveal.is-visible{opacity:1;transform:none;}
.rv-grid .reveal:nth-child(2){transition-delay:.08s;}
.rv-grid .reveal:nth-child(3){transition-delay:.16s;}
.rv-grid .reveal:nth-child(4){transition-delay:.24s;}
.rv-cat-grid .reveal:nth-child(2){transition-delay:.1s;}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none;}
}

/* ---------- STATS STRIP ---------- */
.rv-strip{background:var(--rv-bg-soft);border-top:1px solid var(--rv-line);border-bottom:1px solid var(--rv-line);padding:72px 24px;}
.rv-strip__inner{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);}
.rv-stat{text-align:center;padding:0 20px;}
.rv-stat+.rv-stat{border-left:1px solid var(--rv-line);}
.rv-stat__num{font-size:2.8rem;font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums;}
.rv-stat__desc{font-size:.85rem;color:var(--rv-muted);margin-top:8px;}
@media(max-width:640px){.rv-strip__inner{grid-template-columns:1fr 1fr;gap:24px;} .rv-stat{border:none !important;}}

/* ---------- FEATURE / CARDS ---------- */
.rv-section-head{max-width:640px;margin:0 auto 72px;text-align:center;}
.rv-section-head .rv-kicker{margin-bottom:20px;}
.rv-section-head h2{font-size:clamp(2.1rem,4.4vw,3.2rem);letter-spacing:-.04em;margin:0 0 16px;}
.rv-section-head p{font-size:1.08rem;color:var(--rv-muted);line-height:1.55;}

.rv-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
@media(max-width:900px){.rv-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.rv-grid{grid-template-columns:1fr;}}
.rv-card{position:relative;overflow:hidden;background:var(--rv-bg-soft);border-radius:var(--rv-radius-lg);padding:38px 32px;text-align:left;border:1px solid var(--rv-line);box-shadow:var(--rv-shadow-sm);transition:box-shadow var(--rv-t),transform var(--rv-t),border-color var(--rv-t);}
.rv-card:hover{box-shadow:var(--rv-shadow);transform:translateY(-3px);border-color:var(--rv-line-strong);}
.rv-card--dark{background:var(--rv-ink);border-color:transparent;color:#fff;}
.rv-card--accent{background:var(--rv-growth);border-color:transparent;color:#fff;}
.rv-card__icon{width:48px;height:48px;border-radius:14px;margin-bottom:22px;display:flex;align-items:center;justify-content:center;background:var(--rv-bg);font-weight:800;font-size:.82rem;color:var(--rv-ink);}
.rv-card__icon svg{width:24px;height:24px;}
.rv-card--dark .rv-card__icon,.rv-card--accent .rv-card__icon{background:rgba(255,255,255,.16);color:#fff;}

.rv-steps{display:flex;flex-direction:column;max-width:600px;margin:0 auto;}
.rv-step{display:flex;gap:20px;position:relative;padding-bottom:34px;}
.rv-step:last-child{padding-bottom:0;}
.rv-step:not(:last-child)::before{
  content:"";position:absolute;left:19px;top:40px;bottom:0;width:2px;background:var(--rv-line-strong);
}
.rv-step__marker{
  flex:none;width:40px;height:40px;border-radius:50%;background:var(--rv-ink);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;
  position:relative;z-index:1;box-shadow:var(--rv-shadow-sm);
}
.rv-step__marker--loop{background:var(--rv-growth);font-size:1.1rem;}
.rv-step__content{padding-top:8px;}
.rv-step__content h3{font-size:1.12rem;letter-spacing:-.02em;margin:0 0 6px;}
.rv-step__content p{font-size:.92rem;color:var(--rv-muted);margin:0;}
.rv-card h3{font-size:1.15rem;letter-spacing:-.02em;margin:0 0 10px;}
.rv-card--dark h3,.rv-card--accent h3{color:#fff;}
.rv-card p{font-size:.92rem;color:var(--rv-muted);line-height:1.6;}
.rv-card--dark p{color:rgba(255,255,255,.65);}
.rv-card--accent p{color:rgba(255,255,255,.85);}

/* ---------- CATEGORY TEASERS ---------- */
.rv-cat-stack{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:20px;}
.rv-cat-card{position:relative;overflow:hidden;border-radius:var(--rv-radius-lg);padding:72px 40px 0;color:#fff;text-align:center;transition:transform var(--rv-t),box-shadow var(--rv-t);}
.rv-cat-card:hover{box-shadow:var(--rv-shadow-lg);}
.rv-cat-card.dark{background:radial-gradient(120% 100% at 50% 0%,#1c1c1e 0%,#000 62%);}
.rv-cat-card.growth{background:radial-gradient(120% 100% at 50% 0%,#0f2b1e 0%,#000 62%);}
.rv-cat-card__kicker{display:inline-flex;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:18px;}
.rv-cat-card h3{font-size:clamp(2.1rem,4.6vw,3.2rem);letter-spacing:-.04em;line-height:1.05;color:#fff;margin-bottom:14px;}
.rv-cat-card p{font-size:1.02rem;color:rgba(255,255,255,.72);margin:0 auto 28px;max-width:38ch;line-height:1.55;}
.rv-cat-quality{margin-bottom:32px;display:flex;flex-direction:column;align-items:center;gap:10px;}
.rv-cat-quality__label{display:block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:rgba(255,255,255,.5);}
.rv-cat-quality__chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;}
.q-chip{font-size:.8rem;font-weight:600;padding:7px 14px;border-radius:var(--rv-radius-pill);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:#fff;}
.rv-cat-card__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:44px;}
.rv-btn--outline-dark{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4);}
.rv-btn--outline-dark:hover{border-color:#fff;transform:translateY(-2px);}
.rv-cat-card.growth .rv-btn--primary{background:var(--rv-growth);box-shadow:0 10px 24px rgba(15,157,83,.35);}

.rv-cat-card__media{position:relative;margin:0 -40px;}
.ph-frame{
  position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--rv-radius) var(--rv-radius) var(--rv-radius-lg) var(--rv-radius-lg);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  background-color:rgba(255,255,255,.05);background-size:cover;background-position:center;color:rgba(255,255,255,.4);
  transition:transform .6s var(--rv-ease);
}
.rv-cat-card:hover .ph-frame{transform:scale(1.012);}
.ph-frame svg{width:34px;height:34px;opacity:.7;}
.ph-frame span{font-size:.8rem;font-weight:600;letter-spacing:.02em;text-align:center;padding:0 20px;}

.rv-contact-strip{text-align:center;}
.rv-contact-strip h3{font-size:2.2rem;letter-spacing:-.03em;margin-bottom:28px;}

/* ---------- CATALOG ---------- */
.rv-catalog-head{text-align:center;padding:88px 0 0;}
.rv-catalog-head h1{font-size:clamp(2.6rem,5.6vw,3.8rem);letter-spacing:-.04em;}
.rv-catalog-head p{margin-top:16px;color:var(--rv-muted);font-size:1.06rem;line-height:1.55;max-width:52ch;margin-inline:auto;}

/* ---------- Hero /parfumuri/ ---------- */
.rv-parf-hero{position:relative;overflow:hidden;background:#0A0A0B;--hero-accent:#D98A2B;--hero-accent-dark:#B8752B;}
.rv-parf-hero__media{position:absolute;inset:0;}
.rv-parf-hero__media .ph-frame--hero{
  position:absolute;inset:0;width:100%;height:100%;border-radius:0;aspect-ratio:auto;
  align-items:flex-end;justify-content:flex-end;padding:0 48px 48px 0;text-align:right;
  background-size:cover;background-position:center;
}
.rv-parf-hero__media .ph-frame--hero span{max-width:22ch;}
.rv-parf-hero__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,9,.92) 0%,rgba(8,8,9,.66) 48%,rgba(8,8,9,.2) 100%);}
.rv-parf-hero__inner{position:relative;z-index:2;max-width:560px;text-align:left;padding-block:64px 52px;}
.rv-kicker--dark{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:rgba(255,255,255,.85);}
.rv-parf-hero__kicker{display:inline-flex;align-items:center;gap:12px;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--hero-accent);}
.rv-parf-hero__kicker::after{content:"";width:28px;height:1px;background:rgba(217,138,43,.5);flex:none;}
.rv-parf-hero h1{color:#fff;font-size:clamp(2.2rem,4.6vw,3.2rem);letter-spacing:-.04em;line-height:1.06;margin:16px 0 14px;}
.rv-parf-hero p{color:rgba(255,255,255,.72);font-size:1.02rem;line-height:1.6;}
.rv-parf-hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px;}
.rv-parf-hero__actions .rv-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;}
.rv-parf-hero__actions .rv-btn svg{width:18px;height:18px;flex:none;}
/* Butonul primar folosește accentul cald al hero-ului (chihlimbar), nu
   negrul standard de site — negrul se pierdea/nu se lega de fotografia
   caldă de fundal ("nu e ok culoarea... ceva sa se potriveasca cu tot").
   Scoped strict la acest hero, NU la --rv-accent global (n-am vrut să
   schimb culoarea butoanelor primare din tot site-ul). */
.rv-parf-hero__actions .rv-btn--primary{background:linear-gradient(135deg,var(--hero-accent),var(--hero-accent-dark));color:#fff;}
.rv-parf-hero__actions .rv-btn--primary:hover{box-shadow:0 14px 30px rgba(217,138,43,.35);}
.rv-parf-hero__tagline{
  margin-top:26px;padding-top:0;border-top:none;
  font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.55);
}
.rv-parf-hero__tagline::before{content:"";display:block;width:32px;height:1px;background:var(--hero-accent);opacity:.6;margin-bottom:14px;}
.rv-parf-hero__side{position:absolute;z-index:2;right:5%;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.82);line-height:1.6;text-align:right;text-shadow:0 2px 8px rgba(0,0,0,.4);}
.rv-parf-hero__side--top{top:14%;}
.rv-parf-hero__side--bottom{bottom:16%;}
@media(max-width:900px){.rv-parf-hero__side{display:none;}}
@media(max-width:760px){
  .rv-parf-hero__inner{padding-inline:26px;padding-block:36px 32px;}
  .rv-parf-hero h1{margin:16px 0 10px;font-size:clamp(1.7rem,7vw,2.2rem);}
  .rv-parf-hero p{font-size:.94rem;}
  /* Butoanele hero — mai spațioase, nu doar compacte: mai mult padding, gap
     mai mare între ele, literă puțin mai mare — un pas înapoi intenționat
     față de compactarea de-acum-2-runde, cerut explicit ("mai luxury"). */
  .rv-parf-hero__actions{margin-top:22px;gap:14px;}
  .rv-parf-hero__actions .rv-btn{padding:15px 26px;font-size:.92rem;letter-spacing:-.01em;}
  .rv-parf-hero__tagline{margin-top:22px;}
  .rv-filter-bar.rv-filter-bar--select{padding:6px 8px;}
  .rv-filter-select{padding:8px 14px;min-width:0;flex:1;}
}

/* ---------- Note Finder ----------
   Redus mult pe verticală (era ~350px doar secțiunea asta) — titlu mai mic,
   iconițe mai mici, și mai ales un singur rând care scrolează orizontal
   (nu se mai întinde pe 2 rânduri) — la fel pe desktop și pe mobil, ca
   userul să ajungă la primele parfumuri fără 2-3 ecrane de scroll. */
.rv-note-finder{max-width:1080px;margin:0 auto;padding:24px 24px 4px;text-align:center;}
.rv-note-finder__intro h3{font-size:1.15rem;letter-spacing:-.02em;}
.rv-note-finder__intro p{color:var(--rv-muted);margin-top:4px;font-size:.86rem;}
.rv-note-finder__list{
  margin-top:16px;display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:14px;
  max-width:100%;overflow-x:auto;padding:2px 24px 10px;scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
}
@media(min-width:760px){.rv-note-finder__list{justify-content:center;padding-inline:0;}}
.rv-note-chip{display:flex;flex-direction:column;align-items:center;gap:6px;width:56px;flex:none;scroll-snap-align:start;}
.rv-note-chip__icon{
  width:50px;height:50px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  transition:transform var(--rv-t-fast),filter var(--rv-t);
}
.rv-note-chip__icon img{width:100%;height:100%;object-fit:contain;}
.rv-note-chip:hover .rv-note-chip__icon{transform:translateY(-3px);}
.rv-note-chip.is-active .rv-note-chip__icon{filter:drop-shadow(0 6px 14px color-mix(in srgb, var(--fam-accent) 55%, transparent));}
.rv-note-chip.is-active .rv-note-chip__icon{outline:2.5px solid var(--fam-accent);outline-offset:3px;border-radius:50%;}
.rv-note-chip__name{font-size:.68rem;font-weight:600;color:var(--rv-ink-2);text-align:center;line-height:1.2;}
.rv-note-chip.is-active .rv-note-chip__name{color:var(--rv-ink);font-weight:700;}

/* Pe mobil, familiile olfactive stau acum în interiorul panoului de filtre
   (vezi mai jos) — acolo au loc să respire, deci trec pe o grilă care se
   rupe pe rânduri (nu mai insistăm pe un singur rând cu scroll orizontal,
   care era greu de "descoperit" ca fiind scrollabil). */
@media(max-width:759px){
  .rv-note-finder__list{
    display:grid;grid-template-columns:repeat(4,1fr);gap:18px 10px;
    overflow-x:visible;padding:2px 4px 6px;
  }
  .rv-note-chip{width:auto;}
}

/* ---------- Filtre stil dropdown (Gen / Preț) ---------- */
.rv-filter-bar.rv-filter-bar--select{
  flex-direction:row;flex-wrap:wrap;align-items:center;
  background:var(--rv-bg-soft);border:1px solid var(--rv-line);border-radius:var(--rv-radius-pill);
  box-shadow:var(--rv-shadow-sm);padding:8px 10px;gap:0;margin-top:-34px;position:relative;z-index:3;
}
.rv-filter-select{
  position:relative;display:flex;align-items:center;gap:10px;
  padding:10px 20px;min-width:150px;border-right:1px solid var(--rv-line);
}
.rv-filter-select:last-of-type{border-right:none;}
.rv-filter-select .ic{width:19px;height:19px;color:var(--rv-muted);flex:none;}
.rv-filter-select__text{display:flex;flex-direction:column;line-height:1.25;}
.rv-filter-select__label{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--rv-muted);}
.rv-filter-select__value{font-size:.88rem;font-weight:700;color:var(--rv-ink);}
.rv-filter-select select{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;border:none;}
.rv-filter-select .chev{margin-left:auto;width:14px;height:14px;color:var(--rv-muted);flex:none;}
.rv-filter-select--price .rv-price-box--plain{display:flex;align-items:center;gap:4px;}
.rv-filter-select--price .rv-price-box--plain input{width:48px;border:none;background:transparent;font-family:inherit;font-size:.88rem;font-weight:700;color:var(--rv-ink);padding:0;}
.rv-filter-select--price .rv-price-box--plain input:focus{outline:none;}
@media(max-width:640px){.rv-filter-select{min-width:132px;padding:9px 14px;}}

/* ---------- Panou de filtre — pe desktop e pur decorativ (rămâne inline,
   exact ca înainte); pe mobil DEVINE un "bottom sheet": ascuns implicit,
   deschis prin butonul .rv-mobile-filter-trigger. Golește ecranul mobil de
   bara de filtre + secțiunea de familii — rămâne doar un buton compact,
   totul greu se deschide la cerere, nu stă mereu pe ecran. ---------- */
.rv-mobile-filter-bar{display:none;}
.rv-filters-sheet-backdrop{
  display:none;position:fixed;inset:0;z-index:498;background:rgba(10,10,11,.4);
  opacity:0;pointer-events:none;transition:opacity var(--rv-t);
}
/* Pe desktop, .rv-filters-sheet rămâne inline (fără poziționare fixă), dar
   piesele specifice bottom-sheet-ului (mâner, cap-de-tabel cu titlu+închide,
   butonul "Vezi rezultatele") n-au ce căuta acolo — ascunse implicit, arătate
   doar în media query-ul de mobil de mai jos. */
.rv-filters-sheet__handle,
.rv-filters-sheet__head,
.rv-filters-sheet__apply{display:none;}
@media(max-width:759px){
  .rv-mobile-filter-bar{display:block;padding-block:14px;}
  .rv-mobile-filter-trigger{
    display:flex;align-items:center;gap:9px;width:100%;
    background:#fff;border:1px solid var(--rv-line);border-radius:var(--rv-radius-pill);
    padding:13px 18px;font-family:inherit;font-size:.9rem;font-weight:700;color:var(--rv-ink);
    box-shadow:var(--rv-shadow-sm);
  }
  .rv-mobile-filter-trigger svg{width:19px;height:19px;color:var(--rv-muted);flex:none;}
  .rv-mobile-filter-trigger__count{
    margin-left:auto;background:var(--rv-growth);color:#fff;font-size:.72rem;font-weight:800;
    min-width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0 5px;
  }
  .rv-mobile-filter-trigger__count[hidden]{display:none;}
  .rv-mobile-filter-trigger__chev{width:16px;height:16px;color:var(--rv-muted);flex:none;}

  .rv-filters-sheet-backdrop{display:block;}
  .rv-filters-sheet-backdrop.is-open{opacity:1;pointer-events:auto;}

  .rv-filters-sheet{
    position:fixed;left:0;right:0;bottom:0;z-index:499;
    background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -12px 40px rgba(10,10,11,.2);
    max-height:82vh;overflow-y:auto;-webkit-overflow-scrolling:touch;
    transform:translateY(100%);transition:transform var(--rv-t);
    padding-bottom:calc(20px + env(safe-area-inset-bottom));
  }
  .rv-filters-sheet.is-open{transform:translateY(0);}
  .rv-filters-sheet__handle{display:block;width:36px;height:4px;border-radius:99px;background:var(--rv-line);margin:12px auto 4px;}
  .rv-filters-sheet__head{display:flex;align-items:center;justify-content:space-between;padding:8px 20px 4px;}
  .rv-filters-sheet__head strong{font-size:1rem;letter-spacing:-.01em;}
  .rv-filters-sheet__close{width:32px;height:32px;border-radius:50%;background:var(--rv-bg-soft);display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--rv-muted);}
  .rv-filters-sheet .rv-filter-bar.rv-filter-bar--select{
    margin-top:16px;flex-direction:column;align-items:stretch;border-radius:var(--rv-radius-lg);padding:6px;gap:0;
  }
  .rv-filters-sheet .rv-filter-select{border-right:none;border-bottom:1px solid var(--rv-line);padding:14px 12px;}
  .rv-filters-sheet .rv-filter-select:last-of-type{border-bottom:none;}
  .rv-filters-sheet .rv-filter-reset{padding:12px;text-align:center;}
  .rv-filters-sheet .rv-note-finder{padding-top:20px;}
  .rv-filters-sheet__apply{display:block;padding:16px 20px 4px;}
  .rv-filters-sheet__apply .rv-btn{width:100%;}
}

/* ---------- Insigne de încredere ---------- */
.rv-trust-badges{border-top:1px solid var(--rv-line);padding-block:44px;}
.rv-trust-badges__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;}
.rv-trust-badges__tagline{font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--rv-muted);white-space:nowrap;}
.rv-trust-badge{display:flex;align-items:center;gap:12px;}
.rv-trust-badge svg{width:28px;height:28px;color:var(--rv-growth-dark);flex:none;}
.rv-trust-badge span{font-size:.86rem;font-weight:600;color:var(--rv-ink-2);line-height:1.35;}
@media(max-width:860px){.rv-trust-badges__inner{grid-template-columns:1fr 1fr;row-gap:24px;}}

.rv-filter-bar{max-width:1000px;margin:36px auto 0;display:flex;flex-direction:column;gap:16px;padding:22px 0;border-top:1px solid var(--rv-line);border-bottom:1px solid var(--rv-line);}
.rv-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;}
.rv-filter-label{font-size:.78rem;font-weight:600;color:var(--rv-muted);min-width:74px;text-transform:uppercase;letter-spacing:.03em;}
.rv-chip-group{display:flex;flex-wrap:wrap;gap:8px;}
.rv-chip-toggle{
  font-size:.82rem;font-weight:600;padding:8px 15px;border-radius:var(--rv-radius-pill);
  background:var(--rv-bg-soft);border:1px solid var(--rv-line);color:var(--rv-ink-2);
  transition:background var(--rv-t-fast),color var(--rv-t-fast),border-color var(--rv-t-fast);
}
.rv-chip-toggle.is-active{background:var(--rv-ink);border-color:var(--rv-ink);color:#fff;}
.rv-price-box{display:flex;align-items:center;gap:8px;background:var(--rv-bg-soft);border:1px solid var(--rv-line);border-radius:var(--rv-radius-pill);padding:6px 6px 6px 16px;}
.rv-price-box span{font-size:.8rem;color:var(--rv-muted);}
.rv-price-box input{width:64px;border:none;background:transparent;font-family:inherit;font-size:.85rem;padding:5px 2px;}
.rv-price-box input:focus{outline:none;}
.rv-filter-reset{font-size:.82rem;color:var(--rv-growth);font-weight:600;align-self:flex-start;}

.rv-catalog-body{max-width:1180px;margin:0 auto;padding:16px 24px 96px;}
.rv-catalog-actions{display:flex;justify-content:flex-end;margin-bottom:12px;}
.rv-family-active{max-width:fit-content;margin:0 auto 14px;display:flex;align-items:center;gap:10px;background:var(--rv-growth-soft);color:#1B4030;font-size:.84rem;font-weight:600;padding:9px 10px 9px 16px;border-radius:var(--rv-radius-pill);}
.rv-family-active[hidden]{display:none;}
.rv-family-active button{width:22px;height:22px;border-radius:50%;background:rgba(27,64,48,.12);display:flex;align-items:center;justify-content:center;font-size:.7rem;color:#1B4030;flex:none;}
.rv-family-active button:hover{background:rgba(27,64,48,.22);}
.rv-results-bar{
  display:flex;align-items:center;gap:14px;
  font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--rv-muted);margin-bottom:14px;
}
.rv-results-bar::before,.rv-results-bar::after{content:"";flex:1;height:1px;background:var(--rv-line);}
.rv-catalog-note{
  display:flex;align-items:center;gap:10px;justify-content:center;
  text-align:center;font-size:.82rem;color:var(--rv-ink-2);background:var(--rv-growth-soft);border-radius:var(--rv-radius-pill);padding:10px 18px;max-width:fit-content;margin:0 auto 14px;
}
.rv-catalog-note svg{width:18px;height:18px;color:var(--rv-growth-dark);flex:none;}
.rv-catalog-note strong{color:var(--rv-growth-dark);}
.rv-product-grid{display:grid;gap:18px;grid-template-columns:repeat(2,1fr);}
@media(min-width:640px){.rv-product-grid{grid-template-columns:repeat(3,1fr);}}
@media(min-width:1040px){.rv-product-grid{grid-template-columns:repeat(4,1fr);}}

.rv-product{background:var(--rv-bg-soft);border:1px solid var(--rv-line);border-radius:var(--rv-radius-lg);overflow:hidden;box-shadow:var(--rv-shadow-sm);transition:box-shadow var(--rv-t),transform var(--rv-t);display:flex;flex-direction:column;}
.rv-product.is-filtered-out,.rv-editorial-tile.is-filtered-out{display:none;}
/* ---------- apariție în cascadă a cardurilor din povestea "Explorează selecția" ---------- */
@keyframes rv-surprise-pop{
  0%{opacity:0;transform:translateY(26px) scale(.94);}
  100%{opacity:1;transform:none;}
}
.rv-product.rv-surprise-reveal{
  animation:rv-surprise-pop .55s cubic-bezier(.2,.8,.2,1) both;
  animation-delay:var(--reveal-delay,0ms);
}
@media(prefers-reduced-motion:reduce){.rv-product.rv-surprise-reveal{animation:none;}}

/* ---------- Povestea "Explorează selecția" (overlay full-screen) ---------- */
html.rv-no-scroll{overflow:hidden;}
.rv-story-overlay{position:fixed;inset:0;z-index:600;display:flex;align-items:center;justify-content:center;padding:24px;}
.rv-story-overlay[hidden]{display:none;}
.rv-story-overlay__backdrop{position:absolute;inset:0;background:rgba(8,8,9,.78);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}
.rv-story-overlay__panel{
  position:relative;z-index:1;width:100%;max-width:720px;max-height:88vh;overflow-y:auto;overflow-x:hidden;
  border-radius:var(--rv-radius-lg);color:#fff;box-shadow:var(--rv-shadow-lg);padding:56px 40px 44px;
  background:#0A0A0B;
}
/* Poză de fundal (frunze/fum/chihlimbar, trimisă de user) — blurată ușor și
   "umflată" cu scale, ca marginile blurate să nu lase o dungă transparentă
   la limita panoului (același truc ca la fundalul blurat din pagina de
   produs, single-pachet_parfum.php). Un scrim închis pe deasupra păstrează
   contrastul textului alb, indiferent cât de deschisă iese poza. */
.rv-story-overlay__bg{
  position:absolute;inset:0;z-index:0;border-radius:inherit;overflow:hidden;
  background:url('assets/img/story-hero-bg.jpg') center/cover no-repeat;
  filter:blur(9px);transform:scale(1.06);
}
.rv-story-overlay__bg::after{content:"";position:absolute;inset:0;background:rgba(9,8,8,.42);}
.rv-story-overlay__close{
  position:absolute;top:16px;right:16px;z-index:2;width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.1);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85rem;transition:background var(--rv-t-fast);
}
.rv-story-overlay__close:hover{background:rgba(255,255,255,.2);}
.rv-story-scene{position:relative;text-align:center;}
.rv-story-scene[hidden]{display:none;}
.rv-story-glow{position:absolute;width:260px;height:260px;border-radius:50%;filter:blur(56px);opacity:.55;pointer-events:none;z-index:0;}
.rv-story-glow--a{background:var(--hero-accent,#D98A2B);top:-90px;left:-70px;}
.rv-story-glow--b{background:var(--hero-accent-dark,#B8752B);bottom:-70px;right:-50px;}
.rv-story-kicker{position:relative;display:inline-block;font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--hero-accent,#D98A2B);margin-bottom:16px;}
.rv-story-title{position:relative;font-size:clamp(1.5rem,4vw,2.15rem);line-height:1.28;font-weight:700;letter-spacing:-.01em;margin:0 0 22px;color:#fff;}
.rv-story-title--sm{font-size:1.4rem;margin-bottom:10px;}
.rv-story-text{position:relative;font-style:italic;font-size:1.02rem;line-height:1.75;color:rgba(255,255,255,.78);max-width:52ch;margin:0 auto 16px;}
.rv-story-text--sm{margin-bottom:26px;font-style:normal;font-size:.94rem;}
.rv-story-notes{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:22px 0 30px;}
.rv-story-notes span{font-size:.78rem;font-weight:600;padding:7px 14px;border-radius:var(--rv-radius-pill);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.9);}
.rv-story-scene--intro .rv-btn--primary{background:linear-gradient(135deg,var(--hero-accent,#D98A2B),var(--hero-accent-dark,#B8752B));color:#fff;margin:0 auto;}
.rv-story-scene--picks .rv-btn--outline-dark{margin:22px auto 0;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;}
.rv-story-picks{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;text-align:left;}
.rv-story-picks .rv-product{background:#15151A;border-color:rgba(255,255,255,.1);}
.rv-story-picks .rv-product__wish{display:none;}
.rv-story-picks .rv-product__name,.rv-story-picks .rv-product__price{color:#fff;}
.rv-story-picks .rv-product__tag,.rv-story-picks .rv-product__brand,.rv-story-picks .rv-product__inspired{color:rgba(255,255,255,.6);}
.rv-story-picks .rv-product__inspired strong{color:rgba(255,255,255,.85);}
.rv-story-picks .rv-product__price small{color:rgba(255,255,255,.5);}
.rv-story-picks .rv-product__details summary{color:rgba(255,255,255,.7);}
.rv-story-picks .rv-product__cta a.call{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.18);}
@media(max-width:640px){
  .rv-story-overlay{padding:0;}
  .rv-story-overlay__panel{max-width:none;max-height:100vh;height:100%;border-radius:0;padding:64px 20px 32px;}
}

/* ---------- Fundal ambiental animat (jar plutitor + pâclă difuză) în spatele
   textului povestii — pur decorativ, generat din JS ca să nu umflăm markup-ul
   cu zeci de <span>-uri statice. Rămâne mereu în urma textului/cardurilor
   pentru că e primul copil din panou (regulile de stivuire CSS: elementele
   poziționate ulterioare în DOM pictează deasupra celor anterioare). Animația
   se oprește automat cât timp overlay-ul e `hidden` (browserul pune pauză pe
   animații într-un subarbore display:none) — nu costă nimic cât nu e deschis. ---------- */
.rv-story-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;border-radius:inherit;}
.rv-story-ember{
  position:absolute;bottom:-10px;border-radius:50%;opacity:0;
  background:radial-gradient(circle,#F5B15C 0%,var(--hero-accent,#D98A2B) 60%,transparent 100%);
  box-shadow:0 0 6px 1px rgba(217,138,43,.55);
  animation-name:rv-ember-rise;animation-timing-function:ease-in-out;animation-iteration-count:infinite;
}
@keyframes rv-ember-rise{
  0%{opacity:0;transform:translate(0,0);}
  12%{opacity:.85;}
  85%{opacity:.45;}
  100%{opacity:0;transform:translate(var(--drift,20px),-420px);}
}
.rv-story-haze{
  position:absolute;left:-25%;width:60%;height:130px;border-radius:50%;opacity:.5;filter:blur(20px);
  background:radial-gradient(ellipse,rgba(217,138,43,.16),transparent 70%);
  animation-name:rv-haze-drift;animation-timing-function:linear;animation-iteration-count:infinite;
}
@keyframes rv-haze-drift{
  0%{transform:translateX(0);}
  100%{transform:translateX(260%);}
}
@media(prefers-reduced-motion:reduce){.rv-story-ember,.rv-story-haze{display:none;}}
.rv-product:hover{box-shadow:var(--rv-shadow);transform:translateY(-3px);}
.rv-product__media{aspect-ratio:4/5;position:relative;overflow:hidden;background:var(--rv-line);}
.rv-product__img-link{position:absolute;inset:0;display:block;}
.rv-product__name-link{color:inherit;}
.rv-product__name-link:hover .rv-product__name{text-decoration:underline;text-underline-offset:2px;}
.rv-product__inspired{font-size:.72rem;color:var(--rv-muted);margin-top:2px;line-height:1.4;}
.rv-product__inspired strong{color:var(--rv-ink-2);font-weight:700;}
.rv-product__media .media-fill{position:absolute;inset:-4%;transition:transform .5s var(--rv-ease);background-size:cover;background-position:center;}
.rv-product:hover .rv-product__media .media-fill{transform:scale(1.06);}
.rv-chip{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;font-size:.7rem;font-weight:700;padding:5px 11px;border-radius:var(--rv-radius-pill);background:var(--rv-growth-soft);color:#1B4030;}
.rv-chip.tier-b{background:var(--rv-ink);color:#fff;}
.rv-chip.neutral{background:var(--rv-bg-soft);color:var(--rv-ink-2);border:1px solid var(--rv-line);}
.rv-chip.info{background:var(--rv-info-soft);color:#4338CA;}
.rv-chip.gen-dama{background:#F5DEE7;color:#8A3A5C;}
.rv-chip.gen-barbati{background:#DCE4EA;color:#2E4A5C;}
.rv-chip.gen-unisex{background:var(--rv-growth-soft);color:var(--rv-growth-dark);}
.rv-chip--static{position:static;}
.rv-product__accent{height:4px;background:var(--rv-growth);}
.rv-product__accent.tier-b{background:var(--rv-ink);}
.rv-product__accent.neutral{background:var(--rv-line-strong);}
.rv-product__accent.info{background:var(--rv-info);}
.rv-product__body{padding:16px;display:flex;flex-direction:column;gap:5px;}
.rv-product__tag{font-size:.72rem;color:var(--rv-muted);}
.rv-product__brand{font-size:.72rem;font-weight:700;color:var(--rv-muted);text-transform:uppercase;letter-spacing:.03em;}
.rv-product__name{font-size:.92rem;font-weight:700;letter-spacing:-.01em;line-height:1.3;}
.rv-product__price{font-size:1.25rem;font-weight:800;margin-top:4px;letter-spacing:-.02em;font-variant-numeric:tabular-nums;}
.rv-product__wish{
  position:absolute;top:12px;right:12px;z-index:2;width:32px;height:32px;border-radius:50%;
  background:rgba(255,255,255,.9);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;
  color:var(--rv-ink-2);transition:transform var(--rv-t-fast),color var(--rv-t-fast);
}
.rv-product__wish svg{width:16px;height:16px;}
.rv-product__wish:hover{transform:scale(1.1);color:#D1476B;}
.rv-product__wish.is-active{color:#D1476B;}
.rv-product__wish.is-active svg{fill:#D1476B;}

.rv-editorial-tile{
  position:relative;overflow:hidden;border-radius:var(--rv-radius-lg);background-size:cover;background-position:center;
  box-shadow:var(--rv-shadow-sm);transition:box-shadow var(--rv-t),transform var(--rv-t);display:block;min-height:340px;
}
.rv-editorial-tile:hover{box-shadow:var(--rv-shadow);transform:translateY(-3px);}
.rv-product__price small{font-size:.72rem;font-weight:500;color:var(--rv-muted);}
.rv-product__cta{margin-top:12px;display:flex;gap:8px;}
.rv-product__cta a,.rv-product__cta button{flex:1;text-align:center;padding:9px 8px;border-radius:var(--rv-radius-pill);font-size:.76rem;font-weight:700;transition:transform var(--rv-t-fast),box-shadow var(--rv-t),background var(--rv-t-fast);font-family:inherit;display:flex;align-items:center;justify-content:center;gap:5px;}
.rv-product__cta .wa{background:var(--rv-ink);color:#fff;box-shadow:var(--rv-shadow-sm);}
.rv-product__cta .wa:hover{transform:translateY(-1px);box-shadow:var(--rv-shadow);}
.rv-product__cta .wa.is-added{background:var(--rv-growth);}
.rv-product__cta a.call{background:var(--rv-bg);color:var(--rv-ink);border:1px solid var(--rv-line);}
.rv-product__details{margin-top:8px;}
.rv-product__details summary{
  cursor:pointer;font-size:.76rem;font-weight:700;color:var(--rv-growth-dark);list-style:none;
  display:inline-flex;align-items:center;gap:4px;
}
.rv-product__details summary::-webkit-details-marker{display:none;}
.rv-product__details summary::after{content:"▾";font-size:.62rem;transition:transform var(--rv-t-fast);}
.rv-product__details[open] summary::after{transform:rotate(180deg);}
.rv-product__details p{margin-top:6px;font-size:.76rem;color:var(--rv-muted);line-height:1.5;}
.rv-product__details p strong{color:var(--rv-ink-2);font-weight:700;}
.rv-empty{padding:70px 20px;text-align:center;color:var(--rv-muted);}
.rv-empty[hidden]{display:none;}

/* ---------- Pagina de produs (single pachet_parfum) — "PDP" ----------
   Mobile-first; de la 1100px compoziția devine un singur ecran (sticlă +
   identitate + note). Fundalul = fotografia familiei olfactive, ușor
   estompată (--pdp-blur; decizie veche: atmosferă, nu decor clar). Sticla stă
   direct pe fotografie, FĂRĂ card în jur (respins explicit), integrată cu
   mix-blend-mode. Ingredientele = iconițe (inc/note-icons.php), colorate cu
   tonul familiei (--fam), redate în stilul „sticlă". */
.rv-pdp{
  --pdp-blur:5px;
  --fam-ink:color-mix(in srgb,var(--fam,#0F9D53) 58%,#1a1208);
  background:#fff;
}
/* loc pentru bara de jos, la capătul paginii (după footer), ca să nu acopere conținut */
@media (max-width:1099.98px){body.single-pachet_parfum{padding-bottom:calc(76px + env(safe-area-inset-bottom));}}
.rv-pdp-hero{position:relative;isolation:isolate;background:#FBFAF6;}
.rv-pdp-hero__photo{
  position:relative;display:block;height:clamp(190px,29svh,300px);overflow:hidden;
  -webkit-mask-image:linear-gradient(#000 60%,transparent);mask-image:linear-gradient(#000 60%,transparent);
}
.rv-pdp-hero__photo img{
  width:100%;height:100%;object-fit:cover;object-position:62% 50%;
  filter:blur(calc(var(--pdp-blur) * .6)) saturate(1.12);transform:scale(1.08);
}
.rv-pdp-hero__veil{display:none;}

.rv-pdp-back{
  position:absolute;z-index:3;top:14px;left:14px;display:inline-flex;align-items:center;gap:4px;
  padding:8px 14px 8px 10px;border-radius:var(--rv-radius-pill);
  background:rgba(255,255,255,.74);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  font-size:.82rem;font-weight:700;color:var(--rv-ink);box-shadow:0 4px 14px rgba(10,10,11,.10);
}
.rv-pdp-back svg{width:16px;height:16px;}
.rv-pdp-back:hover{color:var(--rv-ink);background:rgba(255,255,255,.92);}

.rv-pdp-hero__inner{
  position:relative;margin-top:-40px;padding:0 20px 26px; /* fără z-index: un context de stivuire ar izola `multiply` al sticlei de fotografie */
  display:grid;grid-template-columns:120px minmax(0,1fr);grid-template-areas:"bottle id" "notes notes";
  column-gap:18px;row-gap:20px;align-items:start;
}

/* --- Sticla --- */
.rv-pdp-bottle{grid-area:bottle;margin-top:-46px;}
.rv-pdp-bottle__btn{display:block;width:100%;aspect-ratio:3/4;padding:0;border:0;background:none;cursor:zoom-in;}
.rv-pdp-bottle{position:relative;}
/* Umbră de contact eliptică, sub sticlă. NU drop-shadow pe imagine: la fotografiile cu fundal alb
   opac umbra ar urma dreptunghiul și ar recrea „cardul" respins; `multiply` face fundalul alb
   să dispună pe fotografie, iar umbra eliptică ancorează sticla. */
.rv-pdp-bottle::after{
  content:"";position:absolute;left:14%;right:14%;bottom:1%;height:7%;pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(10,10,11,.26),rgba(10,10,11,0) 70%);filter:blur(5px);
}
.rv-pdp-bottle__btn{position:relative;z-index:1;}
.rv-pdp-bottle__btn img{
  width:100%;height:100%;object-fit:contain;object-position:50% 100%;mix-blend-mode:multiply;transition:transform var(--rv-t);
}
.rv-pdp-bottle__btn:hover img{transform:scale(1.04) translateY(-3px);}
.rv-pdp-bottle__ph{aspect-ratio:3/4;display:grid;place-items:center;}
.rv-pdp-bottle__ph img{width:70%;opacity:.55;}

/* --- Identitate --- */
.rv-pdp-id{grid-area:id;padding-top:6px;min-width:0;}
.rv-pdp-eyebrow{
  display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;
  font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--rv-muted);
}
.rv-pdp-eyebrow i{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.6;}
.rv-pdp-name{
  font-size:clamp(1.5rem,6.6vw,2.1rem);font-weight:800;line-height:1.04;letter-spacing:-.035em;
  color:var(--rv-ink);margin:8px 0 12px;text-wrap:balance;
}
.rv-pdp-fam{
  display:inline-flex;align-items:center;gap:10px;max-width:100%;padding:5px 16px 5px 5px;
  border-radius:var(--rv-radius-pill);background:rgba(255,255,255,.78);
  border:1px solid color-mix(in srgb,var(--fam) 30%,transparent);
  box-shadow:0 6px 18px color-mix(in srgb,var(--fam) 14%,transparent);
  transition:transform var(--rv-t-fast),box-shadow var(--rv-t-fast);
}
.rv-pdp-fam:hover{transform:translateY(-2px);box-shadow:0 10px 24px color-mix(in srgb,var(--fam) 22%,transparent);}
.rv-pdp-fam__ic{flex:none;width:36px;height:36px;border-radius:50%;background:#fff;display:grid;place-items:center;overflow:hidden;}
.rv-pdp-fam__ic img{width:100%;height:100%;object-fit:contain;}
.rv-pdp-fam__t{display:flex;flex-direction:column;min-width:0;line-height:1.2;}
.rv-pdp-fam__t b{font-size:.84rem;color:var(--rv-ink);}
.rv-pdp-fam__t em{font-style:normal;font-size:.72rem;color:var(--rv-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rv-pdp-inspired{margin:10px 0 0;font-size:.76rem;font-weight:600;color:var(--rv-ink-2);line-height:1.35;}
.rv-pdp-inspired strong{color:#B8752B;font-weight:800;}
.rv-pdp-inspired small{display:block;margin-top:2px;font-size:.62rem;font-weight:500;color:var(--rv-muted);line-height:1.35;}

/* Prețul + butoanele din hero: doar desktop (pe mobil stă în bara de jos). */
.rv-pdp-buy{display:none;}

/* --- Note olfactive: bandă de sticlă cu iconițe --- */
.rv-pdp-notes{
  grid-area:notes;padding:16px 16px 18px;border-radius:26px;
  background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(18px) saturate(1.35);backdrop-filter:blur(18px) saturate(1.35);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:0 20px 46px rgba(10,10,11,.09),0 1px 0 rgba(255,255,255,.95) inset;
}
.rv-pdp-notes__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
.rv-pdp-notes__head h2{font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--rv-muted);margin:0;}
.rv-pdp-tabs{display:flex;gap:2px;padding:3px;border-radius:var(--rv-radius-pill);background:rgba(10,10,11,.06);}
.rv-pdp-tab{border:0;background:transparent;padding:7px 14px;border-radius:var(--rv-radius-pill);font-size:.78rem;font-weight:700;color:var(--rv-ink-2);cursor:pointer;transition:background var(--rv-t-fast),color var(--rv-t-fast);}
.rv-pdp-tab.is-active{background:#fff;color:var(--rv-ink);box-shadow:0 1px 6px rgba(10,10,11,.16);}
.rv-pdp-tier__label{display:none;align-items:baseline;gap:8px;margin-bottom:12px;}
.rv-pdp-tier__label b{font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--fam-ink);}
.rv-pdp-tier__label em{font-style:normal;font-size:.72rem;color:var(--rv-muted);}
.rv-pdp-tier__list{list-style:none;margin:0;padding:2px 0 4px;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;}
.rv-pdp-tier__list::-webkit-scrollbar{display:none;}
/* Fără JS: nivelele apar toate, cu etichete (tab-urile n-ar face nimic). */
.rv-pdp-notes:not(.is-tabs) .rv-pdp-tabs{display:none;}
.rv-pdp-notes:not(.is-tabs) .rv-pdp-tier__label{display:flex;}
.rv-pdp-notes:not(.is-tabs) .rv-pdp-tier + .rv-pdp-tier{margin-top:16px;}
.rv-pdp-notes.is-tabs .rv-pdp-tier:not(.is-active){display:none;}

.rv-note-tile{flex:none;width:70px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;scroll-snap-align:start;}
.rv-note-tile__ic{
  width:60px;height:60px;border-radius:50%;display:grid;place-items:center;color:var(--fam-ink);
  background:radial-gradient(circle at 30% 24%,rgba(255,255,255,.98),color-mix(in srgb,var(--fam) 17%,#fff) 74%);
  border:1px solid color-mix(in srgb,var(--fam) 32%,transparent);
  box-shadow:0 8px 18px color-mix(in srgb,var(--fam) 20%,transparent),0 1px 0 rgba(255,255,255,.95) inset;
  transition:transform .28s var(--rv-ease),box-shadow .28s var(--rv-ease);
}
.rv-note-tile:hover .rv-note-tile__ic{transform:translateY(-3px) scale(1.06);box-shadow:0 14px 26px color-mix(in srgb,var(--fam) 30%,transparent),0 1px 0 rgba(255,255,255,.95) inset;}
.rv-note-glyph{width:31px;height:31px;overflow:visible;}
.rv-note-glyph .f{fill:color-mix(in srgb,var(--fam) 28%,transparent);}
.rv-note-tile__name{font-size:.74rem;font-weight:700;line-height:1.15;color:var(--rv-ink-2);overflow-wrap:anywhere;}

/* --- Despre parfum + familia olfactivă --- */
.rv-pdp-about{background:#fff;padding:30px 20px 44px;}
.rv-pdp-about__inner{max-width:1120px;margin:0 auto;display:grid;gap:30px;}
.rv-pdp-kicker{display:block;margin-bottom:10px;font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--fam-ink);}
.rv-pdp-about h2{font-size:clamp(1.45rem,4.2vw,2.2rem);font-weight:800;letter-spacing:-.03em;margin:0 0 14px;}
.rv-pdp-desc{font-size:1.02rem;line-height:1.75;color:var(--rv-ink-2);max-width:62ch;}
.rv-pdp-desc p{margin:0 0 1em;color:inherit;}
.rv-pdp-desc.is-clamped{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;}
.rv-pdp-more{margin-top:6px;padding:6px 0;border:0;background:none;font-size:.9rem;font-weight:800;color:var(--fam-ink);cursor:pointer;text-decoration:underline;text-underline-offset:4px;}
.rv-pdp-more[hidden]{display:none;}
.rv-pdp-famcard{
  display:flex;flex-direction:column;gap:6px;padding:24px;border-radius:28px;
  background:linear-gradient(160deg,color-mix(in srgb,var(--fam) 13%,#fff),#fff 72%);
  border:1px solid color-mix(in srgb,var(--fam) 24%,transparent);
}
.rv-pdp-famcard__ic{width:64px;height:64px;border-radius:50%;background:#fff;display:grid;place-items:center;overflow:hidden;box-shadow:0 10px 22px color-mix(in srgb,var(--fam) 26%,transparent);}
.rv-pdp-famcard__ic img{width:100%;height:100%;object-fit:contain;}
.rv-pdp-famcard h3{font-size:1.3rem;letter-spacing:-.02em;margin:10px 0 0;}
.rv-pdp-famcard p{margin:0;color:var(--rv-ink-2);}
.rv-pdp-famcard__all{margin-top:8px;font-size:.9rem;font-weight:800;color:var(--fam-ink);}
.rv-pdp-famcard__rel{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.rv-pdp-famcard__rel a{display:inline-flex;align-items:center;gap:6px;padding:4px 12px 4px 4px;border-radius:var(--rv-radius-pill);background:#fff;border:1px solid var(--rv-line);font-size:.78rem;font-weight:700;color:var(--rv-ink-2);}
.rv-pdp-famcard__rel a:hover{border-color:var(--fam);}
.rv-pdp-famcard__rel img{width:22px;height:22px;object-fit:contain;border-radius:50%;}

/* --- Bara de cumpărare lipită jos (mobil/tabletă) --- */
.rv-pdp-buybar{
  position:fixed;left:0;right:0;bottom:0;z-index:180;display:flex;align-items:center;gap:10px;
  padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.84);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);
  border-top:1px solid rgba(10,10,11,.08);
}
.rv-pdp-buybar__price{font-size:1.28rem;font-weight:800;letter-spacing:-.02em;line-height:1;}
.rv-pdp-buybar__price small{display:block;margin-top:3px;font-size:.66rem;font-weight:600;color:var(--rv-muted);letter-spacing:0;}
.rv-pdp-buybar__wa{flex:none;width:48px;height:48px;margin-left:auto;border-radius:50%;display:grid;place-items:center;background:var(--rv-bg-soft);border:1px solid var(--rv-line);color:var(--rv-ink);}
.rv-pdp-buybar__cta{padding:14px 22px;font-size:.95rem;white-space:nowrap;}
/* butonul plutitor de coș nu trebuie să stea peste bara de jos */
body.single-pachet_parfum .cart-toggle{bottom:calc(88px + env(safe-area-inset-bottom));}

/* --- Animații discrete (respectă „reduce motion") --- */
@media (prefers-reduced-motion:no-preference){
  .rv-note-tile{animation:rv-pdp-rise .55s var(--rv-ease) both;animation-delay:calc(var(--i,0) * 70ms + 120ms);}
  .rv-pdp-bottle__btn img,.rv-pdp-bottle__ph img{animation:rv-pdp-float .75s var(--rv-ease) both;}
  .rv-pdp-id > *{animation:rv-pdp-rise .6s var(--rv-ease) both;}
  .rv-pdp-id > :nth-child(2){animation-delay:.05s;}
  .rv-pdp-id > :nth-child(3){animation-delay:.1s;}
  .rv-pdp-id > :nth-child(4){animation-delay:.15s;}
  .rv-pdp-id > :nth-child(5){animation-delay:.2s;}
}
@keyframes rv-pdp-rise{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
@keyframes rv-pdp-float{from{opacity:0;transform:translateY(16px) scale(.97);}to{opacity:1;transform:none;}}

/* --- Tabletă (640–1099): aceeași compoziție, centrată și mai aerisită --- */
@media (min-width:640px){
  .rv-pdp-hero__photo{height:clamp(280px,40svh,420px);}
  .rv-pdp-hero__inner{max-width:780px;margin-inline:auto;grid-template-columns:170px minmax(0,1fr);column-gap:28px;padding-inline:28px;}
  .rv-pdp-bottle{margin-top:-64px;}
  .rv-pdp-name{font-size:clamp(1.8rem,4.6vw,2.6rem);}
  .rv-pdp-notes{padding:20px 22px 22px;}
  .rv-note-tile{width:78px;}
  .rv-note-tile__ic{width:66px;height:66px;}
  .rv-note-glyph{width:34px;height:34px;}
}
@media (min-width:900px){
  .rv-pdp-about{padding:64px 40px 80px;}
  .rv-pdp-about__inner{grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:72px;align-items:start;}
  .rv-pdp-desc.is-clamped{display:block;overflow:visible;}
  .rv-pdp-more{display:none !important;}
}

/* --- Desktop (≥1100): totul într-un ecran --- */
@media (min-width:1100px){
  .rv-pdp-hero{min-height:clamp(640px,calc(100svh - var(--rv-nav-h)),820px);display:flex;align-items:center;background:#F4F0E8;}
  .rv-pdp-hero__photo{position:absolute;inset:0;height:auto;-webkit-mask-image:none;mask-image:none;}
  .rv-pdp-hero__photo img{filter:blur(var(--pdp-blur)) saturate(1.15);transform:scale(1.06);object-position:72% 50%;}
  .rv-pdp-hero__veil{
    display:block;position:absolute;inset:0;
    background:linear-gradient(90deg,rgba(252,250,245,.95) 0%,rgba(252,250,245,.84) 40%,rgba(252,250,245,.3) 64%,rgba(252,250,245,0) 80%);
  }
  .rv-pdp-back{top:26px;left:max(24px,calc((100vw - 1360px) / 2 + 40px));background:rgba(255,255,255,.62);}
  .rv-pdp-hero__inner{
    width:100%;max-width:1360px;margin:0 auto;padding:78px 40px 44px;
    grid-template-columns:minmax(0,330px) minmax(0,520px) 1fr;grid-template-areas:"bottle id ." "notes notes notes";
    column-gap:56px;row-gap:30px;align-items:center;
  }
  .rv-pdp-bottle{margin-top:0;}
  .rv-pdp-bottle__btn{aspect-ratio:auto;height:clamp(300px,46svh,440px);}
  .rv-pdp-id{padding-top:0;}
  .rv-pdp-eyebrow{font-size:.74rem;}
  .rv-pdp-name{font-size:clamp(2.5rem,3.7vw,3.7rem);margin:10px 0 18px;}
  .rv-pdp-fam{padding:6px 20px 6px 6px;}
  .rv-pdp-fam__ic{width:42px;height:42px;}
  .rv-pdp-fam__t b{font-size:.92rem;}
  .rv-pdp-fam__t em{font-size:.78rem;}
  .rv-pdp-inspired{font-size:.88rem;margin-top:16px;}
  .rv-pdp-inspired small{font-size:.7rem;}
  .rv-pdp-buy{display:block;margin-top:24px;}
  .rv-pdp-price{font-size:2.3rem;font-weight:800;letter-spacing:-.03em;color:var(--rv-ink);line-height:1;}
  .rv-pdp-price small{font-size:.9rem;font-weight:600;color:var(--rv-muted);letter-spacing:0;}
  .rv-pdp-buy__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;}
  .rv-pdp-buy__actions .rv-btn{padding:15px 26px;font-size:.95rem;}
  .rv-pdp-min{margin:12px 0 0;font-size:.76rem;color:var(--rv-muted);}
  .rv-pdp-buybar{display:none;}
  body.single-pachet_parfum .cart-toggle{bottom:20px;}

  .rv-pdp-notes{padding:20px 26px 24px;border-radius:30px;justify-self:start;width:min(100%,calc(var(--tiers,3) * 410px + 52px));}
  .rv-pdp-notes__head{margin-bottom:6px;}
  .rv-pdp-tabs{display:none;}
  .rv-pdp-notes__cols{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);}
  .rv-pdp-tier{padding:0 22px;}
  .rv-pdp-tier:first-child{padding-left:0;}
  .rv-pdp-tier:last-child{padding-right:0;}
  .rv-pdp-tier + .rv-pdp-tier{border-left:1px solid rgba(10,10,11,.09);}
  /* pe desktop se văd toate nivelele deodată, indiferent de tab-uri */
  .rv-pdp-notes.is-tabs .rv-pdp-tier:not(.is-active){display:block;}
  .rv-pdp-tier__label,.rv-pdp-notes:not(.is-tabs) .rv-pdp-tier__label{display:flex;margin-top:10px;}
  .rv-pdp-notes:not(.is-tabs) .rv-pdp-tier + .rv-pdp-tier{margin-top:0;}
  .rv-pdp-tier__list{flex-wrap:wrap;overflow:visible;gap:14px 12px;}
  .rv-note-tile{width:72px;}
  .rv-note-tile__ic{width:62px;height:62px;}
  .rv-note-glyph{width:32px;height:32px;}
}

/* ---------- Lightbox — mărește poza produsului la click ---------- */
.rv-lightbox-overlay{
  position:fixed;inset:0;z-index:500;background:rgba(10,10,11,.88);
  display:flex;align-items:center;justify-content:center;padding:32px;
  opacity:0;transition:opacity var(--rv-t);
}
.rv-lightbox-overlay.is-open{opacity:1;}
.rv-lightbox-overlay img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.5);}
.rv-lightbox-close{
  position:absolute;top:22px;right:26px;width:42px;height:42px;border-radius:50%;
  background:rgba(255,255,255,.12);color:#fff;font-size:1.6rem;line-height:1;
  display:flex;align-items:center;justify-content:center;
}
.rv-lightbox-close:hover{background:rgba(255,255,255,.22);}

/* ---------- CONTACT PAGE ---------- */
.rv-contact-page{max-width:1080px;margin:0 auto;padding:68px 24px 96px;}
.rv-contact-grid{display:grid;gap:48px;}
@media(min-width:840px){.rv-contact-grid{grid-template-columns:1fr 1fr;}}
.rv-contact-block h2{font-size:2.6rem;letter-spacing:-.04em;margin-bottom:16px;}
.rv-contact-block p{color:var(--rv-muted);font-size:1.05rem;line-height:1.55;}
.rv-contact-methods{margin-top:24px;display:flex;flex-direction:column;gap:12px;}
.rv-contact-method{display:flex;gap:14px;align-items:center;background:var(--rv-bg-soft);border:1px solid var(--rv-line);border-radius:var(--rv-radius);padding:16px;box-shadow:var(--rv-shadow-xs);}
.rv-contact-method .ic{width:38px;height:38px;border-radius:11px;background:var(--rv-ink);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.78rem;flex:none;}
.rv-contact-method strong{display:block;font-size:.95rem;color:var(--rv-ink);}
.rv-contact-method span{font-size:.82rem;color:var(--rv-muted);}
.rv-form{background:var(--rv-bg-soft);border:1px solid var(--rv-line);border-radius:var(--rv-radius-lg);padding:30px;box-shadow:var(--rv-shadow-sm);}
.rv-form h3{font-size:1.15rem;margin-bottom:6px;}
.rv-form p.hint{font-size:.82rem;color:var(--rv-muted);margin:8px 0 22px;}
.rv-form-notice{font-size:.86rem;font-weight:600;padding:12px 16px;border-radius:var(--rv-radius-sm);margin-bottom:18px;}
.rv-form-notice.ok{background:var(--rv-growth-soft);color:#1B4030;}
.rv-form-notice.err{background:#FBEAEA;color:#8A2C2C;}
.rv-field{margin-bottom:16px;}
.rv-field label{display:block;font-size:.76rem;font-weight:600;color:var(--rv-muted);margin-bottom:6px;}
.rv-field input,.rv-field select,.rv-field textarea{width:100%;border:1px solid var(--rv-line);border-radius:var(--rv-radius-sm);padding:11px 13px;font-family:inherit;font-size:.92rem;background:var(--rv-bg);}
.rv-field input:focus,.rv-field select:focus,.rv-field textarea:focus{outline:none;border-color:var(--rv-growth);}
.rv-field textarea{min-height:78px;resize:vertical;}

/* ---------- FOOTER ---------- */
footer.rv-footer{background:var(--rv-ink);color:#B4B7BE;padding:80px 0 0;}
.rv-footer__grid{display:grid;gap:40px;padding-bottom:48px;}
@media(min-width:760px){.rv-footer__grid{grid-template-columns:1.4fr 1fr 1fr 1fr;}}
.rv-footer__col-title{font-size:.78rem;font-weight:700;color:#fff;margin-bottom:14px;text-transform:uppercase;letter-spacing:.04em;}
.rv-footer__links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.rv-footer__links a{font-size:.85rem;color:#B4B7BE;}
.rv-footer__links a:hover{color:#fff;}
.rv-footer__tagline{font-size:.85rem;color:#8B8E96;margin-top:12px;max-width:30ch;}
.rv-footer__bottom{padding:20px 0 26px;border-top:1px solid rgba(180,183,190,.18);display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;font-size:.76rem;color:#8B8E96;}

/* ---------- Panou lateral generic (folosit de coșul de comandă) ---------- */
.rv-panel-overlay{
  position:fixed;inset:0;background:rgba(10,10,11,.35);z-index:198;
  opacity:0;pointer-events:none;transition:opacity var(--rv-t);
}
.rv-panel-overlay.open{opacity:1;pointer-events:auto;}
.rv-panel{
  position:fixed;top:0;right:0;bottom:0;width:min(380px,90vw);z-index:199;
  background:var(--rv-bg-soft);box-shadow:var(--rv-shadow-lg);padding:26px 22px 32px;
  overflow-y:auto;transform:translateX(100%);transition:transform var(--rv-t);
}
.rv-panel.open{transform:none;}
.rv-panel__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.rv-panel__head strong{font-size:1.05rem;}
.rv-panel__head button{font-size:1rem;width:30px;height:30px;border-radius:50%;background:var(--rv-bg);}
.rv-panel__hint{font-size:.82rem;color:var(--rv-muted);line-height:1.5;margin:4px 0 18px;padding-bottom:16px;border-bottom:1px solid var(--rv-line);}

/* ---------- Coș de comandă (fără plată online) ---------- */
.cart-toggle{
  position:fixed;right:20px;bottom:20px;z-index:200;
  background:var(--rv-growth);color:#fff;width:56px;height:56px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;box-shadow:var(--rv-shadow-lg);
}
.cart-toggle svg{width:23px;height:23px;}
.cart-toggle:hover{transform:translateY(-2px);}
.cart-toggle__count{
  position:absolute;top:-3px;right:-3px;background:var(--rv-ink);color:#fff;
  font-size:.68rem;font-weight:700;min-width:20px;height:20px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;padding:0 4px;box-shadow:0 0 0 2px var(--rv-bg);
}
.cart-toggle__count[hidden]{display:none;}
.cart-item{padding:14px 0;border-bottom:1px solid var(--rv-line);}
.cart-item__name{font-size:.88rem;font-weight:700;color:var(--rv-ink);line-height:1.3;}
.cart-item__meta{font-size:.76rem;color:var(--rv-muted);margin-top:2px;}
.cart-item__row{display:flex;align-items:center;gap:10px;margin-top:9px;}
.cart-item__qty{display:flex;align-items:center;gap:9px;background:var(--rv-bg);border:1px solid var(--rv-line);border-radius:var(--rv-radius-pill);padding:4px 10px;}
.cart-item__qty button{width:18px;height:18px;font-weight:700;font-size:.9rem;color:var(--rv-ink-2);line-height:1;}
.cart-item__qty span{font-size:.8rem;font-weight:700;min-width:14px;text-align:center;}
.cart-item__price{font-size:.84rem;font-weight:800;color:var(--rv-ink);margin-left:auto;}
.cart-item__remove{font-size:.72rem;color:#B23A3A;font-weight:600;margin-top:8px;}
.cart-empty{text-align:center;color:var(--rv-muted);font-size:.86rem;padding:34px 6px;line-height:1.5;}
.cart-footer{margin-top:8px;padding-top:18px;border-top:1px solid var(--rv-line);}
.cart-footer[hidden]{display:none;}
.cart-total{display:flex;justify-content:space-between;align-items:baseline;font-size:.86rem;color:var(--rv-muted);margin-bottom:14px;}
.cart-total strong{font-size:1.25rem;letter-spacing:-.02em;color:var(--rv-ink);}

/* ---------- Login admin (bară "Adaugă parfum / mix" pentru utilizatori logați) ---------- */
.rv-admin-quicklink{display:inline-flex;align-items:center;gap:8px;}
