/* ==========================================================================
   Revista Elim: numărul cel mai nou (coperta ca o carte în relief), raftul cu toate numerele și cititorul.
   Culori din paletă (assets/global/actions.css).
   ========================================================================== */
.rv { width: min(var(--elim-grid, 1280px), 100% - 2 * var(--elim-gutter, 20px)); margin: 0 auto; font-family: "macha", sans-serif; }

/* ---------- numărul cel mai nou ---------- */
.rv-hero { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); align-items: center; gap: 48px 80px; padding: 64px 72px; border-radius: 40px; background: var(--elim-fog); }
.rv-book { position: relative; justify-self: center; width: min(400px, 100%); aspect-ratio: var(--r, .703); padding: 0; border: 0; background: none; cursor: pointer; perspective: 1800px; }
.rv-book__cover, .rv-book__inside, .rv-book__pages { position: absolute; inset: 0; border-radius: 3px 10px 10px 3px; }
.rv-book__cover { z-index: 3; overflow: hidden; transform-origin: left center; transform-style: preserve-3d; box-shadow: 0 30px 50px -20px rgba(27, 20, 26, .45), 0 10px 18px rgba(27, 20, 26, .12); transition: transform .9s cubic-bezier(.2, .8, .2, 1), box-shadow .9s; }
.rv-book__cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
/* cotorul: o umbră fină pe stânga copertei */
.rv-book__cover::after { content: ""; position: absolute; inset: 0 auto 0 0; width: 14px; background: linear-gradient(90deg, rgba(0, 0, 0, .22), rgba(255, 255, 255, .15) 45%, transparent); }
.rv-book__inside { z-index: 2; overflow: hidden; background: #fff; }
.rv-book__inside img { display: block; width: 100%; height: 100%; object-fit: cover; opacity: .9; }
/* grosimea revistei: foile, pe marginea din dreapta și jos */
.rv-book__pages { z-index: 1; transform: translate(6px, 5px); background: repeating-linear-gradient(90deg, #fff 0 2px, #EDE6E3 2px 3px); box-shadow: 0 30px 50px -20px rgba(27, 20, 26, .35); }
.rv-book:hover .rv-book__cover, .rv-book:focus-visible .rv-book__cover { transform: rotateY(-28deg); box-shadow: 18px 30px 50px -20px rgba(27, 20, 26, .4); }
.rv-book:focus-visible { outline: none; }
.rv-book:focus-visible .rv-book__cover { outline: 3px solid var(--elim-gold); outline-offset: 6px; }
.rv-hero__txt .elim-t-label { margin: 0 0 10px; }
.rv-hero__t { margin: 0 0 18px; font-family: "foco", sans-serif; font-weight: 900; font-size: 48px; line-height: 1.1; color: var(--elim-plum); text-wrap: balance; }
.rv-hero__p { margin: 0 0 28px; max-width: 540px; font-size: 20px; line-height: 1.55; color: var(--elim-plum); }
.rv-hero__a { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 32px; }
.rv-btn { display: inline-flex; align-items: center; height: 50px; padding: 0 30px; border: 0; border-radius: 99px; background: var(--elim-plum); font: inherit; font-size: 18px; color: #fff; cursor: pointer; transition: background-color .25s, color .25s; }
.rv-btn:hover, .rv-btn:focus-visible { background: var(--elim-gold); color: var(--elim-ink); outline: none; }
.rv-hero__n { margin: 18px 0 0; font-size: 16px; color: var(--elim-t-muted); }

/* ---------- raftul ---------- */
.rv-shelf { margin-top: 96px; }
.rv-shelf__h { margin-bottom: 40px; text-align: center; }
.rv-shelf__h .elim-t-eyebrow { margin: 0 0 8px; }
.rv-shelf__t { margin: 0; font-family: "foco", sans-serif; font-weight: 900; font-size: 48px; line-height: 1.1; color: var(--elim-plum); }
.rv-shelf__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 48px 32px; margin: 0; padding: 0 0 40px; list-style: none; border-bottom: 1px solid var(--elim-line); }
.rv-item { display: flex; flex-direction: column; align-items: flex-start; width: 100%; padding: 0; border: 0; background: none; font: inherit; text-align: left; cursor: pointer; }
.rv-item__cover { position: relative; display: block; width: 100%; aspect-ratio: var(--r, .703); margin-bottom: 16px; border-radius: 2px 8px 8px 2px; overflow: hidden; box-shadow: 4px 4px 0 -1px #fff, 5px 5px 0 -1px var(--elim-line), 0 20px 30px -16px rgba(27, 20, 26, .4); transform: perspective(900px) rotateY(0); transform-origin: left center; transition: transform .5s cubic-bezier(.2, .8, .2, 1), box-shadow .5s; }
.rv-item__cover::after { content: ""; position: absolute; inset: 0 auto 0 0; width: 10px; background: linear-gradient(90deg, rgba(0, 0, 0, .2), transparent); }
.rv-item__cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rv-item:hover .rv-item__cover, .rv-item:focus-visible .rv-item__cover { transform: perspective(900px) rotateY(-14deg) translateY(-6px); box-shadow: 4px 4px 0 -1px #fff, 5px 5px 0 -1px var(--elim-line), 14px 26px 34px -16px rgba(27, 20, 26, .45); }
.rv-item:focus-visible { outline: none; }
.rv-item:focus-visible .rv-item__cover { outline: 3px solid var(--elim-gold); outline-offset: 4px; }
.rv-item__k { margin-bottom: 4px; font-family: "Montserrat", sans-serif; font-weight: 800; font-size: 12px; text-transform: uppercase; color: var(--elim-gold); }
.rv-item__t { font-weight: 700; font-size: 20px; line-height: 1.3; color: var(--elim-ink); }
.rv-item:hover .rv-item__t { color: var(--elim-plum); }

@media (max-width: 1024px) { .rv-hero { padding: 48px; gap: 40px; } .rv-hero__t, .rv-shelf__t { font-size: 42px; } }
@media (max-width: 767px) {
	.rv-hero { grid-template-columns: 1fr; padding: 36px 22px 32px; border-radius: 28px; text-align: center; }
	.rv-book { width: min(250px, 72%); }
	.rv-hero__t, .rv-shelf__t { font-size: 34px; }
	.rv-hero__p { font-size: 18px; margin-inline: auto; }
	.rv-hero__a { justify-content: center; }
	.rv-shelf { margin-top: 64px; }
	.rv-shelf__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 18px; }
	.rv-item__t { font-size: 17px; }
}

/* ---------- cititorul ---------- */
html.rvr-open { overflow: hidden; }
.rvr { position: fixed; inset: 0; z-index: 100000; display: flex; flex-direction: column; background: radial-gradient(ellipse at 50% 40%, #2C2029 0, var(--elim-ink) 70%); color: #fff; font-family: "macha", sans-serif; opacity: 0; transition: opacity .25s; user-select: none; -webkit-user-select: none; }
.rvr.is-in { opacity: 1; }
.rvr[hidden] { display: none; }
.rvr__top { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 20px; }
.rvr__title { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.rvr__title b { font-family: "foco", sans-serif; font-weight: 900; font-size: 20px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rvr__title span { font-family: "Montserrat", sans-serif; font-weight: 800; font-size: 11px; text-transform: uppercase; color: var(--elim-gold); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rvr__tools { display: flex; gap: 6px; }
.rvr__tools > * { display: grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .08); color: #fff; cursor: pointer; transition: background-color .2s, color .2s; }
.rvr__tools svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.rvr__tools > *:hover, .rvr__tools > *:focus-visible, .rvr__tools [aria-pressed="true"] { background: var(--elim-gold); color: var(--elim-ink); outline: none; }
.rvr__tools [hidden] { display: none; }
.rvr__close { margin-left: 8px; background: rgba(255, 255, 255, .16) !important; }

.rvr__stage { position: relative; flex: 1; display: flex; align-items: center; justify-content: center; perspective: 2600px; overflow: hidden; }
.rvr__book { --w: 400px; --h: 560px; position: relative; display: flex; transition: transform .45s cubic-bezier(.2, .8, .2, 1); transform-style: preserve-3d; touch-action: none; cursor: grab; }
.rvr.is-zoom .rvr__book { cursor: move; transition: transform .3s; }
.rvr__pg { position: relative; width: var(--w); height: var(--h); background: #fff; overflow: hidden; }
.rvr__pg img, .rvr__face img { display: block; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.rvr__pg.is-empty { background: transparent; }
/* desfăcută: umbra cotorului pe ambele pagini, umbra revistei pe masă */
.rvr.is-spread .rvr__book { box-shadow: 0 40px 70px -30px rgba(0, 0, 0, .7); }
.rvr.is-spread .rvr__pg--l:not(.is-empty)::after, .rvr.is-spread .rvr__pg--r:not(.is-empty)::after { content: ""; position: absolute; top: 0; bottom: 0; width: 60px; pointer-events: none; }
.rvr.is-spread .rvr__pg--l::after { right: 0; background: linear-gradient(270deg, rgba(0, 0, 0, .22), transparent); }
.rvr.is-spread .rvr__pg--r::after { left: 0; background: linear-gradient(90deg, rgba(0, 0, 0, .18), transparent); }
.rvr.is-spread .rvr__book.is-cover { transform: translateX(calc(var(--w) / -2)); box-shadow: none; }
.rvr.is-spread .rvr__book.is-back { transform: translateX(calc(var(--w) / 2)); box-shadow: none; }
.rvr.is-spread .rvr__book.is-cover .rvr__pg--r, .rvr.is-spread .rvr__book.is-back .rvr__pg--l { box-shadow: 0 40px 70px -30px rgba(0, 0, 0, .7); }
.rvr:not(.is-spread) .rvr__pg--l { display: none; }
.rvr:not(.is-spread) .rvr__pg--r { border-radius: 4px; box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .8); }
/* foaia care se întoarce */
.rvr__leaf { position: absolute; top: 0; width: var(--w); height: var(--h); transform-style: preserve-3d; transition: transform .75s cubic-bezier(.45, .05, .35, 1); z-index: 5; }
.rvr__leaf.is-fwd { left: 50%; transform-origin: left center; }
.rvr__leaf.is-back { left: 0; transform-origin: right center; }
.rvr__book.is-cover .rvr__leaf.is-fwd { left: 50%; }
.rvr__leaf.is-fwd.is-turn { transform: rotateY(-180deg); }
.rvr__leaf.is-back.is-turn { transform: rotateY(180deg); }
.rvr__face { position: absolute; inset: 0; backface-visibility: hidden; -webkit-backface-visibility: hidden; background: #fff; overflow: hidden; }
.rvr__face--backside { transform: rotateY(180deg); }
.rvr__face::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity .75s; }
.rvr__leaf.is-fwd .rvr__face--front::after { background: linear-gradient(90deg, rgba(0, 0, 0, .25), transparent 40%); }
.rvr__leaf.is-back .rvr__face--front::after { background: linear-gradient(270deg, rgba(0, 0, 0, .25), transparent 40%); }
.rvr__leaf.is-turn .rvr__face--front::after { opacity: 1; }
/* telefon: pagina alunecă */
.rvr__book.is-out-l { transform: translateX(-40%) rotate(-3deg); opacity: 0; transition: transform .2s ease-in, opacity .2s; }
.rvr__book.is-out-r { transform: translateX(40%) rotate(3deg); opacity: 0; transition: transform .2s ease-in, opacity .2s; }
.rvr__book.is-in-r { animation: rvrInR .26s ease-out; }
.rvr__book.is-in-l { animation: rvrInL .26s ease-out; }
@keyframes rvrInR { from { transform: translateX(30%); opacity: 0; } }
@keyframes rvrInL { from { transform: translateX(-30%); opacity: 0; } }

.rvr__nav { position: absolute; top: 50%; z-index: 6; width: 52px; height: 52px; margin-top: -26px; padding: 0; border: 1px solid rgba(218, 167, 105, .7); border-radius: 50%; background: rgba(27, 20, 26, .5); cursor: pointer; transition: background-color .2s, opacity .2s; }
.rvr__nav::before { content: ""; position: absolute; inset: 0; margin: auto; width: 9px; height: 16px; background: #fff; -webkit-mask: var(--haicon-right) center / contain no-repeat; mask: var(--haicon-right) center / contain no-repeat; }
.rvr__nav--prev { left: 24px; }
.rvr__nav--prev::before { transform: scaleX(-1); }
.rvr__nav--next { right: 24px; }
.rvr__nav:hover, .rvr__nav:focus-visible { background: var(--elim-gold); outline: none; }
.rvr__nav:hover::before { background: var(--elim-ink); }
.rvr__nav:disabled { opacity: 0; pointer-events: none; }
.rvr.is-zoom .rvr__nav { opacity: 0; pointer-events: none; }

.rvr__foot { display: flex; align-items: center; gap: 20px; padding: 14px 24px 18px; }
.rvr__count { flex: 0 0 auto; min-width: 170px; font-size: 15px; color: rgba(255, 255, 255, .75); font-variant-numeric: tabular-nums; }
.rvr__foot input { flex: 1; accent-color: var(--elim-gold); height: 4px; }
.rvr__grid { position: absolute; inset: 70px 0 0; z-index: 10; padding: 24px; overflow: auto; background: rgba(27, 20, 26, .96); }
.rvr__grid ol { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 20px 14px; max-width: 1200px; margin: 0 auto; padding: 0; list-style: none; }
.rvr__grid button { display: flex; flex-direction: column; align-items: center; gap: 6px; width: 100%; padding: 0; border: 0; background: none; color: rgba(255, 255, 255, .7); font: inherit; font-size: 13px; cursor: pointer; }
.rvr__grid img { width: 100%; aspect-ratio: .703; object-fit: cover; border-radius: 3px; outline: 2px solid transparent; outline-offset: 3px; transition: outline-color .2s, transform .2s; }
.rvr__grid button:hover img { transform: translateY(-3px); }
.rvr__grid button.is-cur img, .rvr__grid button:focus-visible img { outline-color: var(--elim-gold); }
.rvr__grid button:focus-visible { outline: none; }
.rvr__toast { position: absolute; left: 50%; bottom: 80px; margin: 0; padding: 10px 18px; border-radius: 99px; background: #fff; color: var(--elim-ink); font-size: 15px; transform: translateX(-50%); z-index: 12; }
@media (max-width: 899px) {
	.rvr__top { padding: 10px 12px; }
	.rvr__title b { font-size: 17px; }
	.rvr__tools > * { width: 38px; height: 38px; }
	.rvr__tools [data-a="zoom"] { display: none; }
	.rvr__nav { display: none; }
	.rvr__count { min-width: 0; font-size: 13px; }
	.rvr__foot { padding: 10px 16px 16px; }
}
@media (prefers-reduced-motion: reduce) { .rv-book__cover, .rv-item__cover, .rvr__book, .rvr__leaf { transition: none; } }
