/* La Prăjituri — stratul de animație (se încarcă împreună cu laprajituri.js).
   Fără el, paginile sunt întregi și statice; aici stau doar stările de care
   are nevoie scriptul. Portat din prototip: copy.css, transitions.css,
   nav.css, button.css, pasi.css, contact.css. */

/* Lenis */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }

/* SplitText: măștile sunt block, cuvintele inline-block; padding în mască
   pentru descendente și breve, compensat cu margin negativ. */
.line, .line-mask { display: block; }
.word, .word-mask { display: inline-block; }
.line-mask, .word-mask { padding: 0.12em 0.12em 0.22em; margin: -0.12em -0.12em -0.22em; }
.word-mask { vertical-align: baseline; }
.line, .word { will-change: transform; }

/* Tranziția între pagini (View Transitions, fără librărie). */
@view-transition { navigation: auto; }
::view-transition-group(root) { animation-duration: 1.5s; animation-timing-function: cubic-bezier(0.87, 0, 0.13, 1); }
::view-transition-image-pair(root) { isolation: isolate; will-change: transform, opacity, clip-path; }
::view-transition-old(root) { z-index: 1; animation: lp-page-out 1.5s cubic-bezier(0.87, 0, 0.13, 1) forwards; }
::view-transition-new(root) { z-index: 10000; animation: lp-page-in 1.5s cubic-bezier(0.87, 0, 0.13, 1) forwards; }
@keyframes lp-page-out { from { opacity: 1; transform: translateY(0); } to { opacity: 0.2; transform: translateY(-35%); } }
@keyframes lp-page-in {
  from { clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%); transform: translateY(25%); }
  to { clip-path: polygon(0% 100%, 100% 100%, 100% 0%, 0% 0%); transform: translateY(0%); }
}
@media (prefers-reduced-motion: reduce) { @view-transition { navigation: none; } }

/* Meniul: Bricks îl coboară de sus; aici îl deschidem cu clip-path, ca în prototip. */
.lp-js .lp-meniu .brx-offcanvas-inner {
  width: 100vw !important;
  max-width: none !important;
  margin: 0 !important;
  left: 0 !important;
  transform: none !important;
  transition: none !important;
  clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 0% 0%);
}
.lp-js .lp-meniu .brx-offcanvas-inner > .brxe-block { will-change: transform, opacity; width: 100%; max-width: 1440px; margin: 0 auto; }
.lp-js .lp-meniu .bricks-nav-menu > li { clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%); padding-bottom: 0.25rem; }
.lp-js .lp-meniu .bricks-nav-menu > li > a { display: inline-block; position: relative; }
.lp-js .lp-meniu__program { display: inline-block; clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%); }
.lp-js .lp-meniu__program > span { display: inline-block; }
.lp-meniu__preview { position: relative; width: 45%; aspect-ratio: 3 / 4; max-height: min(700px, 70svh); overflow: hidden; border-radius: var(--lp-raza); }
.lp-meniu__preview img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lp-js .lp-meniu .bricks-nav-menu > li > a::after {
  content: ""; position: absolute; top: 102%; left: 0; width: 100%; height: 2px; background: var(--lp-roz);
  transform: scaleX(0); transform-origin: right; transition: transform 0.3s cubic-bezier(0.6, 0, 0.4, 1);
}
.lp-js .lp-meniu .bricks-nav-menu > li > a:hover::after { transform: scaleX(1); transform-origin: left; }
.lp-js .lp-meniu .bricks-nav-menu > li > a:hover { text-decoration: none; }
/* bara devine transparentă peste fundalul mov cât e meniul deschis */
.lp-nav-open .lp-bara { background: transparent; border-color: transparent; transition: background-color 0.4s, border-color 0.4s; }
.lp-nav-open .lp-bara img { filter: brightness(0) invert(1); }
.lp-nav-open .lp-bara__tel, .lp-nav-open .lp-bara__tel .lp-bara__eticheta, .lp-nav-open .lp-bara .brxe-text-basic { color: #fff; }
.lp-nav-open .lp-bara__tel svg { fill: var(--lp-roz); }
.lp-nav-open .lp-bara .brxe-toggle .brxa-inner, .lp-nav-open .lp-bara .brxe-toggle .brxa-inner::before, .lp-nav-open .lp-bara .brxe-toggle .brxa-inner::after { background-color: #fff !important; }
.lp-bara .brxe-toggle, .lp-bara .brxe-text-basic[data-brx-toggle-offcanvas] { transition: color 0.4s; }
.lp-bara__eticheta-meniu { position: relative; display: inline-block; width: 3.6rem; height: 1.4rem; }
.lp-bara__eticheta-meniu span { position: absolute; left: 0; top: 0; white-space: nowrap; transform-origin: top left; will-change: transform, opacity; }
.lp-bara__eticheta-meniu .lp-bara__inchide { opacity: 0; transform: translateX(-5px) translateY(10px) rotate(5deg); }
/* butonul de închidere e cel din bară (hamburgerul devine X); bara stă peste meniu */
.lp-js .lp-meniu .brxe-toggle { display: none; }
.lp-nav-open .lp-bara { z-index: 1000; }

/* Butonul cu litere care alunecă (footer, Contact). */
.lp-slide-text { position: relative; display: inline-flex; }
.lp-slide-char { position: relative; display: inline-block; overflow: hidden; }
.lp-slide-char .char-default, .lp-slide-char .char-hover { display: inline-block; will-change: transform; }
.lp-slide-char .char-hover { position: absolute; top: 0; left: 0; }

/* Cardul de meniu: săgețile există doar cu script. */
.lp-js .lp-meniu-nav { display: flex; }

/* Comandă: inelul desenat de script; conturul CSS dispare. */
.lp-js .lp-btn-cerc { position: relative; border-color: transparent; }
.lp-btn-cerc__inel { position: absolute; top: 50%; left: 50%; width: 100%; height: 100%; transform: translate(-50%, -50%); color: var(--lp-coral); pointer-events: none; }

/* Produse: ancora activă */
.lp-subnav__link.lp-activ { background: var(--lp-mov); color: #fff; }

/* Despre noi: antetul se prinde 160vh și rândurile se depărtează cât derulezi. */
.lp-js .lp-despre-antet { height: 160vh; overflow: clip; }
.lp-js .lp-despre-antet__pin { position: sticky; top: var(--lp-bara); height: calc(100vh - var(--lp-bara)); min-height: 0; }
.admin-bar.lp-js .lp-despre-antet__pin { top: calc(var(--lp-bara) + 32px); }
.lp-js .lp-despre-antet__rand, .lp-js .lp-despre-antet__poza { will-change: transform; transform-origin: center; }
@media (max-width: 999px) {
  .lp-js .lp-despre-antet { height: 140vh; }
  .lp-js .lp-despre-antet__pin { top: 4.5rem; height: calc(100vh - 4.5rem); }
}

/* Cum comand: indicatorul Pasul 1–4 (doar desktop, doar cu script). */
.lp-js .lp-pasi { display: flex; flex-direction: row; gap: 0.75rem; }
.lp-pasi__pas {
  position: relative; display: flex; align-items: center; justify-content: center; width: 3.5rem; height: 3.5rem; padding: 1rem;
  border: 1px solid var(--lp-linie); border-radius: 999px; color: var(--lp-mov); overflow: hidden; transition: all 0.3s ease;
}
.lp-pasi__pas p { font-size: 1.05rem; font-weight: 700; color: inherit; }
.lp-pasi__eticheta { position: absolute; left: 1.5rem; opacity: 0; transform: translateX(-20px); transition: all 0.3s ease; white-space: nowrap; }
.lp-pasi__index { position: relative; transition: all 0.3s ease; }
.lp-pasi__pas.lp-activ { width: 7.5rem; color: #fff; background-color: var(--lp-mov); border-color: var(--lp-mov); }
.lp-pasi__pas.lp-activ .lp-pasi__index { transform: translateX(28px); }
.lp-pasi__pas.lp-activ .lp-pasi__eticheta { opacity: 1; transform: translateX(0); }
@media (max-width: 1000px) { .lp-js .lp-pasi { display: none; } }

/* Contact: pe desktop panourile urcă, apoi cardurile intră din dreapta. */
@media (min-width: 1000px) {
  .lp-js .lp-locatii { height: calc(100svh - var(--lp-bara)); min-height: 0; padding-top: 0; padding-bottom: 0; overflow: hidden; justify-content: center; will-change: transform; }
  .lp-js .lp-panouri { height: 80%; }
  .lp-js .lp-panou-cadru { position: relative; height: 100%; border-radius: var(--lp-raza); background-color: var(--lp-mov-inchis); transform: translateY(125%); will-change: transform; }
  .lp-js .lp-panou-cadru:nth-child(1) { z-index: 2; } .lp-js .lp-panou-cadru:nth-child(2) { z-index: 1; } .lp-js .lp-panou-cadru:nth-child(3) { z-index: 0; }
  .lp-js .lp-panou-cadru__icon { display: block; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0); will-change: transform; }
  .lp-js .lp-panou-cadru > .lp-panou { position: absolute; top: 50%; left: 50%; width: calc(100% + 4px); height: calc(100% + 4px); will-change: transform; }
  .lp-js .lp-panou-cadru:nth-child(1) > .lp-panou { transform: translate(350%, -50%) scale(0.75) rotate(20deg); }
  .lp-js .lp-panou-cadru:nth-child(2) > .lp-panou { transform: translate(250%, -50%) scale(0.75) rotate(20deg); }
  .lp-js .lp-panou-cadru:nth-child(3) > .lp-panou { transform: translate(150%, -50%) scale(0.75) rotate(20deg); }
}
.lp-panou-cadru__icon { display: none; }
