/* =========================================================================
   Realest.Consulea — stratul v5 „REALEST OS"
   Conceptul: site-ul e o conversație, nu o broșură. Se încarcă după v4.css.
   Componente: intro cinematic, ușile (hero interactiv), dock-ul de acțiuni,
   paleta de comenzi (⌘K), cip de profil, contoare animate, galerie orizontală.
   ========================================================================= */

/* ---------------- INTRO CINEMATIC (doar prima vizită) ---------------- */
.intro {
  position: fixed; inset: 0; z-index: 300;
  background: var(--ink); display: grid; place-items: center;
  transition: opacity .6s var(--ease), visibility .6s;
}
.intro.gone { opacity: 0; visibility: hidden; pointer-events: none; }
.intro__w { padding: 0 clamp(24px, 8vw, 80px); width: min(680px, 100%); }
.intro__l {
  font-size: clamp(2.8rem, 8.5vw, 6rem); font-weight: 700; letter-spacing: -.03em;
  line-height: 1.04; color: var(--od); margin: 0; opacity: 0; transform: translateY(26px);
}
.intro__l--gold { color: var(--gold-2); }
.intro.play .intro__l:nth-child(1) { animation: introUp .7s var(--ease) .15s both; }
.intro.play .intro__l:nth-child(2) { animation: introUp .7s var(--ease) .5s both; }
.intro.play .intro__l:nth-child(3) { animation: introUp .7s var(--ease) .85s both; }
@keyframes introUp { to { opacity: 1; transform: translateY(0); } }
.intro__brand {
  margin-top: 30px; padding-top: 22px; position: relative;
  font-size: var(--t-lead); font-weight: 600; letter-spacing: .02em; color: var(--od-mid);
  opacity: 0;
}
.intro__brand::before {
  content: ""; position: absolute; top: 0; left: 0;
  width: 46px; height: 2px; background: var(--gold);
}
.intro__brand .gold { color: var(--gold-2); }
.intro.play .intro__brand { animation: introUp .7s var(--ease) 1.5s both; }
.intro__skip {
  position: absolute; bottom: 34px; left: 50%; transform: translateX(-50%);
  font: inherit; font-size: var(--t-small); font-weight: 600; letter-spacing: .06em;
  color: var(--od-dim); background: none; border: 1px solid var(--line-d);
  border-radius: var(--pill); padding: 9px 22px; cursor: pointer;
}
.intro__skip:hover { color: var(--od); border-color: var(--od-dim); }

/* ---------------- HERO CONVERSAȚIONAL + UȘILE ---------------- */
.heroq { padding: clamp(10px, 2vh, 18px) 0 clamp(20px, 3vh, 34px); background: var(--ink); }
.heroq__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; }
.heroq .dsp { font-size: clamp(2.6rem, 7vw, 6rem); }
.heroq__sub { margin-top: 16px; color: var(--od-mid); font-size: var(--t-lead); max-width: 52ch; }
.heroq__me { flex: 0 0 auto; position: relative; }
/* rama aurie care ÎNCADREAZĂ fotografia (nu mai e decalată — poza stă în chenar) */
.heroq__me::before {
  content: ""; position: absolute; inset: -10px; z-index: 0;
  border: 1.5px solid rgba(230, 197, 95, .5); border-radius: 30px;
  pointer-events: none;
}
.heroq__me img {
  position: relative; z-index: 1;
  width: clamp(220px, 24vw, 320px); height: auto; aspect-ratio: 3 / 4;
  object-fit: cover; object-position: top center;
  border-radius: 22px; display: block;
}
/* degradeu jos, ca numele să se citească pe fotografie */
.heroq__me::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 46%; z-index: 2;
  border-radius: 0 0 22px 22px; pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(14, 14, 17, .88));
}
.heroq__me figcaption {
  position: absolute; left: 20px; right: 20px; bottom: 16px; z-index: 3; margin: 0;
  font-size: var(--t-micro); letter-spacing: .08em; text-transform: uppercase;
  color: var(--od-mid); font-weight: 600;
}
.heroq__me figcaption b { display: block; color: var(--od); font-size: var(--t-lead); font-weight: 700; letter-spacing: -.01em; text-transform: none; margin-bottom: 3px; }

.doors { display: flex; gap: 8px; height: min(72vh, 720px); padding: 0 clamp(8px, 1vw, 16px) clamp(8px, 1vw, 16px); background: var(--ink); }
.door {
  position: relative; flex: 1 1 0; min-width: 0; overflow: hidden;
  display: flex; align-items: flex-end; text-decoration: none; color: var(--od);
  background: var(--ink-2); border-radius: 18px;
  transition: flex-grow .65s var(--ease);
}
@media (hover: hover) { .door:hover, .door:focus-visible { flex-grow: 2.2; } }
.door__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .38; transform: scale(1.06); transition: opacity .65s var(--ease), transform .9s var(--ease); }
.door:hover .door__img, .door:focus-visible .door__img { opacity: .62; transform: scale(1); }
.door::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,14,17,.1) 30%, rgba(14,14,17,.88) 100%); }
.door__b { position: relative; z-index: 2; padding: clamp(18px, 2.4vw, 34px); width: 100%; }
.door__n { font-size: var(--t-micro); font-weight: 600; letter-spacing: .14em; color: var(--gold-2); }
.door__t { display: block; margin-top: 10px; font-size: clamp(1.3rem, 2.2vw, 2rem); font-weight: 700; letter-spacing: -.02em; line-height: 1.08; }
.door__d { display: block; margin-top: 10px; max-width: 34ch; font-size: var(--t-small); line-height: 1.5; color: var(--od-mid); opacity: 0; transform: translateY(10px); transition: opacity .5s var(--ease) .12s, transform .5s var(--ease) .12s; }
.door:hover .door__d, .door:focus-visible .door__d { opacity: 1; transform: none; }
.door__go { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; font-size: var(--t-small); font-weight: 600; color: var(--gold-2); opacity: 0; transition: opacity .5s var(--ease) .2s; }
.door__go svg { width: 16px; height: 16px; }
.door:hover .door__go, .door:focus-visible .door__go { opacity: 1; }
.door__badge {
  position: absolute; top: 16px; left: 16px; z-index: 3; display: none;
  font-size: var(--t-micro); font-weight: 700; letter-spacing: .06em;
  background: var(--gold); color: var(--ink); border-radius: var(--pill); padding: 5px 12px;
}
.door.remembered .door__badge { display: inline-block; }
/* ușa Dubai — fără fotografie falsă: motiv tipografic */
.door--dxb { background: linear-gradient(160deg, #14120A 0%, var(--ink-2) 70%); }
.door--dxb::before {
  content: "DXB"; position: absolute; top: 8%; right: -4%;
  font-size: clamp(70px, 9vw, 150px); font-weight: 700; letter-spacing: -.02em; line-height: 1;
  color: transparent; -webkit-text-stroke: 1.5px rgba(230,197,95,.2);
}

@media (max-width: 860px) {
  /* telefon & tabletă: fără poză mare — doar avatarul mic, ca o semnătură,
     și cât mai puțin negru gol deasupra */
  .heroq { padding-top: 10px; padding-bottom: 14px; }
  .heroq__head { flex-direction: column; align-items: flex-start; gap: 16px; }
  .heroq__me { order: -1; display: flex; align-items: center; gap: 14px; text-align: left; margin: 0; }
  .heroq__me::before, .heroq__me::after { display: none; }
  .heroq__me img { width: 56px; height: 56px; aspect-ratio: auto; border-radius: 50%; margin: 0; }
  .heroq__me figcaption { display: block; position: static; margin-top: 0; }
  .heroq__me figcaption b { font-size: var(--t-small); margin-bottom: 0; }
  .heroq__sub { max-width: none; }
  .doors { flex-direction: column; height: auto; }
  .door { min-height: 128px; flex: none; border-radius: 14px; }
  .door__img { opacity: .3; }
  .door__d, .door__go { display: none; }
  .door__t { font-size: 1.35rem; }
}

/* ---------------- DOCK-UL DE ACȚIUNI (doar desktop) ---------------- */
.dock {
  position: fixed; left: 50%; bottom: 20px; transform: translateX(-50%);
  z-index: 90; display: flex; align-items: center; gap: 2px; padding: 6px;
  background: rgba(14,14,17,.86);
  -webkit-backdrop-filter: blur(18px) saturate(1.4); backdrop-filter: blur(18px) saturate(1.4);
  border: 1px solid rgba(230,197,95,.22); border-radius: var(--pill);
  box-shadow: 0 18px 50px -12px rgba(0,0,0,.6);
}
.dock a, .dock button {
  display: inline-flex; align-items: center; gap: 8px;
  font: inherit; font-size: 14px; font-weight: 600; letter-spacing: .01em;
  color: var(--od); text-decoration: none; background: none; border: 0; cursor: pointer;
  padding: 10px 16px; border-radius: var(--pill);
  transition: background .25s var(--ease), color .25s var(--ease);
}
.dock a:hover, .dock button:hover { background: var(--gold); color: var(--ink); }
.dock svg { width: 17px; height: 17px; flex: 0 0 auto; }
.dock .sep { width: 1px; height: 22px; background: var(--line-d); margin: 0 4px; }
.dock kbd {
  font: inherit; font-size: 11.5px; font-weight: 700; letter-spacing: .04em;
  border: 1px solid var(--line-d); border-radius: 6px; padding: 2px 7px; color: var(--od-mid);
}
.dock a:hover kbd, .dock button:hover kbd { color: var(--ink); border-color: rgba(14,14,17,.4); }
@media (max-width: 960px) { .dock { display: none; } }
@media (min-width: 961px) {
  .wa-float, .mbar { display: none !important; }
  /* loc pentru dock la capătul paginii, ca să nu acopere subsolul */
  .foot { padding-bottom: 104px; }
}

/* ---------------- PALETA DE COMENZI (⌘K) ---------------- */
.pal { position: fixed; inset: 0; z-index: 250; display: none; }
.pal.open { display: block; }
.pal__bg { position: absolute; inset: 0; background: rgba(10,10,13,.66); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.pal__win {
  position: relative; margin: min(16vh, 150px) auto 0; width: min(620px, 92vw);
  background: var(--ink-2); border: 1px solid var(--line-d); border-radius: 18px;
  overflow: hidden; box-shadow: 0 40px 100px -20px rgba(0,0,0,.7);
}
.pal__in {
  width: 100%; font: inherit; font-size: var(--t-lead); color: var(--od);
  background: none; border: 0; outline: none; padding: 20px 24px;
  border-bottom: 1px solid var(--line-d);
}
.pal__in::placeholder { color: var(--od-dim); }
.pal__list { max-height: min(46vh, 420px); overflow-y: auto; padding: 8px; }
.pal__it {
  display: flex; align-items: center; gap: 14px; width: 100%;
  font: inherit; font-size: var(--t-body); color: var(--od); text-align: left;
  background: none; border: 0; cursor: pointer; padding: 13px 16px; border-radius: 12px;
}
.pal__it svg { width: 19px; height: 19px; color: var(--gold-2); flex: 0 0 auto; }
.pal__it .h { margin-left: auto; font-size: var(--t-micro); color: var(--od-dim); }
.pal__it.on, .pal__it:hover { background: rgba(201,162,39,.14); }
.pal__none { padding: 22px 20px; color: var(--od-dim); font-size: var(--t-small); }
.pal__foot { display: flex; gap: 18px; padding: 10px 20px; border-top: 1px solid var(--line-d); font-size: var(--t-micro); color: var(--od-dim); }
.pal__foot b { color: var(--od-mid); font-weight: 600; }

/* ---------------- CIP DE PROFIL (în bara de sus) ---------------- */
.nav a { white-space: nowrap; }
.pchip { position: relative; }
.pchip__b { white-space: nowrap; }
.pchip__b {
  display: inline-flex; align-items: center; gap: 8px;
  font: inherit; font-size: 13.5px; font-weight: 600; color: var(--gold-2);
  background: rgba(201,162,39,.1); border: 1px solid rgba(230,197,95,.35);
  border-radius: var(--pill); padding: 8px 15px; cursor: pointer;
}
.pchip__b:hover { background: rgba(201,162,39,.2); }
.pchip__m {
  position: absolute; right: 0; top: calc(100% + 10px); min-width: 240px;
  background: var(--ink-2); border: 1px solid var(--line-d); border-radius: 14px;
  padding: 8px; display: none; box-shadow: 0 24px 60px -18px rgba(0,0,0,.65); z-index: 120;
}
.pchip.open .pchip__m { display: block; }
.pchip__m button {
  display: block; width: 100%; text-align: left; font: inherit; font-size: var(--t-small);
  color: var(--od); background: none; border: 0; cursor: pointer;
  padding: 11px 14px; border-radius: 10px;
}
.pchip__m button:hover { background: rgba(201,162,39,.14); }
.pchip__m button.on { color: var(--gold-2); font-weight: 700; }
.pchip__m .x { color: var(--od-dim); border-top: 1px solid var(--line-d); border-radius: 0 0 10px 10px; margin-top: 6px; }
@media (max-width: 760px) { .pchip { display: none; } }

/* ---------------- SALUTUL PERSONALIZAT ---------------- */
[data-greet] { display: none; margin-bottom: 14px; }
[data-greet].show { display: inline-flex; align-items: center; gap: 10px; }
.greet {
  font-size: var(--t-small); font-weight: 600; color: var(--gold-2);
  border: 1px solid rgba(230,197,95,.35); border-radius: var(--pill); padding: 7px 16px;
  background: rgba(201,162,39,.08);
}

/* ---------------- GALERIA ORIZONTALĂ ---------------- */
.hwrap { position: relative; }
.hscroll {
  display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory;
  padding: 4px 4px 14px; scrollbar-width: thin; scrollbar-color: var(--line-d) transparent;
}
.hscroll figure { flex: 0 0 clamp(280px, 34vw, 430px); scroll-snap-align: start; margin: 0; }
.hscroll img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.hbtn {
  position: absolute; top: 38%; z-index: 5;
  width: 46px; height: 46px; border-radius: 50%;
  display: grid; place-items: center; cursor: pointer;
  background: rgba(14,14,17,.85); color: var(--od);
  border: 1px solid var(--line-d);
  transition: background .25s var(--ease), color .25s var(--ease);
}
.hbtn:hover { background: var(--gold); color: var(--ink); }
.hbtn svg { width: 20px; height: 20px; }
.hbtn--l { left: -8px; } .hbtn--r { right: -8px; }
@media (max-width: 760px) { .hbtn { display: none; } }

/* ---------------- Diverse ---------------- */
@media (prefers-reduced-motion: reduce) {
  .intro { display: none !important; }
  .door, .door__img, .door__d, .door__go { transition: none !important; }
}
