/* ── Răsfoitor de ghiduri PDF (secțiunea `pdf-flipbook`) ──────────────────────────
   Se încarcă doar pe paginile care au o astfel de secțiune (vezi
   unnpr_page_needs_pdf_flipbook() în inc/sections.php).

   Foaia acoperă două lucruri: starea COPERTEI din pagină și SUPRAPUNEREA pe tot
   ecranul. Coperta stă adesea într-un `<figure>` al paginii gazdă, de pildă
   `.ghid-cover`, a cărui geometrie NU se atinge de aici. ─────────────────────── */

/* ── 1. Coperta apăsabilă ───────────────────────────────────────────────────── */

/* `display:block` nu este cosmetic: un <a> este implicit inline, deci ar deschide un
   context de linie în jurul imaginii și ar lăsa câțiva pixeli de fundal sub ea. */
.pdfflip-open {
  display: block; position: relative; border-radius: inherit;
  text-decoration: none; color: inherit; cursor: pointer;
}
.pdfflip-open img { display: block; width: 100%; height: auto; }

/* ⚠ Conturul este INTERIOR (`outline-offset` negativ) dinadins. Coperta stă de obicei
   într-un părinte cu `overflow:hidden` (`.ghid-cover` are), iar un contur desenat în
   afara linkului ar fi tăiat pe toate cele patru laturi, adică tastatura ar naviga fără
   niciun indiciu vizibil. Așa, indicația rămâne în interiorul zonei decupate și foaia
   paginii nu trebuie modificată. */
.pdfflip-open:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: -3px;
}

/* Eticheta „Răsfoiește ghidul”.
   Pastilă în COLȚUL din dreapta-jos, nu o bandă pe toată lățimea: coperta ghidului are
   titlul cules mare în stânga-jos, iar o bandă centrată se așeza exact peste „DE LOCUINȚE".
   Colțul din dreapta este singura zonă liniștită a compoziției. */
.pdfflip-cta {
  position: absolute; right: 12px; bottom: 12px;
  display: inline-flex; align-items: center; gap: 7px;
  padding: 8px 14px; border-radius: 999px;
  font-size: 12.5px; font-weight: 600; letter-spacing: .015em; color: #fff;
  background: rgba(0,26,54,.82);
  backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px);
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 6px 18px -8px rgba(0,0,0,.6);
  transition: background .25s ease, transform .25s ease;
}
.pdfflip-cta::before {
  content: ""; width: 15px; height: 15px; flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--pdfflip-icon) center / contain no-repeat;
          mask: var(--pdfflip-icon) center / contain no-repeat;
}
:root {
  /* Carte deschisă. Inline, ca să nu coste o cerere pentru 300 de octeți. */
  --pdfflip-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z'/%3E%3Cpath d='M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z'/%3E%3C/svg%3E");
}
.pdfflip-open:hover .pdfflip-cta,
.pdfflip-open:focus-visible .pdfflip-cta { background: var(--navy); transform: translateY(-2px); }

/* Banda secțiunii de sine stătătoare (pe „Ghidul cumpărătorului" nu se vede: acolo
   coperta vine prin jetonul {{flipbook:…}}, înăuntrul grilei scrise de mână). */
.pdfflip-band-inner { max-width: 420px; margin-inline: auto; }
.pdfflip-band-inner > figure {
  margin: 0; border-radius: 12px; overflow: hidden;
  box-shadow: 0 1px 2px rgba(15,23,42,.06), 0 20px 48px -24px rgba(0,42,85,.45);
}

/* ── 2. Suprapunerea ────────────────────────────────────────────────────────── */

.pdfflip-ov {
  position: fixed; inset: 0; z-index: 9999;
  display: flex; flex-direction: column;
  background: rgba(3,12,28,.95);
  opacity: 0; transition: opacity .2s ease;
}
.pdfflip-ov.is-open { opacity: 1; }

/* Blocarea derulării fundalului. Clasă PROPRIE, nu `menu-open` al sertarului:
   aceea este citită și de main.js, iar împărțirea ei ar fi însemnat că închiderea
   unuia deblochează pagina în timp ce celălalt este încă deschis. */
body.pdfflip-locked { overflow: hidden; }

.pdfflip-bar {
  flex: 0 0 auto; display: flex; align-items: center; gap: 12px;
  padding: 10px 14px; color: #fff;
}
.pdfflip-title {
  font-size: 13px; font-weight: 600; letter-spacing: .02em;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.pdfflip-count { margin-left: auto; font-size: 13px; opacity: .8; font-variant-numeric: tabular-nums; }

.pdfflip-btn {
  appearance: none; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.07);
  color: #fff; border-radius: 999px; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  font: inherit; font-size: 13px; font-weight: 600; padding: 8px 14px;
  transition: background .2s ease, border-color .2s ease, opacity .2s ease;
}
.pdfflip-btn:hover:not(:disabled) { background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.38); }
.pdfflip-btn:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
.pdfflip-btn:disabled { opacity: .35; cursor: default; }
.pdfflip-btn--icon { padding: 8px; width: 38px; height: 38px; }
.pdfflip-btn--icon svg { width: 17px; height: 17px; }

/* Zona cărții. `min-height:0` este obligatoriu: fără el un copil flex nu se poate micșora
   sub înălțimea conținutului, iar cartea ar împinge bara de jos în afara ecranului. */
.pdfflip-stage {
  flex: 1 1 auto; min-height: 0; position: relative;
  display: flex; align-items: center; justify-content: center;
  padding: 0 10px;
}
/* `pan-y`: StPageFlip nu declară nimic, iar fără asta trasul orizontal peste pagină se
   bate cu derularea pe verticală a paginii pe telefon. */
.pdfflip-book { touch-action: pan-y; }
.pdfflip-book img { display: block; width: 100%; height: 100%; object-fit: contain; background: #fff; }
.pdfflip-page { background: #fff; box-shadow: 0 0 22px rgba(0,0,0,.35); }

.pdfflip-foot {
  flex: 0 0 auto; display: flex; align-items: center; justify-content: center; gap: 10px;
  padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
}
.pdfflip-dl { margin-left: auto; }
.pdfflip-nav { display: inline-flex; gap: 8px; }

/* Starea de încărcare / eroare */
.pdfflip-note {
  position: absolute; inset: 0; display: grid; place-content: center; gap: 12px; justify-items: center;
  color: #fff; font-size: 14px; text-align: center; padding: 20px;
}
.pdfflip-spin {
  width: 34px; height: 34px; border-radius: 50%;
  border: 3px solid rgba(255,255,255,.22); border-top-color: var(--gold);
  animation: pdfflip-spin 1s linear infinite;
}
@keyframes pdfflip-spin { to { transform: rotate(360deg); } }

/* Bara de progres a descărcării PDF-ului (doar pe drumul PDF.js). */
.pdfflip-prog { width: min(240px, 60vw); height: 4px; border-radius: 999px; background: rgba(255,255,255,.18); overflow: hidden; }
.pdfflip-prog > i { display: block; height: 100%; width: 0; background: var(--gold); transition: width .2s ease; }

@media (max-width: 700px) {
  .pdfflip-title { display: none; }
  .pdfflip-dl span { display: none; }
  .pdfflip-dl { padding: 8px; width: 38px; height: 38px; }
}

/* Mișcare redusă: suprapunerea apare fără estompare și fotița nu se mai rotește.
   Răsfoirea propriu-zisă o scurtează modulul, prin `flippingTime` (vezi pdf-flipbook.js:
   valoarea NU poate fi 0, biblioteca împarte la ea). */
@media (prefers-reduced-motion: reduce) {
  .pdfflip-ov { transition: none; }
  .pdfflip-cta { transition: none; }
  .pdfflip-open:hover .pdfflip-cta,
  .pdfflip-open:focus-visible .pdfflip-cta { transform: none; }
  .pdfflip-spin { animation-duration: 2.4s; }
}
