/* css/fonts.css */
/* Fonturile site-ului, găzduite local (Inter + JetBrains Mono, licență SIL OFL 1.1, din Google Fonts): latin + latin-ext (diacritice). */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/jetbrains-mono-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/jetbrains-mono-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/jetbrains-mono-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/jetbrains-mono-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/jetbrains-mono-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/jetbrains-mono-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/fonts/inter-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* css/site.css */
/*! © 2026 Loombytle (https://loombytle.online) — platforma Unlimit Scripts (magazin, conturi, licențe, plăți, forum, admin) a fost proiectată și dezvoltată de Loombytle. Toate drepturile rezervate. Mențiunea de autor nu se elimină și nu se ascunde; vezi LICENSE.txt. */
/* Unlimit Scripts — tema Unlimit v95: navy mat, albastrul din logo doar pe acțiunea principală, mișcare fluidă fără glow. */
:root {
  /* navy desaturat: scala neutră a temei (50 → 950) */
  --n-50: #f2f5fa; --n-100: #e3e9f3; --n-200: #c3cee0; --n-300: #9eadc6; --n-400: #8090ab;
  --n-500: #62718d; --n-600: #34425c; --n-700: #1f2b42; --n-800: #172238; --n-900: #111a2d; --n-950: #0b1322;
  --bg: var(--n-950);
  --bg-2: #0e1729;
  --card: var(--n-900);
  --card-2: var(--n-800);
  --card-3: var(--n-700);
  --line: rgba(160, 185, 230, .09);
  --line-2: rgba(160, 185, 230, .17);
  --text: #e8edf6;
  --muted: var(--n-300);
  --dim: var(--n-400);
  /* albastrul din logo: plin, doar pe acțiunea principală */
  --blue: #1f6bff;
  --blue-2: #4d8dff;
  --blue-l: #a9c4f5;
  --blue-d: #1549b3;
  --blue-rgb: 31, 107, 255;
  --ok: #3fb27f;
  --no: #e5534b;
  --warn: #d4a23c;
  --chrome: linear-gradient(180deg, #e8edf6 0%, #9eadc6 100%);
  --r: 16px;
  --r-sm: 10px;
  --shadow-1: 0 1px 2px rgba(2, 6, 16, .4), 0 8px 24px -12px rgba(2, 6, 16, .6);
  --shadow-2: 0 2px 4px rgba(2, 6, 16, .35), 0 24px 48px -20px rgba(2, 6, 16, .8);
  --ease: cubic-bezier(.22, .8, .24, 1);
  --spring: cubic-bezier(.34, 1.4, .64, 1);
  --font: "Inter", system-ui, sans-serif;
  --mono: "JetBrains Mono", ui-monospace, monospace;
  /* bara de sus = rândul cu logo și butoane (--bar-h) + pe telefon/tabletă rândul de taburi (--tabs-h) */
  --bar-h: 68px;
  --tabs-h: 0px;
  --nav-h: calc(var(--bar-h) + var(--tabs-h));
  --nav-pad: clamp(16px, 4vw, 48px);
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--nav-h) + 16px); }
body {
  margin: 0; background: var(--bg); color: var(--text); font: 400 16px/1.6 var(--font); font-feature-settings: "cv11", "ss01";
  -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
body.lock { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; cursor: pointer; }
h1, h2, h3 { margin: 0; line-height: 1.08; letter-spacing: -.02em; }
p { margin: 0; }
.mono { font-family: var(--mono); font-size: .92em; letter-spacing: 0; }
.accent { color: var(--blue-2); }
.chrome { background: var(--chrome); -webkit-background-clip: text; background-clip: text; color: transparent; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--blue-2); outline-offset: 2px; border-radius: 6px; }

/* ---------- NAV ---------- */
.nav {
  position: sticky; top: 0; z-index: 40; height: var(--nav-h);
  display: flex; align-items: center; gap: 28px; padding: 0 var(--nav-pad);
  background: rgba(11, 19, 34, .55); backdrop-filter: blur(12px) saturate(140%);
  border-bottom: 1px solid transparent; transition: background .3s, border-color .3s;
}
.nav.stuck { background: rgba(11, 19, 34, .78); border-color: var(--line); }
.brand { display: flex; align-items: center; gap: 10px; }
.brand img { transition: transform .6s var(--ease); }
.brand:hover img { transform: rotate(-8deg) scale(1.06); }
.brand span { display: flex; flex-direction: column; line-height: 1; }
.brand b { font-weight: 700; letter-spacing: .14em; font-size: 15px; }
.brand i { font-style: normal; font-family: var(--mono); font-size: 10px; letter-spacing: .42em; color: var(--muted); margin-top: 4px; }
.nav-links { display: flex; gap: 2px; margin-left: 12px; }
.nav-links a { white-space: nowrap; padding: 8px 12px; border-radius: 999px; color: var(--muted); font-weight: 500; font-size: 14.5px; transition: color .2s, background .25s var(--ease); }
.nav-links a:hover { color: var(--text); background: rgba(255, 255, 255, .05); }
.nav-links a.on { color: var(--text); background: rgba(255, 255, 255, .07); }
.nav-links a.m-only { display: none; }   /* «Contul meu» / «Admin»: doar în taburile de pe telefon (pe desktop e avatarul) */
.nav-right { margin-left: auto; display: flex; gap: 10px; align-items: center; }
.fw-pill {
  display: flex; align-items: center; gap: 8px; height: 38px; padding: 0 14px; border-radius: 999px;
  background: rgba(255, 255, 255, .03); border: 1px solid var(--line-2); font-weight: 600; font-size: 14px; transition: background .2s;
}
.fw-pill:hover { background: rgba(255, 255, 255, .07); }
.fw-pill .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--ok); }
.cart-btn {
  position: relative; overflow: hidden; display: flex; align-items: center; gap: 10px; height: 38px; padding: 0 5px 0 14px; border-radius: 999px;
  background: var(--blue); border: 0; font-weight: 600; color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 6px 20px -8px rgba(var(--blue-rgb), .55); transition: background .2s, transform .2s var(--ease);
}
.cart-btn:hover { background: #1a5ce0; }
.cart-btn:active { transform: scale(.97); }
.cart-btn .mono { font-size: 13px; }
.cart-btn b { min-width: 26px; height: 28px; padding: 0 8px; border-radius: 999px; background: rgba(255, 255, 255, .18); display: grid; place-items: center; font-size: 12.5px; font-family: var(--mono); }
.cart-btn.bump b { animation: bump .5s var(--spring); }
@keyframes bump { 40% { transform: scale(1.4); } }

/* ---------- BUTTONS ---------- */
.btn {
  position: relative; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 46px; padding: 0 22px; border-radius: 999px;
  font-weight: 600; font-size: 15px; border: 1px solid transparent; white-space: nowrap;
  transition: transform .25s var(--ease), background .25s var(--ease), border-color .25s var(--ease), color .2s;
}
.btn:active { transform: scale(.97); }
.btn-primary { background: var(--blue); color: #fff; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 6px 20px -8px rgba(var(--blue-rgb), .55); }
.btn-primary:hover { background: #1a5ce0; }
/* o dungă de lumină trece peste butonul principal la hover */
.btn-primary::after, .cart-btn::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, .2) 50%, transparent 70%); transform: translateX(-120%); transition: transform .8s var(--ease); }
.btn-primary:hover::after, .cart-btn:hover::after { transform: translateX(120%); }
.btn-ghost { background: rgba(255, 255, 255, .03); border-color: var(--line-2); }
.btn-ghost:hover { background: rgba(255, 255, 255, .07); border-color: rgba(160, 185, 230, .3); }
.btn .arr, .more .arr { transition: transform .3s var(--ease); }
.btn:hover .arr, .more:hover .arr, a:hover > .peek .arr { transform: translateX(3px); }
.btn.sm { height: 38px; padding: 0 16px; font-size: 13.5px; }
.btn.block { width: 100%; justify-content: center; }
.icon-btn { width: 38px; height: 38px; border-radius: 999px; background: rgba(255, 255, 255, .03); border: 1px solid var(--line-2); display: grid; place-items: center; transition: background .2s; }
.icon-btn:hover { background: rgba(255, 255, 255, .07); }

/* ---------- HERO ---------- */
#home { overflow-x: clip; }
.hero {
  position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 48px; align-items: center;
  padding: clamp(40px, 7vw, 90px) clamp(16px, 4vw, 48px) 60px; max-width: 1400px; margin: 0 auto; min-height: calc(92vh - var(--nav-h));
}
.hero-grid {
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size: 64px 64px; mask-image: radial-gradient(ellipse 70% 60% at 30% 40%, #000 20%, transparent 75%);
  opacity: .55;
}
.hero::before {
  content: ""; position: absolute; z-index: -1; width: 900px; height: 700px; right: -200px; top: -120px; pointer-events: none;
  background: radial-gradient(closest-side, rgba(31, 107, 255, .28), transparent);
}
.eyebrow {
  display: inline-flex; align-items: center; gap: 10px; padding: 7px 14px 7px 10px; border-radius: 999px;
  border: 1px solid var(--line-2); background: rgba(17, 26, 45, .7); font-family: var(--mono); font-size: 12.5px; color: var(--blue-l);
}
.live { width: 8px; height: 8px; border-radius: 50%; background: var(--ok); box-shadow: 0 0 0 0 rgba(63, 178, 127, .6); animation: ping 2s infinite; }
@keyframes ping { 70% { box-shadow: 0 0 0 10px rgba(63, 178, 127, 0); } 100% { box-shadow: 0 0 0 0 rgba(63, 178, 127, 0); } }
.hero h1 .chrome { display: block; text-wrap: balance; }
.hero h1 { text-wrap: balance; font-size: clamp(38px, 4.1vw, 58px); font-weight: 700; margin: 22px 0 20px; }
.lead { font-size: clamp(17px, 1.5vw, 20px); color: var(--muted); max-width: 560px; }
.lead .mono { color: var(--blue-l); }
.fw-ask { margin: 30px 0 28px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.fw-q { font-weight: 700; color: var(--text); width: 100%; font-size: 14px; text-transform: uppercase; letter-spacing: .12em; color: var(--dim); }
.fw-count { font-family: var(--mono); font-size: 13px; color: var(--blue-l); }
.seg { display: inline-flex; padding: 4px; gap: 4px; border-radius: 14px; background: var(--card); border: 1px solid var(--line-2); }
.seg button {
  border: 0; background: transparent; padding: 9px 16px; border-radius: 10px; font-weight: 650; font-size: 15px; color: var(--muted);
  display: flex; flex-direction: column; align-items: flex-start; line-height: 1.1; transition: background .2s, color .2s;
}
.seg button small { font-family: var(--mono); font-size: 10px; font-weight: 400; color: var(--dim); margin-top: 3px; }
.seg button[aria-checked="true"] { background: var(--card-3); color: #fff; box-shadow: inset 0 0 0 1px rgba(77, 141, 255, .45); }
.seg button[aria-checked="true"] small { color: var(--blue-l); }
.seg.small button { padding: 7px 12px; font-size: 13px; }
.seg.small button small { display: none; }
.hero-cta { display: flex; gap: 12px; flex-wrap: wrap; }

.hero-art { position: relative; justify-self: end; width: min(100%, 720px); padding-bottom: 200px; }
/* prezentarea HD: un singur ecran, trece singur prin resurse (app.js) */
.showcase {
  position: relative; border-radius: 22px; overflow: hidden; background: var(--bg-2);
  box-shadow: var(--shadow-2), 0 0 0 1px var(--line-2), inset 0 1px 0 rgba(255, 255, 255, .06);
  transform: perspective(1600px) rotateY(var(--ry, -7deg)) rotateX(var(--rx, 3deg)); transition: transform .4s ease-out;
}
.sc-bar { display: flex; align-items: center; gap: 6px; height: 40px; padding: 0 14px; border-bottom: 1px solid var(--line); background: linear-gradient(180deg, var(--card-2), var(--card)); }
.sc-bar i { width: 10px; height: 10px; border-radius: 50%; background: var(--n-600); }
.sc-bar i:first-child { background: #3d9bff; }
.sc-bar span { margin-left: 10px; font-weight: 650; font-size: 14px; transition: opacity .3s; }
.sc-bar em { margin-left: auto; font-style: normal; font-size: 11px; color: var(--dim); letter-spacing: .08em; text-transform: uppercase; }
.sc-stage { position: relative; display: block; aspect-ratio: 16 / 9; }
.sc-stage img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.02); transition: opacity .8s ease, transform 5s ease-out; }
.sc-stage img.on { opacity: 1; transform: scale(1); }
.sc-stage::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, transparent 70%, rgba(11, 19, 34, .55)); }
.sc-dots { position: absolute; right: 14px; bottom: 12px; z-index: 2; display: flex; gap: 6px; }
.sc-dots button { width: 22px; height: 6px; border-radius: 99px; border: 0; padding: 0; background: rgba(168, 216, 255, .3); transition: width .3s, background .3s; }
.sc-dots button[aria-selected="true"] { width: 38px; background: var(--blue-2); }
.term {
  position: absolute; left: -56px; bottom: 0; width: 330px; border-radius: 14px; overflow: hidden;
  background: rgba(6, 11, 26, .88); backdrop-filter: blur(10px); border: 1px solid var(--line-2);
  box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .8);
}
.term-bar { display: flex; align-items: center; gap: 6px; padding: 10px 12px; border-bottom: 1px solid var(--line); }
.term-bar i { width: 9px; height: 9px; border-radius: 50%; background: var(--n-600); }
.term-bar span { margin-left: 8px; font-family: var(--mono); font-size: 12px; color: var(--muted); }
.term pre { margin: 0; padding: 14px 16px 16px; font: 12.5px/1.75 var(--mono); color: var(--blue-l); min-height: 180px; white-space: pre-wrap; }
.term .c, .cfg .c { color: var(--dim); }
.term .k, .cfg .k { color: var(--blue-2); }
.term .new { animation: flash 1.2s; }
@keyframes flash { 0% { background: rgba(77, 141, 255, .35); } 100% { background: transparent; } }
.caret { display: inline-block; width: 8px; height: 15px; background: var(--blue-2); vertical-align: -3px; animation: blink 1s steps(1) infinite; }
@keyframes blink { 50% { opacity: 0; } }

/* ---------- TICKER ---------- */
.ticker { border-block: 1px solid var(--line); background: var(--bg-2); overflow: hidden; }
.ticker-track { display: flex; width: max-content; animation: tick 48s linear infinite; }
.ticker:hover .ticker-track { animation-play-state: paused; }
.ticker-track span { padding: 14px 28px; font-family: var(--mono); font-size: 13px; color: var(--muted); white-space: nowrap; display: flex; align-items: center; gap: 12px; }
.ticker-track span::before { content: ""; width: 6px; height: 6px; background: var(--blue-2); transform: rotate(45deg); }
@keyframes tick { to { transform: translateX(-50%); } }

/* ---------- SECTIONS ---------- */
.section { max-width: 1400px; margin: 0 auto; padding: clamp(60px, 8vw, 110px) clamp(16px, 4vw, 48px) 0; }
.sec-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin-bottom: 32px; }
.kicker { color: var(--blue-2); font-size: 12.5px; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 10px; }
.sec-head h2 { font-size: clamp(32px, 4vw, 52px); font-weight: 700; }
.filters { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.chips { display: flex; gap: 6px; flex-wrap: wrap; min-width: 0; }
.sec-head > * { min-width: 0; }
.chip {
  border: 1px solid var(--line); background: transparent; color: var(--muted); padding: 8px 14px; border-radius: 999px;
  font-weight: 700; font-size: 14px; transition: all .2s;
}
.chip:hover { color: var(--text); border-color: var(--line-2); }
.chip[aria-selected="true"] { background: var(--text); color: var(--bg); border-color: var(--text); }
.search { display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--line-2); background: var(--card); min-width: 240px; }
.search svg { width: 16px; height: 16px; fill: none; stroke: var(--muted); stroke-width: 2; }
.search input { flex: 1; border: 0; background: transparent; outline: 0; color: var(--text); font: 600 14px var(--font); min-width: 0; }

/* ---------- GRID / CARDS (v95: carduri egale, poză curată, informațiile sub ea) ---------- */
.grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
@keyframes rise { from { opacity: 0; transform: translateY(14px); } }
.card {
  position: relative; isolation: isolate; display: flex; flex-direction: column; border-radius: 18px; background: var(--card);
  transition: transform .45s var(--ease), box-shadow .45s var(--ease);
}
/* bordura: subțire, se aprinde în albastru în dreptul cursorului (motion.js pune --mx / --my) */
.spot::before { content: ""; position: absolute; inset: 0; z-index: 3; border-radius: inherit; padding: 1px; pointer-events: none;
  background: radial-gradient(260px circle at var(--mx, 50%) var(--my, -30%), rgba(77, 141, 255, .75), var(--line) 60%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; }
.spot::after { content: ""; position: absolute; inset: 0; z-index: 0; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity .4s;
  background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 0%), rgba(var(--blue-rgb), .09), transparent 60%); }
.spot:hover::after { opacity: 1; }
.card:hover { transform: translateY(-6px); box-shadow: var(--shadow-2); }
.card .link, .feature .link, .lrow .link { position: absolute; inset: 0; z-index: 2; border-radius: inherit; }
.card .shot { position: relative; z-index: 1; margin: 6px 6px 0; aspect-ratio: 16 / 10; border-radius: 13px; overflow: hidden; background: var(--bg-2); }
.card .shot img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease), filter .4s; }
.card:hover .shot img { transform: scale(1.06); }
.peek { position: absolute; right: 10px; bottom: 10px; display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px;
  background: rgba(11, 19, 34, .8); backdrop-filter: blur(8px); font-size: 12.5px; font-weight: 500; opacity: 0; transform: translateY(8px);
  transition: opacity .35s var(--ease), transform .35s var(--ease); }
.card:hover .peek { opacity: 1; transform: none; }
.card .body { position: relative; z-index: 1; padding: 16px 20px 6px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.meta { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--dim); flex-wrap: wrap; }
.meta .sep { width: 3px; height: 3px; border-radius: 50%; background: var(--n-600); }
.meta .kicker { margin: 0; font-size: 11px; }
.meta .pills { margin-left: auto; display: flex; gap: 6px; flex-wrap: wrap; }
.pill { display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: 999px; font-size: 11px; font-weight: 600; white-space: nowrap;
  border: 1px solid var(--line-2); color: var(--n-200); background: rgba(255, 255, 255, .03); }
.pill.new { color: var(--blue-l); border-color: rgba(77, 141, 255, .35); background: rgba(var(--blue-rgb), .1); }
.pill.sale { color: #f3aaa5; border-color: rgba(229, 83, 75, .4); background: rgba(229, 83, 75, .08); }
.card h3 { font-size: 17px; font-weight: 600; letter-spacing: -.012em; }
.card .tag { color: var(--muted); font-size: 14px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.fwc { display: flex; flex-wrap: wrap; gap: 6px; }
.fwc span { font: 500 11px var(--mono); color: var(--muted); padding: 3px 8px; border-radius: 999px; background: rgba(255, 255, 255, .045); }
.fwc span.soon { color: var(--dim); background: none; border: 1px dashed var(--line-2); }
.used { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--muted); }
.used .live { width: 7px; height: 7px; }
.card .row { position: relative; z-index: 1; display: flex; align-items: center; gap: 10px; padding: 12px 20px 20px; }
.pr { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.price { font: 600 20px var(--mono); letter-spacing: -.02em; white-space: nowrap; }
.price small { font-size: .7em; font-weight: 500; margin-left: 1px; }
.price.chrome { background: none; -webkit-background-clip: border-box; background-clip: border-box; color: var(--text); }
.was { color: var(--dim); font: 400 13px var(--mono); }
.card .row .spacer, .feature .row .spacer { flex: 1; }
.add, .more {
  position: relative; z-index: 4; height: 38px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--line-2); background: rgba(255, 255, 255, .03);
  font-weight: 600; font-size: 13.5px; display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; color: var(--text);
  transition: background .25s var(--ease), border-color .25s var(--ease), transform .2s var(--ease);
}
.add:hover, .more:hover { background: rgba(255, 255, 255, .08); border-color: rgba(160, 185, 230, .3); }
.add:active, .more:active { transform: scale(.96); }
.add.in { color: #86d9b0; background: rgba(63, 178, 127, .1); border-color: rgba(63, 178, 127, .45); }
.add.in .i { animation: pop .45s var(--spring); }
@keyframes pop { from { transform: scale(0) rotate(-30deg); } to { transform: none; } }
.more { color: var(--muted); }
.card.custom { justify-content: center; padding: 32px; gap: 10px; background: linear-gradient(135deg, rgba(var(--blue-rgb), .14), rgba(17, 26, 45, .5) 60%); }
.card.custom > * { position: relative; z-index: 1; }
.card.custom .row { padding: 6px 0 0; }
.card.custom .row .btn { position: relative; z-index: 4; }
.card.custom h3 { font-size: 24px; font-weight: 650; letter-spacing: -.02em; max-width: 520px; }
.card.custom .tag { font-size: 15px; max-width: 520px; -webkit-line-clamp: unset; }
.card.custom .kicker { margin: 0; }
.card.custom.narrow { padding: 26px 22px; }
.card.custom.narrow h3 { font-size: 21px; }
.card.dim .shot img { filter: saturate(.5) brightness(.8); }
.card.dim:hover .shot img { filter: none; }
.empty { color: var(--muted); padding: 40px 0; text-align: center; }

/* resursa recomandată: un rând întreg, poza în stânga, informațiile în dreapta */
.feature { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); margin-bottom: 20px;
  border-radius: 20px; overflow: hidden; background: linear-gradient(180deg, var(--card), rgba(17, 26, 45, .6)); }
.f-img { position: relative; z-index: 1; min-height: 380px; overflow: hidden; background: var(--bg-2); }
.f-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.06); transition: opacity 1s var(--ease), transform 7s linear; }
.f-img img.on { opacity: 1; transform: scale(1); }
.f-img::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, transparent 72%, rgba(17, 26, 45, .9)); }
.f-dots { position: absolute; left: 20px; bottom: 20px; z-index: 4; display: flex; gap: 6px; }
.f-dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 4px; background: rgba(255, 255, 255, .35); transition: width .35s var(--ease), background .35s; }
.f-dots button.on { width: 24px; background: #fff; }
.f-info { position: relative; z-index: 1; padding: 40px 34px 32px; display: flex; flex-direction: column; gap: 12px; }
.f-info h3 { font-size: 30px; font-weight: 650; letter-spacing: -.025em; }
.f-info .tag { color: var(--muted); font-size: 16px; }
.f-info ul { list-style: none; margin: 4px 0 2px; padding: 0; display: grid; gap: 10px; font-size: 14.5px; color: var(--n-200); }
.f-info li { display: flex; gap: 10px; align-items: flex-start; }
.f-info li .i { flex: none; width: 18px; height: 18px; padding: 3px; margin-top: 1px; border-radius: 50%; color: var(--blue-2); background: rgba(var(--blue-rgb), .14); stroke-width: 3; }
.f-info .row { margin-top: auto; padding-top: 18px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.f-info .price { font-size: 24px; }

/* catalogul ca listă */
.grid.as-list { display: block; border-radius: 18px; border: 1px solid var(--line); background: var(--card); overflow: hidden; }
.l-head, .lrow { display: grid; grid-template-columns: 132px minmax(0, 2.4fr) minmax(0, 1fr) minmax(0, 1.3fr) 76px 130px 150px; gap: 20px; align-items: center; padding: 12px 20px; }
.l-head { font-size: 12px; color: var(--dim); border-bottom: 1px solid var(--line); }
.lrow { position: relative; border-bottom: 1px solid var(--line); transition: background .25s; animation: rise .45s var(--ease) both; }
.lrow:last-child { border-bottom: 0; }
.lrow:hover { background: rgba(var(--blue-rgb), .05); }
.lrow .th { width: 132px; aspect-ratio: 16 / 10; border-radius: 10px; overflow: hidden; background: var(--bg-2); }
.lrow .th img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.lrow:hover .th img { transform: scale(1.08); }
.lrow.dim .th img { filter: saturate(.5) brightness(.8); }
.lrow h3 { font-size: 15.5px; font-weight: 600; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.lrow h3 .pills { display: inline-flex; gap: 6px; }
.lrow .tag { color: var(--muted); font-size: 13.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 2px; }
.l-c { color: var(--muted); font-size: 13.5px; }
.lrow .pr { flex-direction: column; gap: 0; align-items: flex-start; }
.lrow .price { font-size: 17px; }
.l-b { display: flex; justify-content: flex-end; }

/* ---------- STEPS ---------- */
.steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; }
.steps li { padding: 30px 28px 34px; position: relative; background: linear-gradient(180deg, var(--card), var(--bg)); }
.steps li + li { border-left: 1px solid var(--line); }
.steps .n { color: var(--blue-2); font-size: 13px; }
.steps h3 { font-size: 24px; font-weight: 650; margin: 18px 0 10px; }
.steps p { color: var(--muted); }
.steps .mono { color: var(--blue-l); }
.steps li:not(:last-child)::after {
  content: "→"; position: absolute; right: -14px; top: 30px; z-index: 2; width: 28px; height: 28px; border-radius: 50%;
  background: var(--bg); border: 1px solid var(--line-2); display: grid; place-items: center; color: var(--blue-2); font-size: 14px;
}

/* ---------- STANDARD ---------- */
.std-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.std { padding: 26px; border-radius: var(--r); border: 1px solid var(--line); background: var(--card); }
.std h3 { font-size: 20px; font-weight: 650; margin-bottom: 8px; }
.std p { color: var(--muted); font-size: 15px; }
.std.big { grid-column: span 4; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 40px; align-items: center; padding: 36px;
  background: radial-gradient(ellipse at 100% 0%, rgba(31, 107, 255, .22), transparent 60%), var(--card); }
.std.big h3 { font-size: clamp(26px, 3vw, 38px); font-weight: 700; }
.std.big p { font-size: 17px; }
.flow { grid-column: 1 / -1; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 14px; font-size: 13px; }
.flow span { padding: 10px 16px; border: 1px solid var(--line-2); border-radius: 10px; background: var(--bg-2); }
.flow span.hl { border-color: var(--blue); color: #fff; background: rgba(31, 107, 255, .2); }
.flow em { font-style: normal; color: var(--dim); display: flex; align-items: center; gap: 8px; }
.flow em::before, .flow em::after { content: ""; width: 22px; height: 1px; background: var(--line-2); }

/* ---------- LICENSE ---------- */
.lic { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.lic article { padding: 22px; border-radius: var(--r); border: 1px solid var(--line); background: var(--card); }
.lic .st { font-family: var(--mono); font-size: 11px; padding: 4px 8px; border-radius: 6px; display: inline-block; margin-bottom: 14px; }
.lic .ok .st { color: var(--ok); background: rgba(63, 178, 127, .1); }
.lic .no .st { color: var(--no); background: rgba(229, 83, 75, .1); }
.lic h3 { font-size: 19px; font-weight: 650; margin-bottom: 6px; }
.lic p { color: var(--muted); font-size: 15px; }

/* ---------- FAQ ---------- */
.faq-wrap { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.faq-side { position: sticky; top: calc(var(--nav-h) + 32px); }
.faq-side h2 { font-size: clamp(32px, 4vw, 52px); font-weight: 700; }
.faq-lead { color: var(--muted); margin: 16px 0 28px; max-width: 460px; font-size: 17px; }
.help-card { border-radius: var(--r); border: 1px solid var(--line-2); padding: 22px; display: grid; gap: 16px;
  background: radial-gradient(ellipse at 100% 0%, rgba(31, 107, 255, .22), transparent 60%), var(--card); }
.help-row { display: flex; gap: 14px; align-items: flex-start; }
.help-row b { display: block; font-size: 16px; }
.help-row span:not(.help-ic) { color: var(--muted); font-size: 14.5px; }
.help-ic { flex: 0 0 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; background: rgba(31, 107, 255, .16); color: var(--blue-2); font-weight: 700; border: 1px solid rgba(77, 141, 255, .3); }
.help-btns { display: flex; gap: 10px; flex-wrap: wrap; padding-top: 4px; }
.faq { border-top: 1px solid var(--line); }
.faq details { transition: background .2s; }
.faq details[open] { background: linear-gradient(90deg, rgba(31, 107, 255, .07), transparent 70%); }
.faq summary { padding-inline: 16px; }
.faq details p { padding-inline: 16px; }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { list-style: none; cursor: pointer; padding-block: 22px; font-size: 19px; font-weight: 700; display: flex; justify-content: space-between; gap: 20px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font-family: var(--mono); color: var(--blue-2); font-size: 22px; line-height: 1; transition: transform .25s; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { padding-bottom: 22px; color: var(--muted); max-width: 720px; }

/* ---------- CTA / FOOTER ---------- */
.cta-band {
  max-width: 1304px; margin: clamp(60px, 8vw, 110px) auto 0; padding: 34px 40px; border-radius: 24px; display: flex; align-items: center; gap: 24px;
  background: linear-gradient(100deg, rgba(10, 47, 158, .55), rgba(17, 26, 45, .9) 60%), url(../img/og-scripts.webp) center / cover; border: 1px solid var(--line-2);
}
.cta-band > div { flex: 1; }
.cta-band h2 { font-size: clamp(24px, 3vw, 34px); font-weight: 700; }
.cta-band p { color: var(--blue-l); margin-top: 6px; }
.cta-band img { }
.foot { max-width: 1400px; margin: 0 auto; padding: 48px clamp(16px, 4vw, 48px) 40px; display: flex; gap: 20px 40px; align-items: center; flex-wrap: wrap; color: var(--dim); font-size: 14px; }
.foot p:first-of-type { flex: 1; }

/* ---------- PRODUCT ---------- */
#product { max-width: 1400px; margin: 0 auto; padding: 28px clamp(16px, 4vw, 48px) 80px; animation: rise .4s both; }
.crumbs { display: flex; gap: 10px; align-items: center; color: var(--muted); font-size: 14px; margin-bottom: 24px; font-family: var(--mono); }
.crumbs a:hover { color: var(--text); }
.p-top { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 32px; align-items: start; }
.gal-main { border-radius: 20px; overflow: hidden; border: 1px solid var(--line-2); aspect-ratio: 16 / 9; background: var(--bg-2); position: relative; }
.gal-main img { width: 100%; height: 100%; object-fit: cover; }
.gal-main .zoom { position: absolute; right: 12px; bottom: 12px; }
.gal-thumbs { display: flex; gap: 10px; margin-top: 12px; overflow-x: auto; padding-bottom: 4px; }
.gal-thumbs button { flex: 0 0 120px; aspect-ratio: 16 / 9; border-radius: 10px; overflow: hidden; border: 2px solid transparent; padding: 0; background: none; opacity: .6; transition: opacity .2s, border-color .2s; }
.gal-thumbs button[aria-current="true"], .gal-thumbs button:hover { opacity: 1; border-color: var(--blue-2); }
.gal-thumbs img { width: 100%; height: 100%; object-fit: cover; }
.buy {
  position: sticky; top: calc(var(--nav-h) + 20px); border-radius: 20px; padding: 26px; border: 1px solid var(--line-2);
  background: radial-gradient(ellipse at 100% 0%, rgba(31, 107, 255, .18), transparent 55%), var(--card);
}
.buy .rid { font-family: var(--mono); font-size: 12.5px; color: var(--blue-2); }
.buy h1 { font-size: 34px; font-weight: 700; margin: 8px 0 10px; }
.buy .tag { color: var(--muted); }
.buy .price { font-size: 44px; margin: 20px 0 4px; }
.buy .vat { color: var(--dim); font-size: 13px; }
.compat { margin: 18px 0; padding: 14px; border-radius: 12px; background: var(--bg-2); border: 1px solid var(--line); display: flex; gap: 12px; align-items: flex-start; font-size: 14.5px; }
.compat .ic { width: 26px; height: 26px; flex: 0 0 26px; border-radius: 8px; display: grid; place-items: center; font-weight: 700; }
.compat.ok .ic { background: rgba(63, 178, 127, .15); color: var(--ok); }
.compat.warn .ic { background: rgba(212, 162, 60, .15); color: var(--warn); }
.compat.ui .ic { background: rgba(167, 139, 250, .15); color: #c9b8ff; }
.compat b { display: block; }
.compat span { color: var(--muted); }
.buy .btns { display: grid; gap: 10px; }
.facts { margin: 22px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.facts li { display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.facts li span:first-child { color: var(--dim); }
.facts li span:last-child { text-align: right; font-family: var(--mono); font-size: 12.5px; color: var(--blue-l); }
.tabs { display: flex; gap: 4px; margin: 44px 0 0; border-bottom: 1px solid var(--line); overflow-x: auto; }
.tabs button { border: 0; background: none; padding: 14px 18px; font-weight: 650; color: var(--muted); border-bottom: 2px solid transparent; margin-bottom: -1px; white-space: nowrap; }
.tabs button[aria-selected="true"] { color: var(--text); border-color: var(--blue-2); }
.tab-body { padding: 30px 0; max-width: 900px; }
.feat-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.feat-list li { padding: 16px 18px 16px 44px; border-radius: 12px; background: var(--card); border: 1px solid var(--line); position: relative; }
.feat-list li::before { content: ""; position: absolute; left: 18px; top: 22px; width: 10px; height: 10px; transform: rotate(45deg); background: var(--blue-2); }
.note { margin-top: 18px; padding: 14px 16px; border-left: 3px solid var(--warn); background: rgba(212, 162, 60, .06); border-radius: 0 10px 10px 0; color: #ffdca3; font-size: 15px; }

/* ---------- DOC BLOCKS (shared) ---------- */
.doc h2 { font-size: 24px; font-weight: 650; margin: 40px 0 14px; padding-top: 4px; }
.doc h2:first-child { margin-top: 0; }
.doc p { color: var(--n-200); margin: 0 0 14px; }
.doc ul, .doc ol { margin: 0 0 16px; padding-left: 22px; color: var(--n-200); }
.doc li { margin: 6px 0; }
.doc ol.steps-doc { list-style: none; padding: 0; counter-reset: s; }
.doc ol.steps-doc li { counter-increment: s; position: relative; padding: 10px 0 10px 46px; }
.doc ol.steps-doc li::before { content: counter(s); position: absolute; left: 0; top: 8px; width: 30px; height: 30px; border-radius: 8px; background: rgba(31, 107, 255, .15); color: var(--blue-2); font: 700 13px/30px var(--mono); text-align: center; }
.doc code { font-family: var(--mono); font-size: .88em; padding: 2px 6px; border-radius: 5px; background: rgba(77, 141, 255, .1); color: var(--blue-l); }
.codebox { position: relative; margin: 0 0 18px; border-radius: 12px; border: 1px solid var(--line-2); background: var(--bg-2); overflow: hidden; }
.codebox .cb-bar { display: flex; justify-content: space-between; align-items: center; padding: 8px 10px 8px 14px; border-bottom: 1px solid var(--line); font-family: var(--mono); font-size: 12px; color: var(--muted); }
.copy { border: 1px solid var(--line-2); background: var(--card-2); border-radius: 8px; padding: 4px 10px; font-family: var(--mono); font-size: 12px; }
.copy.done { color: var(--ok); border-color: rgba(63, 178, 127, .4); }
.codebox pre { margin: 0; padding: 16px; overflow-x: auto; font: 13px/1.7 var(--mono); color: var(--blue-l); }
.tbl { width: 100%; border-collapse: collapse; margin: 0 0 18px; font-size: 14.5px; }
.tbl th, .tbl td { text-align: left; padding: 11px 14px; border-bottom: 1px solid var(--line); vertical-align: top; }
.tbl th { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--dim); font-weight: 700; }
.tbl td:first-child { white-space: nowrap; }
.tbl td:first-child code { white-space: nowrap; }
.tbl td:last-child { color: var(--n-200); }
.tip { padding: 14px 16px; border-radius: 12px; border: 1px solid rgba(77, 141, 255, .3); background: rgba(31, 107, 255, .08); color: var(--blue-l); margin: 0 0 18px; }
.cl { border-left: 1px solid var(--line-2); padding-left: 22px; margin-left: 6px; }
.cl .v { position: relative; margin-bottom: 20px; }
.cl .v::before { content: ""; position: absolute; left: -28px; top: 7px; width: 11px; height: 11px; border-radius: 50%; background: var(--bg); border: 2px solid var(--blue-2); }
.cl .v:first-child::before { background: var(--blue-2); }
.cl .v b { font-family: var(--mono); color: var(--text); }
.cl .v time { font-family: var(--mono); font-size: 12px; color: var(--dim); margin-left: 10px; }
.cl .v ul { margin: 6px 0 0; }

/* ---------- DOCS VIEW ---------- */
#docs { display: grid; grid-template-columns: 280px minmax(0, 1fr) 200px; gap: 40px; max-width: 1400px; margin: 0 auto; padding: 0 clamp(16px, 4vw, 48px); }
.docs-side { position: sticky; top: var(--nav-h); height: calc(100vh - var(--nav-h)); overflow-y: auto; padding: 28px 0 40px; border-right: 1px solid var(--line); padding-right: 20px; }
.docs-side .search { min-width: 0; width: 100%; margin-bottom: 20px; }
.docs-side h4 { font-family: var(--mono); font-size: 11.5px; color: var(--dim); text-transform: uppercase; letter-spacing: .12em; margin: 20px 0 8px; font-weight: 500; }
.docs-side a { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 9px; color: var(--muted); font-weight: 600; font-size: 15px; }
.docs-side a:hover { color: var(--text); background: rgba(77, 141, 255, .06); }
.docs-side a.on { color: #fff; background: rgba(31, 107, 255, .16); box-shadow: inset 2px 0 0 var(--blue-2); }
.docs-side a small { font-family: var(--mono); font-size: 10.5px; color: var(--dim); }
.docs-side .shopcard { margin-top: 26px; padding: 16px; border-radius: 12px; background: var(--card); border: 1px solid var(--line); font-size: 14px; color: var(--muted); }
.docs-side .shopcard .btn { margin-top: 12px; }
.docs-main { padding: 36px 0 100px; min-width: 0; animation: rise .35s both; }
.docs-main .d-head { padding-bottom: 26px; margin-bottom: 30px; border-bottom: 1px solid var(--line); }
.docs-main .d-head .kicker { margin-bottom: 8px; }
.docs-main h1 { font-size: clamp(32px, 4vw, 46px); font-weight: 700; }
.docs-main .d-head p { color: var(--muted); margin-top: 10px; font-size: 18px; }
.docs-main .d-head .badges { position: static; margin-top: 16px; }
.docs-main .pager { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 50px; }
.docs-main .pager a { padding: 16px 18px; border-radius: 12px; border: 1px solid var(--line); background: var(--card); }
.docs-main .pager a:hover { border-color: var(--line-2); }
.docs-main .pager small { display: block; font-family: var(--mono); color: var(--dim); font-size: 11.5px; margin-bottom: 4px; }
.docs-main .pager a:last-child { text-align: right; }
.docs-toc { position: sticky; top: var(--nav-h); align-self: start; padding: 40px 0; font-size: 14px; }
.docs-toc b { display: block; font-family: var(--mono); font-size: 11.5px; color: var(--dim); text-transform: uppercase; letter-spacing: .12em; font-weight: 500; margin-bottom: 10px; }
.docs-toc a { display: block; padding: 5px 0 5px 12px; color: var(--muted); border-left: 1px solid var(--line); }
.docs-toc a.on { color: var(--blue-l); border-color: var(--blue-2); }
.docs-toggle { display: none; }

/* ---------- BUILDER ---------- */
.scrim { position: fixed; inset: 0; z-index: 60; background: rgba(5, 9, 18, .6); backdrop-filter: blur(3px); animation: fade .25s; }
@keyframes fade { from { opacity: 0; } }
.builder {
  position: fixed; top: 0; right: 0; bottom: 0; z-index: 70; width: min(480px, 100vw); display: flex; flex-direction: column;
  background: linear-gradient(180deg, var(--card), var(--bg) 40%); border-left: 1px solid var(--line-2);
  transform: translateX(100%); visibility: hidden; transition: transform .35s cubic-bezier(.2, .8, .2, 1), visibility .35s; box-shadow: -40px 0 80px rgba(0, 0, 0, .5);
}
.builder.open { transform: none; visibility: visible; }
.b-head { display: flex; justify-content: space-between; align-items: flex-start; padding: 22px 22px 14px; }
.b-head h2 { font-size: 28px; font-weight: 700; }
.b-fw { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 22px 16px; border-bottom: 1px solid var(--line); }
.b-fw > span { font-size: 13px; color: var(--dim); text-transform: uppercase; letter-spacing: .1em; font-weight: 700; }
.b-body { flex: 1; overflow-y: auto; padding: 16px 22px; }
.b-empty { text-align: center; color: var(--muted); padding: 50px 10px; }
.b-empty .btn { margin-top: 18px; }
.b-item { display: grid; grid-template-columns: 64px 1fr auto; gap: 12px; align-items: center; padding: 10px; border-radius: 12px; background: var(--card); border: 1px solid var(--line); margin-bottom: 8px; }
.b-item img { width: 64px; height: 40px; object-fit: cover; border-radius: 7px; }
.b-item b { display: block; font-size: 15px; }
.b-item small { font-family: var(--mono); font-size: 11px; color: var(--dim); }
.b-item small.warn { color: var(--warn); }
.b-item small.auto { color: var(--blue-2); }
.b-item .r { text-align: right; }
.b-item .r .price { font-size: 16px; display: block; }
.b-item .x { border: 0; background: none; color: var(--dim); font-size: 12px; padding: 2px 0; }
.b-item .x:hover { color: var(--no); }
.b-sug { padding: 12px 14px; border-radius: 12px; border: 1px dashed rgba(77, 141, 255, .4); color: var(--blue-l); font-size: 14px; margin-bottom: 8px; display: flex; gap: 10px; align-items: center; justify-content: space-between; }
.b-sug button { flex: 0 0 auto; }
.cfg-wrap { margin-top: 18px; }
.cfg-wrap .codebox pre { max-height: 260px; }
.b-foot { padding: 16px 22px 22px; border-top: 1px solid var(--line); background: rgba(11, 19, 34, .6); }
.sum { display: flex; justify-content: space-between; font-size: 14.5px; color: var(--muted); margin-bottom: 6px; }
.sum.off { color: var(--ok); }
.sum.total { color: var(--text); font-size: 17px; font-weight: 650; align-items: baseline; margin: 10px 0 14px; }
.sum.total .price { font-size: 30px; }
.b-hint { font-size: 12.5px; color: var(--dim); text-align: center; margin-top: 10px; }

/* ---------- TOAST / LIGHTBOX ---------- */
.toast {
  position: fixed; left: 50%; bottom: 24px; z-index: 90; transform: translate(-50%, calc(100% + 40px)); visibility: hidden; padding: 12px 18px; border-radius: 12px;
  background: var(--card-2); border: 1px solid var(--line-2); box-shadow: var(--shadow-2); font-weight: 600; font-size: 15px;
  transition: transform .35s cubic-bezier(.2, .8, .2, 1), visibility .35s; max-width: calc(100vw - 32px);
}
.toast.show { transform: translate(-50%, 0); visibility: visible; }
.lightbox { position: fixed; inset: 0; z-index: 95; background: rgba(5, 9, 18, .92); display: grid; place-items: center; padding: 24px; cursor: zoom-out; animation: fade .2s; }
.lightbox img { max-width: 100%; max-height: 100%; border-radius: 12px; box-shadow: var(--shadow-2); }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1180px) {
  #docs { grid-template-columns: 250px minmax(0, 1fr); }
  .docs-toc { display: none; }
  .std-grid { grid-template-columns: 1fr 1fr; }
  .std.big { grid-column: span 2; }
  .lic { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 980px) {
  /* meniul principal devine un rând de taburi sub bară, derulabil, cu pagina curentă evidențiată */
  :root { --tabs-h: 46px; }
  .nav { flex-wrap: wrap; align-content: flex-start; row-gap: 0; }
  .nav .brand, .nav-right { height: var(--bar-h); }
  .nav-links {
    order: 3; flex: 0 0 calc(100% + 2 * var(--nav-pad)); margin: 0 calc(-1 * var(--nav-pad)); padding: 0 var(--nav-pad);
    height: var(--tabs-h); align-items: center; gap: 2px; border-top: 1px solid var(--line);
    overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
  }
  .nav-links::-webkit-scrollbar { display: none; }
  .nav-links a { padding: 7px 12px; font-size: 14px; }
  .nav-links a.m-only { display: block; }
  .nav-links a.on { box-shadow: inset 0 -2px 0 var(--blue-2); border-radius: 8px 8px 0 0; }
  .hero { grid-template-columns: 1fr; min-height: 0; }
  .hero-art { justify-self: center; width: min(100%, 640px); margin-top: 10px; }
  .term { left: -12px; width: 290px; }
  .grid { grid-template-columns: 1fr 1fr; }
  .card.feat { grid-column: span 2; grid-row: auto; }
  .p-top { grid-template-columns: minmax(0, 1fr); }
  .faq-wrap { grid-template-columns: minmax(0, 1fr); }
  .faq-side { position: static; }
  .buy { position: static; }
  .steps { grid-template-columns: 1fr; }
  .steps li + li { border-left: 0; border-top: 1px solid var(--line); }
  .steps li:not(:last-child)::after { content: "↓"; right: 28px; top: auto; bottom: -14px; }
  #docs { grid-template-columns: 1fr; gap: 0; }
  .docs-side { position: static; height: auto; border-right: 0; border-bottom: 1px solid var(--line); padding: 16px 0; }
  .docs-side nav { display: none; }
  .docs-side.open nav { display: block; }
  .docs-side .shopcard { display: none; }
  .docs-toggle { display: flex; width: 100%; justify-content: space-between; }
}
@media (max-width: 640px) {
  :root { --bar-h: 60px; }
  .nav { gap: 10px; }
  .brand span { display: none; }
  .fw-pill { padding: 0 12px; }
  .cart-btn .mono { display: none; }
  .cart-btn { padding-left: 12px; }
  .cart-btn::before { content: "cfg"; font-family: var(--mono); font-size: 13px; }
  .grid { grid-template-columns: 1fr; }
  .card.feat, .card.custom { grid-column: auto; }
  .card.feat .shot { min-height: 220px; }
  .card.feat h3 { font-size: 26px; }
  .seg { width: 100%; }
  .seg button { flex: 1; padding: 9px 8px; }
  .hero-art { padding-bottom: 0; }
  .term { position: relative; left: 0; bottom: 0; width: 100%; margin-top: 14px; }
  .std-grid, .lic, .feat-list { grid-template-columns: 1fr; }
  .std.big { grid-column: auto; grid-template-columns: 1fr; padding: 26px; }
  .cta-band { flex-direction: column; align-items: flex-start; padding: 26px; margin-inline: 16px; }
  .search { min-width: 0; width: 100%; }
  .filters { width: 100%; }
  .chips { flex-wrap: nowrap; overflow-x: auto; flex: 1 1 100%; width: 100%; padding-bottom: 4px; }
  .sec-head > div:first-child { width: 100%; }
  .chip { white-space: nowrap; }
  .buy h1 { font-size: 28px; }
  .tbl td:first-child { white-space: normal; width: 42%; }
  .tbl td:first-child code { white-space: normal; word-break: break-word; }
  .tbl th, .tbl td { padding: 10px 8px; }
  .docs-main .pager { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  html { scroll-behavior: auto; }
}

/* ---------- FW MENU ---------- */
.fw-menu {
  position: fixed; z-index: 80; width: 240px; padding: 8px; border-radius: 14px; background: var(--card-2); border: 1px solid var(--line-2);
  box-shadow: var(--shadow-2); animation: rise .2s both;
}
.fw-menu p { font-size: 11.5px; font-family: var(--mono); color: var(--dim); text-transform: uppercase; letter-spacing: .1em; padding: 6px 10px 8px; }
.fw-menu button { width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 10px 12px; border: 0; border-radius: 9px; background: none; text-align: left; }
.fw-menu button:hover { background: rgba(77, 141, 255, .1); }
.fw-menu button[aria-checked="true"] { background: rgba(31, 107, 255, .2); box-shadow: inset 2px 0 0 var(--blue-2); }
.fw-menu small { font-family: var(--mono); font-size: 11px; color: var(--dim); }

/* ---------- mențiunea de autor Loombytle (vezi LICENSE.txt) ---------- */
.lb-credit { display: block; padding: 14px 16px; text-align: center; font-size: 13px; color: var(--muted); background: var(--bg); border-top: 1px solid var(--line); position: relative; z-index: 30; }
.lb-credit a { color: var(--blue-l); font-weight: 700; }
.lb-credit a:hover { color: #fff; }

/* frunze de toamnă (js/leaves.js): peste pagină, fără click-uri, sub bara de navigare și ferestre */
.leaves { position: fixed; inset: 0; z-index: 35; pointer-events: none; }
.leaves-toggle { margin-top: 6px; color: var(--dim); }
.leaves-toggle:hover { color: var(--blue-l); }

/* FAQ acordeon (app.js → faqToggle): „+” se întoarce imediat ce începe închiderea */
.faq details.closing summary::after { transform: none; }
.faq details.closing { background: transparent; }

/* ---------- catalog: rândul „magazin” (framework-uri, Pachete, Pass) + subcategoriile ---------- */
.store-nav { display: flex; gap: 12px; flex-wrap: wrap; margin: 6px 0 14px; }
.sn-fw { position: relative; display: flex; gap: 2px; padding: 4px; border-radius: 999px; background: rgba(255, 255, 255, .025); border: 1px solid var(--line); flex-wrap: wrap; }
.sn { position: relative; z-index: 1; display: grid; grid-template-columns: auto auto; grid-template-rows: auto auto; column-gap: 10px; align-items: center; text-align: left;
  padding: 7px 16px; border-radius: 999px; border: 0; background: transparent; color: var(--muted); transition: color .25s; }
.sn b { font-size: 14px; font-weight: 600; color: var(--muted); transition: color .25s; }
.sn small { grid-row: 2; font: 500 10.5px var(--mono); color: var(--dim); }
.sn em { grid-row: 1 / span 2; grid-column: 2; font-style: normal; font-size: 11.5px; padding: 2px 8px; border-radius: 999px; background: rgba(255, 255, 255, .06); color: var(--muted); }
.sn:hover b, .sn.on b { color: var(--text); }
.sn-fw:not(.has-ind) .sn.on { background: var(--card-3); }
.sn-more { display: flex; gap: 8px; margin-left: auto; }
.sn.link { display: flex; gap: 10px; align-items: center; border: 1px solid var(--line-2); background: rgba(255, 255, 255, .025); border-radius: 999px; padding: 7px 18px 7px 12px;
  transition: border-color .25s, background .25s, transform .25s var(--ease); }
.sn.link b { color: var(--text); }
.sn.link span { display: grid; }
.sn.link small { grid-row: auto; }
.sn.link svg { width: 20px; height: 20px; fill: none; stroke: var(--blue-l); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sn.link.pass { border-color: rgba(77, 141, 255, .4); background: linear-gradient(135deg, rgba(var(--blue-rgb), .16), rgba(255, 255, 255, .02)); }
.sn.link:hover { border-color: rgba(77, 141, 255, .6); transform: translateY(-2px); }
.cat-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 28px; }
.subcats { position: relative; display: flex; gap: 2px; flex-wrap: wrap; padding: 4px; border-radius: 999px; border: 1px solid var(--line); background: rgba(255, 255, 255, .025); }
.subcat { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px 8px 11px; border-radius: 999px; border: 0; background: transparent;
  color: var(--muted); font-weight: 500; font-size: 14px; transition: color .25s; }
.subcat svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.subcat em { font-style: normal; font-size: 11px; opacity: .6; }
.subcat:hover, .subcat[aria-selected="true"] { color: var(--text); }
.subcats:not(.has-ind) .subcat[aria-selected="true"] { background: var(--card-3); }
.sw { position: relative; display: inline-flex; gap: 2px; padding: 4px; border-radius: 999px; border: 1px solid var(--line); background: rgba(255, 255, 255, .025); }
.sw button { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 14px; border: 0; border-radius: 999px; background: none; color: var(--muted); font-size: 13.5px; font-weight: 500; transition: color .25s; }
.sw button:hover, .sw button[aria-pressed="true"] { color: var(--text); }
.sw:not(.has-ind) button[aria-pressed="true"] { background: var(--card-3); }
.cat-row .views { margin-left: auto; }
/* pastila care alunecă sub opțiunea activă (motion.js) */
.slide-ind { position: absolute; z-index: 0; left: 0; top: 0; border-radius: 999px; background: var(--card-3); pointer-events: none;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), var(--shadow-1);
  transition: transform .45s var(--ease), width .45s var(--ease), height .45s var(--ease), opacity .2s; }
@media (max-width: 980px) {
  .sn-more { margin-left: 0; }
  .sn-fw { width: 100%; }
  .sn-fw .sn { flex: 1 1 auto; }
}
/* telefon: fiecare comutator e un singur rând care se derulează lateral (fără rânduri rupte); opțiunea activă se centrează singură (motion.js) */
@media (max-width: 760px) {
  .store-nav { gap: 10px; }
  .sn-fw, .subcats { width: 100%; flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; border-radius: 999px;
    scroll-snap-type: x proximity; -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent); }
  .sn-fw::-webkit-scrollbar, .subcats::-webkit-scrollbar { display: none; }
  .sn-fw.at-end, .subcats.at-end { -webkit-mask-image: none; mask-image: none; }
  .sn-fw .sn, .subcat { flex: none; scroll-snap-align: center; }
  .sn { padding: 8px 14px; }
  .sn small { display: none; }
  .subcat { padding: 9px 14px 9px 12px; }
  .sn-more { width: 100%; }
  .sn-more .sn { flex: 1; justify-content: center; }
  .cat-row { flex-direction: column; align-items: stretch; gap: 10px; }
  .cat-row .views { margin-left: 0; display: flex; }
  .cat-row .views button { flex: 1; justify-content: center; }
}

/* iconițe mici în text (IC din app.js) */
.i { width: 1.05em; height: 1.05em; display: inline-block; vertical-align: -.16em; flex: none; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.i[fill="currentColor"] { stroke-width: 1.2; }
.badge .i { margin-right: 4px; }
.icon-btn .i { width: 16px; height: 16px; vertical-align: middle; }

/* ---------- DOC BLOCKS din Admin → Documentație: subtitlu, poză, link ---------- */
.doc h3 { font-size: 18px; font-weight: 650; margin: 26px 0 10px; }
.doc a { color: var(--blue-2); font-weight: 700; }
.doc a:hover { color: var(--blue-l); }
.doc-img { margin: 0 0 18px; }
.doc-img img { display: block; width: 100%; height: auto; border-radius: 12px; border: 1px solid var(--line-2); }
.doc-img figcaption { margin-top: 8px; font-size: 13.5px; color: var(--dim); }
/* text doar pentru cititoare de ecran și motoare de căutare */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
/* catalogul pus de server în HTML (pentru cine nu rulează JavaScript); app.js îl înlocuiește imediat cu cardurile obișnuite */
.ssr-card { padding: 18px 20px; border-radius: var(--r); border: 1px solid var(--line-2); background: var(--card); }
.ssr-card h3 { font-size: 18px; margin: 0 0 6px; }
.ssr-card p { margin: 0 0 6px; color: var(--muted); font-size: 14.5px; }
.ssr-card .ssr-meta { font-family: var(--mono); font-size: 12.5px; color: var(--blue-l); margin: 0; }

/* ---------- bara de cookie-uri (consent.js): lată și subțire, jos pe toată lățimea ---------- */
.ck { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; border-top: 1px solid var(--line-2);
  background: rgba(14, 23, 41, .97); backdrop-filter: blur(10px); box-shadow: 0 -12px 40px -12px rgba(0, 0, 0, .7); animation: ck-up .25s both; }
@keyframes ck-up { from { transform: translateY(100%); } to { transform: none; } }
.ck-in { max-width: 1400px; margin: 0 auto; padding: 10px clamp(16px, 4vw, 48px); display: flex; align-items: center; gap: 14px; }
.ck-in > svg { width: 22px; height: 22px; flex: none; fill: none; stroke: var(--blue-l); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ck-in p { flex: 1; margin: 0; font-size: 13.5px; line-height: 1.45; color: var(--muted); }
.ck-in p b { color: var(--text); }
.ck-in p a { color: var(--blue-2); font-weight: 700; white-space: nowrap; }
.ck-now { color: var(--blue-l); }
.ck-btns { display: flex; gap: 8px; flex: none; }
.ck-btns .btn.sm { height: 36px; padding: 0 14px; font-size: 13.5px; }
@media (max-width: 760px) {
  .ck-in { flex-wrap: wrap; gap: 10px; padding-top: 12px; padding-bottom: 12px; }
  .ck-in > svg { display: none; }
  .ck-in p { flex-basis: 100%; }
  .ck-btns { width: 100%; }
  .ck-btns .btn { flex: 1; justify-content: center; }
}
.foot-links { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin: 0; }
.foot-links a { color: var(--muted); }
.foot-links a:hover { color: var(--blue-l); }
/* video YouTube fără acord pentru conținut extern: doar butonul de redare */
.yt-ph { position: absolute; inset: 0; display: grid; place-items: center; background: radial-gradient(circle at 50% 50%, var(--card-2), var(--bg-2)); color: var(--muted); font: 700 13px var(--mono); letter-spacing: .1em; text-transform: uppercase; padding-top: 70px; }
.gal-thumbs .yt-ph { padding-top: 0; font-size: 10px; }

/* ---------- Despre noi (/despre) ---------- */
.about { max-width: 1400px; margin: 0 auto; padding: clamp(36px, 5vw, 64px) clamp(16px, 4vw, 48px) 40px; animation: rise .35s both; }
.about-hero { position: relative; padding: clamp(30px, 4vw, 52px); border-radius: 24px; border: 1px solid var(--line-2); overflow: hidden;
  background: radial-gradient(ellipse at 15% 0%, rgba(31, 107, 255, .28), transparent 60%), radial-gradient(ellipse at 100% 100%, rgba(77, 141, 255, .12), transparent 55%), var(--card); }
.about-hero h1 { font-size: clamp(40px, 5.4vw, 76px); font-weight: 700; line-height: 1.02; margin: 4px 0 16px; }
.about-hero .lead { max-width: 820px; font-size: clamp(16px, 1.4vw, 19px); color: var(--n-200); }
.about-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; margin-top: 30px; }
.about-stats > div { padding: 16px 18px; border-radius: 14px; border: 1px solid var(--line); background: rgba(11, 19, 34, .45); }
.about-stats b { display: block; font-size: clamp(26px, 2.6vw, 36px); font-weight: 700; line-height: 1.1; }
.about-stats span { color: var(--muted); font-size: 13.5px; }
.about-sec { padding-top: clamp(50px, 6vw, 84px); }
.about-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.about-card { padding: 26px; border-radius: var(--r); border: 1px solid var(--line); background: var(--card); transition: border-color .2s, transform .2s; }
.about-card:hover { border-color: var(--line-2); transform: translateY(-2px); }
.about-card h3 { font-size: 19px; font-weight: 650; margin: 14px 0 8px; }
.about-card p { color: var(--muted); font-size: 15px; margin: 0; }
.about-ic { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 13px; background: rgba(31, 107, 255, .14); border: 1px solid rgba(77, 141, 255, .3); }
.about-ic svg { width: 22px; height: 22px; fill: none; stroke: var(--blue-l); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.about-split { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(24px, 4vw, 60px); align-items: start; }
.about-split h2 { font-size: clamp(30px, 3.6vw, 46px); font-weight: 700; margin-bottom: 14px; }
.about-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.about-list li { padding: 20px 22px; border-radius: var(--r); border: 1px solid var(--line); background: var(--card); display: grid; gap: 6px; }
.about-list b { font-size: 16.5px; }
.about-list span { color: var(--muted); font-size: 14.5px; }
.team-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.team-card { display: flex; align-items: center; gap: 16px; padding: 20px 22px; border-radius: var(--r); border: 1px solid var(--line); background: var(--card); }
.team-card b { display: block; font-size: 19px; margin-bottom: 6px; }
.team-card .av { flex: none; border-radius: 50%; box-shadow: 0 0 0 2px var(--line-2); }
.about-cta { margin-top: clamp(50px, 6vw, 84px); padding: clamp(26px, 3vw, 40px); border-radius: 24px; border: 1px solid rgba(77, 141, 255, .35);
  background: linear-gradient(120deg, rgba(31, 107, 255, .2), rgba(10, 17, 36, .9) 60%); display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.about-cta h2 { font-size: clamp(24px, 2.6vw, 34px); font-weight: 700; margin-bottom: 6px; }
.about-btns { display: flex; gap: 10px; flex-wrap: wrap; }
.about-note { margin-top: 24px; text-align: center; }
@media (max-width: 1000px) { .about-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .about-split { grid-template-columns: 1fr; } }

/* ---------- găzduire web (/gazduire): aceleași piese ca «Despre noi» + pachetele și fișierul gazduire.cfg ---------- */
.host-hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.host-hero h1 { text-wrap: balance; }
.host-hero h1 .chrome { display: block; }
.host-copy .about-btns { margin-top: 26px; }
.host-trust { list-style: none; margin: 22px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 22px; color: var(--muted); font-size: 14.5px; }
.host-trust li { display: inline-flex; align-items: center; gap: 7px; }
.host-trust .i { width: 16px; height: 16px; fill: none; stroke: var(--ok); stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.term.host-term { position: relative; left: auto; bottom: auto; width: auto; min-width: 0; }
.host-term pre { min-height: 0; padding: 18px 22px 22px; font-size: 15px; line-height: 2; white-space: pre; overflow-x: auto; }
.host-sub { max-width: 520px; margin: 0; }
.host-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.host-plan { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 28px 26px 26px; border-radius: 20px; border: 1px solid var(--line); background: var(--card); transition: border-color .2s, transform .2s; }
.host-plan:hover { border-color: var(--line-2); transform: translateY(-2px); }
.host-plan.featured { border-color: rgba(77, 141, 255, .55); background: radial-gradient(120% 80% at 50% 0%, rgba(31, 107, 255, .18), transparent 60%), var(--card); box-shadow: var(--shadow-2); }
.host-plan .about-ic { margin-bottom: 6px; }
.host-plan .kicker { margin: 0; }
.host-plan h3 { font-size: 23px; font-weight: 700; margin: 0; }
.host-plan > .muted { margin: 0; font-size: 15px; }
.host-rec { position: absolute; top: 18px; right: 18px; padding: 5px 10px; border-radius: 999px; background: rgba(31, 107, 255, .2); border: 1px solid rgba(77, 141, 255, .45); color: var(--blue-l); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.host-price { display: grid; gap: 2px; padding: 14px 0; margin: 4px 0 6px; border-block: 1px solid var(--line); }
.host-price small { color: var(--dim); font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; }
.host-price b { font-size: 26px; font-weight: 700; }
.host-plan .pass-perks { margin-bottom: 14px; }
.host-plan .btn { margin-top: auto; }
.host-note { margin: 20px 0 0; text-align: center; }
.host .faq-wrap { padding-inline: 0; }
@media (max-width: 1000px) { .host-hero, .host-plans { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) { .host-term pre { padding: 14px 16px 16px; font-size: 12.5px; line-height: 1.85; } }
@media (max-width: 640px) { .about-grid, .about-list { grid-template-columns: 1fr; } }

/* Resursă fără fișier urcat încă (migrarea 030): se vede, dar nu se poate cumpăra */
.add.soon { cursor: default; color: var(--muted); border-color: var(--line-2); background: transparent; position: relative; z-index: 3; }
.btn[disabled] { opacity: .55; cursor: not-allowed; box-shadow: none; }
.needs.soon-note { margin-top: 0; }

/* ---------- v95: mișcare (motion.js) ---------- */
.rv { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--ease), transform .7s var(--ease); transition-delay: var(--d, 0ms); }
.rv.in { opacity: 1; transform: none; }
.card.rv.in:hover { transform: translateY(-6px); transition-delay: 0ms; }
/* hero: lumini albastre care respiră lent în spatele textului */
.hero-fx { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.orb { position: absolute; border-radius: 50%; filter: blur(80px); opacity: .5; will-change: transform; }
.orb.a { width: 640px; height: 440px; left: 46%; top: -140px; background: radial-gradient(closest-side, rgba(var(--blue-rgb), .55), transparent); animation: drift-a 18s ease-in-out infinite alternate; }
.orb.b { width: 520px; height: 380px; left: 2%; top: 140px; background: radial-gradient(closest-side, rgba(77, 141, 255, .26), transparent); animation: drift-b 22s ease-in-out infinite alternate; }
.orb.c { width: 440px; height: 340px; right: -60px; bottom: -80px; background: radial-gradient(closest-side, rgba(21, 73, 179, .5), transparent); animation: drift-a 26s ease-in-out infinite alternate-reverse; }
@keyframes drift-a { to { transform: translate(-90px, 60px) scale(1.15); } }
@keyframes drift-b { to { transform: translate(110px, -40px) scale(.9); } }
/* titlul apare cuvânt cu cuvânt dintr-un blur ușor */
.hero h1.words .w { display: inline-block; opacity: 0; transform: translateY(.4em); filter: blur(6px); animation: word .9s var(--ease) forwards; animation-delay: calc(var(--i) * 55ms + 120ms); }
.hero h1.words .chrome { background: none; }
.hero h1.words .chrome .w { background: var(--chrome); -webkit-background-clip: text; background-clip: text; color: transparent; padding-bottom: .06em; }
@keyframes word { to { opacity: 1; transform: none; filter: none; } }
.hero-copy > *:not(h1) { animation: rise .8s var(--ease) both; }
.hero-copy > .eyebrow { animation-delay: .05s; }
.hero-copy > .lead { animation-delay: .45s; }
.hero-copy > .fw-ask { animation-delay: .55s; }
.hero-copy > .hero-cta { animation-delay: .65s; }
.hero-copy > .trust { animation-delay: .75s; }
.hero-art { animation: rise 1s var(--ease) .25s both; }
/* pe ecranele cu mouse, cartonașul de terminal plutește ușor */
@media (hover: hover) { .term { animation: bob 7s ease-in-out infinite; } }
@keyframes bob { 50% { translate: 0 -8px; } }
.sc-bar i:first-child { background: var(--n-600); }
.sc-dots button[aria-selected="true"] { background: #fff; }
.ticker-track span::before { background: var(--blue-2); opacity: .7; border-radius: 2px; transform: none; width: 5px; height: 5px; }
.ticker { background: transparent; mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.eyebrow { font-family: var(--font); font-size: 13px; color: var(--muted); background: rgba(255, 255, 255, .03); }
.kicker { color: var(--blue-l); }
.seg { position: relative; border-radius: 999px; background: rgba(255, 255, 255, .025); border-color: var(--line); }
.seg button { position: relative; z-index: 1; border-radius: 999px; font-weight: 600; transition: color .25s; }
.seg.has-ind button[aria-checked="true"] { background: none; box-shadow: none; }
.seg button[aria-checked="true"] small { color: var(--muted); }
.search { transition: border-color .25s, box-shadow .25s, background .25s; background: rgba(255, 255, 255, .03); }
.search:focus-within { border-color: rgba(var(--blue-rgb), .6); box-shadow: 0 0 0 4px rgba(var(--blue-rgb), .12); }
.search input { font-weight: 400; }
/* secțiunile de jos: mai aerisite, colțuri mai rotunde, mișcare la hover */
.std, .lic article, .about-card, .host-plan, .about-list li, .team-card { border-radius: 18px; transition: border-color .3s, transform .45s var(--ease), box-shadow .45s var(--ease); }
.std:hover, .lic article:hover, .about-list li:hover, .team-card:hover { border-color: var(--line-2); transform: translateY(-3px); box-shadow: var(--shadow-1); }
.steps { border-radius: 18px; }
.steps li { background: var(--card); transition: background .3s; }
.steps li:hover { background: var(--card-2); }
.faq details { transition: background .3s; }
.faq details[open] { background: linear-gradient(90deg, rgba(var(--blue-rgb), .06), transparent 70%); }
.faq summary::after { transition: transform .35s var(--spring); }
.cta-band { border-radius: 22px; background: linear-gradient(100deg, rgba(17, 26, 45, .97) 40%, rgba(17, 26, 45, .82) 70%, rgba(21, 73, 179, .5)), url(../img/og-scripts.webp) center / cover; }
.gal-main { border-radius: 18px; }
.gal-main img { transition: opacity .4s var(--ease); }
.gal-thumbs button { border-radius: 10px; transition: opacity .25s, border-color .25s, transform .25s var(--ease); }
.gal-thumbs button:hover { transform: translateY(-2px); }
.buy { border-radius: 20px; background: radial-gradient(ellipse at 100% 0%, rgba(var(--blue-rgb), .12), transparent 55%), var(--card); }
.tabs button { position: relative; transition: color .25s, border-color .25s; }
.feat-list li { border-radius: 14px; transition: border-color .3s, transform .4s var(--ease); }
.feat-list li:hover { border-color: var(--line-2); transform: translateY(-2px); }
.feat-list li::before { border-radius: 2px; }
.builder { background: var(--bg); }
.b-item { border-radius: 14px; animation: rise .35s var(--ease) both; }
.toast { border-radius: 999px; padding: 12px 20px; }
@media (max-width: 1280px) { .grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 980px) {
  .grid { grid-template-columns: 1fr 1fr; }
  .feature { grid-template-columns: minmax(0, 1fr); }
  .f-img { min-height: 0; aspect-ratio: 16 / 9; }
  .f-img::after { display: none; }
  .f-info { padding: 24px 22px 22px; }
  .l-head { display: none; }
  .lrow { grid-template-columns: 104px minmax(0, 1fr) auto; gap: 14px; }
  .lrow .th { width: 104px; }
  .lrow .l-c, .lrow .pr { display: none; }
}
@media (max-width: 640px) {
  .grid { grid-template-columns: 1fr; }
  .card.custom { grid-column: auto !important; }
  .f-info h3 { font-size: 24px; }
  .lrow { grid-template-columns: 84px minmax(0, 1fr); }
  .lrow .th { width: 84px; }
  .lrow .l-b { grid-column: 1 / -1; justify-content: stretch; }
  .lrow .l-b > * { flex: 1; justify-content: center; }
  .lrow .tag { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
}
@media (prefers-reduced-motion: reduce) {
  .rv, .hero h1.words .w { opacity: 1; transform: none; filter: none; }
  .orb { animation: none; }
}

/* css/account.css */
/*! © 2026 Loombytle (https://loombytle.online) — platforma Unlimit Scripts (magazin, conturi, licențe, plăți, forum, admin) a fost proiectată și dezvoltată de Loombytle. Toate drepturile rezervate. Mențiunea de autor nu se elimină și nu se ascunde; vezi LICENSE.txt. */
/* Unlimit Scripts — cont, licență și panoul de admin (folosește tokenii din site.css). */

/* ---------- NAV ---------- */
.acct { display: flex; align-items: center; gap: 8px; }
.login-btn { display: flex; align-items: center; gap: 8px; height: 38px; padding: 0 14px; border-radius: 999px; border: 1px solid rgba(88, 101, 242, .55); background: rgba(88, 101, 242, .16); font-weight: 650; font-size: 14px; }
.login-btn:hover { background: rgba(88, 101, 242, .3); }
.login-btn svg, .btn-discord svg { width: 18px; height: 18px; }
.me-btn { position: relative; display: block; border-radius: 50%; box-shadow: 0 0 0 2px var(--line-2); }
.me-btn:hover { box-shadow: 0 0 0 2px var(--blue-2); }
.av { border-radius: 50%; object-fit: cover; display: block; background: var(--card-2); flex: 0 0 auto; }
.av-t { display: grid; place-items: center; font-weight: 700; color: var(--blue-l); background: linear-gradient(135deg, #16244a, var(--card)); border: 1px solid var(--line-2); }
.dot-n { position: absolute; top: -4px; right: -6px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--no); color: #fff; font: 650 11px/18px var(--font); text-align: center; box-shadow: 0 0 0 2px var(--bg); }
.dot-n.inline { position: static; display: inline-block; vertical-align: 2px; margin-left: 4px; box-shadow: none; }
.admin-link { font-size: 12px; padding: 5px 9px; border-radius: 7px; border: 1px solid rgba(212, 162, 60, .4); color: var(--warn); }
.add.owned { color: var(--ok); border-color: rgba(63, 178, 127, .45); background: rgba(63, 178, 127, .1); display: inline-flex; align-items: center; position: relative; z-index: 3; }
.btn-discord { background: #5865f2; color: #fff; box-shadow: var(--shadow-2), inset 0 1px 0 rgba(255, 255, 255, .25); }
.btn-discord:hover { background: #6a75f5; }

/* ---------- PAGINA DE CONT ---------- */
.acc { max-width: 1400px; margin: 0 auto; padding: 36px clamp(16px, 4vw, 48px) 90px; animation: rise .35s both; }
.loading { color: var(--muted); padding: 80px 0; text-align: center; font-family: var(--mono); }
.muted { color: var(--muted); }
.small { font-size: 13px; }
.linkish { background: none; border: 0; padding: 0; color: var(--blue-2); font-weight: 700; font-size: 14px; }
.linkish:hover { color: var(--blue-l); }
.pill { display: inline-block; font: 700 11.5px/1 var(--mono); padding: 6px 9px; border-radius: 999px; border: 1px solid var(--line-2); color: var(--blue-l); white-space: nowrap; }
.pill.ok { color: var(--ok); border-color: rgba(63, 178, 127, .35); background: rgba(63, 178, 127, .08); }
.pill.warn { color: var(--warn); border-color: rgba(212, 162, 60, .35); background: rgba(212, 162, 60, .08); }
.pill.grad { color: #fff; border-color: rgba(168, 216, 255, .55); background: var(--blue); box-shadow: var(--shadow-1); }
.acc-head .pill.grad { margin: 8px 0 6px; }
.acc-grades { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 6px; }
.acc-grades .pill.grad { margin: 0; }
.pill.pass { color: #1a1204; border-color: rgba(255, 226, 150, .7); background: linear-gradient(180deg, #ffe6a3, #e7b24a); box-shadow: var(--shadow-1); text-decoration: none; }
.pill.pass .i { width: 12px; height: 12px; vertical-align: -1px; margin-right: 2px; }
.pill.no { color: var(--no); border-color: rgba(229, 83, 75, .35); background: rgba(229, 83, 75, .08); }
.t-ok { color: var(--ok); }
.t-no { color: var(--no); }

.acc-login { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(32px, 6vw, 90px); align-items: center; min-height: calc(80vh - var(--nav-h)); }
.acc-login h1 { font-size: clamp(38px, 4.6vw, 64px); font-weight: 700; margin: 6px 0 18px; text-wrap: balance; }
.acc-perks { list-style: none; padding: 0; margin: 28px 0 30px; display: grid; gap: 12px; }
.acc-perks li { padding: 14px 16px 14px 46px; border-radius: 12px; background: var(--card); border: 1px solid var(--line); position: relative; }
.acc-perks li::before { content: ""; position: absolute; left: 14px; top: 14px; width: 20px; height: 20px; border-radius: 6px; background: rgba(31, 107, 255, .2); }
.acc-perks li::after { position: absolute; left: 14px; top: 14px; width: 20px; height: 20px; content: ""; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 62% no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 62% no-repeat; background: var(--blue-2); }
.acc-perks b { display: block; }
.acc-perks span { color: var(--muted); font-size: 14.5px; }
.acc-warn { margin-top: 16px; color: var(--warn); font-size: 14px; }
.lic-demo { display: grid; gap: 16px; transform: perspective(1200px) rotateY(-8deg) rotateX(3deg); }
.lic-card { padding: 26px; border-radius: 20px; border: 1px solid var(--line-2); background: radial-gradient(ellipse at 100% 0%, rgba(31, 107, 255, .35), transparent 60%), linear-gradient(160deg, var(--card-2), var(--bg-2)); box-shadow: var(--shadow-2); }
.lic-top { display: flex; align-items: center; gap: 10px; font-size: 12px; letter-spacing: .14em; color: var(--blue-l); margin-bottom: 26px; }
.ok-dot { margin-left: auto; width: 10px; height: 10px; border-radius: 50%; background: var(--ok); }
.lic-key { font-size: clamp(16px, 2vw, 22px); letter-spacing: .06em; margin-bottom: 22px; background: var(--chrome); -webkit-background-clip: text; background-clip: text; color: transparent; }
.lic-meta { display: flex; justify-content: space-between; gap: 14px; padding: 10px 0; border-top: 1px solid var(--line); font-size: 14px; }
.lic-meta span { color: var(--dim); }
.lic-meta b { font-weight: 700; text-align: right; }

.acc-head { display: flex; align-items: center; gap: 18px; padding-bottom: 26px; margin-bottom: 26px; border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.acc-head .av { box-shadow: 0 0 0 3px var(--bg), 0 0 0 5px rgba(77, 141, 255, .45); }
.acc-head h1 { font-size: clamp(28px, 3.4vw, 40px); font-weight: 700; }
.acc-head .kicker { margin-bottom: 4px; }
.acc-actions { margin-left: auto; display: flex; gap: 8px; flex-wrap: wrap; }
.acc-grid { display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 28px; align-items: start; }
.acc-main { display: grid; gap: 40px; min-width: 0; }
.acc-sec-h { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 16px; }
.acc-sec-h h2 { font-size: 26px; font-weight: 700; }
.acc-side { display: grid; gap: 16px; position: sticky; top: calc(var(--nav-h) + 20px); }
.pay-banner { display: flex; align-items: center; gap: 6px 16px; flex-wrap: wrap; padding: 16px 18px; border-radius: 14px; border: 1px solid rgba(212, 162, 60, .35); background: linear-gradient(90deg, rgba(212, 162, 60, .1), transparent); }
.pay-banner b { color: #ffdca3; }
.pay-banner span { color: var(--muted); flex: 1; min-width: 200px; }
.own-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.own { border-radius: var(--r); overflow: hidden; border: 1px solid var(--line); background: var(--card); display: flex; flex-direction: column; }
.own-img { aspect-ratio: 16 / 7; overflow: hidden; background: var(--bg-2); }
.own-img img { width: 100%; height: 100%; object-fit: cover; }
.own-body { padding: 16px 18px 18px; display: grid; gap: 8px; }
.own-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.own-row h3 { font-size: 20px; font-weight: 650; }
.own-meta { font-size: 12px; color: var(--dim); }
.own-cl summary { cursor: pointer; color: var(--blue-2); font-weight: 700; font-size: 14px; }
.own-cl p { color: var(--muted); font-size: 14px; margin-top: 6px; white-space: pre-line; }
.own-btns { display: flex; gap: 8px; margin-top: 6px; flex-wrap: wrap; }
.acc-empty { padding: 36px; border-radius: var(--r); border: 1px dashed var(--line-2); text-align: center; display: grid; gap: 8px; justify-items: center; background: var(--card); }
.acc-empty.big { max-width: 560px; margin: 60px auto; }
.acc-empty .btn { margin-top: 10px; }
.ords { border-top: 1px solid var(--line); }
.ord { display: grid; grid-template-columns: 70px minmax(0, 1fr) auto; gap: 16px; padding: 16px 4px; border-bottom: 1px solid var(--line); align-items: start; }
.ord-id { color: var(--blue-2); font-size: 15px; padding-top: 2px; }
.ord-main > b { display: block; }
.ord-main span { color: var(--dim); font-size: 13px; }
.ord-pay { margin-top: 8px; color: #ffdca3; font-size: 14px; }
.ord-r { display: grid; justify-items: end; gap: 8px; }
.ord-r .price { font-size: 20px; }

.side-card { padding: 20px; border-radius: var(--r); border: 1px solid var(--line-2); background: var(--card); display: grid; gap: 12px; }
.side-card h3 { font-size: 18px; font-weight: 650; }
.side-h { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.lic-side { background: radial-gradient(ellipse at 100% 0%, rgba(31, 107, 255, .2), transparent 60%), var(--card); }
.lic-side.revoked { border-color: rgba(229, 83, 75, .4); }
.lic-side .codebox { margin: 0; }
.key-row { display: flex; align-items: center; gap: 6px; }
.key-row code { flex: 1; min-width: 0; font-size: 13.5px; padding: 10px 12px; border-radius: 10px; background: var(--bg-2); border: 1px solid var(--line); color: var(--blue-l); overflow-x: auto; white-space: nowrap; }
.side-btns { display: flex; gap: 8px; flex-wrap: wrap; }
.btn[disabled] { opacity: .45; cursor: not-allowed; }
.checks { border-top: 1px solid var(--line); padding-top: 10px; display: grid; gap: 6px; }
.chk { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto; gap: 4px 10px; align-items: center; font-size: 13px; }
.chk i, .chk-row i.st { width: 8px; height: 8px; border-radius: 50%; background: var(--no); }
.chk i.ok, .chk-row i.st.ok { background: var(--ok); }
.chk time { grid-column: 2 / -1; color: var(--dim); font-size: 12px; }

/* ---------- ADMIN ---------- */
.kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.kpi { padding: 18px 20px; border-radius: var(--r); border: 1px solid var(--line); background: var(--card); display: grid; gap: 6px; }
.kpi span { color: var(--dim); font-size: 13px; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.kpi b { font-size: 34px; font-weight: 700; letter-spacing: -.02em; }
.kpi.hot { border-color: rgba(212, 162, 60, .45); background: linear-gradient(135deg, rgba(212, 162, 60, .12), var(--card) 60%); }
.kpi.hot b { color: var(--warn); }
.tab-n { font-size: 11px; padding: 2px 6px; border-radius: 999px; background: rgba(77, 141, 255, .15); color: var(--blue-l); margin-left: 4px; }
.adm-body { padding-top: 22px; }
.adm-list { border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; background: var(--card); }
.adm-row { display: grid; grid-template-columns: 70px minmax(0, 1.6fr) 1fr auto auto; gap: 14px; align-items: center; padding: 14px 16px; border-bottom: 1px solid var(--line); width: 100%; text-align: left; }
.adm-list > .adm-row:last-child, .adm-list > .adm-client:last-child > .adm-row { border-bottom: 0; }
.adm-row b { display: block; }
.adm-row .price { font-size: 18px; }
.adm-btns { display: flex; gap: 6px; justify-content: flex-end; }
.adm-row.as-btn { background: none; border: 0; border-bottom: 1px solid var(--line); grid-template-columns: 40px minmax(0, 1.4fr) 1fr auto 130px; cursor: pointer; font: inherit; color: inherit; }
.adm-row.as-btn:hover { background: rgba(77, 141, 255, .05); }
.adm-client.open > .adm-row { background: rgba(31, 107, 255, .08); }
.adm-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding: 18px 16px 22px 70px; border-bottom: 1px solid var(--line); background: rgba(11, 19, 34, .4); }
.adm-detail code { display: block; font-size: 13px; color: var(--blue-l); margin: 6px 0 10px; word-break: break-all; }
.chips-own { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 12px; }
.own-chip { display: inline-flex; align-items: center; gap: 6px; padding: 5px 6px 5px 11px; border-radius: 999px; background: var(--card-2); border: 1px solid var(--line-2); font-size: 13.5px; }
.own-chip button { border: 0; background: rgba(229, 83, 75, .15); color: var(--no); width: 20px; height: 20px; border-radius: 50%; line-height: 1; }
.grant { display: flex; gap: 8px; }
.grant select, .up-form select, .up-form input, .up-form textarea { flex: 1; min-width: 0; height: 40px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--line-2); background: var(--bg-2); color: var(--text); font: 600 14px var(--font); }
.up-form textarea { height: auto; padding: 10px 12px; resize: vertical; }
.adm-search { margin-bottom: 14px; max-width: 460px; }
.adm-split { display: grid; grid-template-columns: 380px minmax(0, 1fr); gap: 20px; align-items: start; }
.adm-stack { display: grid; gap: 20px; align-content: start; min-width: 0; }
.up-form { position: sticky; top: calc(var(--nav-h) + 20px); }
.up-form label { display: grid; gap: 6px; font-size: 13px; font-weight: 700; color: var(--muted); }
.up-form label.file { position: relative; }
.up-form label.file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; height: 100%; }
.up-form label.file span { padding: 18px; border-radius: 12px; border: 1px dashed var(--line-2); text-align: center; color: var(--blue-l); background: rgba(31, 107, 255, .05); }
.up-status { color: var(--blue-l); min-height: 1em; }
.pad { padding: 24px; }
.chk-row { grid-template-columns: 20px minmax(0, 1.4fr) 1fr auto auto; }
.adm-row.prod-row { grid-template-columns: 64px minmax(0, 1.6fr) 1fr auto 80px; }
.prod-row .pill { margin-left: 2px; vertical-align: 2px; }
.prod-row .linkish { text-align: right; }
.prod-th { width: 64px; height: 40px; border-radius: 8px; object-fit: cover; border: 1px solid var(--line-2); }
.up-form.prod-form { position: static; padding-left: 96px; }
.prod-col { display: grid; gap: 12px; align-content: start; }

@media (max-width: 1180px) {
  .acc-grid { grid-template-columns: minmax(0, 1fr) 340px; }
  .kpis { grid-template-columns: 1fr 1fr; }
  .adm-split { grid-template-columns: minmax(0, 1fr); }
  .up-form { position: static; }
}
@media (max-width: 980px) {
  .acc-login, .acc-grid { grid-template-columns: minmax(0, 1fr); }
  .lic-demo { transform: none; }
  .acc-side { position: static; }
  .adm-row, .adm-row.as-btn, .adm-row.prod-row, .chk-row { grid-template-columns: auto minmax(0, 1fr); }
  .adm-row > .adm-btns { grid-column: 1 / -1; justify-content: flex-start; flex-wrap: wrap; }
  .adm-row > :nth-child(n+3):not(.adm-btns):not(:last-child) { display: none; }
  /* client: IP-ul / «nelegată» sub nume; sub avatar lărgea coloana și împingea numele afară din card */
  .adm-row.as-btn:not(.prod-row):not(.doc-row) > :last-child { grid-column: 2; overflow-wrap: anywhere; }
  .adm-row.as-btn:not(.prod-row):not(.doc-row) b { overflow-wrap: anywhere; }
  .adm-detail, .up-form.prod-form { grid-template-columns: 1fr; padding-left: 16px; }
  .prod-th { display: none; }
}
@media (max-width: 640px) {
  .kpi b { font-size: 26px; }
  .ord { grid-template-columns: minmax(0, 1fr); }
  .ord-r { justify-items: start; grid-auto-flow: column; align-items: center; }
  .login-btn span { display: none; }
  .login-btn { padding: 0 11px; }
  .acc-actions { margin-left: 0; }
}
.prod-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.adm-new { margin-bottom: 16px; border-color: var(--blue-2); }
.adm-row.new-h { grid-template-columns: auto 1fr; background: rgba(31, 107, 255, .08); }
.fw-pick { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px 16px; }
.fw-pick legend { font-size: 13px; font-weight: 700; color: var(--muted); margin-bottom: 6px; padding: 0; width: 100%; }
.fw-pick label.chk { display: flex; align-items: center; gap: 7px; font-weight: 700; color: var(--text); }
.fw-pick input { width: 16px; height: 16px; accent-color: var(--blue); }
.prod-img { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 14px; align-items: center; }
.prod-img > div:last-child { display: grid; gap: 6px; justify-items: start; }
.prod-prev { aspect-ratio: 16 / 9; border-radius: 10px; border: 1px dashed var(--line-2); display: grid; place-items: center; overflow: hidden; background: var(--bg-2); }
.prod-prev img { width: 100%; height: 100%; object-fit: cover; }
.prod-file { position: relative; overflow: hidden; cursor: pointer; }
.prod-file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }

/* Admin → Clienți: panoul unui client (012_admin_clienti.sql) */
.adm-detail.cl-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; padding: 16px; align-items: stretch; }
.cl-card { min-width: 0; display: flex; flex-direction: column; gap: 10px; padding: 16px; border-radius: 14px; border: 1px solid var(--line); background: var(--card); }
.cl-card h4 { margin: 0; font-size: 15px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.cl-card .side-btns { margin-top: auto; }
.cl-wide { grid-column: span 2; }

/* Grad: bara cu gradele (un clic = gradul dat) + Admin → Grade */
.rank-bar { display: flex; flex-wrap: wrap; gap: 6px; }
.rank-chip { padding: 7px 12px; border-radius: 999px; border: 1px solid var(--line-2); background: var(--card-2); color: var(--text); font: 700 13px/1.1 inherit; cursor: pointer; }
.rank-chip:hover { border-color: var(--blue-2); }
.rank-chip.on { color: #fff; border-color: rgba(168, 216, 255, .55); background: var(--blue); }
.rank-chip:disabled { opacity: .6; cursor: progress; }
.rank-free summary { cursor: pointer; color: var(--dim); }
.rank-free[open] summary { margin-bottom: 8px; }
.rank-help { margin: 0 0 12px; }
.rank-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 1100px) { .rank-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .rank-grid { grid-template-columns: minmax(0, 1fr); } }
.rank-card { display: flex; flex-direction: column; gap: 12px; padding: 16px; border-radius: 14px; border: 1px solid var(--line); background: var(--card); min-width: 0; }
.rank-card.rank-new { border-style: dashed; }
.rank-head { display: flex; align-items: center; gap: 10px; }
.rank-head input { flex: 1; min-width: 0; font-weight: 650; }
.rank-perms { display: grid; gap: 7px; }
.rank-perms label.chk { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--text); }
.rank-card .side-btns { margin-top: auto; }
.cl-grid > .adm-note { grid-column: 1 / -1; }
.adm-note { margin: 0; padding: 10px 14px; border-radius: 10px; border: 1px solid rgba(212, 162, 60, .35); background: rgba(212, 162, 60, .08); color: var(--warn); font-size: 13.5px; }
.cl-id { display: flex; gap: 12px; align-items: center; }
.cl-id b { display: block; font-size: 17px; }
.cl-dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 12px; margin: 0; font-size: 13.5px; }
.cl-dl dt { color: var(--dim); }
.cl-dl dd { margin: 0; overflow-wrap: anywhere; }
.cl-discord .btn { margin-top: auto; }
.cl-form { display: grid; gap: 8px; }
.cl-form label, .cl-sanc label { display: grid; gap: 6px; font-size: 13px; font-weight: 700; color: var(--muted); }
.cl-form .two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 8px; }
.cl-form input, .cl-sanc textarea, .cl-sanc select { min-width: 0; height: 40px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--line-2); background: var(--bg-2); color: var(--text); font: 600 14px var(--font); color-scheme: dark; }
.cl-sanc textarea { height: auto; padding: 10px 12px; resize: vertical; }
.cl-form .btn { justify-self: start; }
.cl-big { font-size: 30px; font-weight: 700; letter-spacing: -.02em; line-height: 1.1; }
.cl-sanc { display: grid; gap: 10px; }
.cl-sanc-btns { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.cl-sanc-btns select { height: 34px; width: auto; }
.cl-sanc-btns .btn-danger { margin-left: auto; }
.cl-warns, .cl-log { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.cl-warns li, .cl-log li { display: grid; gap: 2px; padding: 8px 10px; border-radius: 10px; background: var(--card-2); }
.cl-log li { grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: 8px; }
.cl-log li > .muted { grid-column: 1 / -1; }
.adm-row.log-row { grid-template-columns: 150px minmax(0, 1.6fr) auto auto; }
.adm-row.log-row .pill { justify-self: start; }
@media (max-width: 1180px) {
  .adm-detail.cl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cl-grid > .cl-card:last-child { grid-column: span 2; }
}
@media (max-width: 760px) {
  .adm-detail.cl-grid { grid-template-columns: minmax(0, 1fr); padding: 12px; }
  .cl-wide, .cl-grid > .cl-card:last-child { grid-column: auto; }
  .adm-row.log-row { grid-template-columns: auto minmax(0, 1fr); }
  .adm-row.log-row > :nth-child(n+3) { display: none; }
  .cl-sanc-btns .btn-danger { margin-left: 0; }
}

/* Mentenanță: vizitatorii văd doar pagina asta; adminii văd banda de jos */
html.in-maint, html.in-maint body { overflow: hidden; }
#maint { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; padding: 24px 16px; overflow: auto;
  background: radial-gradient(ellipse 70% 50% at 50% 28%, rgba(31, 107, 255, .28), transparent 70%), var(--bg); }
.mt-box { max-width: 540px; display: grid; justify-items: center; gap: 14px; text-align: center; }
.mt-box img { }
.mt-box h1 { margin: 0; font-size: clamp(36px, 7vw, 58px); letter-spacing: -.02em; line-height: 1; }
.mt-box p.muted { margin: 0; font-size: 16.5px; line-height: 1.6; white-space: pre-line; }
.mt-btns { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 6px; }
.mt-btns svg { width: 18px; height: 18px; vertical-align: -3px; margin-right: 6px; }
#maintStrip { position: fixed; left: 16px; bottom: 16px; z-index: 9000; display: flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 999px;
  border: 1px solid rgba(212, 162, 60, .45); background: rgba(20, 14, 2, .85); color: var(--warn); font: 700 13px var(--font); text-decoration: none; backdrop-filter: blur(8px); }
#maintStrip i { width: 8px; height: 8px; border-radius: 50%; background: var(--warn); }

/* Admin → Promoții: reduceri și coduri */
.promo-row { display: grid; grid-template-columns: 190px minmax(0, 1fr) 200px auto; gap: 18px; align-items: center; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.adm-list > .promo-row:last-child { border-bottom: 0; }
.promo-code { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; }
.promo-code code { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 7px 11px; border-radius: 8px; border: 1px dashed rgba(168, 216, 255, .45); background: rgba(31, 107, 255, .08); color: var(--blue-l); font: 650 14px var(--mono); letter-spacing: .06em; }
.promo-big { font-size: 22px; font-weight: 700; letter-spacing: -.01em; line-height: 1; }
.promo-main { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; min-width: 0; }
.promo-main.col { display: grid; gap: 3px; }
.promo-tags { display: flex; gap: 6px; flex-wrap: wrap; }
.promo-tag { padding: 4px 8px; border-radius: 6px; border: 1px solid var(--line-2); background: var(--card-2); color: var(--muted); font: 700 11.5px var(--font); white-space: nowrap; }
.promo-tag.blue { color: var(--blue-l); border-color: rgba(77, 141, 255, .4); background: rgba(31, 107, 255, .1); }
.promo-meta { display: grid; gap: 4px; font-size: 13.5px; }
.promo-bar { display: block; height: 4px; border-radius: 4px; background: var(--card-2); overflow: hidden; }
.promo-bar i { display: block; height: 100%; background: var(--blue-2); }
.promo-act { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
@media (max-width: 760px) {
  .promo-row { grid-template-columns: minmax(0, 1fr) auto; gap: 10px 14px; }
  .promo-main, .promo-meta { grid-column: 1 / -1; }
  .promo-act { grid-column: 1 / -1; justify-content: flex-start; }
}
.lic-ip { display: grid; gap: 8px; margin-top: 14px; }
.lic-ip label { font-size: 13px; font-weight: 700; color: var(--muted); }
.lic-ip-row { display: flex; gap: 8px; }
.lic-ip-row input { flex: 1; min-width: 0; height: 38px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--line-2); background: var(--bg-2); color: var(--text); font: 600 14px var(--mono); }
.lic-ip-row input:focus { outline: none; border-color: var(--blue-2); }
.lic-ip p { margin: 0; }

/* Admin → Produse: «Actualizează» lângă fiecare resursă */
.prod-line { display: flex; align-items: center; gap: 10px; padding-right: 14px; }
.prod-line .prod-row { flex: 1; min-width: 0; }
.prod-upd { flex: none; }
.up-form.upd-form { position: static; padding-left: 96px; }
.upd-form .upd-page:not([hidden]) { display: contents; }
.upd-form .upd-btns { grid-column: 1 / -1; }
@media (max-width: 760px) { .up-form.upd-form { grid-template-columns: 1fr; padding-left: 16px; } .prod-line { flex-wrap: wrap; padding: 0 14px 12px; } }
.prod-line .adm-row.prod-row { grid-template-columns: 64px minmax(0, 1.6fr) minmax(0, 1fr) auto auto; overflow: hidden; }
.prod-line .prod-row > .linkish { white-space: nowrap; padding-left: 8px; }
@media (max-width: 1100px) { .prod-line .adm-row.prod-row { grid-template-columns: 64px minmax(0, 1fr) auto auto; } .prod-line .prod-row > span.muted { display: none; } }
@media (max-width: 760px) { .prod-line .adm-row.prod-row { grid-template-columns: minmax(0, 1fr) auto; } }

/* Telefon: rândul produsului pe toată lățimea, «Actualizează» dedesubt; tab-urile din admin pe două rânduri, fără scroll */
@media (max-width: 760px) {
  .prod-line { padding: 0 0 12px; }
  .prod-line .prod-row { flex: 1 1 100%; }
  .prod-line .adm-row.prod-row { overflow: visible; border-bottom: 0; padding-bottom: 10px; }
  .adm-list > .adm-client:has(> .prod-line) { border-bottom: 1px solid var(--line); }
  .adm-list > .adm-client:has(> .prod-line):last-child { border-bottom: 0; }
  .prod-line .prod-row b { overflow-wrap: anywhere; }
  .prod-line .prod-row b .pill { margin-top: 6px; }
  .prod-upd { margin-left: 16px; }
}

/* Notificări: iconiță colorată pe tip, timp relativ, „Noi” / „Mai vechi” */
.notes { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.notes-g { margin: 6px 0 2px; color: var(--dim); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.notes .note { --k: var(--blue-2); position: relative; display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 12px; padding: 11px 12px; border-radius: 14px;
  border: 1px solid transparent; transition: background .2s, border-color .2s; }
.notes .note:hover { background: rgba(255, 255, 255, .025); border-color: var(--line); }
.notes .note.unread { background: linear-gradient(90deg, color-mix(in srgb, var(--k) 12%, transparent), transparent 85%); border-color: color-mix(in srgb, var(--k) 22%, transparent); }
.notes .note.unread::before { content: ""; position: absolute; left: -1px; top: 14px; bottom: 14px; width: 3px; border-radius: 3px; background: var(--k); }
.notes .note-ic, .notes-empty .note-ic { width: 36px; height: 36px; border-radius: 11px; display: grid; place-items: center; color: var(--k, var(--muted));
  background: color-mix(in srgb, var(--k, #8aa0c8) 14%, transparent); border: 1px solid color-mix(in srgb, var(--k, #8aa0c8) 30%, transparent); }
.notes .note-ic svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.notes .note:not(.unread) .note-ic { filter: saturate(.55); opacity: .8; }
.notes .note-h { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.notes .note-h b { font-size: 14px; line-height: 1.35; }
.notes .note-h time { flex: none; color: var(--dim); font-size: 11.5px; white-space: nowrap; }
.notes .note-b > span { display: block; margin-top: 3px; color: var(--muted); font-size: 13px; line-height: 1.5; white-space: pre-line; }
.notes .note-b .linkish { margin-top: 6px; }
.notes .note.k-update { --k: var(--warn); } .notes .note.k-grant { --k: var(--ok); } .notes .note.k-pass { --k: #f5c451; } .notes .note.k-gift { --k: #f472b6; }
.notes .note.k-review { --k: var(--warn); } .notes .note.k-warn { --k: var(--no); } .notes .note.k-admin { --k: var(--warn); } .notes .note.k-license { --k: #7dd3fc; } .notes .note.k-promo { --k: #fb923c; }
.notes-more { width: 100%; margin-top: 8px; padding: 9px; border-radius: 10px; border: 1px dashed var(--line-2); background: none; color: var(--muted); font: 700 13px var(--font); cursor: pointer; }
.notes-more:hover { color: var(--text); border-color: var(--blue-2); }
.notes-empty { display: flex; gap: 12px; align-items: center; }
.notes-empty p { margin: 0; font-size: 13.5px; }

/* Ecranul de după plată */
.done-box { width: min(470px, 100%); gap: 8px; background: radial-gradient(ellipse at 50% 0%, color-mix(in srgb, var(--ok) 20%, transparent), transparent 60%), radial-gradient(ellipse at 50% 100%, rgba(31, 107, 255, .16), transparent 60%), var(--card); }
.done-ic { width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; color: var(--ok); margin-bottom: 6px;
  background: color-mix(in srgb, var(--ok) 12%, transparent); border: 1px solid color-mix(in srgb, var(--ok) 45%, transparent); box-shadow: 0 0 0 8px color-mix(in srgb, var(--ok) 6%, transparent), 0 0 40px color-mix(in srgb, var(--ok) 30%, transparent); animation: done-pop .5s cubic-bezier(.2, 1.4, .4, 1) both; }
.done-ic svg { width: 32px; height: 32px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 24; stroke-dashoffset: 24; animation: done-draw .45s .25s ease-out forwards; }
@keyframes done-pop { from { transform: scale(.4); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes done-draw { to { stroke-dashoffset: 0; } }
.done-box .kicker { color: var(--ok); margin: 0; }
.done-box p { max-width: 380px; }
.done-items { list-style: none; margin: 6px 0 0; padding: 0; width: 100%; display: grid; gap: 6px; max-height: 210px; overflow: auto; }
.done-items li { display: flex; align-items: center; gap: 12px; padding: 8px; border-radius: 12px; background: rgba(255, 255, 255, .03); border: 1px solid var(--line); text-align: left; }
.done-items img { width: 64px; height: 38px; object-fit: cover; border-radius: 7px; }
.done-items b { font-size: 14px; }
.done-sum { width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 10px 4px 2px; border-top: 1px solid var(--line); color: var(--muted); font-size: 14px; }
.done-btns { display: flex; gap: 10px; width: 100%; margin-top: 10px; }
.done-btns .btn { flex: 1; justify-content: center; gap: 8px; }
.done-btns svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 480px) { .done-btns { flex-direction: column; } }
.notes-card .notes > .note { margin: 0; }
.notes-card .note-h b { color: var(--text); }
.notes-card .notes-g { margin: 2px 0 8px; }
.notes-card .notes + .notes-g { margin-top: 14px; }
.done-items li > div { display: grid; gap: 2px; }
.done-items small { color: var(--warn); font-size: 12px; }

/* Unlimit Pass activ (contul meu) */
.pass-live { background: radial-gradient(ellipse at 100% 0%, rgba(245, 196, 81, .16), transparent 55%), radial-gradient(ellipse at 0% 100%, rgba(31, 107, 255, .14), transparent 60%), var(--card);
  border-color: rgba(245, 196, 81, .28); }
.pass-live .side-h h3 { display: flex; align-items: center; gap: 8px; }
.pass-star { width: 26px; height: 26px; border-radius: 8px; display: grid; place-items: center; color: #f5c451; background: rgba(245, 196, 81, .14); border: 1px solid rgba(245, 196, 81, .35); }
.pass-star .i { width: 15px; height: 15px; }
.pass-period { margin-top: 4px; }
.pp-top, .pp-dates { display: flex; justify-content: space-between; gap: 10px; font-size: 12.5px; color: var(--muted); }
.pp-top b { color: var(--text); font-size: 13px; }
.pp-bar { height: 8px; margin: 8px 0 6px; border-radius: 999px; background: rgba(255, 255, 255, .06); overflow: hidden; }
.pp-bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #f5c451, #ffd98a); }
.pp-dates { font-size: 11.5px; color: var(--dim); }
.pass-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 14px 0 4px; }
.pass-stats > div { padding: 10px 12px; border-radius: 12px; background: rgba(255, 255, 255, .03); border: 1px solid var(--line); display: grid; gap: 2px; }
.pass-stats b { font-size: 19px; font-weight: 700; }
.pass-stats span { font-size: 12px; color: var(--muted); }
.pass-incl { list-style: none; margin: 10px 0 12px; padding: 0; display: grid; gap: 6px; font-size: 13px; color: var(--muted); }
.pass-incl li { display: flex; gap: 8px; align-items: flex-start; }
.pass-incl .i { color: var(--ok); margin-top: 2px; }
.pass-help { margin: 12px 0 0; padding-top: 12px; border-top: 1px solid var(--line); font-size: 12.5px; color: var(--muted); }
.pass-help a { display: inline-block; margin-top: 4px; color: var(--blue-2); font-weight: 700; }

/* ---------- Admin → Documentație ---------- */
.adm-row.doc-row { grid-template-columns: minmax(0, 1.6fr) 1fr auto 70px; }
.adm-row.doc-row .mono { display: block; margin-top: 2px; }
.doc-pills { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.doc-ed { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.doc-ed .up-form { position: static; }
.de-form { display: grid; gap: 12px; }
.de-blocks { display: grid; gap: 10px; }
.de-block { display: grid; gap: 8px; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--line-2); background: var(--card); }
.de-block .muted.small { margin: 0; }
.de-bar { display: flex; align-items: center; gap: 12px; }
.de-bar .mono { color: var(--blue-l); text-transform: uppercase; letter-spacing: .06em; }
.de-bar .spacer, .de-save .spacer { flex: 1; }
.de-bar .linkish:disabled { opacity: .35; cursor: default; }
.de-block[data-k="code"] textarea { font: 13px/1.6 var(--mono); color: var(--blue-l); }
.de-add { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 12px 14px; border-radius: 12px; border: 1px dashed var(--line-2); }
.de-add .btn.sm { height: 32px; padding: 0 10px; font-size: 13px; }
.de-save { display: flex; align-items: center; gap: 8px; position: sticky; bottom: 0; padding: 12px 0; background: var(--bg); border-top: 1px solid var(--line); }
.de-prev { position: sticky; top: calc(var(--nav-h) + 20px); max-height: calc(100vh - var(--nav-h) - 40px); overflow: auto; }
.de-page { padding: 22px 24px; border-radius: var(--r); border: 1px solid var(--line); background: rgba(11, 19, 34, .4); }
.de-page .d-head { padding-bottom: 18px; margin-bottom: 22px; border-bottom: 1px solid var(--line); }
.de-page .d-head h1 { font-size: 28px; }
@media (max-width: 1100px) {
  .doc-ed { grid-template-columns: 1fr; }
  .de-prev { position: static; max-height: none; }
  .adm-row.doc-row { grid-template-columns: minmax(0, 1fr) auto; }
  .adm-row.doc-row > span.muted { display: none; }
  .adm-row.doc-row .linkish { display: none; }
}

/* ---------- Admin → Produse: galeria de poze ---------- */
.pgal { display: grid; gap: 8px; }
.pgal-h { font-size: 13px; font-weight: 700; color: var(--muted); }
.pgal-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.pgal-item { position: relative; border-radius: 10px; overflow: hidden; border: 1px solid var(--line-2); background: var(--bg-2); display: grid; }
.pgal-item.main { border-color: var(--blue-2); box-shadow: 0 0 0 1px var(--blue-2); }
.pgal-item img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.pgal-tags { position: absolute; top: 6px; left: 6px; display: flex; gap: 4px; }
.pgal-tags .pill { font-size: 10.5px; padding: 4px 7px; background: rgba(11, 19, 34, .8); }
.pgal-tags .pill.grad { background: var(--blue); }
.pgal-acts { display: flex; justify-content: space-between; gap: 8px; padding: 7px 9px; font-size: 12.5px; }
.pgal-acts .t-no { margin-left: auto; }
.pgal-add { position: relative; display: grid; place-items: center; min-height: 90px; border-radius: 10px; border: 1px dashed var(--line-2); background: rgba(31, 107, 255, .05); color: var(--blue-l); font-weight: 700; font-size: 13.5px; cursor: pointer; }
.pgal-add:hover { border-color: var(--blue-2); }
.pgal-add input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }

/* ---------- meniul contului (clic pe avatar) ---------- */
.me-wrap { position: relative; }
.me-btn { padding: 0; border: 0; background: none; cursor: pointer; }
.me-menu { position: absolute; top: calc(100% + 10px); right: 0; z-index: 60; width: 248px; padding: 6px; border-radius: 14px;
  border: 1px solid var(--line-2); background: var(--card); box-shadow: 0 18px 50px -12px rgba(0, 0, 0, .7), 0 0 0 1px rgba(77, 141, 255, .06);
  animation: rise .14s both; }
.me-menu[hidden] { display: none; }
.me-head { display: flex; align-items: center; gap: 10px; padding: 10px 10px 12px; margin-bottom: 4px; border-bottom: 1px solid var(--line); }
.me-head b { display: block; font-size: 15px; margin-bottom: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 160px; }
.me-head .pill { font-size: 10.5px; padding: 4px 8px; }
.me-menu > a, .me-menu > button { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px; border: 0; border-radius: 9px; background: none;
  color: var(--text); font: 600 14px var(--font); text-align: left; cursor: pointer; }
.me-menu > a:hover, .me-menu > button:hover, .me-menu > a:focus-visible, .me-menu > button:focus-visible { background: rgba(77, 141, 255, .1); outline: none; }
.me-menu > a svg, .me-menu > button svg { width: 18px; height: 18px; flex: none; fill: none; stroke: var(--blue-l); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.me-menu .dot-n.inline { margin-left: auto; }
.me-menu hr { border: 0; border-top: 1px solid var(--line); margin: 4px 6px; }
.me-menu .danger { color: var(--no); }
.me-menu > .danger svg { stroke: var(--no); }

/* ---------- Setări (/cont/setari) ---------- */
.set-head h1 { margin: 6px 0 4px; }
.set-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.set-grid .side-card { align-content: start; }
.set-prof { display: flex; align-items: center; gap: 14px; }
.set-prof b { display: block; font-size: 18px; margin-bottom: 6px; }
.set-key { display: block; padding: 12px 14px; border-radius: 10px; border: 1px solid var(--line-2); background: var(--bg-2); color: var(--blue-l); font-size: 14px; letter-spacing: .02em; overflow-x: auto; }
.set-btns { display: flex; flex-wrap: wrap; gap: 8px; }
.set-fw { display: flex; width: 100%; }
.set-fw button { flex: 1; }
.set-grid .btn svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; margin-right: 6px; }
.set-grid .side-card > .btn { justify-self: start; }
@media (max-width: 860px) { .set-grid { grid-template-columns: 1fr; } }

/* clopoțelul de alerte */
.bell-btn { position: relative; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--line-2); background: var(--card); cursor: pointer; }
.bell-btn:hover, .bell-btn[aria-expanded="true"] { border-color: var(--blue-2); }
.bell-btn svg { width: 19px; height: 19px; fill: none; stroke: var(--blue-l); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.bell-menu { width: 360px; max-width: calc(100vw - 24px); padding: 0; overflow: hidden; }
.bell-h { display: flex; align-items: center; gap: 8px; padding: 14px 16px 12px; border-bottom: 1px solid var(--line); font-size: 16px; }
.bell-empty { padding: 14px 16px 6px; margin: 0; }
.bell-menu .notes { max-height: min(420px, 60vh); overflow-y: auto; padding: 8px; }
.bell-f { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; padding: 11px 16px; border-top: 1px solid var(--line); font-size: 13px; color: var(--dim); }
.bell-f a, .bell-f button { padding: 0; border: 0; background: none; color: var(--blue-2); font: 700 13px var(--font); cursor: pointer; }
.bell-f a:hover, .bell-f button:hover { color: var(--blue-l); }
/* pe telefon meniurile se lipesc de marginea ecranului (altfel cel de cont ieșea în stânga), sub rândul cu butoane */
@media (max-width: 640px) {
  .me-menu { position: fixed; top: calc(var(--bar-h) + 4px); right: 12px; max-width: calc(100vw - 24px); }
  .bell-menu { left: 12px; width: auto; }
}

/* ---------- Unlimit Resource Manager (descărcare aplicație, doar pentru cine deține resurse) ---------- */
.rm-promo { position: relative; isolation: isolate; display: grid; gap: 16px; margin-bottom: 22px; padding: 24px; border-radius: 18px;
  background: radial-gradient(120% 120% at 0% 0%, rgba(var(--blue-rgb), .14), transparent 55%), var(--card); }
.rm-promo > * { position: relative; z-index: 1; }
.rm-head { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.rm-promo-logo { width: 48px; height: 48px; flex: none; object-fit: contain; transition: transform .6s var(--ease); }
.rm-promo:hover .rm-promo-logo { transform: rotate(-6deg) scale(1.05); }
.rm-title { display: grid; gap: 3px; min-width: 0; flex: 1; }
.rm-title h3 { margin: 0; font-size: 19px; font-weight: 650; letter-spacing: -.015em; }
.rm-promo-meta { display: inline-flex; align-items: center; gap: 6px; color: var(--dim); font-size: 12.5px; }
.rm-promo-meta svg { width: 13px; height: 13px; fill: var(--dim); flex: none; }
.rm-lead { margin: 0; color: var(--muted); font-size: 15px; max-width: 640px; }
.rm-promo-feats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 20px; font-size: 14px; color: var(--n-100); }
.rm-promo-feats li { display: flex; align-items: flex-start; gap: 8px; }
.rm-promo-feats svg { width: 16px; height: 16px; flex: none; margin-top: 2px; fill: none; stroke: var(--ok); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.rm-foot { display: flex; gap: 10px; flex-wrap: wrap; padding-top: 16px; border-top: 1px solid var(--line); }
.rm-foot .btn .i { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 560px) {
  .rm-promo { padding: 20px; }
  .rm-promo-feats { grid-template-columns: 1fr; }
  .rm-foot .btn { flex: 1 1 100%; }
}

/* aviz: botul nu poate trimite clientului notificările în privat (nu e pe serverul de Discord / DM-uri închise) */
.dm-hint { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 12px;
  border: 1px solid rgba(251, 191, 36, .35); background: rgba(251, 191, 36, .07); }
.dm-hint > svg { width: 20px; height: 20px; fill: none; stroke: var(--warn); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.dm-hint b { display: block; font-size: 14px; }
.dm-hint span { display: block; color: var(--muted); font-size: 13px; margin-top: 2px; }
.notes-card .dm-hint { margin-bottom: 4px; grid-template-columns: auto minmax(0, 1fr); align-items: start; }
.notes-card .dm-hint .btn { grid-column: 1 / -1; justify-content: center; }
@media (max-width: 520px) { .dm-hint { grid-template-columns: auto minmax(0, 1fr); } .dm-hint .btn { grid-column: 1 / -1; justify-content: center; } }

/* Licența: un server refuzat pentru „alt IP” → IP-ul lui și butonul «Folosește acest IP» */
.ip-refused { display: grid; gap: 8px; margin-top: 4px; padding: 14px 16px; border-radius: 12px; font-size: 14px;
  background: color-mix(in srgb, var(--warn) 8%, transparent); border: 1px solid color-mix(in srgb, var(--warn) 35%, transparent); }
.ip-refused .mono { overflow-wrap: anywhere; color: var(--text); }
.ip-refused .btn { justify-self: start; }

/* ---------- panoul de admin (v95): meniu fix în stânga, pagina activă în dreapta ---------- */
#admin.acc { max-width: none; padding: 0; animation: none; }
/* în panoul de admin bara cu oferte nu ajută: meniul începe direct sub bara de sus */
body:has(#admin:not([hidden])) #promo { display: none; }
.adm-shell { display: grid; grid-template-columns: 252px minmax(0, 1fr); min-height: calc(100vh - var(--nav-h)); }
.adm-side { position: sticky; top: var(--nav-h); align-self: start; height: calc(100vh - var(--nav-h)); display: flex; flex-direction: column; gap: 18px;
  padding: 22px 14px 16px; border-right: 1px solid var(--line); background: var(--bg-2); overflow-y: auto; scrollbar-width: thin; }
.adm-brand { display: flex; align-items: center; gap: 10px; padding: 0 8px; }
.adm-brand div { display: grid; line-height: 1.2; }
.adm-brand b { font-size: 15px; font-weight: 650; }
.adm-brand span { font-size: 12px; color: var(--dim); }
.adm-nav { position: relative; display: flex; flex-direction: column; gap: 2px; flex: 1; }
.adm-grp { margin: 14px 10px 6px; font: 500 11px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--dim); }
.adm-grp:first-of-type { margin-top: 0; }
.adm-nav button { position: relative; z-index: 1; display: flex; align-items: center; gap: 11px; width: 100%; min-height: 40px; padding: 0 10px; border: 0; border-radius: 10px;
  background: none; color: var(--muted); font-size: 14px; font-weight: 500; text-align: left; transition: color .2s, background .2s; }
.adm-nav button:hover { color: var(--text); background: rgba(255, 255, 255, .04); }
.adm-nav button[aria-selected="true"] { color: var(--text); }
.adm-nav:not(.has-ind) button[aria-selected="true"] { background: var(--card-3); }
.adm-nav button svg { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; opacity: .85; }
.adm-nav button[aria-selected="true"] svg { color: var(--blue-2); opacity: 1; }
.adm-nav button span { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.adm-nav em { font-style: normal; font-size: 11px; min-width: 22px; height: 20px; padding: 0 6px; border-radius: 999px; display: grid; place-items: center; background: rgba(255, 255, 255, .06); color: var(--muted); }
.adm-nav em.hot { background: rgba(212, 162, 60, .16); color: #e6c27a; }
.adm-nav .slide-ind { border-radius: 10px; background: var(--card-3); box-shadow: inset 2px 0 0 var(--blue-2); }
.adm-me { display: grid; gap: 10px; padding: 12px 8px 0; border-top: 1px solid var(--line); }
.adm-who { display: flex; align-items: center; gap: 10px; min-width: 0; }
.adm-who img, .adm-av { width: 32px; height: 32px; border-radius: 50%; flex: none; }
.adm-av { display: grid; place-items: center; background: var(--card-3); font-weight: 650; font-size: 13px; }
.adm-who div { display: grid; min-width: 0; line-height: 1.25; }
.adm-who b { font-size: 13.5px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.adm-who span { font-size: 12px; color: var(--dim); }
.adm-me-btns { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.adm-me-btns .btn { padding: 0 10px; height: 34px; font-size: 12.5px; }
.adm-main { min-width: 0; padding: 28px clamp(16px, 3vw, 40px) 90px; animation: rise .35s var(--ease) both; }
.adm-top { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-bottom: 22px; margin-bottom: 22px; border-bottom: 1px solid var(--line); }
.adm-top .kicker { margin: 0 0 6px; }
.adm-top h1 { font-size: clamp(26px, 2.6vw, 34px); font-weight: 650; letter-spacing: -.025em; }
.adm-top .muted { margin-top: 4px; font-size: 14.5px; }
.adm-at { display: inline-flex; align-items: center; gap: 8px; }
.adm-at .live { width: 7px; height: 7px; }
#admin .kpis { margin-bottom: 4px; }
#admin .kpi { border-radius: 16px; }
#admin .kpi span { font: 500 12px var(--font); text-transform: none; letter-spacing: 0; color: var(--muted); }
#admin .kpi b { font: 600 28px var(--mono); letter-spacing: -.02em; }
@media (max-width: 980px) {
  .adm-shell { grid-template-columns: minmax(0, 1fr); }
  .adm-side { position: sticky; top: var(--nav-h); z-index: 20; height: auto; flex-direction: row; align-items: center; gap: 0; padding: 8px clamp(16px, 4vw, 48px);
    border-right: 0; border-bottom: 1px solid var(--line); background: rgba(14, 23, 41, .92); backdrop-filter: blur(12px); overflow: visible; }
  .adm-brand, .adm-me, .adm-grp { display: none; }
  .adm-nav { flex-direction: row; overflow-x: auto; scrollbar-width: none; gap: 2px; -webkit-mask-image: linear-gradient(90deg, #000 88%, transparent); mask-image: linear-gradient(90deg, #000 88%, transparent); }
  .adm-nav.at-end { -webkit-mask-image: none; mask-image: none; }
  .adm-nav::-webkit-scrollbar { display: none; }
  .adm-nav button { width: auto; flex: none; min-height: 38px; border-radius: 999px; padding: 0 14px; }
  .adm-nav .slide-ind { border-radius: 999px; box-shadow: none; }
  .adm-main { padding-top: 22px; }
}
/* butoanele de pe fiecare rând din liste: albastru discret, ca butonul principal al paginii să rămână singurul plin */
#admin .adm-list .btn-primary.sm { background: rgba(var(--blue-rgb), .14); color: var(--blue-l); border-color: rgba(77, 141, 255, .35); box-shadow: none; }
#admin .adm-list .btn-primary.sm:hover { background: rgba(var(--blue-rgb), .24); }
#admin .adm-list .btn-primary.sm::after { display: none; }
/* Verificări licență pe telefon: punct · nume + resursă · motiv, iar ora dedesubt (IP-ul se vede pe ecranele late) */
@media (max-width: 760px) {
  .adm-row.chk-row { grid-template-columns: 10px minmax(0, 1fr) auto; gap: 4px 12px; }
  .adm-row.chk-row > .mono { display: none; }
  .adm-row.chk-row > span:nth-child(4):not(.mono) { display: block; text-align: right; }
  .adm-row.chk-row > :last-child { grid-column: 2 / -1; }
}

/* ---------------- panoul Business (parteneri & server owners) ---------------- */
/* gruparea „Resursele mele" pe magazine */
.own-group { margin-top: 26px; }
.own-group:first-of-type { margin-top: 0; }
.own-group-h { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 650; letter-spacing: .04em; color: var(--dim); margin-bottom: 14px; }
.shop-tag { display: inline-block; padding: 3px 10px; border-radius: 999px; border: 1px solid var(--line-2); background: var(--card); color: var(--n-100); font-weight: 700; letter-spacing: 0; }
.shop-tag.unl { border-color: color-mix(in srgb, var(--blue) 45%, var(--line-2)); color: var(--blue); }

/* cardul aplicației de criptare (refolosește .rm-promo) */
.biz-enc-ic { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 12px; border: 1px solid var(--line-2); background: var(--card); }
.biz-enc-ic svg { width: 24px; height: 24px; fill: none; stroke: var(--blue); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* formulare Business */
.biz-form { display: grid; gap: 14px; padding: 20px; border-radius: var(--r); border: 1px solid var(--line-2); background: var(--card); }
.biz-form h3 { font-size: 18px; font-weight: 650; }
.biz-form label { display: grid; gap: 6px; font-size: 13.5px; color: var(--n-100); }
.biz-form input:not([type=checkbox]), .biz-form select { width: 100%; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--line-2); background: var(--bg-2, var(--card)); color: var(--text); font: inherit; }
.biz-form input:focus, .biz-form select:focus { outline: none; border-color: var(--blue); }
.biz-form small { font-size: 12px; }
.biz-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.biz-fw { display: flex; flex-wrap: wrap; gap: 8px 16px; border: 1px solid var(--line-2); border-radius: 10px; padding: 10px 12px; }
.biz-fw legend { font-size: 12.5px; color: var(--dim); padding: 0 4px; }
.ck { display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--n-100); cursor: pointer; }
.ck input { width: 16px; height: 16px; accent-color: var(--blue); }
.biz-form-b { display: flex; gap: 10px; flex-wrap: wrap; }

/* lista de resurse */
.biz-res { display: grid; gap: 10px; }
.biz-res-row { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 14px 16px; border-radius: 12px; border: 1px solid var(--line-2); background: var(--card); }
.biz-res-main { display: grid; gap: 2px; min-width: 0; flex: 1 1 200px; }
.biz-res-main .mono { font-size: 12px; }
.biz-res-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.biz-res-btns { display: flex; align-items: center; gap: 12px; margin-left: auto; }

/* clienți */
.biz-cli { display: grid; gap: 8px; }
.biz-cli-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; padding: 12px 16px; border-radius: 12px; border: 1px solid var(--line-2); background: var(--card); }
.biz-cli-row > div:first-child { display: grid; gap: 2px; }
.biz-cli-row .mono { font-size: 12px; }
.biz-cli-meta { display: flex; align-items: center; gap: 12px; }

/* planul + ghidul din dreapta */
.biz-plan { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.biz-plan li { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 14px; }
.biz-how { margin: 0; padding-left: 18px; display: grid; gap: 7px; font-size: 13.5px; color: var(--n-100); }
.biz-srv-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.biz-srv-list li { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 13.5px; }

@media (max-width: 620px) { .biz-grid2 { grid-template-columns: 1fr; } .biz-res-btns { margin-left: 0; } }

/* css/shop.css */
/*! © 2026 Loombytle (https://loombytle.online) — platforma Unlimit Scripts (magazin, conturi, licențe, plăți, forum, admin) a fost proiectată și dezvoltată de Loombytle. Toate drepturile rezervate. Mențiunea de autor nu se elimină și nu se ascunde; vezi LICENSE.txt. */
/* Unlimit Scripts — promoții, recenzii, pagina de produs extinsă, pachete, Pass, carduri cadou. */

/* iconițe inline (contur) */
.pi svg, .trust svg, .offer > svg, .buy-trust svg, .gift-btn svg, .pass-top > svg {
  fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none;
}
.was { color: var(--dim); font-size: 14px; font-weight: 600; text-decoration-thickness: 1.5px; white-space: nowrap; }
.save { font: 700 12px/1 var(--mono); color: var(--ok); padding: 6px 8px; border-radius: 6px; background: rgba(63, 178, 127, .1); white-space: nowrap; }

/* ---------- BARA PROMO ---------- */
.promo { position: relative; overflow: hidden; background: linear-gradient(90deg, rgba(var(--blue-rgb), .12), rgba(var(--blue-rgb), .03) 50%, rgba(var(--blue-rgb), .12)); border-bottom: 1px solid var(--line); mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); }
.promo:empty { display: none; }
.promo-track { display: flex; width: max-content; animation: tick 70s linear infinite; }
.promo:hover .promo-track { animation-play-state: paused; }
.pi { display: flex; align-items: center; gap: 8px; padding: 9px 28px; white-space: nowrap; font-weight: 500; font-size: 13.5px; color: var(--muted); border-right: 1px solid var(--line); }
.pi svg { width: 15px; height: 15px; color: var(--blue-l); }
.pi b { font-weight: 600; color: var(--text); }
.pi .mono { color: var(--blue-l); font-weight: 500; }

/* ---------- HERO: încredere ---------- */
.trust { margin-top: 26px; display: grid; gap: 12px; }
.stat-line { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 16px; color: var(--muted); }
.stat-line b { font-size: 24px; font-weight: 700; }
.stat-line small { font-family: var(--mono); font-size: 11px; color: var(--dim); }
.trust-row { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.trust-row > * { display: inline-flex; align-items: center; gap: 7px; font-size: 13.5px; color: var(--muted); font-weight: 600; }
.trust-row svg { width: 15px; height: 15px; color: var(--blue-2); }
.trust-row b { color: var(--text); }

/* ---------- BADGE-URI / PREȚ PE CARDURI ---------- */
/* etichete (pagina resursei, pachete, documentație): pastile mici, aceeași familie cu .pill de pe carduri */
.badges { display: flex; gap: 6px; flex-wrap: wrap; }
.badge { display: inline-flex; align-items: center; height: 24px; padding: 0 9px; border-radius: 999px; font: 600 11.5px var(--font); line-height: 1; white-space: nowrap;
  border: 1px solid var(--line-2); color: var(--n-200); background: rgba(255, 255, 255, .03); }
.badge.ok { color: #86d9b0; border-color: rgba(63, 178, 127, .4); background: rgba(63, 178, 127, .08); }
.badge.warn { color: #e6c27a; border-color: rgba(212, 162, 60, .4); background: rgba(212, 162, 60, .08); }
.badge.ui { color: var(--blue-l); border-color: rgba(77, 141, 255, .35); background: rgba(var(--blue-rgb), .08); }
.badge.sale { color: #f3aaa5; border-color: rgba(229, 83, 75, .4); background: rgba(229, 83, 75, .08); }
.badge.hot { color: var(--blue-l); border-color: rgba(77, 141, 255, .35); background: rgba(var(--blue-rgb), .1); }
.card .pr { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.used { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--ok); }
.used .live, .used-big .live { width: 6px; height: 6px; }

/* ---------- OFERTE (sub catalog) ---------- */
.offers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 18px; }
.offer {
  display: flex; gap: 18px; align-items: center; padding: 22px 24px; border-radius: var(--r); border: 1px solid var(--line-2);
  background: radial-gradient(ellipse at 100% 0%, rgba(31, 107, 255, .2), transparent 60%), var(--card); transition: transform .25s, border-color .25s;
}
.offer:hover { transform: translateY(-3px); border-color: rgba(77, 141, 255, .55); }
.offer > svg { width: 46px; height: 46px; padding: 10px; border-radius: 12px; color: var(--blue-l); background: rgba(31, 107, 255, .16); border: 1px solid rgba(77, 141, 255, .3); }
.offer .kicker { margin: 0 0 2px; }
.offer b { display: block; font-size: 22px; font-weight: 700; }
.offer span { display: block; color: var(--muted); font-size: 14px; margin-top: 4px; }
.offer i { margin-left: auto; font-style: normal; color: var(--blue-2); font-size: 22px; }

/* ---------- RECENZII ---------- */
.stars { display: inline-flex; gap: 2px; vertical-align: middle; }
.stars i { width: 16px; height: 16px; display: block; }
.stars.lg i { width: 22px; height: 22px; }
.stars svg { width: 100%; height: 100%; fill: var(--n-600); }
.stars i.on svg { fill: #ffc94d; }
.rev-flow { display: flex; flex-wrap: wrap; gap: 16px; }
.rev { flex: 1 1 320px; padding: 22px; border-radius: var(--r); border: 1px solid var(--line); background: var(--card); display: flex; flex-direction: column; gap: 14px; }
.rev > p { color: var(--n-200); flex: 1; }
.rev footer { display: flex; gap: 10px; align-items: center; }
.rev footer img, .rev .av-t { width: 34px; height: 34px; border-radius: 50%; flex: none; }
.rev .av-t { display: grid; place-items: center; background: var(--card-2); font-weight: 650; }
.rev footer b { display: block; font-size: 15px; }
.rev footer span { color: var(--dim); font-size: 12.5px; }
.rev-score { display: flex; align-items: center; gap: 14px; }
.rev-score b { font-size: 52px; font-weight: 700; line-height: 1; }
.rev-score span { color: var(--muted); font-size: 14px; max-width: 150px; }

/* ---------- POPUP BUN VENIT ---------- */
.welcome {
  position: fixed; right: 20px; bottom: 20px; z-index: 85; width: 330px; padding: 26px 22px 20px; border-radius: 20px; text-align: center;
  background: radial-gradient(ellipse at 50% 0%, rgba(31, 107, 255, .38), transparent 65%), var(--card); border: 1px solid rgba(77, 141, 255, .45);
  box-shadow: var(--shadow-2); animation: rise .45s both; display: grid; gap: 10px; justify-items: center;
}
.welcome .x { position: absolute; top: 10px; right: 10px; width: 32px; height: 32px; }
.welcome > img { }
.welcome .kicker { margin: 0; }
.welcome h3 { font-size: 26px; font-weight: 700; }
.w-sub { color: var(--muted); font-size: 14px; }
.w-code { display: flex; align-items: center; gap: 8px; width: 100%; padding: 8px 8px 8px 14px; border-radius: 12px; border: 1px dashed rgba(77, 141, 255, .5); background: var(--bg-2); }
.w-code code { flex: 1; text-align: left; font: 700 16px var(--mono); letter-spacing: .08em; color: var(--blue-l); }
.w-end { font-size: 12.5px; color: var(--muted); display: grid; gap: 2px; justify-items: center; }
.w-end b { color: var(--warn); font-size: 14px; letter-spacing: .02em; }
.w-end span { color: var(--dim); font-size: 12px; }

/* ---------- PRODUS ---------- */
.p-lead { margin-top: 24px; font-size: clamp(17px, 1.5vw, 20px); color: var(--n-200); max-width: 820px; }
.buy-badges { display: flex; gap: 6px; flex-wrap: wrap; margin: 2px 0 4px; }
.buy-badges .badge { backdrop-filter: none; }
.rating { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; font-size: 14px; }
.rating span { color: var(--muted); }
.buy-price { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin: 18px 0 4px; }
.buy .buy-price .price { font-size: 44px; margin: 0; }
.used-big { display: flex; align-items: center; gap: 8px; margin-top: 14px; font-size: 14.5px; color: var(--muted); }
.used-big b { color: var(--text); }
.used-big small { font-family: var(--mono); font-size: 11px; color: var(--dim); }
.gift-btn svg { width: 18px; height: 18px; }
.buy-trust { display: flex; gap: 8px 18px; flex-wrap: wrap; margin-top: 14px; font-size: 13px; color: var(--muted); }
.buy-trust span { display: inline-flex; align-items: center; gap: 6px; }
.buy-trust svg { width: 14px; height: 14px; color: var(--blue-2); }
.gal-main iframe { width: 100%; height: 100%; border: 0; display: block; }
.yt { position: absolute; inset: 0; padding: 0; border: 0; background: none; }
.yt img { width: 100%; height: 100%; object-fit: cover; }
.play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 78px; height: 78px; border-radius: 50%; display: grid; place-items: center;
  background: rgba(31, 107, 255, .92); color: #fff; font-size: 26px; box-shadow: 0 0 0 10px rgba(31, 107, 255, .25), var(--shadow-2); }
.play.sm { width: 32px; height: 32px; font-size: 12px; box-shadow: none; }
.gal-thumbs button { position: relative; }

.p-sec { margin-top: clamp(56px, 7vw, 96px); }
.p-sec-h { margin-bottom: 24px; }
.p-sec-h h2 { font-size: clamp(28px, 3.4vw, 42px); font-weight: 700; }
.p-sec-h.row-h { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; }
.p-sec .tabs { margin-top: 0; }
.p-sec .tab-body { max-width: none; }
.pf-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px;
  border-radius: 18px; overflow: hidden; border: 1px solid var(--line); background: var(--line); }
.pf-item { display: flex; gap: 14px; align-items: flex-start; padding: 18px 22px; background: var(--card); font-size: 15px; line-height: 1.5; color: var(--n-100);
  transition: background .3s var(--ease); }
.pf-item:hover { background: var(--card-2); }
.pf-item .i { flex: none; width: 22px; height: 22px; padding: 4px; margin-top: 0; border-radius: 50%; color: var(--blue-2); background: rgba(var(--blue-rgb), .14); stroke-width: 3; transition: transform .35s var(--spring); }
.pf-item:hover .i { transform: scale(1.12); }
/* număr impar de funcții: ultima ocupă tot rândul, ca să nu rămână o celulă goală */
.pf-item:last-child:nth-child(odd) { grid-column: 1 / -1; }
@media (max-width: 760px) { .pf-list { grid-template-columns: 1fr; } .pf-item { padding: 15px 18px; } }

.perks { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.perks article { position: relative; padding: 20px 22px 20px 58px; border-radius: var(--r); border: 1px solid var(--line); background: var(--card); }
.perks article::before { content: ""; position: absolute; left: 20px; top: 20px; width: 24px; height: 24px; border-radius: 50%; background: rgba(63, 178, 127, .12); }
.perks article::after { position: absolute; left: 20px; top: 20px; width: 24px; height: 24px; content: ""; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 62% no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 62% no-repeat; background: var(--ok); }
.perks h3 { font-size: 17px; font-weight: 650; margin-bottom: 4px; }
.perks p { color: var(--muted); font-size: 14.5px; }
.p-faq { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.p-faq .help-card { margin-top: 24px; }
.minis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.mini { position: relative; border-radius: var(--r); overflow: hidden; border: 1px solid var(--line); background: var(--card); display: flex; flex-direction: column; transition: transform .3s, border-color .3s; }
.mini:hover { transform: translateY(-3px); border-color: rgba(77, 141, 255, .45); }
.mini .link { position: absolute; inset: 0; z-index: 1; }
.mini-img { aspect-ratio: 16 / 9; position: relative; overflow: hidden; background: var(--bg-2); }
.mini-img img { width: 100%; height: 100%; object-fit: cover; }
.mini-img .badge { position: absolute; top: 10px; left: 10px; }
.mini-b { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.mini-b h3 { font-size: 20px; font-weight: 650; }
.mini-b > p { color: var(--muted); font-size: 14px; flex: 1; }
.mini .row { display: flex; align-items: center; gap: 8px 10px; margin-top: 8px; flex-wrap: wrap; }
.mini .row .price { font-size: 22px; }
.mini .row .add { position: relative; z-index: 3; }
.mini .spacer { flex: 1; }
.ideas {
  margin-top: clamp(56px, 7vw, 96px); padding: 34px 40px; border-radius: 24px; border: 1px solid var(--line-2); display: flex; align-items: center; gap: 24px 40px; flex-wrap: wrap;
  background: radial-gradient(ellipse at 0% 100%, rgba(31, 107, 255, .25), transparent 60%), var(--card);
}
.ideas > div:first-child { flex: 1 1 420px; }
.ideas h2 { font-size: clamp(24px, 3vw, 34px); font-weight: 700; margin-bottom: 8px; }
.ideas p:not(.kicker) { color: var(--muted); max-width: 700px; }
.ideas-btns { display: flex; gap: 12px; flex-wrap: wrap; }

/* ---------- PACHETE ---------- */
#bundles { max-width: 1400px; margin: 0 auto; padding: 44px clamp(16px, 4vw, 48px) 90px; animation: rise .4s both; }
.pk-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px 40px; flex-wrap: wrap; margin-bottom: 34px; }
.pk-head > div { flex: 1 1 560px; }
.pk-head h1 { font-size: clamp(36px, 4.6vw, 60px); font-weight: 700; margin: 6px 0 14px; max-width: 900px; text-wrap: balance; }
.bundles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; align-items: stretch; }
.bundle { border-radius: 20px; border: 1px solid var(--line-2); background: var(--card); overflow: hidden; display: flex; flex-direction: column; }
.b-shots { display: grid; gap: 2px; aspect-ratio: 16 / 10; position: relative; background: var(--bg); }
.b-shots.n4, .b-shots.n3 { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; }
.b-shots.n3 img:first-child { grid-row: span 2; }
.b-shots.n2 { grid-template-columns: 1fr 1fr; }
.b-shots img { width: 100%; height: 100%; object-fit: cover; min-height: 0; }
.more-n { position: absolute; right: 10px; bottom: 10px; font: 700 13px var(--mono); padding: 6px 10px; border-radius: 8px; background: rgba(11, 19, 34, .82); border: 1px solid var(--line-2); }
.bundle-b { padding: 20px 20px 22px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.bundle-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.bundle-top h3 { font-size: 22px; font-weight: 700; }
.bundle-top .badge { font-size: 12px; }
.bl { color: var(--muted); font-size: 14.5px; }
.inc { list-style: none; margin: 4px 0 0; padding: 0; display: grid; flex: 1; align-content: start; border-top: 1px solid var(--line); }
.inc li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.inc a { display: flex; align-items: center; gap: 12px; min-width: 0; color: var(--text); transition: color .2s; }
.inc a:hover { color: var(--blue-l); }
.inc-th { flex: none; width: 44px; aspect-ratio: 16 / 10; border-radius: 6px; overflow: hidden; background: var(--bg-2); }
.inc-th img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.inc a:hover .inc-th img { transform: scale(1.1); }
.inc-n { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 500; }
.inc-p { flex: none; color: var(--muted); font-size: 12.5px; }
.inc-own { flex: none; display: inline-flex; align-items: center; gap: 4px; height: 22px; padding: 0 8px; border-radius: 999px; font-size: 11.5px; font-weight: 600;
  color: #86d9b0; background: rgba(63, 178, 127, .1); border: 1px solid rgba(63, 178, 127, .35); }
.inc li.is-own .inc-n { color: var(--muted); }
.fw-ok { font-size: 12px; color: var(--blue-l); }
.bundle-price { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.bundle-price .price { font-size: 32px; }
.pass-card {
  padding: 26px 22px 22px; gap: 16px; border-color: rgba(77, 141, 255, .35);
  background: radial-gradient(ellipse at 50% 0%, rgba(var(--blue-rgb), .16), transparent 60%), var(--card);
}
.pass-top > svg { width: 42px; height: 42px; color: var(--blue-l); margin-bottom: 12px; }
.pass-top .kicker { margin-bottom: 2px; }
.pass-top h3 { font-size: 30px; font-weight: 700; margin-bottom: 12px; }
.pass-top .bl { margin-top: 8px; }
.per { color: var(--muted); font-weight: 700; }
.pass-perks { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; flex: 1; align-content: start; }
.pass-perks li { position: relative; padding-left: 26px; font-size: 14.5px; }
.pass-perks li::before { position: absolute; left: 0; top: .15em; width: 1.1em; height: 1.1em; content: ""; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 62% no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 62% no-repeat; background: var(--ok); }
.pass-on { font-size: 14px; color: var(--ok); display: flex; gap: 8px; align-items: center; }

.gc { margin-top: clamp(60px, 8vw, 100px); }
.gc-h { max-width: 780px; margin-bottom: 24px; }
.gc-h h2 { font-size: clamp(28px, 3.4vw, 42px); font-weight: 700; margin-bottom: 10px; }
.gc-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.gcard:hover { transform: translateY(-4px); border-color: rgba(77, 141, 255, .45); }
.gcard {
  position: relative; overflow: hidden; min-height: 210px; padding: 18px; border-radius: 18px; border: 1px solid var(--line-2);
  display: flex; flex-direction: column; gap: 6px; background: linear-gradient(135deg, rgba(var(--blue-rgb), .22), var(--card) 62%); transition: transform .45s var(--ease), border-color .3s;
}
.gcard::after { content: ""; position: absolute; width: 220px; height: 220px; right: -80px; top: -90px; border-radius: 50%; background: radial-gradient(closest-side, rgba(168, 216, 255, .22), transparent); pointer-events: none; }
.gc-logo { display: flex; align-items: center; gap: 8px; font-weight: 700; letter-spacing: .16em; font-size: 13px; margin-bottom: auto; }
.gcard b { font-size: 38px; font-weight: 700; line-height: 1.1; margin-top: 16px; }
.gcard small { color: var(--blue-l); font-family: var(--mono); font-size: 11px; margin-bottom: 10px; }
.redeem { margin-top: 16px; display: flex; align-items: center; gap: 12px 16px; flex-wrap: wrap; padding: 20px 22px; border-radius: var(--r); border: 1px dashed var(--line-2); background: var(--card); }
.redeem > div { flex: 1 1 300px; }
.redeem b { display: block; font-size: 17px; }
.redeem span { color: var(--muted); font-size: 14px; }
.redeem input, .redeem-mini input, .code-form input, .rev-form textarea {
  height: 40px; min-width: 0; padding: 0 12px; border-radius: 10px; border: 1px solid var(--line-2); background: var(--bg-2); color: var(--text); font: 600 14px var(--font);
}
.redeem input { flex: 0 1 280px; font-family: var(--mono); letter-spacing: .04em; }
.redeem input:focus, .redeem-mini input:focus, .code-form input:focus, .rev-form textarea:focus { outline: none; border-color: var(--blue-2); }

/* ---------- BUILDER ---------- */
.b-opts { display: grid; gap: 10px; margin-bottom: 14px; }
.code-form { display: flex; gap: 8px; }
.code-form input { flex: 1; font-family: var(--mono); text-transform: uppercase; }
.code-on { display: flex; justify-content: space-between; align-items: center; padding: 10px 12px; border-radius: 10px; border: 1px solid rgba(63, 178, 127, .35); background: rgba(63, 178, 127, .08); font-size: 14px; }
.gift-chk { display: flex; gap: 10px; align-items: center; font-size: 13.5px; color: var(--muted); cursor: pointer; }
.gift-chk input { accent-color: var(--blue); width: 16px; height: 16px; }
.gift-chk b { color: var(--text); }
.b-item .r .was { display: block; font-size: 11.5px; }
.b-item .r .x { display: block; margin-left: auto; }
.b-empty-btns { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 18px; }
.b-empty .b-empty-btns .btn { margin-top: 0; }

/* ---------- CONT ---------- */
.pay-banner .spin { flex: 0 0 18px; min-width: 0; width: 18px; height: 18px; border-radius: 50%; border: 2px solid rgba(212, 162, 60, .3); border-top-color: var(--warn); animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.pay-banner.warn { border-color: rgba(229, 83, 75, .4); background: linear-gradient(90deg, rgba(229, 83, 75, .1), transparent); }
.pay-banner.warn b { color: #ffb3bb; }
.ord-r .linkish { font-size: 13px; color: var(--dim); }
.my-rev { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--muted); flex-wrap: wrap; }
.rev-cta { justify-self: start; font-size: 13.5px; }
.rev-form { display: grid; gap: 10px; padding-top: 6px; }
.rev-form textarea { height: auto; padding: 10px 12px; resize: vertical; }
.rev-form-b { display: flex; gap: 8px; }
.star-pick { display: flex; gap: 2px; }
.star-pick label { position: relative; cursor: pointer; }
.star-pick input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.star-pick span { font-size: 26px; line-height: 1; color: var(--n-600); transition: color .15s; }
.star-pick label:has(input:checked) span, .star-pick label:has(~ label input:checked) span { color: #ffc94d; }
.star-pick label:focus-within span { text-shadow: 0 0 0 2px var(--blue-2); outline: 2px solid var(--blue-2); outline-offset: 2px; border-radius: 4px; }
.redeem-mini { display: flex; gap: 8px; }
.redeem-mini input { flex: 1; font-family: var(--mono); font-size: 13px; }
.gifts { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 8px; }
.gifts li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; border-radius: 10px; background: var(--bg-2); border: 1px solid var(--line); }
.gifts code { color: var(--blue-l); font-size: 13px; }
.gifts span { display: block; font-size: 12.5px; color: var(--muted); }
.promo-side { background: radial-gradient(ellipse at 100% 0%, rgba(31, 107, 255, .25), transparent 60%), var(--card); }
.acc-empty-btns { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }

/* ---------- ADMIN ---------- */
.adm-forms { display: grid; gap: 16px; align-content: start; }
.adm-forms .up-form { position: static; }
.up-form .two { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.up-form label.chk { display: flex; align-items: center; gap: 8px; font-weight: 600; }
.up-form label.chk input { height: auto; flex: none; width: 16px; accent-color: var(--blue); }
.adm-cap { margin: 0 0 8px; }
.adm-list + .adm-cap { margin-top: 22px; }
.adm-row.rev-row { grid-template-columns: 100px minmax(0, 1fr) 150px auto; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1180px) {
  .bundles { grid-template-columns: 1fr 1fr; }
  .offers { grid-template-columns: 1fr; }
}
@media (max-width: 980px) {
  .perks { grid-template-columns: 1fr 1fr; }
  .p-faq { grid-template-columns: minmax(0, 1fr); }
  .minis { grid-template-columns: minmax(0, 1fr); }
  .mini { flex-direction: row; }
  .mini-img { flex: 0 0 38%; aspect-ratio: auto; }
  .gc-grid { grid-template-columns: 1fr 1fr; }
  .adm-row.rev-row { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .bundles, .perks { grid-template-columns: minmax(0, 1fr); }
  .mini { flex-direction: column; }
  .mini-img { aspect-ratio: 16 / 9; }
  .welcome { right: 16px; left: 16px; bottom: 16px; width: auto; }
  .ideas { padding: 26px; }
  .gcard b { font-size: 30px; }
  .redeem input { flex: 1 1 100%; }
  .rev-score b { font-size: 40px; }
}

/* ---------- DIALOG DE CONFIRMARE (în locul confirm() din browser) ---------- */
.ask-scrim { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 16px; background: rgba(5, 9, 18, .66); backdrop-filter: blur(4px); animation: fade .18s; }
.ask-scrim.out { opacity: 0; transition: opacity .16s; }
.ask {
  width: min(430px, 100%); padding: 28px 26px 22px; border-radius: 20px; text-align: center; display: grid; justify-items: center; gap: 10px;
  background: radial-gradient(ellipse at 50% 0%, rgba(31, 107, 255, .3), transparent 62%), var(--card); border: 1px solid var(--line-2);
  box-shadow: var(--shadow-2); animation: rise .25s both;
}
.ask-ic { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; font: 650 20px var(--mono); color: var(--blue-2);
  background: rgba(31, 107, 255, .14); border: 1px solid rgba(77, 141, 255, .4); margin-bottom: 4px; }
.ask-ic.no { color: var(--no); background: rgba(229, 83, 75, .12); border-color: rgba(229, 83, 75, .4); }
.ask h3 { font-size: 21px; font-weight: 700; }
.ask p { color: var(--muted); font-size: 14.5px; max-width: 340px; }
.ask-btns { display: flex; gap: 10px; margin-top: 12px; width: 100%; }
.ask-btns .btn { flex: 1; justify-content: center; }
.btn-danger { background: var(--no); color: #fff; box-shadow: var(--shadow-2), inset 0 1px 0 rgba(255, 255, 255, .3); }
.btn-danger:hover { box-shadow: var(--shadow-2), inset 0 1px 0 rgba(255, 255, 255, .3); }
.side-card.flash { animation: card-flash 1.6s ease-out; }
@keyframes card-flash { 0%, 30% { border-color: var(--blue-2); box-shadow: 0 0 0 3px rgba(77, 141, 255, .35); } 100% { box-shadow: 0 0 0 0 rgba(77, 141, 255, 0); } }
.notes li .linkish { display: inline-block; margin-top: 4px; }
.ord-inv .i { margin-right: 4px; }
.notes li .linkish { display: block; margin-top: 6px; }

/* Pagina produsului: de ce resurse mai are nevoie (Acte → Buletin) */
.needs { display: flex; gap: 10px; align-items: flex-start; margin: 10px 0 0; padding: 10px 12px; border-radius: 12px; font-size: 13.5px; color: var(--muted);
  background: color-mix(in srgb, var(--warn) 8%, transparent); border: 1px solid color-mix(in srgb, var(--warn) 30%, transparent); }
.needs .i { flex: none; width: 18px; height: 18px; color: var(--warn); margin-top: 1px; }
.needs a { color: var(--text); font-weight: 700; }
.ask-btns.three { flex-direction: column-reverse; gap: 8px; }

/* Acordul de dinainte de plată (livrare imediată / dreptul de retragere): bifa e obligatorie */
.ask.acord { width: min(480px, 100%); }
.acord-row { display: flex; gap: 12px; align-items: flex-start; text-align: left; margin-top: 6px; padding: 14px 16px; border-radius: 14px;
  background: rgba(77, 141, 255, .06); border: 1px solid var(--line-2); font-size: 14px; line-height: 1.55; color: var(--text); cursor: pointer; }
.acord-row:has(input:checked) { border-color: var(--blue-2); background: rgba(77, 141, 255, .12); }
.acord-row input { flex: none; width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--blue); cursor: pointer; }
.acord-row a { color: var(--blue-l); text-decoration: underline; text-underline-offset: 2px; }
.ask-btns .btn:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; }

/* css/forum.css */
/*! © 2026 Loombytle (https://loombytle.online) — platforma Unlimit Scripts (magazin, conturi, licențe, plăți, forum, admin) a fost proiectată și dezvoltată de Loombytle. Toate drepturile rezervate. Mențiunea de autor nu se elimină și nu se ascunde; vezi LICENSE.txt. */
/* Unlimit Scripts — forum (listă, postare, formular, raportări). Folosește tokenii din site.css. */

.fx { max-width: 1400px; margin: 0 auto; padding: 36px clamp(16px, 4vw, 48px) 90px; animation: rise .35s both; }
.fx-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px 40px; flex-wrap: wrap; margin-bottom: 26px; }
.fx-head > div { flex: 1 1 560px; }
.fx-head h1 { font-size: clamp(36px, 4.6vw, 60px); font-weight: 700; margin: 6px 0 12px; }
.fx-back { display: inline-block; margin-bottom: 18px; }

.fx-bar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding-bottom: 20px; margin-bottom: 22px; border-bottom: 1px solid var(--line); }
.fx-bar .search { margin-left: auto; min-width: 260px; }
.fx-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 28px; align-items: start; }
.fx-side { display: grid; gap: 16px; position: sticky; top: calc(var(--nav-h) + 20px); }
.fx-list { display: grid; gap: 12px; min-width: 0; }

/* card în listă */
.fx-card { position: relative; isolation: isolate; display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 20px; padding: 14px; border-radius: 18px;
  background: var(--card); transition: transform .45s var(--ease), box-shadow .45s var(--ease); }
.fx-card > * { position: relative; z-index: 1; }
.fx-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-2); }
.fx-card:hover .fx-th img { transform: scale(1.05); }
.fx-card.pinned { box-shadow: inset 0 0 0 1px rgba(217, 179, 106, .35); }
.fx-th { aspect-ratio: 16 / 10; border-radius: 12px; overflow: hidden; display: grid; place-items: center; border: 1px solid var(--line);
  background: radial-gradient(ellipse at 30% 20%, rgba(var(--blue-rgb), .16), transparent 65%), var(--card-2); }
.fx-th.update { background: linear-gradient(160deg, var(--card-2), var(--bg-2)); }
/* plăcuța cu data a anunțurilor Cfx.re fără poză */
.fx-date { display: grid; justify-items: center; gap: 2px; text-align: center; }
.fx-date b { font-size: 40px; font-weight: 600; line-height: 1; letter-spacing: -.03em; color: var(--text); }
.fx-date span { font-size: 13px; color: var(--muted); text-transform: capitalize; }
.fx-date em { margin-top: 6px; font-style: normal; font-size: 10.5px; letter-spacing: .06em; color: #d9b36a; }
.cfx-av { display: inline-grid; place-items: center; border-radius: 50%; background: var(--card-2); border: 1px solid var(--line-2); color: #d9b36a; flex: none; }
.cfx-av svg { width: 58%; height: 58%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.fx-th.server { background: radial-gradient(ellipse at 70% 20%, rgba(63, 178, 127, .12), transparent 65%), var(--card-2); }
.fx-th img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.fx-th svg, .fx-kindseg svg { width: 38px; height: 38px; fill: none; stroke: var(--blue-l); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; opacity: .8; }
.fx-card-b { display: grid; gap: 8px; align-content: start; min-width: 0; }
.fx-card h3 { font-size: 20px; font-weight: 650; line-height: 1.25; }
.fx-card p { font-size: 14.5px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.fx-pills { display: flex; gap: 6px; flex-wrap: wrap; }
/* tipul postării: pastilă discretă cu punct colorat (albastru resursă, verde server, auriu anunț Cfx.re) */
.fx-kind { --k: var(--blue-2); display: inline-flex; align-items: center; gap: 7px; height: 24px; padding: 0 10px; border-radius: 999px; font: 600 11.5px var(--font);
  color: var(--n-100); border: 1px solid var(--line-2); background: rgba(255, 255, 255, .03); }
.fx-kind::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--k); }
.fx-kind.server { --k: var(--ok); }
.fx-kind.update { --k: #d9b36a; }

.fx-meta { display: flex; align-items: center; gap: 8px 14px; flex-wrap: wrap; margin-top: 2px; }
.fx-meta .spacer, .fx-acts .spacer { flex: 1; }
.fx-meta.big { margin: 4px 0 20px; }
.fx-who { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.fx-who b { font-weight: 700; font-size: 14.5px; }
.fx-who .pill { font-size: 10.5px; padding: 5px 8px; }
.fx-n { display: inline-flex; align-items: center; gap: 5px; color: var(--muted); font: 600 13px var(--mono); }
.fx-n svg, .fx-like svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; }

/* coloana din dreapta */
.fx-stats { grid-template-columns: 1fr 1fr; gap: 16px 12px; }
.fx-stats div { display: grid; gap: 2px; }
.fx-stats b { font-size: 30px; font-weight: 700; line-height: 1; }
.fx-stats span { color: var(--muted); font-size: 13px; }
.fx-rules { margin: 0; padding-left: 18px; display: grid; gap: 10px; color: var(--muted); font-size: 14px; }
.fx-rules li::marker { color: var(--blue-2); font-weight: 650; }
.fx-admin { transition: border-color .2s; }
.fx-admin:hover { border-color: var(--blue-2); }
.fx-login { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 16px 18px; border-radius: 14px; border: 1px dashed var(--line-2); background: var(--card); }

/* pagina postării */
.fx-main { min-width: 0; }
.fx-main h1 { font-size: clamp(30px, 3.6vw, 46px); font-weight: 700; line-height: 1.1; margin: 12px 0 14px; text-wrap: balance; }
.fx-img { display: block; width: 100%; padding: 0; border: 1px solid var(--line-2); border-radius: 18px; overflow: hidden; background: var(--bg-2); cursor: zoom-in; margin-bottom: 22px; }
.fx-img img { width: 100%; max-height: 560px; object-fit: cover; }
.fx-body { font-size: 16.5px; line-height: 1.65; color: var(--n-100); overflow-wrap: anywhere; }
.fx-body a { color: var(--blue-2); text-decoration: underline; text-underline-offset: 3px; }
.fx-acts { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin: 26px 0 0; padding-top: 18px; border-top: 1px solid var(--line); }
.fx-like { gap: 7px; }
.fx-mod { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-top: 12px; padding: 12px; border-radius: 12px; border: 1px dashed rgba(212, 162, 60, .35); background: rgba(212, 162, 60, .05); }
.fx-mod .mono { margin-right: 4px; }
.fx-report { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-top: 12px; padding: 12px; border-radius: 12px; border: 1px solid rgba(229, 83, 75, .35); background: rgba(229, 83, 75, .06); }
.fx-report select { height: 40px; padding: 0 10px; border-radius: 10px; border: 1px solid var(--line-2); background: var(--bg-2); color: var(--text); font: 600 14px var(--font); }

.fx-replies { margin-top: 44px; display: grid; gap: 12px; }
.fx-replies h2 { font-size: 24px; font-weight: 700; margin-bottom: 4px; }
.fx-reply { padding: 16px 18px; border-radius: 14px; border: 1px solid var(--line); background: var(--card); display: grid; gap: 10px; }
.fx-reply.hid { opacity: .55; border-style: dashed; }
.fx-reply .fx-body { font-size: 15.5px; }
.fx-reply-form { display: grid; gap: 10px; justify-items: end; }
.fx-reply-form textarea { width: 100%; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--line-2); background: var(--bg-2); color: var(--text); font: 500 15px var(--font); resize: vertical; }
.fx-reply-form textarea:focus, .fx-form input:focus, .fx-form textarea:focus, .fx-form select:focus { outline: 0; border-color: var(--blue-2); }
.fx-locked { padding: 14px 16px; border-radius: 12px; border: 1px dashed var(--line-2); }

.fx-info dl { margin: 0; display: grid; gap: 0; }
.fx-info dl div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--line); font-size: 14.5px; }
.fx-info dt { color: var(--muted); }
.fx-info dd { margin: 0; font-weight: 700; text-align: right; }
.fx-connect { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 10px; align-items: center; }
.fx-connect span { grid-column: 1 / -1; }
.fx-connect code { padding: 10px 12px; border-radius: 10px; background: var(--bg-2); border: 1px solid var(--line-2); color: var(--blue-l); font-size: 13px; overflow-wrap: anywhere; }
.fx-info .side-btns .btn { flex: 1 1 auto; justify-content: center; }

/* formular */
.up-form.fx-form { position: static; gap: 16px; }
.fx-form h1 { font-size: clamp(28px, 3vw, 38px); font-weight: 700; }
.fx-form label { display: grid; gap: 6px; font-size: 13px; font-weight: 700; color: var(--muted); }
.fx-form label .small { font-weight: 500; }
.fx-kindseg { width: 100%; }
.fx-kindseg button { flex: 1; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 12px; font-size: 15px; }
.fx-kindseg svg { width: 22px; height: 22px; }
.fx-upload { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 16px; align-items: center; }
.fx-upload > div:last-child { display: grid; gap: 8px; justify-items: start; }
.fx-prev { aspect-ratio: 16 / 10; border-radius: 12px; border: 1px dashed var(--line-2); display: grid; place-items: center; overflow: hidden; background: var(--bg-2); }
.fx-prev img { width: 100%; height: 100%; object-fit: cover; }
.fx-file { position: relative; overflow: hidden; cursor: pointer; }
.fx-file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.fx-form .chk { display: flex; gap: 10px; align-items: flex-start; font-weight: 600; color: var(--text); }
.fx-form .chk input { width: 16px; height: 16px; margin-top: 2px; flex: none; accent-color: var(--blue); }

.adm-row.fx-rep { grid-template-columns: 56px minmax(0, 1.6fr) auto auto; }
.fx-rep a:hover { color: var(--blue-2); }

@media (max-width: 1180px) {
  .fx-grid { grid-template-columns: minmax(0, 1fr) 300px; }
  .fx-card { grid-template-columns: 160px minmax(0, 1fr); }
}
@media (max-width: 980px) {
  .fx-grid { grid-template-columns: minmax(0, 1fr); }
  .fx-side { position: static; }
  .fx-bar .search { margin-left: 0; flex: 1 1 100%; order: 3; }
}
@media (max-width: 640px) {
  .fx-card { grid-template-columns: minmax(0, 1fr); }
  .fx-th { aspect-ratio: 16 / 7; }
  .fx-upload { grid-template-columns: minmax(0, 1fr); }
  .fx-form .two { grid-template-columns: minmax(0, 1fr); }
}

/* secțiunile mari: Global / FiveM Update */
.fx-secs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 18px; }
.fx-sec { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border-radius: var(--r); border: 1px solid var(--line); background: var(--card); transition: border-color .2s, background .2s; }
.fx-sec:hover { border-color: var(--line-2); background: var(--card-2); }
.fx-sec svg { width: 30px; height: 30px; flex: none; fill: none; stroke: var(--muted); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.fx-sec span { display: grid; gap: 2px; min-width: 0; }
.fx-sec b { font-size: 19px; font-weight: 700; }
.fx-sec small { color: var(--muted); font-size: 13.5px; }
.fx-sec em { margin-left: auto; font-style: normal; font-size: 13px; padding: 4px 10px; border-radius: 999px; background: rgba(77, 141, 255, .12); color: var(--blue-l); }
.fx-sec.on { border-color: var(--blue-2); background: radial-gradient(ellipse at 0% 0%, rgba(31, 107, 255, .28), transparent 65%), var(--card); box-shadow: var(--shadow-2); }
.fx-sec.on svg { stroke: var(--blue-l); }
.fx-sec[href$="/update"].on { border-color: rgba(217, 179, 106, .45); background: radial-gradient(ellipse at 0% 0%, rgba(217, 179, 106, .12), transparent 65%), var(--card); }
.fx-sec[href$="/update"].on svg { stroke: #d9b36a; }
.fx-sec[href$="/update"] em { background: rgba(217, 179, 106, .12); color: #d9b36a; }
.fx-note { margin: 0; }
.fx-stats .wide { grid-column: 1 / -1; }
@media (max-width: 640px) { .fx-secs { grid-template-columns: 1fr; } }

/* Global → Toate: blocurile de categorie (1. Resurse FiveM, 2. Servere FiveM) */
.fx-cat { border: 1px solid var(--line); border-radius: var(--r); background: var(--card); overflow: hidden; }
.fx-cat + .fx-cat { margin-top: 8px; }
.fx-cat-h { display: flex; align-items: center; gap: 14px; padding: 18px 20px; border-bottom: 1px solid var(--line);
  background: radial-gradient(ellipse at 0% 0%, rgba(31, 107, 255, .2), transparent 60%), var(--card-2); }
.fx-cat.server .fx-cat-h { background: radial-gradient(ellipse at 0% 0%, rgba(63, 178, 127, .14), transparent 60%), var(--card-2); }
.fx-cat-h > div { flex: 1; min-width: 0; }
.fx-cat-h .kicker { margin-bottom: 2px; font-size: 11px; }
.fx-cat-h h2 { font-size: 22px; font-weight: 700; line-height: 1.15; }
.fx-cat-h p.small { margin-top: 3px; }
.fx-cat-h em { font-style: normal; font-size: 13px; padding: 5px 11px; border-radius: 999px; background: rgba(77, 141, 255, .12); color: var(--blue-l); }
.fx-cat.server .fx-cat-h em { background: rgba(63, 178, 127, .12); color: var(--ok); }
.fx-cat-ic { width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; flex: none; border: 1px solid var(--line-2); background: var(--card); }
.fx-cat.server .fx-cat-ic { background: var(--bg-2); border-color: rgba(63, 178, 127, .3); }
.fx-cat-ic svg { width: 24px; height: 24px; fill: none; stroke: var(--blue-l); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.fx-cat.server .fx-cat-ic svg { stroke: var(--ok); }
.fx-cat-b { display: grid; gap: 10px; padding: 12px; }
.fx-cat-b .fx-card { background: var(--bg-2); }
.fx-cat-empty { display: grid; gap: 4px; justify-items: center; text-align: center; padding: 26px 16px; border-radius: 12px; border: 1px dashed var(--line-2); }
.fx-cat-all { display: block; width: 100%; padding: 12px 20px 16px; text-align: right; }
@media (max-width: 640px) {
  .fx-cat-h { flex-wrap: wrap; }
  .fx-cat-h > div { flex-basis: calc(100% - 60px); }
  .fx-cat-h .btn { margin-left: auto; }
}
@media (max-width: 980px) { .adm-row.fx-rep { grid-template-columns: auto minmax(0, 1fr); } }

/* ---------- etichetele din fața titlului (Script, Vehicul, Recrutare…) ---------- */
.fx-tag { --t: #8fb4ff; display: inline-flex; align-items: center; gap: 6px; vertical-align: .18em; margin-right: 10px; padding: 4px 9px 4px 7px;
  border-radius: 7px; border: 1px solid color-mix(in srgb, var(--t) 45%, transparent); background: color-mix(in srgb, var(--t) 16%, transparent);
  color: var(--t); font: 700 12.5px/1.1 var(--font); letter-spacing: .01em; white-space: nowrap; }
.fx-tag svg { width: 14px; height: 14px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.fx-main h1 .fx-tag { font-size: .36em; padding: 6px 12px 6px 9px; border-radius: 9px; vertical-align: .32em; }
.fx-main h1 .fx-tag svg { width: 1.15em; height: 1.15em; }
.fx-tag.green { --t: #4ade80; } .fx-tag.teal { --t: #2dd4bf; } .fx-tag.blue { --t: #60a5fa; } .fx-tag.violet { --t: #a78bfa; }
.fx-tag.pink { --t: #f472b6; } .fx-tag.cyan { --t: #22d3ee; } .fx-tag.purple { --t: #c084fc; } .fx-tag.yellow { --t: #facc15; }
.fx-tag.orange { --t: #fb923c; } .fx-tag.red { --t: #f87171; } .fx-tag.none { --t: #94a3b8; }
/* alegerea la postare */
.fx-tagpick { display: grid; gap: 8px; }
.fx-tagpick-h { font-size: 13px; font-weight: 700; color: var(--muted); }
.fx-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.fx-tags .fx-tag { margin: 0; cursor: pointer; font-size: 13px; padding: 7px 11px 7px 9px; background: transparent; opacity: .7; transition: opacity .15s, background .15s; }
.fx-tags .fx-tag:hover { opacity: 1; }
.fx-tags .fx-tag[aria-checked="true"] { opacity: 1; background: color-mix(in srgb, var(--t) 22%, transparent); box-shadow: 0 0 0 1px var(--t); }
.fx-tags .fx-tag[hidden] { display: none; }
