/* ── Cvijet se otvara ──────────────────────────────────────────────────────
   Ploha koja izraste iz znaka marke u ljusci mladenaca. Ponašanje i razlozi:
   `static/js/dalia-cvijet.js`. Rasmusov audit 12.9.2026. je ovdje ispravio
   sedam stvari; svaka nosi svoj razlog uz pravilo.

   Kat je `--z-cvijet`, a NE `--z-bloom` (100): taj je kat pisan za obrisani
   kutni `.dw-bloom` koji se širio ispod ljuske, pa bi veo legao po sadržaju
   dok traka i donja navigacija ostaju svijetle iznad njega.

   Pokret je samo `transform`/`opacity` — ploha preko cijelog kadra koja
   animira `width` ili `filter` na mobitelu kida kadrove. */

.dw-lockup-mark--cvijet { cursor: pointer; }

.dw-cvijet {
  position: fixed;
  inset: 0;
  z-index: var(--z-cvijet);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 32px 24px;
  opacity: 0;
  transition: opacity .32s ease;
  cursor: pointer;
  /* Veo, ne zid: ploha ispod ostaje nagoviještena, pa je jasno da je ovo
     trenutak, a ne odredište. Izvor svjetla je NA ZNAKU (`--cv-x/--cv-y`). */
  background:
    radial-gradient(120vmax 120vmax at var(--cv-x, 50%) var(--cv-y, 50%),
                    rgba(255, 252, 249, .96) 0%,
                    rgba(250, 242, 246, .95) 45%,
                    rgba(240, 230, 238, .93) 100%);
}
.dw-cvijet.is-open { opacity: 1; }

/* Zamućenje umjesto veće neprozirnosti (Rasmus): veća alfa ubija ideju „veo,
   ne zid", a ploha ispod se i dalje ČITA — izmjereno 3,09 % strukture na
   desktopu, pa je ispod vela stajao tuđi popis zadataka pod filterom.
   Zamućenje ga pretvara u teksturu: ploha je ondje, nijedna riječ nije.
   Svjesno odstupanje od pravila o zamućenju — ono vrijedi za element koji se
   ponavlja i stoji danima; ovo je jedan sloj, na zahtjev, nekoliko sekundi. */
@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)) {
  .dw-cvijet {
    -webkit-backdrop-filter: blur(18px) saturate(.72);
    backdrop-filter: blur(18px) saturate(.72);
    background:
      radial-gradient(120vmax 120vmax at var(--cv-x, 50%) var(--cv-y, 50%),
                      rgba(255, 252, 249, .86) 0%,
                      rgba(250, 242, 246, .84) 45%,
                      rgba(240, 230, 238, .82) 100%);
  }
}

body.dw-cvijet-open { overflow: hidden; }

/* Dockovi stoje na 9997–10302 i veo ih ne dotiče (Rasmus B2). Izmjereno na
   snimci: najzasićeniji piksel kadra bio je CRVENI badge obavijesti u kutu
   (S=72 %), zasićeniji od samog znaka (S=64 %) — znak marke gubio je vlastiti
   trenutak od brojke u kutu. Dizanje `--z-cvijet` iznad njih ne pomaže:
   pokriven dock pod poluprozirnim velom i dalje pulsira. Zato se SKRIVA. */
/* Popis je IZMJEREN, ne pogođen: sve što je `position: fixed`, vidljivo i na
   katu ≥ `--z-cvijet` dok je ploha otvorena (1440×900, 13.9.2026.). Prva
   izvedba je gađala imena iz glave (`.dw-dock`, `[class*="dock-"]`) i promašila
   oba stvarna člana. */
body.dw-cvijet-open .dalia-chat-btn,
body.dw-cvijet-open .dw-chat-fab,
body.dw-cvijet-open .dalia-notifications-container,
body.dw-cvijet-open .dw-dock,
body.dw-cvijet-open .cc-launcher,
body.dw-cvijet-open .ktc-toast-wrap {
  opacity: 0;
  pointer-events: none;
  transition: opacity .24s ease;
}

/* ── Znak raste S MJESTA na kojem je stajao ── */
.dw-cvijet__vrt {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 40px;
}
.dw-cvijet__znak {
  /* Desktop je dobivao mobilnu veličinu: `min(42vw, 200px)` znači da na 1440
     strop radi sav posao, pa je znak zauzimao 13,9 % širine kadra naspram
     42 % na mobitelu (Rasmus). Trenutak treba masu. */
  width: clamp(160px, 24vw, 320px);
  height: auto;
  display: block;
  transform: translate(var(--cv-dx, 0), var(--cv-dy, 0)) scale(.22) rotate(-16deg);
  opacity: 0;
  transition: transform .58s cubic-bezier(.22, 1, .3, 1), opacity .3s ease;
}
.dw-cvijet.is-open .dw-cvijet__znak {
  transform: translate(0, 0) scale(1) rotate(0);
  opacity: 1;
}

/* ── Dvoje ljudi i jedna rečenica ──
   Bilo je četiri retka u četiri tipografske uloge (skript / serif / sans /
   sans-verzal) za osam riječi, s razmacima 30/24/23 px — dakle popis, ne
   hijerarhija. Datum je izašao: stoji i u herou i u traci, a par zna datum,
   zato i broji dane. Ostaju dvije uloge i dva retka. */
.dw-cvijet__tekst {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transform: translateY(14px);
  opacity: 0;
  transition: transform .46s cubic-bezier(.22, 1, .3, 1) .12s, opacity .38s ease .12s;
}
.dw-cvijet.is-open .dw-cvijet__tekst {
  transform: none;
  opacity: 1;
}
/* Imena su NAJVEĆA stvar u kadru. Bila su 22 px pod brojem od 96 px — omjer
   4,4 : 1, dakle potpis ispod slike. Ako je itko ovdje veći od svega, to su
   oni; rečenica je ono što im se događa. */
.dw-cvijet__imena {
  font-family: var(--font-serif);
  font-size: clamp(34px, 8vw, 60px);
  line-height: 1.1;
  font-weight: 300;
  letter-spacing: -.01em;
  /* `--warm-black` je najtvrđa, najhladnija stvar na toploj mauve plohi i
     davao je 16 : 1 — kontrast podatka, ne trenutka. Tinta marke drži
     4,5 : 1 i pripada ovom kadru. */
  color: var(--color-deep-mauve);
}
.dw-cvijet__natpis {
  margin-top: 18px;
  font-family: var(--font-sans);
  font-size: clamp(15px, 3.4vw, 19px);
  line-height: 1.4;
  /* `--stone` je davao 3,42 : 1 na velu — ispod praga. `--warm-black` ovdje
     nosi rečenicu koja daje smisao imenima, pa smije biti tvrda. */
  color: var(--warm-black);
}

/* Meta od 44 px i kad je znak sitan (IK: dodirna meta, ne crtež). */
.dw-cvijet__x {
  position: absolute;
  top: max(14px, env(safe-area-inset-top));
  right: 14px;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: none;
  font-size: 30px;
  line-height: 1;
  color: var(--warm-black);
  cursor: pointer;
}
.dw-cvijet__x:focus-visible {
  outline: 2px solid var(--color-deep-mauve);
  outline-offset: 2px;
  border-radius: 50%;
}

/* ── Tamna tema ──
   Najteži Rasmusov nalaz. Veo je bio tvrdo upisan svijetlim, a ploha se dodaje
   na `<body>`, pa nad njom vrijedi `body.dark-mode` iz `shell-couple.css`:
   `--warm-black` postaje #E8DED0 → tekst na velu 1,21 : 1, dakle NEVIDLJIV.
   Prekidač je živ i korisnički („Noćni način rada, tamna tema za večernje
   planiranje.", `couple/settings.html`), a par koji u 23:30 otvara portal je
   točno onaj kojem je ovaj trenutak namijenjen. */
body.dark-mode .dw-cvijet {
  background:
    radial-gradient(120vmax 120vmax at var(--cv-x, 50%) var(--cv-y, 50%),
                    rgba(42, 37, 32, .97) 0%,
                    rgba(30, 26, 23, .96) 45%,
                    rgba(26, 23, 20, .95) 100%);
}
@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)) {
  body.dark-mode .dw-cvijet {
    background:
      radial-gradient(120vmax 120vmax at var(--cv-x, 50%) var(--cv-y, 50%),
                      rgba(42, 37, 32, .88) 0%,
                      rgba(30, 26, 23, .86) 45%,
                      rgba(26, 23, 20, .84) 100%);
  }
}
body.dark-mode .dw-cvijet__imena { color: var(--lilac-300); }
body.dark-mode .dw-cvijet__natpis,
body.dark-mode .dw-cvijet__x { color: var(--dash-ink-dark); }

/* Ukras ne smije nikome smetati: bez pokreta ostaje samo prijelaz
   neprozirnosti, koji i sam poštuje postavku jer je jedva primjetan. */
@media (prefers-reduced-motion: reduce) {
  .dw-cvijet__znak,
  .dw-cvijet__tekst {
    transition: opacity .2s ease;
    transform: none;
  }
  .dw-cvijet.is-open .dw-cvijet__znak,
  .dw-cvijet.is-open .dw-cvijet__tekst { transform: none; }
}
