/* =============================================================
   NovaWebDesign — „Firma ta” (prima pagină, imediat după hero; tot anul) · pereche cu js/firma-ta.js
   Macheta e un mini-site în HTML/CSS (laptop + telefon); mărimile din ecran sunt în cqi (container queries),
   deci macheta se scalează singură, fără JS. Paleta fiecărui domeniu: proprietăți CSS înregistrate (@property),
   care trec lin dintr-o culoare în alta. Partea de sus a secțiunii e transparentă: lumina din hero curge în ea.
   Iarna (html[data-sezon="iarna"]): o aurora discretă în machetă și o căciulă de zăpadă pe logo-ul ei.
   ============================================================= */
@property --s-bg { syntax: '<color>'; inherits: true; initial-value: #0E1116; }
@property --s-sf { syntax: '<color>'; inherits: true; initial-value: #171B23; }
@property --s-ink { syntax: '<color>'; inherits: true; initial-value: #EDEFF3; }
@property --s-mut { syntax: '<color>'; inherits: true; initial-value: #9AA3B2; }
@property --s-acc { syntax: '<color>'; inherits: true; initial-value: #8FA8FF; }
@property --s-on { syntax: '<color>'; inherits: true; initial-value: #0E1116; }

.ft { position: relative; z-index: 1; overflow: hidden; overflow: clip; }
/* lumina din spatele machetei (fără bandă opacă sus: secțiunea continuă scena din hero) */
.ft::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(42% 46% at 72% 56%, rgba(var(--nv-acc-rgb), .11), transparent 70%),
    radial-gradient(30% 30% at 18% 78%, rgba(var(--nv-acc2-rgb), .05), transparent 70%);
}
.ft-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "head" "stage" "form";
  gap: clamp(1.6rem, 4vw, 2.6rem);
  align-items: start;
}
.ft-head { grid-area: head; text-align: center; }
.ft-form { grid-area: form; min-width: 0; }
.ft-stage { grid-area: stage; min-width: 0; }
.ft-head .section-label { margin-bottom: .9rem; }
.ft-title { margin: 0 0 .7rem; font-size: clamp(2rem, 4.6vw, 3.5rem); line-height: 1.06; font-weight: 540; text-wrap: balance; }
.ft-title em {
  font-style: italic;
  font-weight: 460;
  background: linear-gradient(110deg, var(--nv-acc-hi) 10%, var(--nv-acc) 60%, var(--nv-acc2) 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  padding-right: .06em;
}
.ft-nw { white-space: nowrap; }
.ft-sub { margin: 0; font: 400 clamp(1.02rem, 1.4vw, 1.2rem)/1.5 var(--font-body); color: var(--nv-tx2); }

@media (min-width: 1024px) {
  .ft-pill-d span { min-height: 38px; padding: 0 .8rem; font-size: .8125rem; }
  .ft-wrap {
    grid-template-columns: minmax(450px, .8fr) minmax(0, 1.2fr);
    grid-template-areas: "head stage" "form stage";
    grid-template-rows: auto 1fr;
    column-gap: clamp(2rem, 4vw, 4.5rem);
    row-gap: 2.1rem;
  }
  .ft-head { text-align: left; align-self: end; }
  .ft-title { font-size: clamp(2.3rem, 2.2vw + 1rem, 2.9rem); }
  .ft-btns { flex-wrap: nowrap; }
  .ft-go, .ft-btn2 { white-space: nowrap; padding: 0 1.4rem; }
  .ft-stage { align-self: center; }
}

/* ---------- câmpul ---------- */
.ft-lbl {
  display: block;
  margin: 0 0 .6rem;
  padding: 0;
  font: 600 .75rem/1.2 var(--font-body);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--nv-tx2);
}
.ft-lbl span { text-transform: none; letter-spacing: .01em; font-weight: 500; color: var(--nv-tx3); }
.ft-field { position: relative; margin-bottom: 1.5rem; }
.ft-input {
  display: block;
  width: 100%;
  height: 68px;
  padding: 0 4.6rem 0 1.3rem;
  border: 0;
  border-radius: 20px;
  font: 500 clamp(1.3rem, 2vw, 1.6rem)/1 var(--font-display);
  letter-spacing: -.01em;
  color: var(--nv-tx);
  background: linear-gradient(180deg, rgba(var(--nv-tx-rgb), .06), rgba(var(--nv-tx-rgb), .025));
  box-shadow: inset 0 0 0 1px rgba(var(--nv-tx-rgb), .16), 0 18px 40px -26px rgba(0, 0, 0, .8);
  transition: box-shadow .3s ease, background-color .3s ease;
  -webkit-appearance: none; appearance: none;
}
.ft-input::placeholder { color: rgba(var(--nv-tx-rgb), .38); font-style: italic; font-weight: 420; }
.ft-input:hover { box-shadow: inset 0 0 0 1px rgba(var(--nv-acc-rgb), .45), 0 18px 40px -26px rgba(0, 0, 0, .8); }
.ft-input:focus { outline: none; box-shadow: inset 0 0 0 1.5px var(--nv-acc-hi), 0 0 0 5px rgba(var(--nv-acc-rgb), .16), 0 18px 40px -26px rgba(0, 0, 0, .8); }
.ft-count {
  position: absolute;
  right: 1.1rem;
  bottom: 24px;
  font: 600 .75rem/1 var(--font-body);
  font-variant-numeric: tabular-nums;
  color: var(--nv-tx3);
  pointer-events: none;
}

/* ---------- domeniile: grup de butoane radio (native), afișate ca pastile ---------- */
.ft-doms { margin: 0 0 1.5rem; padding: 0; border: 0; min-width: 0; }
.ft-pills { display: flex; flex-wrap: wrap; gap: .5rem; }
.ft-pill-d { position: relative; display: inline-flex; cursor: pointer; }
.ft-pill-d input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.ft-pill-d span {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 .95rem;
  border-radius: 999px;
  font: 500 .875rem/1.15 var(--font-body);
  color: var(--nv-tx2);
  background: rgba(var(--nv-tx-rgb), .035);
  box-shadow: inset 0 0 0 1px rgba(var(--nv-tx-rgb), .13);
  transition: background-color .25s ease, color .25s ease, box-shadow .25s ease;
}
.ft-pill-d:hover span { color: var(--nv-tx); box-shadow: inset 0 0 0 1px rgba(var(--nv-acc-rgb), .5); }
.ft-pill-d input:checked + span { color: var(--nv-on-acc); background: var(--nv-acc-hi); box-shadow: inset 0 0 0 1px var(--nv-acc-hi), 0 8px 22px -12px rgba(var(--nv-acc-rgb), .9); font-weight: 600; }
.ft-pill-d input:focus-visible + span { outline: 2px solid var(--nv-acc-hi); outline-offset: 3px; }

/* ---------- sezonul + butoanele ---------- */
.ft-season { display: flex; align-items: center; gap: .6rem; margin: 0 0 1rem; font: italic 460 1.12rem/1.35 var(--font-display); color: var(--nv-tx); }
.ft-season i { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--nv-acc-hi); box-shadow: 0 0 0 4px rgba(var(--nv-acc-rgb), .16), 0 0 14px rgba(var(--nv-acc-rgb), .8); }
@media (prefers-reduced-motion: no-preference) { .ft-season i { animation: ft-dot 2.8s ease-in-out infinite; } }
@keyframes ft-dot { 0%, 100% { opacity: .55; } 50% { opacity: 1; } }
.ft-btns { display: flex; flex-wrap: wrap; gap: .75rem; }
.ft-go, .ft-btn2 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 1.6rem;
  border-radius: 999px;
  font: 600 1rem/1.1 var(--font-body);
  text-decoration: none;
  text-align: center;
}
.ft-btn2 { color: var(--nv-tx); background: rgba(var(--nv-tx-rgb), .06); box-shadow: inset 0 0 0 1px rgba(var(--nv-tx-rgb), .22); transition: background-color .25s ease, box-shadow .25s ease; }
.ft-btn2:hover { background: rgba(var(--nv-acc-rgb), .12); box-shadow: inset 0 0 0 1px rgba(var(--nv-acc-rgb), .6); }
.ft-go:focus-visible, .ft-btn2:focus-visible { outline: 2px solid var(--nv-acc-hi); outline-offset: 3px; }

@media (max-width: 1023.98px) {
  .ft-form { max-width: 620px; width: 100%; margin: 0 auto; }
}
/* telefon: domeniile pe un singur rând care se derulează (cu umbră spre margine), nu cinci rânduri de pastile */
@media (max-width: 560px) {
  .ft-doms { --ft-g: clamp(1rem, 4vw, 2rem); margin-left: calc(-1 * var(--ft-g)); margin-right: calc(-1 * var(--ft-g)); }
  .ft-doms .ft-lbl { padding: 0 var(--ft-g); }
  .ft-pills {
    flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity;
    padding: 4px var(--ft-g) 6px; scrollbar-width: none;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 16px, #000 calc(100% - 28px), transparent);
    mask-image: linear-gradient(90deg, transparent 0, #000 16px, #000 calc(100% - 28px), transparent);
  }
  .ft-pills::-webkit-scrollbar { display: none; }
  .ft-pill-d { flex: none; scroll-snap-align: start; }
}
@media (max-width: 560px) {
  .ft-pills { gap: .4rem; }
  .ft-pill-d span { min-height: 38px; padding: 0 .8rem; font-size: .8125rem; }
  .ft-btns { flex-direction: column; }
  .ft-go, .ft-btn2 { width: 100%; }
  .ft-season { font-size: 1.04rem; }
}

/* ---------- scena: laptop + telefon ---------- */
.ft-devs { position: relative; width: min(100%, 860px); margin: 0 auto; padding: 0 9% 5% 0; }
.ft-laptop { position: relative; }
.ft-laptop__lid {
  position: relative;
  padding: 2.1% 2.1% 2.6%;
  border-radius: 18px 18px 8px 8px;
  background: linear-gradient(180deg, #23272E, #121418 30%);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .09), 0 40px 80px -40px rgba(0, 0, 0, .95), 0 0 0 1px rgba(0, 0, 0, .5);
}
.ft-laptop__cam { position: absolute; left: 50%; top: .9%; width: 5px; height: 5px; margin-left: -2.5px; border-radius: 50%; background: #2D333C; }
.ft-laptop__base {
  position: relative;
  left: -6%;
  width: 112%;
  height: clamp(9px, 1.6vw, 15px);
  border-radius: 2px 2px 14px 14px / 2px 2px 100% 100%;
  background: linear-gradient(180deg, #3A3F48 0%, #1B1E23 55%, #0D0F12 100%);
  box-shadow: 0 22px 40px -18px rgba(0, 0, 0, .9);
}
.ft-laptop__base::before { content: ''; position: absolute; left: 50%; top: 0; width: 14%; height: 45%; margin-left: -7%; border-radius: 0 0 8px 8px; background: rgba(0, 0, 0, .35); }
.ft-screen {
  position: relative;
  overflow: hidden;
  border-radius: 5px;
  container-type: inline-size;
  background: #0E1116;
  -webkit-mask-image: -webkit-radial-gradient(white, black);
}
.ft-laptop .ft-screen { aspect-ratio: 16 / 10; }
.ft-phone {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 24%;
  padding: 1.6%;
  border-radius: 15% / 7.2%;
  background: linear-gradient(160deg, #2A2F37, #111317 40%);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1), -18px 30px 60px -24px rgba(0, 0, 0, .95);
}
.ft-phone__in { position: relative; }
.ft-phone .ft-screen { aspect-ratio: 9 / 19; border-radius: 12% / 5.6%; }
.ft-phone__isl { position: absolute; z-index: 2; left: 50%; top: 2.2%; width: 30%; height: 3.2%; margin-left: -15%; border-radius: 999px; background: #050607; }
.ft-note { margin: 1.4rem 0 0; text-align: center; font: 400 .875rem/1.45 var(--font-body); color: var(--nv-tx3); }
@media (max-width: 1023.98px) {
  .ft-devs { width: min(100%, 560px); padding-right: 12%; }
  .ft-phone { width: 27%; }
}
@media (max-width: 560px) {
  .ft-devs { padding: 0 13% 7% 0; }
  .ft-phone { width: 30%; padding: 1.8%; }
  .ft-laptop__lid { border-radius: 12px 12px 6px 6px; }
  .ft-note { margin-top: 1rem; font-size: .8125rem; }
}

/* =============================================================
   Mini-site-ul din machetă (mărimi în cqi = % din lățimea ecranului)
   ============================================================= */
.ft-site {
  --s-hf: var(--font-display); --s-bf: var(--font-body);
  --s-hw: 500; --s-hs: normal; --s-ht: none; --s-hl: -.02em; --s-r: 999px;
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: var(--s-ink);
  background:
    radial-gradient(70% 60% at 85% 10%, color-mix(in srgb, var(--s-acc) 16%, transparent), transparent 70%),
    var(--s-bg);
  font-family: var(--s-bf);
  transition: --s-bg .7s ease, --s-sf .7s ease, --s-ink .7s ease, --s-mut .7s ease, --s-acc .7s ease, --s-on .7s ease;
  text-align: left;
  -webkit-font-smoothing: antialiased;
}
.ft-site p { margin: 0; text-wrap: initial; }
.ft-s-title, .ft-s-name, .ft-s-card b {
  font-family: var(--s-hf);
  font-weight: var(--s-hw);
  font-style: var(--s-hs);
  text-transform: var(--s-ht);
  letter-spacing: var(--s-hl);
}
/* bara de navigare */
.ft-s-nav { position: relative; z-index: 1; display: flex; align-items: center; gap: 3cqi; padding: 2.3cqi 4.5cqi; border-bottom: 1px solid color-mix(in srgb, var(--s-ink) 9%, transparent); }
.ft-s-logo { position: relative; display: flex; align-items: center; gap: 1cqi; min-width: 0; flex: 1 1 auto; }
.ft-s-mark { position: relative; flex: none; width: 2.2cqi; height: 2.2cqi; border-radius: 30%; background: var(--s-acc); box-shadow: 0 0 2cqi color-mix(in srgb, var(--s-acc) 50%, transparent); }
.ft-s-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 1.9cqi; letter-spacing: 0; }
.ft-s-links { display: flex; gap: 2.6cqi; font-size: 1.3cqi; color: var(--s-mut); }
.ft-s-links i { font-style: normal; }
.ft-s-btn { flex: none; padding: .85cqi 1.8cqi; border-radius: var(--s-r); font-size: 1.25cqi; font-weight: 600; color: var(--s-on); background: var(--s-acc); }
.ft-s-burger { display: grid; gap: 1.6cqi; width: 7cqi; }
.ft-s-burger i { display: block; height: 1px; background: var(--s-ink); border-radius: 2px; }
/* hero */
.ft-s-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); align-items: center; gap: 3cqi; padding: 4.6cqi 4.5cqi 3.6cqi; flex: 1 1 auto; min-height: 0; }
.ft-s-copy { min-width: 0; }
.ft-s-eye { display: inline-flex; align-items: center; gap: .8cqi; margin-bottom: 1.6cqi !important; font-size: 1.15cqi; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--s-acc); }
.ft-s-eye::before { content: ''; width: 2.4cqi; height: 1px; background: currentColor; }
.ft-s-title { margin-bottom: 1.8cqi !important; font-size: 6.2cqi; line-height: 1.02; overflow-wrap: anywhere; color: var(--s-ink); transition: opacity .3s ease; }
.ft-site[data-len="m"] .ft-s-title { font-size: 5cqi; }
.ft-site[data-len="l"] .ft-s-title { font-size: 4cqi; }
.ft-site[data-len="xl"] .ft-s-title { font-size: 3.3cqi; line-height: 1.08; }
.ft-site.is-gol .ft-s-title { opacity: .42; }
.ft-site.is-gol .ft-s-name { opacity: .6; }
.ft-s-slogan { max-width: 34em; margin-bottom: 2.6cqi !important; font-size: 1.55cqi; line-height: 1.5; color: var(--s-mut); }
.ft-s-btns { display: flex; gap: 1.2cqi; }
.ft-s-b1, .ft-s-b2 { padding: 1.1cqi 2.2cqi; border-radius: var(--s-r); font-size: 1.3cqi; font-weight: 600; white-space: nowrap; }
.ft-s-b1 { color: var(--s-on); background: var(--s-acc); box-shadow: 0 1.4cqi 3cqi -1.6cqi color-mix(in srgb, var(--s-acc) 80%, transparent); }
.ft-s-b2 { color: var(--s-ink); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--s-ink) 24%, transparent); }
/* ilustrația (compoziție geometrică cu iconița domeniului) */
.ft-s-art { position: relative; width: 100%; aspect-ratio: 1; max-height: 100%; justify-self: center; }
.ft-s-art__o { position: absolute; inset: 10%; border-radius: 50%; background: radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--s-acc) 55%, var(--s-bg)), color-mix(in srgb, var(--s-acc) 14%, var(--s-bg)) 65%, var(--s-sf)); box-shadow: 0 3cqi 6cqi -3cqi color-mix(in srgb, var(--s-acc) 50%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--s-ink) 10%, transparent); }
.ft-s-art__r { position: absolute; inset: 2%; border-radius: 50%; border: 1px solid color-mix(in srgb, var(--s-acc) 35%, transparent); }
.ft-s-art__r--2 { inset: -6% 18% 30% -6%; border-color: color-mix(in srgb, var(--s-ink) 12%, transparent); }
.ft-s-art__ic { position: absolute; inset: 30%; color: color-mix(in srgb, var(--s-ink) 88%, var(--s-acc)); }
.ft-s-art__ic svg, .ft-s-ic svg { display: block; width: 100%; height: 100%; }
/* cardurile de servicii */
.ft-s-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.6cqi; padding: 0 4.5cqi 4cqi; }
.ft-s-card { display: grid; gap: .6cqi; padding: 1.8cqi; border-radius: min(var(--s-r), 1.6cqi); background: var(--s-sf); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--s-ink) 7%, transparent); }
.ft-s-ic { display: block; width: 3.2cqi; height: 3.2cqi; margin-bottom: .6cqi; padding: .6cqi; border-radius: 30%; color: var(--s-acc); background: color-mix(in srgb, var(--s-acc) 14%, transparent); }
.ft-s-card b { display: block; font-size: 1.45cqi; line-height: 1.2; letter-spacing: 0; }
.ft-s-card > span:last-child { font-size: 1.12cqi; line-height: 1.4; color: var(--s-mut); }
/* schimbarea domeniului: textele se estompează scurt, paleta trece lin */
.ft-s-copy, .ft-s-cards, .ft-s-art__ic, .ft-s-btn { transition: opacity .22s ease, transform .3s var(--nv-ease, ease); }
.ft-site.is-swap .ft-s-copy > :not(.ft-s-title), .ft-site.is-swap .ft-s-cards, .ft-site.is-swap .ft-s-art__ic, .ft-site.is-swap .ft-s-btn { opacity: 0; transform: translate3d(0, 1.2cqi, 0); }
.ft-s-copy > * { transition: opacity .22s ease, transform .3s var(--nv-ease, ease); }

/* telefonul: aceeași pagină, pe o coloană */
.ft-site--m .ft-s-nav { gap: 4cqi; padding: 12cqi 7cqi 5cqi; }
.ft-site--m .ft-s-mark { width: 5.4cqi; height: 5.4cqi; }
.ft-site--m .ft-s-logo { gap: 2.4cqi; }
.ft-site--m .ft-s-name { font-size: 5.6cqi; }
.ft-site--m .ft-s-btn { display: none; }
.ft-site--m .ft-s-hero { display: block; flex: none; padding: 9cqi 7cqi 7cqi; }
.ft-site--m .ft-s-eye { gap: 2cqi; margin-bottom: 4cqi !important; font-size: 3.4cqi; }
.ft-site--m .ft-s-eye::before { width: 6cqi; }
.ft-site--m .ft-s-title { margin-bottom: 4cqi !important; font-size: 13cqi; }
.ft-site--m[data-len="m"] .ft-s-title { font-size: 11cqi; }
.ft-site--m[data-len="l"] .ft-s-title { font-size: 9cqi; }
.ft-site--m[data-len="xl"] .ft-s-title { font-size: 7.4cqi; }
.ft-site--m .ft-s-slogan { margin-bottom: 6cqi !important; font-size: 4.4cqi; }
.ft-site--m .ft-s-btns { gap: 2.5cqi; }
.ft-site--m .ft-s-b1, .ft-site--m .ft-s-b2 { padding: 3cqi 4.5cqi; font-size: 3.6cqi; }
.ft-site--m .ft-s-b2 { display: none; }
.ft-site--m .ft-s-art { position: absolute; z-index: -1; right: -22%; top: -2%; width: 58%; opacity: .3; }
.ft-site--m .ft-s-hero { z-index: 0; }
.ft-site--m .ft-s-cards { grid-template-columns: minmax(0, 1fr); gap: 3cqi; padding: 0 7cqi 7cqi; }
.ft-site--m .ft-s-card { grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: 3.5cqi; padding: 4cqi; border-radius: min(var(--s-r), 4cqi); }
.ft-site--m .ft-s-ic { grid-row: span 2; width: 10cqi; height: 10cqi; margin: 0; padding: 2cqi; }
.ft-site--m .ft-s-card b { font-size: 4.2cqi; }
.ft-site--m .ft-s-card > span:last-child { font-size: 3.3cqi; }

/* ---------- paletele și tipografia celor 9 domenii (doar Fraunces + Figtree, combinate diferit) ---------- */
.ft-site[data-dom="restaurant"] { --s-bg: #1A120E; --s-sf: #261A14; --s-ink: #F6EBDD; --s-mut: #C7B19B; --s-acc: #E58550; --s-on: #1A120E; --s-hw: 500; --s-hs: italic; --s-hl: -.025em; }
.ft-site[data-dom="cafenea"] { --s-bg: #F3EBDF; --s-sf: #FBF6EF; --s-ink: #2B1E17; --s-mut: #765F50; --s-acc: #8E5230; --s-on: #FBF6EF; --s-hw: 400; --s-hl: -.03em; --s-r: .7em; }
.ft-site[data-dom="clinica"] { --s-bg: #EEF5F6; --s-sf: #FFFFFF; --s-ink: #0E2A33; --s-mut: #4F6B74; --s-acc: #0F7C7B; --s-on: #FFFFFF; --s-hf: var(--font-body); --s-hw: 650; --s-hl: -.035em; --s-r: .55em; }
.ft-site[data-dom="salon"] { --s-bg: #131113; --s-sf: #1E1A1E; --s-ink: #F2EDE8; --s-mut: #ABA099; --s-acc: #D7AE9C; --s-on: #131113; --s-hw: 360; --s-ht: uppercase; --s-hl: .07em; --s-r: 0; }
.ft-site[data-dom="constructii"] { --s-bg: #15171A; --s-sf: #202328; --s-ink: #EEEDE9; --s-mut: #A3A6A9; --s-acc: #E9A63E; --s-on: #15171A; --s-hf: var(--font-body); --s-hw: 800; --s-ht: uppercase; --s-hl: -.015em; --s-r: 2px; }
.ft-site[data-dom="auto"] { --s-bg: #0B0F15; --s-sf: #141B24; --s-ink: #E8EEF4; --s-mut: #8FA0B2; --s-acc: #56ABFF; --s-on: #0B0F15; --s-hf: var(--font-body); --s-hw: 700; --s-hs: italic; --s-hl: -.03em; --s-r: .35em; }
.ft-site[data-dom="avocat"] { --s-bg: #F4F1EA; --s-sf: #FFFDF8; --s-ink: #1A2233; --s-mut: #5A6273; --s-acc: #22355C; --s-on: #FFFDF8; --s-hw: 470; --s-hl: -.02em; --s-r: 2px; }
.ft-site[data-dom="pensiune"] { --s-bg: #102019; --s-sf: #1A2E24; --s-ink: #EEF1E8; --s-mut: #A8B7A8; --s-acc: #BCD29F; --s-on: #102019; --s-hw: 400; --s-hs: italic; --s-hl: -.02em; }
/* fonturile domeniilor închise la culoare pe fundal deschis: cardurile au umbră fină */
.ft-site[data-dom="cafenea"] .ft-s-card, .ft-site[data-dom="clinica"] .ft-s-card, .ft-site[data-dom="avocat"] .ft-s-card { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--s-ink) 8%, transparent), 0 1.2cqi 3cqi -2cqi rgba(20, 20, 30, .25); }

/* ---------- iarna: aurora discretă sus în machetă + căciulă de zăpadă pe logo ---------- */
html[data-sezon="iarna"] .ft-site::before {
  content: '';
  position: absolute;
  left: -10%;
  right: -10%;
  top: -18%;
  height: 62%;
  pointer-events: none;
  opacity: .5;
  background:
    radial-gradient(40% 55% at 28% 40%, rgba(94, 242, 200, .32), transparent 70%),
    radial-gradient(45% 50% at 62% 30%, rgba(124, 196, 255, .34), transparent 72%),
    radial-gradient(30% 40% at 86% 50%, rgba(150, 140, 255, .16), transparent 70%);
  filter: blur(6px);
}
html[data-sezon="iarna"] .ft-site[data-dom="cafenea"]::before,
html[data-sezon="iarna"] .ft-site[data-dom="clinica"]::before,
html[data-sezon="iarna"] .ft-site[data-dom="avocat"]::before { opacity: .45; mix-blend-mode: multiply; }
@media (prefers-reduced-motion: no-preference) {
  html[data-sezon="iarna"] .ft-site::before { animation: ft-aurora 14s ease-in-out infinite alternate; }
}
@keyframes ft-aurora { from { transform: translate3d(-4%, 0, 0); } to { transform: translate3d(4%, 4%, 0); } }
html[data-sezon="iarna"] .ft-s-mark::after {
  content: '';
  position: absolute;
  left: -22%;
  right: -22%;
  top: -34%;
  height: 62%;
  border-radius: 50% 50% 38% 42% / 70% 70% 30% 30%;
  background: radial-gradient(70% 90% at 40% 30%, #FFFFFF, #E4F2FF 70%, #C9E3FA);
  box-shadow: 0 1px 1.5px rgba(10, 20, 40, .35);
}
html[data-sezon="iarna"] .ft-s-mark { border-radius: 26%; }
/* în secțiune: lumina rece a temei */
html[data-sezon="iarna"] .ft::before {
  background:
    radial-gradient(44% 48% at 72% 54%, rgba(124, 196, 255, .12), transparent 70%),
    radial-gradient(28% 30% at 20% 82%, rgba(94, 242, 200, .05), transparent 70%);
}

/* ---------- pastila din hero pentru linkul personalizat (?pentru=…) ---------- */
.ft-pill {
  position: absolute;
  z-index: 12;
  left: clamp(24px, 6.2vw, 112px);
  top: 92px;
  display: inline-flex;
  align-items: center;
  max-width: calc(100% - 48px);
  min-height: 40px;
  padding: .35rem 1rem;
  border-radius: 999px;
  white-space: nowrap;
  font: 500 .875rem/1.2 var(--font-body);
  color: var(--nv-tx2);
  text-decoration: none;
  background: rgba(var(--nv-bg-rgb), .66);
  box-shadow: inset 0 0 0 1px rgba(var(--nv-acc-rgb), .42), 0 10px 30px -14px rgba(0, 0, 0, .8);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  opacity: 0;
  transform: translate3d(0, -8px, 0);
  transition: opacity .6s ease .5s, transform .7s var(--nv-ease, ease) .5s, box-shadow .25s ease;
}
.ft-pill b { overflow: hidden; text-overflow: ellipsis; min-width: 0; margin-left: .3em; font-weight: 650; color: var(--nv-tx); }
.ft-pill__st { flex: none; color: var(--nv-acc-hi); padding: 0 .1em; }
.ft-pill__go { flex: none; color: var(--nv-acc-hi); font-weight: 600; text-decoration: underline; text-decoration-color: rgba(var(--nv-acc-rgb), .45); text-underline-offset: 3px; }
.ft-pill.is-on { opacity: 1; transform: none; }
.ft-pill.is-on.is-away { opacity: 0; pointer-events: none; transition-delay: 0s; }
.ft-pill:hover { box-shadow: inset 0 0 0 1px var(--nv-acc-hi), 0 10px 30px -14px rgba(0, 0, 0, .8); }
.ft-pill:focus-visible { outline: 2px solid var(--nv-acc-hi); outline-offset: 3px; }
@media (max-width: 1023.98px) {
  .ft-pill { left: 50%; top: auto; bottom: calc(var(--nova-bar-h, 64px) + env(safe-area-inset-bottom, 0px) + 72px); transform: translate3d(-50%, 8px, 0); font-size: .8125rem; }
  .ft-pill.is-on { transform: translate3d(-50%, 0, 0); }
}
@media (min-width: 769px) and (max-width: 1023.98px) { .ft-pill { bottom: 84px; } }

/* ---------- mișcare redusă: totul vizibil, fără tranziții de paletă ---------- */
@media (prefers-reduced-motion: reduce) {
  .ft-site, .ft-s-copy, .ft-s-cards, .ft-s-art__ic, .ft-s-btn, .ft-s-copy > *, .ft-pill { transition: none; }
}
@media print { .ft-pill { display: none; } }
