/**
 * Trasabilitate Explozibil — tema sitului de prezentare CloudShop
 *
 * GENERAT AUTOMAT din theme/parts/*.css. Nu edita fisierul asta direct:
 * modificarile se pierd la urmatoarea rulare a build-style.sh.
 *
 * Ultima generare: 2026-10-25 12:40
 * Bucati: 15
 */

/* ══════════════════════════════════════════════════════════════
   00-tokeni.css
   ══════════════════════════════════════════════════════════════ */
/**
 * Trasabilitate Explozibil — 00 TOKENI
 *
 * Singurul fisier din tema in care stau valori hex. Restul temei foloseste DOAR variabile.
 *
 * Paleta aleasa de user (22 oct 2026): grafit + portocaliu de siguranta.
 *   Deschis (din Setari → Identitate): fond #F4F5F7, suprafata #FFF, text #1D2430,
 *     accent #D9480F, verde #2B8A3E.
 *   Inchis („nu foarte inchis”): fond #1F2530, suprafata #283040, text #E8EBF0,
 *     accent #FF7A3D, verde #6CC97F.
 * IMPLICIT = tema INCHISA (decizie user 22 oct: „dark grey, nu light”): scriptul din antet pune
 * `data-te-theme="dark"` la orice vizita fara alegere; tema deschisa doar daca vizitatorul o alege.
 * Nu urmeaza setarea sistemului. Comutarea o face butonul din antet,
 * care pune `data-te-theme="dark"` pe <html> (si comuta clasele theme-light/theme-dark pe
 * <body>, ca regulile directionale ale nucleului sa stie unde sunt). Selectorul
 * `html[data-te-theme="dark"]` bate `:root` din stilul inline al nucleului (specificitate mai mare).
 *
 * Ultima modificare: 2026-10-22 11:47
 * Modificari:
 *   2026-10-22 11:47 — Tema inchisa devine implicita (paleta si dungile neschimbate).
 *   2026-10-22 11:28 — Creat.
 */

:root {
  --te-band:        #1D2430;   /* banda grafit (erou, titluri de pagina) — in ambele teme */
  --te-band-2:      #151B25;
  --te-on-band:     #E8EBF0;
  --te-on-band-2:   #B9C0CC;
  --te-band-line:   rgba(255, 255, 255, .055);
  --te-hot:         #FF7A3D;   /* portocaliul luminos, pe banda grafit */
  --te-ok:          #6CC97F;   /* verdele luminos, pe banda grafit */
  --te-link:        #B8400D;   /* portocaliu de TEXT pe fond deschis (5,1:1) */
  --te-surface-2:   #ECEEF2;
  --te-paper-white: #FFFFFF;   /* placa alba pentru imaginile cu fond alb (schema, siglele) */
  --te-on-white-muted: #5F6878; /* text secundar pe placa alba (si in tema inchisa) */
  --te-shadow:      0 1px 2px rgba(16, 24, 40, .06), 0 10px 28px rgba(16, 24, 40, .07);
  --te-shadow-lg:   0 2px 4px rgba(16, 24, 40, .06), 0 24px 60px rgba(16, 24, 40, .14);
  --te-mono:        'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --te-gut:         clamp(16px, 4vw, 24px);
  --te-sec:         clamp(56px, 8vw, 104px);
  color-scheme: light;
}

html[data-te-theme="dark"] {
  color-scheme: dark;
  --color-primary:          #FF7A3D;
  --color-primary-rgb:      255, 122, 61;
  --color-on-primary:       #1F2530;
  --color-on-accent:        #1F2530;
  --color-primary-dark:     #F0661F;
  --color-primary-light:    #FF9A68;
  --color-primary-lightest: #3A2C27;
  --color-accent:           #6CC97F;
  --color-accent-rgb:       108, 201, 127;
  --color-success:          #6CC97F;
  --color-success-rgb:      108, 201, 127;
  --color-text:             #E8EBF0;
  --color-text-rgb:         232, 235, 240;
  --color-text-secondary:   #BAC2CF;
  --color-text-light:       #9AA3B2;
  --color-border:           #3A4456;
  --color-bg:               #1F2530;
  --color-white:            #283040;
  --color-white-rgb:        40, 48, 64;
  --bs-primary:             #FF7A3D;
  --bs-primary-rgb:         255, 122, 61;
  --bs-body-bg:             #1F2530;
  --bs-body-color:          #E8EBF0;
  --bs-border-color:        #3A4456;
  --bs-secondary-color:     #BAC2CF;
  --bs-tertiary-bg:         #283040;

  --te-band:        #161B24;
  --te-band-2:      #11151C;
  --te-link:        #FF8F5C;
  --te-surface-2:   #2F3849;
  --te-shadow:      0 1px 2px rgba(0, 0, 0, .25), 0 10px 28px rgba(0, 0, 0, .22);
  --te-shadow-lg:   0 2px 4px rgba(0, 0, 0, .3), 0 24px 60px rgba(0, 0, 0, .4);
}


/* ══════════════════════════════════════════════════════════════
   05-fonturi.css
   ══════════════════════════════════════════════════════════════ */
/**
 * Trasabilitate Explozibil — 05 FONTURI: IBM Plex în WOFF2, doar cu literele folosite.
 *
 * Nucleul declară IBM Plex Sans / Mono ca TTF întregi (~100 KB pe greutate, ~460 KB în total pe
 * prima pagină). Aici le redeclarăm cu aceleași nume și greutăți, ca WOFF2 tăiate la latină,
 * latină extinsă (ă â î ș ț), punctuație și semne uzuale (~165 KB în total). Regulile @font-face
 * cu aceleași descriptori: câștigă ultima declarată, iar style.css al temei se încarcă după
 * fonturile nucleului ⇒ browserul descarcă doar WOFF2. Generate cu fontTools (pyftsubset)
 * din fișierele nucleului site/assets/fonts/ibmplex*.
 *
 * Ultima modificare: 2026-10-22 20:59
 * Modificari:
 *   2026-10-22 20:59 — Saira (latin + ro, 500–700) pentru meniul din antet, ca sigla.
 *   2026-10-22 12:17 — Creat (viteză pe telefon).
 */
@font-face { font-family: 'IBM Plex Sans'; src: url('/theme/fonts/ibmplexsans-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'IBM Plex Sans'; src: url('/theme/fonts/ibmplexsans-500.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'IBM Plex Sans'; src: url('/theme/fonts/ibmplexsans-600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'IBM Plex Sans'; src: url('/theme/fonts/ibmplexsans-700.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'IBM Plex Mono'; src: url('/theme/fonts/ibmplexmono-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'IBM Plex Mono'; src: url('/theme/fonts/ibmplexmono-500.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'IBM Plex Mono'; src: url('/theme/fonts/ibmplexmono-600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }

/* Saira (SIL OFL 1.1) — fontul siglei, folosit DOAR în meniul din antet și pe butonul „Cere o ofertă” din antet.
   Variabil 500–700, tăiat la latină + literele românești (din services/trasabexplo/brand/final/fonts). */
@font-face { font-family: 'Saira'; font-style: normal; font-weight: 500 700; font-display: swap;
  src: url('/theme/fonts/saira-latin-500-700.woff2') format('woff2');
  unicode-range: U+0020-007E, U+00A0-00FF, U+2013-2014, U+2018-201A, U+201C-201E, U+2022, U+2026, U+2039-203A, U+20AC, U+2122; }
@font-face { font-family: 'Saira'; font-style: normal; font-weight: 500 700; font-display: swap;
  src: url('/theme/fonts/saira-ro-500-700.woff2') format('woff2');
  unicode-range: U+0102-0103, U+015E-015F, U+0162-0163, U+0218-021B; }


/* ══════════════════════════════════════════════════════════════
   10-baza.css
   ══════════════════════════════════════════════════════════════ */
/**
 * Trasabilitate Explozibil — 10 BAZA: tipografie, butoane, sectiuni, carduri, utilitare.
 *
 * Ultima modificare: 2026-10-22 13:20
 * Modificari:
 *   2026-10-22 13:20 — Selecția de text: fundal portocaliu plin #C2410C + text alb (5,2:1), în ambele teme,
 *                       inclusiv în câmpuri și cod; pastilele rotunjite ale nucleului iau aceeași culoare.
 *   2026-10-22 11:28 — Creat.
 */

html { scroll-padding-top: 88px; }
body {
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-family);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body, #main-content { overflow-x: clip; }
/* Selecția: portocaliu plin + text alb, la fel în ambele teme. #E8590C dă 3,6:1 și #D9480F 4,3:1 cu
   albul, deci sub 4,5:1 — de aceea portocaliul mai închis #C2410C (5,2:1). --cs-sel-bg colorează și
   pastilele rotunjite desenate de nucleu (assets/js/selection-round.js). */
:root { --te-sel-bg: #C2410C; --te-sel-fg: #FFFFFF; --cs-sel-bg: var(--te-sel-bg); }
::selection, *::selection { background-color: var(--te-sel-bg); color: var(--te-sel-fg); text-shadow: none; }
::-moz-selection, *::-moz-selection { background-color: var(--te-sel-bg); color: var(--te-sel-fg); text-shadow: none; }
input::selection, textarea::selection, select::selection, code::selection, pre::selection, kbd::selection, samp::selection,
code *::selection, pre *::selection { background-color: var(--te-sel-bg); color: var(--te-sel-fg); }
input::-moz-selection, textarea::-moz-selection, code::-moz-selection, pre::-moz-selection { background-color: var(--te-sel-bg); color: var(--te-sel-fg); }
/* pe blocurile cu pastile, nucleul face fundalul nativ transparent: textul rămâne alb peste pastilă */
.cs-rsel-host::selection, .cs-rsel-host *::selection { color: var(--te-sel-fg); }

h1, h2, h3, h4, h5 { font-family: var(--font-family-heading); color: var(--color-text); letter-spacing: -0.015em; }
a { color: var(--te-link); text-underline-offset: 3px; }
a:hover { color: var(--color-primary); }
:focus-visible { outline: 3px solid color-mix(in srgb, var(--color-primary) 70%, transparent); outline-offset: 2px; border-radius: 4px; }

.te-skip {
  position: absolute; left: 12px; top: -60px; z-index: 10050;
  background: var(--color-primary); color: var(--color-on-primary);
  padding: .6rem 1rem; border-radius: var(--border-radius); font-weight: 600; text-decoration: none;
}
.te-skip:focus { top: 12px; color: var(--color-on-primary); }

.container { padding-left: var(--te-gut); padding-right: var(--te-gut); }

/* ── Tipografie de sectiune ─────────────────────────────────────────────── */
.te-kicker {
  font-family: var(--te-mono);
  font-size: .78rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
  color: var(--te-link); margin: 0 0 .75rem;
  display: inline-flex; align-items: center; gap: .6rem;
}
.te-kicker::before { content: ""; width: 22px; height: 2px; background: var(--color-primary); }
.te-h2 { font-size: clamp(1.6rem, 1.1rem + 2vw, 2.45rem); font-weight: 700; line-height: 1.15; margin: 0 0 1rem; text-wrap: balance; }
.te-h3 { font-size: 1.2rem; font-weight: 700; margin: 0 0 .5rem; }
.te-lead { font-size: clamp(1.02rem, .98rem + .25vw, 1.15rem); line-height: 1.65; color: var(--color-text-secondary); margin: 0 0 1.25rem; max-width: 62ch; }
.te-muted { color: var(--color-text-light); }
.te-small { font-size: .85rem; }

/* ── Butoane ────────────────────────────────────────────────────────────── */
.te-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  min-height: 44px; padding: .6rem 1.15rem;
  border-radius: var(--border-radius); border: 1.5px solid transparent;
  font-weight: 650; font-size: .95rem; line-height: 1.2; text-decoration: none; white-space: nowrap;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
  cursor: pointer;
}
.te-btn i { font-size: 1.05em; }
.te-btn-lg { min-height: 52px; padding: .8rem 1.4rem; font-size: 1.02rem; }
.te-btn-primary { background: var(--color-primary); color: var(--color-on-primary); box-shadow: 0 6px 18px color-mix(in srgb, var(--color-primary) 30%, transparent); }
.te-btn-primary:hover { background: var(--color-primary-dark); color: var(--color-on-primary); transform: translateY(-1px); }
.te-btn-ghost { background: transparent; color: var(--color-text); border-color: color-mix(in srgb, var(--color-text) 22%, transparent); }
.te-btn-ghost:hover { border-color: var(--color-primary); color: var(--te-link); background: color-mix(in srgb, var(--color-primary) 7%, transparent); }
.te-btn-on-dark { background: rgba(255, 255, 255, .06); color: var(--te-on-band); border-color: rgba(255, 255, 255, .22); }
.te-btn-on-dark:hover { background: rgba(255, 255, 255, .12); color: var(--te-on-band); border-color: rgba(255, 255, 255, .4); }
.te-link-arrow { display: inline-flex; align-items: center; gap: .4rem; font-weight: 650; text-decoration: none; color: var(--te-link); }
.te-link-arrow i { transition: transform .18s ease; }
.te-link-arrow:hover i { transform: translateX(3px); }

/* ── Sectiuni ───────────────────────────────────────────────────────────── */
.te-section { padding: var(--te-sec) 0; position: relative; }
.te-section-alt { background: var(--color-white); border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.te-section-head { max-width: 760px; margin-bottom: clamp(2rem, 4vw, 3rem); }
.te-section-head-center { margin-left: auto; margin-right: auto; text-align: center; }
.te-section-head-center .te-kicker { justify-content: center; }

/* ── Carduri ────────────────────────────────────────────────────────────── */
.te-cards { display: grid; gap: clamp(14px, 2vw, 22px); }
.te-cards-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.te-cards-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.te-card {
  background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--border-radius-lg);
  padding: clamp(1.25rem, 2.2vw, 1.75rem); position: relative; overflow: hidden;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.te-card::after { content: ""; position: absolute; left: 0; top: 0; height: 3px; width: 0; background: var(--color-primary); transition: width .3s ease; }
.te-card:hover { border-color: color-mix(in srgb, var(--color-primary) 45%, var(--color-border)); transform: translateY(-2px); box-shadow: var(--te-shadow); }
.te-card:hover::after { width: 100%; }
.te-card h3 { font-size: 1.12rem; font-weight: 700; margin: 1rem 0 .5rem; }
.te-card p { margin: 0; color: var(--color-text-secondary); line-height: 1.6; }
.te-card-ico {
  display: inline-grid; place-items: center; width: 46px; height: 46px; flex: 0 0 46px;
  border-radius: var(--border-radius); background: var(--color-primary-lightest); color: var(--te-link); font-size: 1.35rem;
}
html[data-te-theme="dark"] .te-card-ico { color: var(--color-primary); }

/* ── Liste cu bife ──────────────────────────────────────────────────────── */
.te-checks { list-style: none; padding: 0; margin: 0 0 1.75rem; display: grid; gap: .7rem; }
.te-checks li { display: flex; gap: .7rem; align-items: flex-start; line-height: 1.5; }
.te-checks i { flex: 0 0 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; margin-top: 1px;
  background: color-mix(in srgb, var(--color-success) 15%, transparent); color: var(--color-success); font-size: .8rem; }
.te-mini-list { list-style: none; padding: 0; margin: 1rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.te-mini-list li { font-size: .85rem; padding: .35rem .7rem; border-radius: 999px; background: var(--te-surface-2); color: var(--color-text-secondary); }

/* ── Figuri ─────────────────────────────────────────────────────────────── */
.te-figure { margin: 0; }
.te-figure img { display: block; width: 100%; height: auto; }
.te-figure figcaption { font-size: .85rem; color: var(--color-text-light); margin-top: .75rem; }
.te-figure-light { background: var(--te-paper-white); border: 1px solid var(--color-border); border-radius: var(--border-radius-lg); padding: clamp(10px, 2vw, 22px); }
.te-figure-light figcaption { color: var(--te-on-white-muted); }
.te-figure-shot img { border-radius: var(--border-radius-lg); border: 1px solid var(--color-border); box-shadow: var(--te-shadow-lg); }

/* ── Pastile ────────────────────────────────────────────────────────────── */
.te-pill { display: inline-block; font-family: var(--te-mono); font-size: .72rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  padding: .3rem .65rem; border-radius: 999px; background: color-mix(in srgb, var(--color-success) 14%, transparent); color: var(--color-success); }
.te-pill-next { background: color-mix(in srgb, var(--color-primary) 14%, transparent); color: var(--te-link); }
html[data-te-theme="dark"] .te-pill-next { color: var(--color-primary); }

/* ── Spinner pentru butoane ─────────────────────────────────────────────── */
.te-spin { display: inline-block; animation: te-spin 1s linear infinite; }
@keyframes te-spin { to { transform: rotate(360deg); } }

@media (max-width: 991.98px) {
  .te-cards-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
  .te-cards-3, .te-cards-2 { grid-template-columns: 1fr; }
  .te-btn-lg { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .te-card, .te-btn, .te-card::after, .te-link-arrow i { transition: none; }
  .te-spin { animation: none; }
}


/* ══════════════════════════════════════════════════════════════
   20-antet.css
   ══════════════════════════════════════════════════════════════ */
/**
 * Trasabilitate Explozibil — 20 ANTET: bara de sus, comutatorul de tema, meniul mobil.
 *
 * Ultima modificare: 2026-10-22 20:59
 * Modificari:
 *   2026-10-22 20:59 — Meniul din antet (și cel mobil) și „Cere o ofertă” în Saira 600, fontul siglei.
 *   2026-10-22 20:29 — Sigla finală (SVG orizontal, câte o variantă pe temă); scoase stilurile textului de lângă sigla veche.
 *   2026-10-22 12:06 — Pe telefon numele din siglă rămâne pentru cititoarele de ecran (ascuns vizual, nu display:none).
 *   2026-10-22 11:28 — Creat.
 */

.te-nav.site-navbar {
  background: color-mix(in srgb, var(--color-white) 92%, transparent);
  -webkit-backdrop-filter: saturate(1.4) blur(10px);
  backdrop-filter: saturate(1.4) blur(10px);
  border-bottom: 1px solid var(--color-border);
}
.te-nav .navbar-inner { max-width: 1320px; padding: .7rem var(--te-gut); gap: 1.25rem; }
.te-brand { display: inline-flex; align-items: center; gap: .65rem; text-decoration: none; color: var(--color-text); }
/* Sigla finala: doua SVG-uri, unul pe tema. data-te-theme se pune inaintea antetului ⇒ fara palpaire. */
.te-nav .te-brand .te-logo, .te-brand-footer .te-logo { display: block; width: auto; max-height: none; flex: 0 0 auto; }
.te-nav .te-brand .te-logo { height: 46px; }
.te-nav .te-brand .te-logo--dark { display: none; }
html[data-te-theme="dark"] .te-nav .te-brand .te-logo--light { display: none; }
html[data-te-theme="dark"] .te-nav .te-brand .te-logo--dark { display: block; }
.te-brand:hover { color: var(--color-text); }

.te-nav .navbar-menu { justify-content: center; }
.te-nav { --te-font-menu: 'Saira', 'Barlow', system-ui, sans-serif; }
.te-nav .nav-link { font-family: var(--te-font-menu); font-weight: 600; font-size: .95rem; letter-spacing: .005em; padding: .55rem .8rem; color: var(--color-text); }
/* „Cere o ofertă” din antet (și din meniul mobil), în fontul siglei */
.te-nav .te-btn-primary { font-family: var(--te-font-menu); font-weight: 600; letter-spacing: .01em; }
/* meniul mobil poate fi mutat de nucleu direct în <body> (iOS) ⇒ fără .te-nav în selector */
#navbarMenu .nav-link, #navbarMenu .te-btn-primary { font-family: 'Saira', 'Barlow', system-ui, sans-serif; }
#navbarMenu .nav-link { font-weight: 600; }
.te-nav .nav-link .nav-icon { display: none; }
.te-nav .nav-link:hover { background: color-mix(in srgb, var(--color-primary) 8%, transparent); color: var(--te-link); }
.te-nav .nav-link.active { color: var(--te-link); }
html[data-te-theme="dark"] .te-nav .nav-link:hover,
html[data-te-theme="dark"] .te-nav .nav-link.active { color: var(--color-primary); }
.te-nav .nav-link.active::after { left: .8rem; right: .8rem; height: 2px; bottom: 2px; }

.te-nav-actions { display: flex; align-items: center; gap: .55rem; }
.te-nav-actions .te-btn { min-height: 40px; padding: .45rem .9rem; font-size: .9rem; }
.te-nav-actions .te-btn-primary { box-shadow: none; }

.te-theme-btn {
  width: 40px; height: 40px; display: inline-grid; place-items: center; flex: 0 0 40px;
  border-radius: var(--border-radius); border: 1.5px solid color-mix(in srgb, var(--color-text) 18%, transparent);
  background: transparent; color: var(--color-text); cursor: pointer; font-size: 1.1rem;
  transition: border-color .18s ease, color .18s ease, background-color .18s ease;
}
.te-theme-btn:hover { border-color: var(--color-primary); color: var(--color-primary); }
.te-theme-btn .te-ico-sun { display: none; }
html[data-te-theme="dark"] .te-theme-btn .te-ico-sun { display: inline; }
html[data-te-theme="dark"] .te-theme-btn .te-ico-moon { display: none; }

.te-menu-extra { display: none; }

@media (max-width: 1199.98px) {
  .te-nav-account span { display: none; }
  .te-nav-account { width: 40px; padding: 0 !important; }
  .te-nav .nav-link { padding: .55rem .5rem; font-size: .9rem; }   /* Saira e mai lată decât Plex: fără depășire la 1024 */
  .te-nav .navbar-inner { gap: .9rem; }
}

@media (max-width: 991.98px) {
  .te-nav .navbar-inner { padding: .55rem var(--te-gut); gap: .5rem; }
  /* nucleul (mobile-wow.css) forteaza sigla la 24-28px cu !important — sub minimul de 32px al siglei */
  .te-nav .te-brand .te-logo { height: 38px !important; }
  .te-nav-cta, .te-nav-account { display: none !important; }
  .te-nav-actions { margin-left: auto; }
  .te-nav .navbar-menu-btn {
    width: 42px; height: 42px; border-radius: var(--border-radius);
    border: 1.5px solid color-mix(in srgb, var(--color-text) 18%, transparent);
    background: transparent; color: var(--color-text); font-size: 1.25rem;
  }
  .te-nav .navbar-menu { background: var(--color-bg); padding: 5rem var(--te-gut) 2rem; }
  .te-nav .navbar-menu .nav-link { font-size: 1.15rem; font-weight: 600; padding: 1rem 0; border-bottom: 1px solid var(--color-border); }
  .te-nav .navbar-menu .nav-link .nav-icon { display: inline; color: var(--color-primary); margin-right: .5rem; }
  .te-menu-extra { display: grid; gap: .75rem; margin-top: 1.75rem; width: 100%; }
  .te-menu-extra .te-btn { width: 100%; min-height: 50px; }
  .te-menu-call { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; font-weight: 600; color: var(--color-text); text-decoration: none; padding: .5rem; }
}
@media (max-width: 359.98px) {
  .te-nav .te-brand .te-logo { height: 34px !important; }
}


/* ══════════════════════════════════════════════════════════════
   30-acasa.css
   ══════════════════════════════════════════════════════════════ */
/**
 * Trasabilitate Explozibil — 30 PRIMA PAGINA: erou, cifre, pasi, lege, portal, terminale, clienti.
 *
 * Ultima modificare: 2026-10-22 11:42
 * Modificari:
 *   2026-10-22 11:42 — Eroul lat (terminale Android) + sectiunea «De la Windows Mobile la Android».
 *   2026-10-22 11:28 — Creat.
 */

/* ── Banda grafit comuna (erou + titlul paginilor) ──────────────────────── */
.te-hero, .te-pagehead { position: relative; background: var(--te-band); color: var(--te-on-band); overflow: hidden; isolation: isolate; }
.te-hero-grid-bg {
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image:
    linear-gradient(var(--te-band-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--te-band-line) 1px, transparent 1px),
    radial-gradient(1200px 500px at 85% 20%, color-mix(in srgb, var(--te-hot) 16%, transparent), transparent 60%),
    linear-gradient(180deg, var(--te-band), var(--te-band-2));
  background-size: 44px 44px, 44px 44px, 100% 100%, 100% 100%;
}
.te-hero::before, .te-pagehead::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; z-index: 1;
  background: repeating-linear-gradient(-45deg, var(--te-hot) 0 14px, transparent 14px 28px);
  opacity: .9;
}

/* ── Erou ───────────────────────────────────────────────────────────────── */
.te-hero { padding: clamp(48px, 7vw, 96px) 0 clamp(40px, 6vw, 72px); }
.te-hero-in { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(24px, 5vw, 64px); align-items: center; }
.te-badge {
  display: inline-flex; align-items: center; gap: .5rem; margin: 0 0 1.25rem;
  font-family: var(--te-mono); font-size: .78rem; font-weight: 600; letter-spacing: .06em;
  color: var(--te-ok); padding: .4rem .75rem; border: 1px solid color-mix(in srgb, var(--te-ok) 40%, transparent);
  border-radius: 999px; background: color-mix(in srgb, var(--te-ok) 10%, transparent);
}
.te-hero-title {
  color: var(--te-on-band); font-size: clamp(2.05rem, 1.2rem + 3.6vw, 3.7rem); line-height: 1.04; font-weight: 700;
  letter-spacing: -.025em; margin: 0 0 1.25rem; text-wrap: balance;
}
.te-hero-title span { color: var(--te-hot); }
.te-hero-lead { color: var(--te-on-band-2); font-size: clamp(1.03rem, .98rem + .35vw, 1.22rem); line-height: 1.65; max-width: 60ch; margin: 0 0 2rem; }
.te-hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-bottom: 2rem; }
.te-hero .te-btn-primary { background: var(--te-hot); color: var(--te-band); box-shadow: 0 10px 30px color-mix(in srgb, var(--te-hot) 35%, transparent); }
.te-hero .te-btn-primary:hover { background: color-mix(in srgb, var(--te-hot) 85%, white); color: var(--te-band); }
.te-hero-chips { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem .9rem; }
.te-hero-chips li { display: inline-flex; align-items: center; gap: .45rem; font-size: .9rem; color: var(--te-on-band-2); }
.te-hero-chips i { color: var(--te-hot); font-size: 1.05rem; }

.te-hero-visual { position: relative; display: flex; justify-content: center; min-height: 320px; }
.te-hero-visual img { position: relative; z-index: 1; width: min(100%, 330px); height: auto; filter: drop-shadow(0 30px 40px rgba(0, 0, 0, .45)); }
.te-hero-glow { position: absolute; inset: 10% 5%; background: radial-gradient(closest-side, color-mix(in srgb, var(--te-hot) 38%, transparent), transparent); filter: blur(20px); }
.te-hero-tag {
  position: absolute; z-index: 2; display: inline-flex; align-items: center; gap: .45rem;
  padding: .55rem .85rem; border-radius: var(--border-radius); font-size: .85rem; font-weight: 600;
  background: color-mix(in srgb, var(--te-band-2) 82%, transparent); color: var(--te-on-band);
  border: 1px solid rgba(255, 255, 255, .12); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .3);
}
.te-hero-tag-a { top: 18%; left: 0; }
.te-hero-tag-a i { color: var(--te-ok); }
.te-hero-tag-b { bottom: 16%; right: 0; }
.te-hero-tag-b i { color: var(--te-hot); }

/* ── Cifre ──────────────────────────────────────────────────────────────── */
.te-stats { background: var(--color-white); border-bottom: 1px solid var(--color-border); }
.te-stats-row { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.te-stats-row li { padding: clamp(18px, 3vw, 30px) clamp(10px, 2vw, 24px); border-left: 1px solid var(--color-border); display: flex; flex-direction: column; gap: .3rem; }
.te-stats-row li:first-child { border-left: 0; padding-left: 0; }
.te-stats-row strong { font-size: clamp(1.45rem, 1.1rem + 1.3vw, 2.1rem); font-weight: 700; letter-spacing: -.02em; color: var(--color-text); line-height: 1.1; }
.te-stats-row span { font-size: .9rem; color: var(--color-text-secondary); line-height: 1.4; }

/* ── Pasi ───────────────────────────────────────────────────────────────── */
.te-flow-wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.te-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; counter-reset: s; }
.te-steps li { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 1rem; padding: 1.1rem 0; position: relative; }
.te-steps li:not(:last-child)::after { content: ""; position: absolute; left: 27px; top: 64px; bottom: -6px; width: 2px;
  background: repeating-linear-gradient(180deg, var(--color-border) 0 6px, transparent 6px 10px); }
.te-step-n { width: 56px; height: 56px; display: grid; place-items: center; border-radius: var(--border-radius);
  font-family: var(--te-mono); font-weight: 600; font-size: 1.05rem; color: var(--color-on-primary); background: var(--color-primary); }
.te-steps h3 { font-size: 1.12rem; margin: .2rem 0 .35rem; }
.te-steps p { margin: 0; color: var(--color-text-secondary); line-height: 1.6; }

/* ── Legea ──────────────────────────────────────────────────────────────── */
.te-law-in { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(24px, 5vw, 64px); align-items: start; }
.te-law-head p:not(.te-kicker) { color: var(--color-text-secondary); line-height: 1.65; margin-bottom: 1.25rem; }
.te-law-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.te-law-list li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 1rem; align-items: start;
  padding: 1.1rem 1.25rem; background: var(--color-white); border: 1px solid var(--color-border);
  border-left: 4px solid var(--color-primary); border-radius: var(--border-radius); }
.te-law-list span { font-family: var(--te-mono); font-weight: 600; font-size: 1.4rem; color: var(--te-link); line-height: 1.2; }
html[data-te-theme="dark"] .te-law-list span { color: var(--color-primary); }
.te-law-list p { margin: 0; line-height: 1.6; color: var(--color-text-secondary); }
.te-law-list strong { color: var(--color-text); }

/* ── Portal / impartire text–imagine ───────────────────────────────────── */
.te-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(24px, 5vw, 64px); align-items: center; }
.te-split-rev { grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); }
.te-figure-device img { filter: drop-shadow(0 24px 40px rgba(16, 24, 40, .18)); }
html[data-te-theme="dark"] .te-figure-device img { filter: drop-shadow(0 24px 40px rgba(0, 0, 0, .5)); }

/* ── Terminale ──────────────────────────────────────────────────────────── */
.te-devices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(14px, 2vw, 22px); }
.te-device { border-radius: var(--border-radius-lg); padding: clamp(1.4rem, 3vw, 2.2rem); border: 1px solid var(--color-border); background: var(--color-white); }
.te-device h3 { font-size: 1.3rem; margin: .9rem 0 .6rem; }
.te-device p { color: var(--color-text-secondary); line-height: 1.65; margin: 0 0 .75rem; }
.te-device-next { background: var(--te-band); border-color: transparent; color: var(--te-on-band); position: relative; overflow: hidden; }
.te-device-next::after { content: ""; position: absolute; right: -60px; bottom: -60px; width: 220px; height: 220px; border-radius: 50%;
  background: radial-gradient(closest-side, color-mix(in srgb, var(--te-hot) 30%, transparent), transparent); }
.te-device-next h3 { color: var(--te-on-band); }
.te-device-next p { color: var(--te-on-band-2); }
.te-device-next .te-pill-next { background: color-mix(in srgb, var(--te-hot) 18%, transparent); color: var(--te-hot); }
.te-device-next .te-link-arrow { color: var(--te-hot); position: relative; z-index: 1; }

/* ── Clienti ────────────────────────────────────────────────────────────── */
.te-logos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(10px, 2vw, 18px); }
.te-logos li { background: var(--te-paper-white); border: 1px solid var(--color-border); border-radius: var(--border-radius-lg);
  height: 120px; display: grid; place-items: center; padding: 16px 20px; }
.te-logos img { max-width: 100%; max-height: 78px; width: auto; height: auto; object-fit: contain; filter: grayscale(1); opacity: .8; transition: filter .25s ease, opacity .25s ease; }
.te-logos li:hover img { filter: none; opacity: 1; }

@media (max-width: 991.98px) {
  .te-hero-in, .te-flow-wrap, .te-law-in, .te-split, .te-split-rev { grid-template-columns: minmax(0, 1fr); }
  .te-hero-visual { min-height: 0; order: 2; }
  .te-hero-visual img { width: min(62vw, 260px); }
  .te-stats-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .te-stats-row li:nth-child(3) { border-left: 0; padding-left: 0; }
  .te-stats-row li:nth-child(n+3) { border-top: 1px solid var(--color-border); }
  .te-split-rev .te-figure { order: 2; }
  .te-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
  .te-hero-tag { font-size: .78rem; padding: .45rem .65rem; }
  .te-hero-tag-a { left: 0; top: 8%; }
  .te-hero-tag-b { right: 0; bottom: 10%; }
  .te-devices { grid-template-columns: 1fr; }
  .te-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .te-logos li { height: 100px; }
  .te-steps li { grid-template-columns: 46px minmax(0, 1fr); }
  .te-step-n { width: 46px; height: 46px; font-size: .95rem; }
  .te-steps li:not(:last-child)::after { left: 22px; top: 56px; }
}
@media (prefers-reduced-motion: reduce) {
  .te-logos img { transition: none; }
}

/* ── Eroul cu imaginea lata (doua terminale Android) ───────────────────── */
.te-hero-visual-wide img { width: min(100%, 560px); filter: drop-shadow(0 30px 50px rgba(0, 0, 0, .35)); }
.te-hero-visual-wide .te-hero-tag-a { top: 4%; left: -2%; }
.te-hero-visual-wide .te-hero-tag-b { bottom: 6%; right: -2%; }

/* ── „De la Windows Mobile la Android”: cum a fost → cum va fi ─────────── */
.te-evolve { display: grid; grid-template-columns: minmax(0, .85fr) auto minmax(0, 1.15fr); gap: clamp(14px, 2.4vw, 28px); align-items: stretch; }
.te-evolve-card { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 1.25rem; align-items: center;
  padding: clamp(1.25rem, 2.5vw, 1.75rem); border-radius: var(--border-radius-lg); border: 1px solid var(--color-border); background: var(--color-white); }
.te-evolve-media { margin: 0; display: grid; place-items: center; }
.te-evolve-media img { width: 100%; height: auto; max-height: 300px; object-fit: contain; }
.te-evolve-now .te-evolve-media img { max-width: 150px; filter: drop-shadow(0 14px 22px rgba(16, 24, 40, .22)); }
.te-evolve-body h3 { font-size: 1.2rem; margin: .7rem 0 .5rem; }
.te-evolve-body p { color: var(--color-text-secondary); line-height: 1.6; margin: 0 0 .5rem; }
.te-evolve-now { opacity: .96; }
.te-evolve-next { background: var(--te-band); border-color: transparent; color: var(--te-on-band); grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); position: relative; overflow: hidden; }
.te-evolve-next::after { content: ""; position: absolute; left: -40px; top: -40px; width: 260px; height: 260px; border-radius: 50%; pointer-events: none;
  background: radial-gradient(closest-side, color-mix(in srgb, var(--te-hot) 26%, transparent), transparent); }
.te-evolve-next > * { position: relative; z-index: 1; }
.te-evolve-next h3 { color: var(--te-on-band); }
.te-evolve-next p { color: var(--te-on-band-2); }
.te-evolve-next .te-mini-list li { background: rgba(255, 255, 255, .08); color: var(--te-on-band); }
.te-evolve-next .te-pill-next { background: color-mix(in srgb, var(--te-hot) 18%, transparent); color: var(--te-hot); }
.te-evolve-next .te-link-arrow { color: var(--te-hot); margin-top: .5rem; }
.te-evolve-next .te-evolve-media img { max-height: 320px; filter: drop-shadow(0 18px 30px rgba(0, 0, 0, .45)); }
.te-evolve-arrow { display: grid; place-items: center; }
.te-evolve-arrow i { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; font-size: 1.3rem;
  background: var(--color-primary); color: var(--color-on-primary); box-shadow: 0 8px 22px color-mix(in srgb, var(--color-primary) 35%, transparent); }

@media (max-width: 1199.98px) {
  .te-evolve-card, .te-evolve-next { grid-template-columns: minmax(0, 1fr); }
  .te-evolve-media img { max-height: 260px; }
}
@media (max-width: 991.98px) {
  .te-evolve { grid-template-columns: minmax(0, 1fr); }
  .te-evolve-arrow i { transform: rotate(90deg); }
  .te-hero-visual-wide img { width: min(100%, 520px); }
}
@media (max-width: 575.98px) {
  .te-hero-visual-wide .te-hero-tag-a { left: 0; top: 0; }
  .te-hero-visual-wide .te-hero-tag-b { right: 0; bottom: 0; }
}


/* ══════════════════════════════════════════════════════════════
   40-pagini.css
   ══════════════════════════════════════════════════════════════ */
/**
 * Trasabilitate Explozibil — 40 PAGINI: banda de titlu, continut, galerie, oferta, contact,
 * pagini legale, blog (clasele nucleului, recolorate).
 *
 * Ultima modificare: 2026-10-22 11:28
 * Modificari:
 *   2026-10-22 11:28 — Creat.
 */

/* ── Banda de titlu ─────────────────────────────────────────────────────── */
.te-pagehead { padding: clamp(36px, 6vw, 72px) 0 clamp(32px, 5vw, 60px); }
.te-pagehead-sm { padding-bottom: clamp(26px, 4vw, 44px); }
.te-pagehead-title { color: var(--te-on-band); font-size: clamp(1.85rem, 1.2rem + 2.6vw, 3rem); font-weight: 700; line-height: 1.1; margin: .5rem 0 .9rem; max-width: 22ch; text-wrap: balance; }
.te-pagehead-sub { color: var(--te-on-band-2); font-size: clamp(1rem, .96rem + .3vw, 1.15rem); line-height: 1.6; max-width: 64ch; margin: 0; }
.te-pagehead .breadcrumb, .te-pagehead nav ol { margin: 0; padding: 0; background: transparent; }
.te-pagehead .breadcrumb-item, .te-pagehead .breadcrumb-item a, .te-pagehead nav a, .te-pagehead nav li { color: var(--te-on-band-2); font-size: .85rem; text-decoration: none; }
.te-pagehead nav a:hover { color: var(--te-hot); }
.te-pagehead .breadcrumb-item.active, .te-pagehead nav li[aria-current] { color: var(--te-on-band); }
.te-pagehead .breadcrumb-item + .breadcrumb-item::before { color: var(--te-on-band-2); }

/* ── Text de pagina ─────────────────────────────────────────────────────── */
.te-prose { font-size: 1.04rem; line-height: 1.75; color: var(--color-text-secondary); max-width: 78ch; }
.te-prose-narrow { max-width: 760px; margin: 0 auto; }
.te-prose h2 { font-size: clamp(1.35rem, 1.1rem + 1vw, 1.75rem); margin: 2.2rem 0 .8rem; color: var(--color-text); }
.te-prose h3 { font-size: 1.15rem; margin: 1.6rem 0 .6rem; color: var(--color-text); }
.te-prose h2:first-child, .te-prose h3:first-child { margin-top: 0; }
.te-prose p { margin: 0 0 1rem; }
.te-prose ul, .te-prose ol { padding-left: 1.3rem; margin: 0 0 1.2rem; }
.te-prose li { margin-bottom: .35rem; }
.te-prose li::marker { color: var(--color-primary); }
.te-prose strong { color: var(--color-text); }
.te-prose table { width: 100%; border-collapse: collapse; margin: 1rem 0 1.5rem; font-size: .95rem; }
.te-prose th, .te-prose td { border: 1px solid var(--color-border); padding: .6rem .75rem; text-align: left; vertical-align: top; }
.te-prose th { background: var(--te-surface-2); color: var(--color-text); }
.te-updated { margin-top: 2rem; font-size: .88rem; }

.te-page .te-section:first-child { padding-top: clamp(40px, 6vw, 72px); }
.te-two { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(24px, 5vw, 64px); align-items: start; }
.te-note {
  display: flex; gap: .9rem; align-items: flex-start; padding: 1.1rem 1.25rem; margin: 1.5rem 0;
  border-radius: var(--border-radius); background: color-mix(in srgb, var(--color-primary) 8%, var(--color-white));
  border: 1px solid color-mix(in srgb, var(--color-primary) 25%, var(--color-border)); color: var(--color-text-secondary); line-height: 1.6;
}
.te-note i { color: var(--te-link); font-size: 1.3rem; margin-top: .1rem; }
html[data-te-theme="dark"] .te-note i { color: var(--color-primary); }
.te-note p { margin: 0; }

/* ── Ierarhia ambalarii (palet → cutie → punga) ─────────────────────────── */
.te-pack { list-style: none; padding: 0; margin: 1.25rem 0; display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; }
.te-pack li { display: inline-flex; align-items: center; gap: .55rem; padding: .6rem .9rem; border-radius: var(--border-radius);
  background: var(--color-white); border: 1px solid var(--color-border); font-weight: 600; color: var(--color-text); }
.te-pack li code { font-family: var(--te-mono); font-size: .85rem; padding: .15rem .45rem; border-radius: 4px; background: var(--te-surface-2); color: var(--te-link); }
html[data-te-theme="dark"] .te-pack li code { color: var(--color-primary); }
.te-pack .te-pack-arrow { background: transparent; border: 0; padding: 0; color: var(--color-text-light); }

/* ── Galerie de capturi / fotografii ────────────────────────────────────── */
.te-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: clamp(12px, 2vw, 20px); margin: 0; padding: 0; list-style: none; }
.te-gallery figure { margin: 0; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--border-radius-lg); overflow: hidden; }
.te-gallery img { display: block; width: 100%; height: 220px; object-fit: cover; object-position: top center; background: var(--te-paper-white); }
.te-gallery figcaption { padding: .75rem 1rem; font-size: .9rem; color: var(--color-text-secondary); border-top: 1px solid var(--color-border); }
.te-gallery-photos img { height: 280px; object-position: center; }

/* ── Oferta / abonament ─────────────────────────────────────────────────── */
.te-offer { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(14px, 2vw, 22px); }
.te-offer-card { background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--border-radius-lg); padding: clamp(1.4rem, 3vw, 2rem); display: flex; flex-direction: column; }
.te-offer-card h3 { font-size: 1.3rem; margin: .75rem 0 1rem; }
.te-offer-card .te-checks { margin-bottom: 1.25rem; }
.te-offer-card .te-offer-foot { margin-top: auto; padding-top: 1rem; border-top: 1px dashed var(--color-border); color: var(--color-text-secondary); font-size: .95rem; }
.te-offer-card-hl { border-color: color-mix(in srgb, var(--color-primary) 55%, var(--color-border)); box-shadow: var(--te-shadow); }
.te-offer-media { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 1.25rem; align-items: center; }
.te-offer-media img { width: 120px; height: auto; border-radius: var(--border-radius); }

/* ── Contact ────────────────────────────────────────────────────────────── */
.te-contact-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: clamp(20px, 4vw, 40px); align-items: start; }
.te-contact-form-card, .te-contact-box { background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--border-radius-lg); padding: clamp(1.25rem, 3vw, 2rem); }
.te-contact-side { display: grid; gap: clamp(14px, 2vw, 20px); }
.te-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.1rem; margin-top: 1.25rem; }
.te-field-full { grid-column: 1 / -1; }
.te-field label { display: block; font-weight: 600; font-size: .9rem; margin-bottom: .4rem; color: var(--color-text); }
.te-field .req { color: var(--te-link); }
.te-field .form-control, .te-field .form-select {
  background-color: var(--color-bg); color: var(--color-text); border: 1.5px solid color-mix(in srgb, var(--color-text) 28%, transparent);
  border-radius: var(--border-radius); min-height: 48px; font-size: 1rem;
}
.te-field textarea.form-control { min-height: 150px; }
.te-field .form-control:focus, .te-field .form-select:focus { border-color: var(--color-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 22%, transparent); background-color: var(--color-white); }
.te-field .form-control.is-invalid { border-color: var(--color-danger); }
.te-form-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-top: 1.5rem; }
.te-form-foot p { margin: 0; flex: 1 1 240px; }
.te-hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.te-contact-list { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: 1rem; }
.te-contact-list li { display: flex; gap: .85rem; align-items: center; }
.te-contact-list small { display: block; font-size: .78rem; color: var(--color-text-light); text-transform: uppercase; letter-spacing: .06em; font-family: var(--te-mono); }
.te-contact-list a { font-weight: 650; font-size: 1.08rem; color: var(--color-text); text-decoration: none; word-break: break-word; }
.te-contact-list a:hover { color: var(--te-link); }
.te-company dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .4rem 1rem; margin: .75rem 0 0; }
.te-company dt { color: var(--color-text-light); font-weight: 500; }
.te-company dd { margin: 0; color: var(--color-text); font-weight: 600; }
.te-map { height: 210px; border-radius: var(--border-radius); overflow: hidden; margin-top: 1.1rem; border: 1px solid var(--color-border); position: relative; z-index: 1; }
html[data-te-theme="dark"] .te-map .leaflet-tile-pane { filter: invert(1) hue-rotate(180deg) brightness(.92) contrast(.9); }
.te-contact-note p { margin: 0; display: flex; gap: .7rem; color: var(--color-text-secondary); line-height: 1.6; font-size: .95rem; }
.te-contact-note i { color: var(--color-success); font-size: 1.25rem; }

/* ── Blog (clasele nucleului) ───────────────────────────────────────────── */
.blog-hero { background: var(--te-band) !important; color: var(--te-on-band); position: relative; }
.blog-hero::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px;
  background: repeating-linear-gradient(-45deg, var(--te-hot) 0 14px, transparent 14px 28px); }
.blog-hero .blog-hero-title, .blog-hero h1 { color: var(--te-on-band) !important; }
.blog-hero .blog-hero-subtitle, .blog-hero p { color: var(--te-on-band-2) !important; }
.blog-hero .breadcrumb a, .blog-hero .breadcrumb-item, .blog-hero nav a { color: var(--te-on-band-2) !important; }
.blog-card { background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--border-radius-lg); }
.blog-card-title a { color: var(--color-text); }
.blog-card-title a:hover { color: var(--te-link); }
.blog-article-content, .blog-content { font-size: 1.04rem; line-height: 1.75; }
.blog-article-content h2, .blog-content h2 { font-size: 1.35rem; margin-top: 2rem; }
.blog-article-content h3, .blog-content h3 { font-size: 1.08rem; margin-top: 1.4rem; }

@media (max-width: 991.98px) {
  .te-two, .te-contact-grid { grid-template-columns: minmax(0, 1fr); }
  .te-offer { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
  .te-form-grid { grid-template-columns: 1fr; }
  .te-gallery { grid-template-columns: 1fr; }
  .te-offer-media { grid-template-columns: 1fr; }
}

/* ── Liste pe doua coloane + banda de indemn din paginile de continut ──── */
.te-checks-2col { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2rem; }
.te-cta-band {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.25rem 2rem;
  padding: clamp(1.5rem, 4vw, 2.5rem); border-radius: var(--border-radius-lg); background: var(--te-band); color: var(--te-on-band-2);
  position: relative; overflow: hidden;
}
.te-cta-band::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 5px; background: repeating-linear-gradient(-45deg, var(--te-hot) 0 12px, transparent 12px 24px); }
.te-cta-band h2 { color: var(--te-on-band); font-size: clamp(1.3rem, 1rem + 1.2vw, 1.8rem); margin: 0 0 .4rem; }
.te-cta-band p { margin: 0; max-width: 56ch; line-height: 1.6; }
.te-cta-band a:not(.te-btn) { color: var(--te-hot); font-weight: 650; }
.te-cta-band .te-btn-primary { background: var(--te-hot); color: var(--te-band); }
.te-cta-band .te-btn-primary:hover { background: color-mix(in srgb, var(--te-hot) 85%, white); color: var(--te-band); }
.te-cta-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
@media (max-width: 767.98px) {
  .te-checks-2col { grid-template-columns: 1fr; }
}

/* Pasii pe grila (pagina „Prezentare soft"): fara linia de legatura verticala */
.te-steps-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 2vw, 22px); }
.te-steps-grid li { grid-template-columns: minmax(0, 1fr); gap: .9rem; padding: 1.4rem; background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--border-radius-lg); }
.te-steps.te-steps-grid li:not(:last-child)::after { display: none; }
@media (max-width: 991.98px) { .te-steps-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .te-steps-grid { grid-template-columns: 1fr; } }


/* ══════════════════════════════════════════════════════════════
   50-butoane-fitil-schema.css
   ══════════════════════════════════════════════════════════════ */
/**
 * Trasabilitate Explozibil — 50 BUTOANE PORTOCALII, „ÎNAPOI SUS” CU FITIL, SCHEMA, ACCESIBILITATE.
 *
 * Butoanele principale: gradient portocaliu cu text și iconiță ALBE, normal și la hover (în ambele teme).
 * Fundalul e portocaliul mai închis (#F26A1F → #D9480F), ca albul să rămână lizibil (3,1–4,3:1, text bold).
 * Butonul „Înapoi sus” al nucleului primește fitilul care arde (theme/te-fuse.js) — tot un singur buton.
 *
 * Ultima modificare: 2026-10-22 13:23
 * Modificari:
 *   2026-10-22 13:23 — Și butoanele nucleului rămase cu text închis pe portocaliu (Trimite cererea pe /stergere-cont,
 *                       „Sari la conținut”) primesc gradientul cu text și iconiță albe + hover-ul comun.
 *   2026-10-22 12:06 — Creat: butoane albe pe portocaliu, fitilul de la „Înapoi sus”, schema nouă,
 *                       corecturi de contrast (banner cookie, linkuri în text, eticheta „în curând”).
 */

:root {
  --te-cta-1:    #F26A1F;
  --te-cta-2:    #D9480F;
  --te-cta-1h:   #FA7A2E;
  --te-cta-2h:   #E4520F;
  --te-on-cta:   #FFFFFF;
  --te-cta-glow: rgba(242, 106, 31, .42);
  --te-rope:     #A8652F;
  --te-rope-hi:  #E9B27A;
}

/* ── Butoanele principale (erou, CTA, antet, meniul mobil, formular, blog, cookie) ───────────── */
.te-btn-primary,
.te-hero .te-btn-primary,
.te-cta-band .te-btn-primary,
.te-nav-actions .te-btn-primary,
.te-menu-extra .te-btn-primary,
body .btn-primary,
#cookie-banner #cookie-accept,
.blog-newsletter-btn,
.blog-comment-submit-btn,
.blog-comments-cta-btn,
.adr-form .adr-submit,
.te-skip {
  background: linear-gradient(135deg, var(--te-cta-1), var(--te-cta-2));
  background-color: var(--te-cta-2);
  color: var(--te-on-cta);
  border-color: transparent;
  text-shadow: 0 1px 1px rgba(90, 30, 0, .28);
  box-shadow: 0 6px 18px var(--te-cta-glow), inset 0 1px 0 rgba(255, 255, 255, .18);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease, background .18s ease;
}
.te-btn-primary i, body .btn-primary i, #cookie-banner #cookie-accept i,
.adr-form .adr-submit i, .adr-form .adr-submit svg { color: var(--te-on-cta); }
.adr-form .adr-submit:disabled { opacity: .65; transform: none; cursor: not-allowed; }
.te-skip:focus { transform: none; }

.te-btn-primary:hover, .te-btn-primary:focus-visible,
.te-hero .te-btn-primary:hover, .te-cta-band .te-btn-primary:hover,
.te-nav-actions .te-btn-primary:hover, .te-menu-extra .te-btn-primary:hover,
body .btn-primary:hover, body .btn-primary:focus-visible,
#cookie-banner #cookie-accept:hover,
.blog-newsletter-btn:hover, .blog-comment-submit-btn:hover, .blog-comments-cta-btn:hover,
.adr-form .adr-submit:hover, .adr-form .adr-submit:focus-visible, .te-skip:focus {
  background: linear-gradient(135deg, var(--te-cta-1h), var(--te-cta-2h));
  background-color: var(--te-cta-2h);
  color: var(--te-on-cta);
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(242, 106, 31, .5), 0 0 22px rgba(255, 138, 76, .35), inset 0 1px 0 rgba(255, 255, 255, .22);
}
.te-btn-primary:active, body .btn-primary:active { transform: translateY(0); box-shadow: 0 4px 12px var(--te-cta-glow); }
.te-nav-actions .te-btn-primary { box-shadow: 0 4px 12px rgba(242, 106, 31, .3), inset 0 1px 0 rgba(255, 255, 255, .18); }

/* Butonul secundar pe banda grafit (ex. telefonul din erou): text alb, la hover contur portocaliu */
.te-btn-on-dark { color: #FFFFFF; }
.te-btn-on-dark:hover, .te-btn-on-dark:focus-visible {
  color: #FFFFFF; border-color: var(--te-hot); background: rgba(255, 255, 255, .1); transform: translateY(-2px);
}
html[data-te-theme="dark"] .te-btn-ghost { color: var(--color-text); }
html[data-te-theme="dark"] .te-btn-ghost:hover, html[data-te-theme="dark"] .te-btn-ghost:focus-visible {
  color: #FFFFFF; border-color: var(--te-hot); background: rgba(255, 255, 255, .07);
}

/* ── „Înapoi sus”: gradient, săgeată albă, fitil pe contur, scânteie, artificiu ─────────────── */
.back-to-top.te-fuse {
  background: linear-gradient(145deg, #FF8A4C, #E8590C);
  background-color: #E8590C;
  color: #FFFFFF;
  overflow: visible;
  box-shadow: 0 6px 18px rgba(232, 89, 12, .4), 0 0 0 1px rgba(255, 255, 255, .16) inset, 0 0 16px rgba(255, 138, 76, .25);
  margin-bottom: env(safe-area-inset-bottom, 0px);
}
.back-to-top.te-fuse i { color: #FFFFFF; position: relative; z-index: 2; filter: drop-shadow(0 1px 1px rgba(90, 30, 0, .35)); }
.back-to-top.te-fuse.visible:hover {
  background: linear-gradient(145deg, #FF9A5E, #F0661F);
  color: #FFFFFF;
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(242, 106, 31, .5), 0 0 26px rgba(255, 138, 76, .5), 0 0 0 1px rgba(255, 255, 255, .22) inset;
}
.back-to-top.te-fuse:focus-visible { outline: 3px solid #FFD58A; outline-offset: 8px; }
.back-to-top.te-fuse.te-fuse-boom { animation: teFuseKick .55s cubic-bezier(.2, .9, .3, 1.4); }
@keyframes teFuseKick { 0% { transform: scale(1); } 30% { transform: scale(1.14); } 100% { transform: scale(1); } }

.back-to-top.te-fuse .te-fuse-svg {
  position: absolute; left: -9px; top: -9px; right: auto; bottom: auto;
  width: calc(100% + 18px); height: calc(100% + 18px);
  max-width: none !important; max-height: none !important; /* mobile-wow.css pune max-width:100% !important pe svg/canvas */
  transform: rotate(-90deg); pointer-events: none; overflow: visible; z-index: 1;
}
.te-fuse-svg circle { fill: none; stroke-linecap: round; transition: stroke-dasharray .12s linear, opacity .3s ease; }
.te-fuse-rope  { stroke: var(--te-rope); stroke-width: 3.4; }
.te-fuse-twist { stroke: var(--te-rope-hi); stroke-width: 3.4; stroke-linecap: butt; opacity: .85; }
.te-fuse-burnt { stroke: color-mix(in srgb, var(--color-text) 28%, transparent); stroke-width: 1.4; stroke-dasharray: 0 999; }
.te-fuse-done .te-fuse-burnt, .te-fuse-done .te-fuse-rope, .te-fuse-done .te-fuse-twist { opacity: 0; }
.back-to-top.te-fuse .te-fuse-fx { position: absolute; left: -90px; top: -90px; max-width: none !important; max-height: none !important; pointer-events: none; z-index: 3; }

@media (max-width: 767.98px) {
  /* deasupra zonei sigure și a barei de jos a telefonului; nu se suprapune cu butoanele de contact */
  .back-to-top.te-fuse { margin-bottom: calc(env(safe-area-inset-bottom, 0px) + 4px); }
}
@media (prefers-reduced-motion: reduce) {
  .back-to-top.te-fuse.te-fuse-boom { animation: none; }
  .te-fuse-fx { display: none; }
  .te-fuse-svg circle { transition: none; }
  .te-btn-primary, body .btn-primary { transition: none; }
}

/* ── Schema de funcționare ────────────────────────────────────────────────────────────────── */
.te-flow-stack { display: grid; gap: clamp(28px, 4vw, 48px); }
.te-schema { margin: 0; }
.te-steps-grid + .te-schema { margin-top: clamp(28px, 4vw, 48px); }
.te-schema img { display: block; width: 100%; height: auto; filter: drop-shadow(0 18px 40px rgba(16, 24, 40, .22)); }
html[data-te-theme="dark"] .te-schema img { filter: drop-shadow(0 18px 40px rgba(0, 0, 0, .45)); }
@media (max-width: 767.98px) {
  .te-schema { max-width: 480px; margin-inline: auto; }
}

/* ── Accesibilitate: contrast și linkuri în text ─────────────────────────────────────────────── */
#cookie-banner #cookie-reject, #cookie-banner #cookie-settings {
  color: var(--color-text); border-color: color-mix(in srgb, var(--color-text) 40%, transparent); background: transparent;
}
#cookie-banner #cookie-reject:hover, #cookie-banner #cookie-settings:hover { border-color: var(--te-hot); color: var(--color-text); }
#cookie-banner .btn { min-height: 44px; font-size: .9rem; }
html[data-te-theme="dark"] .te-pill-next { color: var(--color-primary-light); }
.te-prose a:not(.te-btn), .te-note a, .te-offer-foot a, .te-form-foot a, .te-legal a {
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px;
}



/* ══════════════════════════════════════════════════════════════
   55-campuri-icoane.css
   ══════════════════════════════════════════════════════════════ */
/**
 * Trasabilitate Explozibil — 55 CÂMPURI CU ICOANĂ ÎN FAȚĂ (prepend), doar Lucide.
 *
 * Marcajul: <span class="te-ifield"><i class="icon-<nume> te-ifield-ico" aria-hidden="true"></i><input …></span>
 * (în contact.php și blog-article.php direct; la formularele nucleului, ex. /stergere-cont, îl pune
 * theme/te-field-icons.js). Iconița e decorativă: eticheta câmpului rămâne <label for>.
 * Textarea: iconița sus, pe primul rând. Select: iconița în stânga, săgeata rămâne în dreapta.
 * La focus iconița se aprinde în portocaliu; la eroare devine roșie.
 *
 * Ultima modificare: 2026-10-22 13:17
 * Modificari:
 *   2026-10-22 13:17 — Creat.
 */

.te-ifield { position: relative; display: block; width: 100%; }
.te-ifield > .te-ifield-ico {
    position: absolute; left: 15px; top: 50%; transform: translateY(-50%); z-index: 2;
    font-size: 1.1rem; line-height: 1; pointer-events: none;
    color: var(--color-text-secondary); transition: color .18s ease;
}
.te-ifield > input, .te-ifield > select, .te-ifield > textarea,
.te-field .te-ifield > .form-control, .te-field .te-ifield > .form-select,
.adr-form .te-ifield > input, .adr-form .te-ifield > textarea,
.blog-newsletter-form .te-ifield > .blog-newsletter-input {
    padding-left: 46px !important; width: 100%;
}
.te-ifield-area > .te-ifield-ico { top: 15px; transform: none; }
.te-ifield:focus-within > .te-ifield-ico { color: var(--te-link); }
html[data-te-theme="dark"] .te-ifield:focus-within > .te-ifield-ico { color: var(--color-primary); }
.te-ifield:has(> .is-invalid) > .te-ifield-ico,
.te-ifield:has(> :user-invalid) > .te-ifield-ico { color: var(--color-danger); }

/* newsletter: câmpul ocupă rândul alături de buton (sau deasupra lui pe telefon) */
.blog-newsletter-form .te-ifield-nl { flex: 1 1 auto; width: auto; min-width: 0; }
.blog-newsletter-form .te-ifield-nl > .te-ifield-ico { color: var(--color-text-secondary); }

@media (prefers-reduced-motion: reduce) {
    .te-ifield > .te-ifield-ico { transition: none; }
}


/* ══════════════════════════════════════════════════════════════
   56-select.css
   ══════════════════════════════════════════════════════════════ */
/**
 * Trasabilitate Explozibil — 56 SELECT PERSONALIZAT (theme/te-select.js).
 *
 * <select>-ul nativ rămâne în formular (ascuns vizual, dar prezent pentru trimitere și validare);
 * peste el: butonul cu valoarea aleasă (aceeași formă ca restul câmpurilor, iconița câmpului în față
 * din .te-ifield) și lista proprie pe tema sitului — suprafața cardurilor, opțiuni cu iconiță Lucide,
 * bifă portocalie pe opțiunea aleasă, hover portocaliu discret; se deschide în sus când nu încape.
 * Pe telefon opțiunile sunt înalte (52 px), ușor de atins.
 *
 * Ultima modificare: 2026-10-22 19:43
 * Modificari:
 *   2026-10-22 19:43 — Creat.
 */

.te-sel { position: relative; }
.te-sel > .te-sel-native {
    position: absolute !important; left: 0; bottom: 0; width: 100%; height: 100%;
    opacity: 0; pointer-events: none; z-index: -1;
}

/* butonul: moștenește clasele selectului (form-select) ⇒ aceeași înălțime, ramă, fundal, focus */
.te-sel-btn {
    display: flex; align-items: center; justify-content: space-between; gap: .75rem;
    width: 100%; text-align: left; cursor: pointer; background-image: none !important;
    padding-right: 1rem !important;
}
.te-sel-value { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.te-sel-chev { flex: 0 0 auto; font-size: 1.05rem; color: var(--color-text-secondary); transition: transform .2s ease, color .2s ease; }
.te-sel.is-open .te-sel-chev { transform: rotate(180deg); color: var(--te-link); }
html[data-te-theme="dark"] .te-sel.is-open .te-sel-chev { color: var(--color-primary); }
.te-sel.is-open > .te-sel-btn { border-color: var(--color-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 22%, transparent); }

/* lista */
.te-sel-list {
    position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 40;
    margin: 0; padding: 6px; list-style: none; max-height: 320px; overflow-y: auto; overscroll-behavior: contain;
    background: var(--color-white); border: 1px solid color-mix(in srgb, var(--color-primary) 35%, var(--color-border));
    border-radius: var(--border-radius-lg); box-shadow: var(--te-shadow-lg);
    animation: teSelIn .14s ease-out;
}
.te-sel-list[hidden] { display: none; }
.te-sel-list:focus { outline: none; }
.te-sel.te-sel-up .te-sel-list { top: auto; bottom: calc(100% + 6px); animation-name: teSelInUp; }
@keyframes teSelIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
@keyframes teSelInUp { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

.te-sel-opt {
    display: flex; align-items: center; gap: .75rem; min-height: 46px; padding: .5rem .65rem;
    border-radius: var(--border-radius); cursor: pointer; color: var(--color-text); font-size: .98rem; line-height: 1.3;
    transition: background-color .12s ease, color .12s ease;
}
.te-sel-opt + .te-sel-opt { margin-top: 2px; }
.te-sel-opt-ico {
    flex: 0 0 34px; height: 34px; display: grid; place-items: center; border-radius: var(--border-radius);
    background: var(--color-primary-lightest); color: var(--te-link); font-size: 1.05rem;
}
html[data-te-theme="dark"] .te-sel-opt-ico { color: var(--color-primary); }
.te-sel-opt-txt { flex: 1 1 auto; min-width: 0; }
.te-sel-opt-check { flex: 0 0 auto; font-size: 1.05rem; color: var(--te-link); opacity: 0; }
html[data-te-theme="dark"] .te-sel-opt-check { color: var(--color-primary); }

.te-sel-opt.is-active { background: color-mix(in srgb, var(--color-primary) 10%, transparent); }
.te-sel-opt.is-active .te-sel-opt-txt { color: var(--te-link); }
html[data-te-theme="dark"] .te-sel-opt.is-active .te-sel-opt-txt { color: var(--color-primary-light); }
.te-sel-opt[aria-selected="true"] { font-weight: 650; }
.te-sel-opt[aria-selected="true"] .te-sel-opt-check { opacity: 1; }
.te-sel-opt[aria-selected="true"] .te-sel-opt-ico { background: linear-gradient(135deg, var(--te-cta-1), var(--te-cta-2)); color: var(--te-on-cta); }
.te-sel-opt[aria-disabled="true"] { opacity: .5; cursor: not-allowed; }

@media (max-width: 575.98px) {
    .te-sel-opt { min-height: 52px; font-size: 1rem; }
    .te-sel-list { max-height: 60vh; }
}
@media (prefers-reduced-motion: reduce) {
    .te-sel-list { animation: none; }
    .te-sel-chev, .te-sel-opt { transition: none; }
}


/* ══════════════════════════════════════════════════════════════
   57-blog.css
   ══════════════════════════════════════════════════════════════ */
/**
 * Trasabilitate Explozibil — 57 BLOG: cardurile din lista blogului și din „Articole similare”.
 *
 * Categoria nu mai stă peste poză (acoperea textul din imagine): e o pastilă mică în corpul cardului,
 * deasupra titlului (icoană Lucide + text, culoarea accent, ambele teme). Poza cardului păstrează
 * proporția imaginilor principale (1200×630), ca să se vadă întreagă. Grila arată bine și cu 2+ articole.
 *
 * Ultima modificare: 2026-10-22 20:36
 * Modificari:
 *   2026-10-22 20:36 — Cronologia (ol.te-tl) și figurile cu atribuire (.te-art-fig) din articole, mutate din conținut în temă.
 *   2026-10-22 20:19 — Creat; cifrele din banda blogului lizibile pe tema închisă.
 */

.blog-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 330px), 1fr)); }
.blog-card { border-radius: var(--border-radius-lg); }
.blog-card-image-link { background: var(--te-band); }
.blog-card .blog-card-image { width: 100%; height: auto; aspect-ratio: 1200 / 630; object-fit: cover; display: block; }
.blog-card .blog-card-body { padding: 1.15rem 1.25rem 1.3rem; gap: .2rem; }

.te-blog-cat {
    align-self: flex-start; display: inline-flex; align-items: center; gap: .4rem; margin-bottom: .55rem;
    padding: .28rem .65rem; border-radius: 999px; text-decoration: none;
    font-family: var(--te-mono); font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
    background: color-mix(in srgb, var(--color-primary) 12%, transparent); color: var(--te-link);
    border: 1px solid color-mix(in srgb, var(--color-primary) 28%, transparent);
    transition: background-color .18s ease, color .18s ease;
}
.te-blog-cat i { font-size: .85rem; }
.te-blog-cat:hover { background: color-mix(in srgb, var(--color-primary) 20%, transparent); color: var(--te-link); }
html[data-te-theme="dark"] .te-blog-cat, html[data-te-theme="dark"] .te-blog-cat:hover { color: var(--color-primary-light); }

/* cifrele din banda blogului (Articole / Categorii) erau aproape invizibile pe tema închisă */
.blog-hero .blog-hero-stat-number { color: var(--te-on-band) !important; }
.blog-hero .blog-hero-stat-label { color: var(--te-on-band-2) !important; }

.blog-card-title { font-size: 1.05rem; line-height: 1.4; }
.blog-card-title a { text-decoration: none; }

/* Articole: cronologie (ol.te-tl) + figuri cu legenda si atribuire (.te-art-fig) — mutate din continut */
.blog-content .te-tl { list-style: none; margin: 1.75rem 0 2rem; padding: 0; position: relative; }
.blog-content .te-tl::before { content: ""; position: absolute; left: 4.76rem; top: .4rem; bottom: .4rem; width: 2px; background: var(--color-border); }
.blog-content .te-tl li { position: relative; display: grid; grid-template-columns: 4.1rem minmax(0, 1fr); gap: 1.75rem; padding: 0 0 1.15rem; margin: 0; }
.blog-content .te-tl li::before { content: none; display: none; }
.blog-content .te-tl li:last-child { padding-bottom: 0; }
.blog-content .te-tl li::after { content: ""; position: absolute; left: 4.45rem; top: .42rem; width: .75rem; height: .75rem; border-radius: 50%; background: var(--color-white); border: 2px solid var(--color-text-light); }
.blog-content .te-tl li.te-tl-hot::after { background: var(--color-primary); border-color: var(--color-primary); }
.blog-content .te-tl-year { font-family: var(--te-mono); font-weight: 600; font-size: .95rem; color: var(--te-link); text-align: right; padding-top: .05rem; }
html[data-te-theme="dark"] .blog-content .te-tl-year { color: var(--color-primary); }
.blog-content .te-tl-body { color: var(--color-text-secondary); line-height: 1.6; }
.blog-content .te-tl-body strong { color: var(--color-text); }
.blog-content .te-art-fig { margin: 1.75rem 0; }
.blog-content .te-art-fig img { margin: 0; }
.blog-content .te-art-fig figcaption { line-height: 1.5; }
.blog-content .te-art-fig figcaption a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

@media (max-width: 575.98px) {
    .blog-card .blog-card-image { height: auto; }
    .blog-content .te-tl::before { left: 3.74rem; }
    .blog-content .te-tl li { grid-template-columns: 3rem minmax(0, 1fr); gap: 1.6rem; }
    .blog-content .te-tl li::after { left: 3.425rem; }
}
@media (prefers-reduced-motion: reduce) {
    .te-blog-cat { transition: none; }
}


/* ══════════════════════════════════════════════════════════════
   58-cod.css
   ══════════════════════════════════════════════════════════════ */
/**
 * Trasabilitate Explozibil — 58 COD: secțiunea „Un cod, toată povestea lui” (căutarea codului unic).
 *
 * Banda grafit (ambele teme) cu ilustrația unei ferestre din portal desenată în HTML/CSS: căutarea, fișa
 * produsului, ierarhia ambalajului cu codul găsit evidențiat, cronologia, starea și fișa pentru control.
 * Fereastra e deschisă pe tema deschisă și închisă pe tema închisă. Titlurile în Saira, ca sigla.
 *
 * Ultima modificare: 2026-10-22 23:13
 * Modificari:
 *   2026-10-22 23:13 — Nivelul „00” al codului căutat: text grafit pe portocaliu (contrast).
 *   2026-10-22 22:49 — Creat.
 */

.te-cod { background: radial-gradient(1200px 520px at 80% -10%, rgba(255, 122, 61, .14), transparent 60%), var(--te-band); color: var(--te-on-band-2); overflow: hidden; }
.te-cod .container { position: relative; }
.te-cod .te-h2 { color: var(--te-on-band); }
.te-cod-title { font-family: 'Saira', 'Barlow', system-ui, sans-serif; font-weight: 700; letter-spacing: -.005em; }
.te-cod .te-lead { color: var(--te-on-band-2); margin-left: auto; margin-right: auto; }
.te-cod .te-lead strong { color: var(--te-on-band); }
.te-cod .te-kicker { color: var(--te-hot); }

/* ── fereastra din portal ── */
.te-cod-app {
    --a-bg: #FFFFFF; --a-bg2: #F4F6F9; --a-line: #E1E5EC; --a-text: #1C242D; --a-text2: #5F6878; --a-mono: #2A3340;
    --a-hot: #D9480F; --a-hot-bg: #FFF1EA; --a-ok: #1E8E3E; --a-ok-bg: #E7F6EC;
    max-width: 1080px; margin: clamp(24px, 4vw, 40px) auto 0; border-radius: 16px; overflow: hidden;
    background: var(--a-bg); color: var(--a-text); text-align: left;
    box-shadow: 0 30px 80px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 255, 255, .06);
}
html[data-te-theme="dark"] .te-cod-app {
    --a-bg: #222A36; --a-bg2: #1B222D; --a-line: #333D4D; --a-text: #E8EBF0; --a-text2: #A3ACBA; --a-mono: #D9DEE6;
    --a-hot: #FF8F5C; --a-hot-bg: rgba(255, 122, 61, .14); --a-ok: #6CC97F; --a-ok-bg: rgba(108, 201, 127, .14);
}
.te-cod-bar { display: flex; align-items: center; gap: .9rem; padding: .6rem .9rem; background: var(--a-bg2); border-bottom: 1px solid var(--a-line); }
.te-cod-dots { display: inline-flex; gap: 6px; }
.te-cod-dots i { width: 10px; height: 10px; border-radius: 50%; background: var(--a-line); }
.te-cod-dots i:first-child { background: #FF6B57; } .te-cod-dots i:nth-child(2) { background: #F6C343; } .te-cod-dots i:nth-child(3) { background: #47C46D; }
.te-cod-url { flex: 1; min-width: 0; display: inline-flex; align-items: center; gap: .4rem; padding: .3rem .7rem; border-radius: 8px; background: var(--a-bg);
    border: 1px solid var(--a-line); font-family: var(--te-mono); font-size: .74rem; color: var(--a-text2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.te-cod-url i { color: var(--a-ok); }
.te-cod-body { padding: clamp(14px, 2.4vw, 26px); }
.te-cod-mono { font-family: var(--te-mono); color: var(--a-mono); letter-spacing: .01em; }

.te-cod-search { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-bottom: 1.1rem; }
.te-cod-input { flex: 1 1 320px; min-width: 0; display: inline-flex; align-items: center; gap: .6rem; padding: .7rem .9rem; border-radius: 10px;
    background: var(--a-bg); border: 2px solid var(--a-hot); box-shadow: 0 0 0 4px var(--a-hot-bg); font-size: 1.02rem; }
.te-cod-input > i { color: var(--a-hot); font-size: 1.15rem; }
.te-cod-input .te-cod-mono { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.te-cod-caret { width: 2px; height: 1.15em; background: var(--a-hot); animation: teCodBlink 1.1s steps(1) infinite; }
@keyframes teCodBlink { 50% { opacity: 0; } }
.te-cod-go { display: inline-flex; align-items: center; gap: .4rem; padding: .7rem 1rem; border-radius: 10px; font-weight: 650;
    background: linear-gradient(135deg, var(--te-cta-1), var(--te-cta-2)); color: #fff; }
.te-cod-found { display: inline-flex; align-items: center; gap: .35rem; font-size: .85rem; font-weight: 600; color: var(--a-ok); }

.te-cod-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(12px, 2vw, 18px); }
.te-cod-col { display: grid; gap: clamp(12px, 2vw, 18px); align-content: start; }
.te-cod-card { background: var(--a-bg2); border: 1px solid var(--a-line); border-radius: 12px; padding: .95rem 1rem; }
.te-cod-k { display: flex; align-items: center; gap: .45rem; margin: 0 0 .6rem; font-family: var(--te-mono); font-size: .7rem; font-weight: 600;
    letter-spacing: .08em; text-transform: uppercase; color: var(--a-text2); }
.te-cod-k i { color: var(--a-hot); font-size: .95rem; }
.te-cod-prod { margin: 0 0 .5rem; font-family: 'Saira', 'Barlow', system-ui, sans-serif; font-weight: 700; font-size: 1.12rem; color: var(--a-text); }
.te-cod-dl { margin: 0; display: grid; gap: .25rem; font-size: .88rem; }
.te-cod-dl div { display: flex; gap: .6rem; }
.te-cod-dl dt { flex: 0 0 6.5rem; color: var(--a-text2); font-weight: 500; }
.te-cod-dl dd { margin: 0; color: var(--a-text); font-weight: 600; }

/* ierarhia ambalajului: fiecare nivel puțin mai la dreapta, codul găsit evidențiat */
.te-cod-tree { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; }
.te-cod-tree li { --i: 0; display: grid; grid-template-columns: 1.9rem 1.2rem minmax(0, 1fr) auto; align-items: center; gap: .5rem;
    margin-left: calc(var(--i) * .9rem); padding: .42rem .6rem; border-radius: 9px; background: var(--a-bg); border: 1px solid var(--a-line);
    font-size: .88rem; position: relative; }
.te-cod-tree li:nth-child(2) { --i: 1; } .te-cod-tree li:nth-child(3) { --i: 2; } .te-cod-tree li:nth-child(4) { --i: 3; } .te-cod-tree li:nth-child(5) { --i: 4; }
.te-cod-tree li + li::before { content: ""; position: absolute; left: .55rem; top: -.4rem; width: 1px; height: .4rem; background: var(--a-line); }
.te-cod-lvl { font-family: var(--te-mono); font-size: .72rem; font-weight: 600; color: var(--a-text2); background: var(--a-bg2); border-radius: 5px; text-align: center; padding: .1rem 0; }
.te-cod-tree li > i { color: var(--a-text2); font-size: 1rem; }
.te-cod-n { font-weight: 650; color: var(--a-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.te-cod-c { display: none; }
.te-cod-q { font-size: .78rem; color: var(--a-text2); white-space: nowrap; }
.te-cod-tree li.is-hit { border: 2px solid var(--a-hot); background: var(--a-hot-bg); box-shadow: 0 6px 18px rgba(217, 72, 15, .18); }
.te-cod-tree li.is-hit > i, .te-cod-tree li.is-hit .te-cod-q { color: var(--a-hot); font-weight: 700; }
.te-cod-tree li.is-hit .te-cod-lvl { background: var(--a-hot); color: #1C242D; }

/* cronologia */
.te-cod-time { list-style: none; margin: 0; padding: 0; display: grid; gap: .8rem; position: relative; }
.te-cod-time::before { content: ""; position: absolute; left: 15px; top: 8px; bottom: 8px; width: 2px; background: var(--a-line); }
.te-cod-time li { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: .7rem; align-items: start; position: relative; }
.te-cod-dot { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--a-bg); border: 2px solid var(--a-line); color: var(--a-text2); font-size: .9rem; }
.te-cod-time li.is-out .te-cod-dot { border-color: var(--a-hot); color: var(--a-hot); background: var(--a-hot-bg); }
.te-cod-time strong { display: block; color: var(--a-text); font-size: .92rem; }
.te-cod-time span { display: block; font-size: .8rem; color: var(--a-text2); line-height: 1.45; }
.te-cod-time .te-cod-who { display: inline-flex; align-items: center; gap: .3rem; margin: .3rem .35rem 0 0; padding: .15rem .5rem; border-radius: 999px;
    background: var(--a-bg); border: 1px solid var(--a-line); color: var(--a-text); font-weight: 600; }
.te-cod-who i { color: var(--a-hot); }

.te-cod-state { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem; }
.te-cod-state .te-cod-k { margin-bottom: .35rem; }
.te-cod-badge { display: inline-flex; align-items: center; gap: .35rem; margin: 0; padding: .3rem .7rem; border-radius: 999px; font-weight: 700; font-size: .9rem;
    background: var(--a-ok-bg); color: var(--a-ok); }
.te-cod-pdf { display: inline-flex; align-items: center; gap: .45rem; padding: .6rem .9rem; border-radius: 10px; font-weight: 650; font-size: .9rem;
    border: 1.5px solid var(--a-hot); color: var(--a-hot); background: var(--a-bg); }

.te-cod-note { margin: .9rem auto 0; max-width: 1080px; text-align: center; font-size: .82rem; color: var(--te-on-band-2); }
.te-cod-note a { color: var(--te-hot); }

/* cele 4 puncte */
.te-cod-points { list-style: none; margin: clamp(28px, 4vw, 44px) auto 0; padding: 0; max-width: 1080px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 2vw, 20px); }
.te-cod-points li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .75rem; align-items: start; }
.te-cod-points .te-card-ico { background: rgba(255, 122, 61, .14); color: var(--te-hot); }
.te-cod-points h3 { margin: 0 0 .25rem; font-family: 'Saira', 'Barlow', system-ui, sans-serif; font-size: 1.02rem; font-weight: 700; color: var(--te-on-band); }
.te-cod-points p { margin: 0; font-size: .9rem; line-height: 1.5; color: var(--te-on-band-2); }

@media (min-width: 640px) { .te-cod-c { display: inline; font-size: .78rem; } .te-cod-tree li { grid-template-columns: 1.9rem 1.2rem minmax(0, 1fr) auto auto; } }
@media (max-width: 991.98px) {
    .te-cod-grid { grid-template-columns: minmax(0, 1fr); }
    .te-cod-points { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
    .te-cod-points { grid-template-columns: minmax(0, 1fr); }
    .te-cod-tree li { margin-left: calc(var(--i) * .45rem); }
    .te-cod-go { flex: 1 1 auto; justify-content: center; }
    .te-cod-state { flex-direction: column; align-items: stretch; }
    .te-cod-pdf { justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .te-cod-caret { animation: none; } }


/* ══════════════════════════════════════════════════════════════
   59-platforma.css
   ══════════════════════════════════════════════════════════════ */
/**
 * Trasabilitate Explozibil — 59 PLATFORMA: galeria de capturi + lightbox, „Datele tale, de oriunde”,
 * banda de siguranță și „Nou în portal” (partials/te-platforma.php, theme/te-gallery.js).
 *
 * Capturile au variantă închisă și deschisă: .te-only-dark / .te-only-light urmează tema activă.
 * Ramele de dispozitiv sunt desenate în CSS; toate imaginile au dimensiuni fixe (fără CLS).
 *
 * Ultima modificare: 2026-10-22 23:05
 * Modificari:
 *   2026-10-22 23:05 — Capturile aliniate sus (fără gol deasupra), galeria care încape fără contor, imaginea din lightbox nu mai intră sub legendă.
 *   2026-10-22 22:58 — Creat.
 */

/* ── variantele capturilor după temă ── */
img.te-only-dark { display: none; }
html[data-te-theme="dark"] img.te-only-dark { display: block; }
html[data-te-theme="dark"] img.te-only-light { display: none; }
.te-saira { font-family: 'Saira', 'Barlow', system-ui, sans-serif; letter-spacing: -.005em; }

/* ── secțiunea galeriei: bandă grafit în ambele teme ── */
.te-plat { background: radial-gradient(1100px 480px at 15% -10%, rgba(255, 122, 61, .12), transparent 60%), var(--te-band-2); overflow: hidden; }
.te-plat .te-h2 { color: var(--te-on-band); }
.te-plat .te-lead { color: var(--te-on-band-2); margin-left: auto; margin-right: auto; }
.te-plat .te-kicker { color: var(--te-hot); }

/* ── caruselul ── */
.te-gal { --h: clamp(220px, 28vw, 360px); --phone-h: calc(var(--h) * 1.18); margin-top: clamp(24px, 4vw, 40px); }
.te-gal-lg { --h: clamp(230px, 32vw, 420px); }
.te-gal-groups { display: flex; flex-wrap: wrap; justify-content: center; gap: .45rem; margin-bottom: 1.1rem; }
.te-gal-chip { font-family: 'Saira', 'Barlow', system-ui, sans-serif; font-weight: 600; font-size: .9rem; padding: .42rem .95rem; border-radius: 999px; cursor: pointer;
    border: 1px solid rgba(255, 255, 255, .16); background: rgba(255, 255, 255, .05); color: var(--te-on-band-2); transition: background .18s, color .18s, border-color .18s; }
.te-gal-chip:hover { color: var(--te-on-band); border-color: rgba(255, 255, 255, .3); }
.te-gal-chip.is-on { background: var(--te-hot); border-color: var(--te-hot); color: #1C242D; }
.te-gal-chip:focus-visible { outline: 2px solid var(--te-hot); outline-offset: 2px; }
.te-gal-top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .7rem; }
.te-gal-hint { margin: 0; font-size: .85rem; color: var(--te-on-band-2); display: inline-flex; align-items: center; gap: .4rem; }
.te-gal-hint i { color: var(--te-hot); }
.te-gal-count { margin: 0; font-family: var(--te-mono); font-size: .85rem; font-weight: 600; color: var(--te-on-band); font-variant-numeric: tabular-nums; }
.te-gal-wrap { position: relative; }
.te-gal-track {
    list-style: none; margin: 0; padding: .4rem .2rem 1.1rem; display: flex; align-items: flex-start; gap: clamp(14px, 2vw, 26px);
    overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-left: .2rem;
    scrollbar-width: thin; scrollbar-color: rgba(255, 122, 61, .55) rgba(255, 255, 255, .06);
}
.te-gal-track::-webkit-scrollbar { height: 6px; }
.te-gal-track::-webkit-scrollbar-track { background: rgba(255, 255, 255, .06); border-radius: 3px; }
.te-gal-track::-webkit-scrollbar-thumb { background: rgba(255, 122, 61, .55); border-radius: 3px; }
.te-gal-track:focus-visible { outline: 2px solid var(--te-hot); outline-offset: 4px; border-radius: 8px; }
.te-gal-item { flex: 0 0 auto; scroll-snap-align: start; width: calc(var(--h) * var(--ar)); }
.te-gal-item.te-dev-telefon { width: calc(var(--phone-h) * var(--ar) + 18px); }
.te-gal-item figure { margin: 0; }
.te-gal-open { display: block; position: relative; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; text-align: left; border-radius: 14px; }
.te-gal-open:focus-visible { outline: 3px solid var(--te-hot); outline-offset: 4px; }
.te-gal-zoom { position: absolute; right: 10px; bottom: 10px; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center;
    background: rgba(17, 21, 28, .78); color: #fff; opacity: 0; transform: scale(.85); transition: opacity .2s, transform .2s; }
.te-gal-open:hover .te-gal-zoom, .te-gal-open:focus-visible .te-gal-zoom { opacity: 1; transform: none; }
.te-gal-item figcaption { padding: .7rem .1rem 0; }
.te-gal-item figcaption strong { display: block; font-family: 'Saira', 'Barlow', system-ui, sans-serif; font-weight: 700; color: var(--te-on-band); font-size: 1rem; }
.te-gal-item figcaption span { display: block; margin-top: .15rem; font-size: .85rem; line-height: 1.45; color: var(--te-on-band-2); }

/* ramele: browser (desktop), tabletă, telefon, document */
.te-frame { display: block; border-radius: 12px; overflow: hidden; background: #0E1218; box-shadow: 0 18px 50px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 255, 255, .08); transition: transform .25s ease, box-shadow .25s ease; }
.te-gal-open:hover .te-frame { transform: translateY(-4px); box-shadow: 0 26px 60px rgba(0, 0, 0, .55), 0 0 0 1px rgba(255, 122, 61, .45); }
.te-frame-bar { display: flex; align-items: center; gap: 6px; height: 26px; padding: 0 10px; background: #1B222D; border-bottom: 1px solid rgba(255, 255, 255, .06); }
.te-frame-bar i { width: 8px; height: 8px; border-radius: 50%; background: #3A4456; }
.te-frame-bar i:nth-child(1) { background: #FF6B57; } .te-frame-bar i:nth-child(2) { background: #F6C343; } .te-frame-bar i:nth-child(3) { background: #47C46D; }
.te-frame-bar span { margin-left: 8px; font-family: var(--te-mono); font-size: .68rem; color: #8C96A6; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.te-frame-screen { display: block; aspect-ratio: var(--ar); background: #1B222D; }
.te-frame-screen img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.te-dev-tableta .te-frame, .te-dev-tableta-verticala .te-frame { padding: 10px; border-radius: 22px; background: #11151C; }
.te-dev-tableta .te-frame-screen, .te-dev-tableta-verticala .te-frame-screen { border-radius: 10px; overflow: hidden; }
.te-dev-telefon .te-frame { padding: 9px; border-radius: 30px; background: #0B0E13; box-shadow: 0 18px 50px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 255, 255, .1), inset 0 0 0 2px #2A3240; }
.te-dev-telefon .te-frame-screen { border-radius: 22px; overflow: hidden; }
.te-dev-document .te-frame { background: #fff; padding: 8px; }
.te-gal-item.te-dev-tableta, .te-gal-item.te-dev-tableta-verticala { width: calc(var(--h) * var(--ar) + 20px); }

/* săgețile rotunde, pe margini */
.te-gal-btn { position: absolute; top: calc(var(--h) / 2 - 8px); z-index: 2; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; cursor: pointer;
    border: 1px solid rgba(255, 255, 255, .18); background: rgba(17, 21, 28, .82); color: #fff; font-size: 1.3rem;
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); box-shadow: 0 8px 24px rgba(0, 0, 0, .35); transition: background .18s, transform .18s; }
.te-gal-btn:hover { background: var(--te-hot); color: #1C242D; transform: scale(1.06); }
.te-gal-btn:focus-visible { outline: 3px solid var(--te-hot); outline-offset: 3px; }
.te-gal-btn[hidden] { display: none; }
.te-gal-prev { left: -10px; } .te-gal-next { right: -10px; }
.te-gal:not(.is-ready) .te-gal-btn { display: none; }
.te-gal.is-fit .te-gal-top { display: none; }
.te-gal.is-fit .te-gal-track { justify-content: center; }

/* ── lightbox ── */
html.te-lb-open { overflow: hidden; }
.te-lb { position: fixed; inset: 0; z-index: 10050; display: grid; grid-template-rows: minmax(0, 1fr) auto; background: rgba(8, 10, 14, .94);
    -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.te-lb[hidden] { display: none; }
.te-lb-stage { display: grid; place-items: center; padding: clamp(56px, 6vw, 72px) clamp(12px, 7vw, 96px) 12px; min-height: 0; }
.te-lb-img { max-width: 100%; max-height: calc(100vh - 190px); max-height: calc(100dvh - 190px); width: auto; height: auto; border-radius: 10px; box-shadow: 0 30px 90px rgba(0, 0, 0, .6); background: #1B222D; }
.te-lb-foot { display: flex; align-items: flex-start; justify-content: center; gap: 1rem; padding: .9rem 1.2rem 1.4rem; color: #E8EBF0; text-align: left; max-width: 900px; margin: 0 auto; }
.te-lb-foot strong { display: block; font-family: 'Saira', 'Barlow', system-ui, sans-serif; font-size: 1.05rem; }
.te-lb-foot span.te-lb-desc { display: block; color: #B9C0CC; font-size: .9rem; margin-top: .1rem; }
.te-lb-count { flex: 0 0 auto; font-family: var(--te-mono); font-size: .85rem; color: #FF7A3D; padding-top: .2rem; }
.te-lb-btn { position: absolute; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; cursor: pointer; font-size: 1.3rem;
    border: 1px solid rgba(255, 255, 255, .2); background: rgba(27, 34, 45, .85); color: #fff; }
.te-lb-btn:hover { background: #FF7A3D; color: #1C242D; }
.te-lb-btn:focus-visible { outline: 3px solid #FF7A3D; outline-offset: 3px; }
.te-lb-close { top: 12px; right: 12px; }
.te-lb-prev { left: 12px; top: 50%; transform: translateY(-50%); }
.te-lb-next { right: 12px; top: 50%; transform: translateY(-50%); }

/* ── „Datele tale, de oriunde” ── */
.te-oriunde { overflow: hidden; }
.te-oriunde-in { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
.te-oriunde-steps { list-style: none; margin: 1.4rem 0 0; padding: 0; display: grid; gap: 1rem; }
.te-oriunde-steps li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .8rem; align-items: start; }
.te-oriunde-steps strong { display: block; font-family: 'Saira', 'Barlow', system-ui, sans-serif; color: var(--color-text); }
.te-oriunde-steps span:not(.te-card-ico) { display: block; color: var(--color-text-secondary); font-size: .93rem; line-height: 1.55; }

.te-devices { position: relative; aspect-ratio: 1.25; }
.te-dv-laptop { position: absolute; left: 4%; top: 6%; width: 78%; }
.te-dv-laptop-screen { border: 10px solid #11151C; border-bottom-width: 14px; border-radius: 14px 14px 4px 4px; background: #11151C; aspect-ratio: 1.6; overflow: hidden;
    box-shadow: 0 30px 70px rgba(16, 24, 40, .28); }
.te-dv-laptop-screen img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.te-dv-laptop-base { height: 14px; margin: 0 -7%; border-radius: 2px 2px 14px 14px; background: linear-gradient(#C8CED8, #8E97A6); box-shadow: 0 12px 24px rgba(16, 24, 40, .22); }
html[data-te-theme="dark"] .te-dv-laptop-base { background: linear-gradient(#4A5466, #2A3240); }
.te-dv-tablet { position: absolute; right: 0; top: 34%; width: 40%; padding: 9px; border-radius: 20px; background: #0E1218; box-shadow: 0 26px 60px rgba(16, 24, 40, .35); }
.te-dv-phone { position: absolute; left: 0; bottom: 0; width: 19%; padding: 6px; border-radius: 24px; background: #0B0E13; box-shadow: 0 22px 50px rgba(16, 24, 40, .4), inset 0 0 0 2px #2A3240; }
.te-dv-screen { border-radius: 12px; overflow: hidden; background: #1B222D; }
.te-dv-tablet .te-dv-screen { aspect-ratio: 1.3333; }
.te-dv-phone .te-dv-screen { aspect-ratio: .4619; border-radius: 18px; }
.te-dv-screen img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.te-dv-terminal { position: absolute; right: 30%; bottom: -2%; width: 30%; filter: drop-shadow(0 22px 34px rgba(16, 24, 40, .35)); }
.te-dv-terminal img { width: 100%; height: auto; display: block; }
.te-dv-tag { position: absolute; display: inline-flex; align-items: center; gap: .4rem; padding: .4rem .7rem; border-radius: 999px; font-size: .78rem; font-weight: 650; white-space: nowrap;
    background: var(--color-white); color: var(--color-text); border: 1px solid var(--color-border); box-shadow: var(--te-shadow); }
.te-dv-tag i { color: var(--te-link); }
html[data-te-theme="dark"] .te-dv-tag i { color: var(--color-primary); }
.te-dv-tag-a { left: 14%; bottom: 26%; }
.te-dv-tag-b { right: 4%; top: 22%; }

/* ── siguranța ── */
.te-safe { background: var(--te-band); }
.te-safe .te-h2 { color: var(--te-on-band); }
.te-safe .te-lead { color: var(--te-on-band-2); margin-left: auto; margin-right: auto; }
.te-safe .te-kicker { color: var(--te-hot); }
.te-safe-grid { list-style: none; margin: clamp(24px, 4vw, 40px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 2vw, 18px); }
.te-safe-grid li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .85rem; align-items: start; padding: 1.05rem 1.1rem; border-radius: var(--border-radius-lg);
    background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .09); }
.te-safe-ico { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; font-size: 1.2rem; color: var(--te-hot); background: rgba(255, 122, 61, .14); }
.te-safe-grid h3 { margin: 0 0 .25rem; font-family: 'Saira', 'Barlow', system-ui, sans-serif; font-size: 1.02rem; font-weight: 700; color: var(--te-on-band); }
.te-safe-grid p { margin: 0; font-size: .9rem; line-height: 1.5; color: var(--te-on-band-2); }

/* ── nou în portal ── */
.te-noi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 2vw, 22px); margin-top: clamp(20px, 3vw, 32px); }
.te-noi-card h3 { font-family: 'Saira', 'Barlow', system-ui, sans-serif; }

/* ── piese legate în alte secțiuni ── */
.te-oriunde-btn { margin-top: 1.4rem; }
.te-noi-card { position: relative; }
.te-noi-card .te-pill { position: absolute; top: 1rem; right: 1rem; margin: 0; }
.te-cod-real { margin-top: clamp(28px, 4vw, 44px); }
.te-cod-real-k { display: flex; align-items: center; justify-content: center; gap: .5rem; margin: 0; text-align: center;
    font-family: 'Saira', 'Barlow', system-ui, sans-serif; font-weight: 600; font-size: 1.05rem; color: var(--te-on-band); }
.te-cod-real-k i { color: var(--te-hot); }
.te-cod-real .te-gal { margin-top: 1rem; }
.te-figure-crm { margin: 0; }
.te-figure-crm .te-frame { box-shadow: var(--te-shadow-lg), 0 0 0 1px var(--color-border); }
.te-figure-crm figcaption { margin-top: .7rem; font-size: .85rem; color: var(--color-text-secondary); text-align: center; }

/* ── responsive ── */
@media (max-width: 1199.98px) {
    .te-noi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .te-safe-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
    .te-oriunde-in { grid-template-columns: minmax(0, 1fr); }
    .te-devices { max-width: 620px; margin: 0 auto; width: 100%; }
}
@media (max-width: 767.98px) {
    /* telefon: un card pe ecran, swipe */
    .te-gal { --h: calc((100vw - 64px) / 1.6); --phone-h: 250px; }
    .te-gal-item, .te-gal-item.te-dev-telefon { width: calc(100vw - 64px); }
    .te-dev-telefon .te-gal-open { width: calc(var(--phone-h) * var(--ar) + 18px); margin: 0 auto; }
    .te-gal-item.te-dev-tableta, .te-gal-item.te-dev-tableta-verticala { width: calc(100vw - 64px); }
    .te-gal-item.te-dev-tableta-verticala .te-frame { max-width: 260px; }
    .te-gal-btn { display: none !important; }
    .te-gal-hint { font-size: .8rem; }
    .te-gal-zoom { opacity: 1; transform: none; }
    .te-lb-prev, .te-lb-next { top: auto; bottom: 86px; transform: none; }
    .te-safe-grid, .te-noi-grid { grid-template-columns: minmax(0, 1fr); }
    .te-dv-tag { font-size: .7rem; padding: .3rem .55rem; }
    .te-dv-tag-a { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .te-frame, .te-gal-zoom, .te-gal-btn, .te-gal-chip { transition: none; }
    .te-gal-open:hover .te-frame { transform: none; }
}


/* ══════════════════════════════════════════════════════════════
   60-preturi.css
   ══════════════════════════════════════════════════════════════ */
/**
 * Trasabilitate Explozibil — 60 PREȚURI: pagina /preturi (theme/templates/pages/preturi.php).
 *
 * Comutatorul Lunar / Anual, calculatorul cu 3 glisoare, cele 3 pachete (Profesional recomandat,
 * pachetul potrivit evidențiat cu verde), nota „scanările nu se opresc”, inclus la toate, FAQ.
 * Culorile vin din tokeni (00) și din butoanele portocalii (50) — fără hex nou aici, în afară de
 * albul glisorului (mâner pe fond portocaliu/grafit, la fel în ambele teme).
 *
 * Ultima modificare: 2026-10-22 22:51
 * Modificari:
 *   2026-10-22 22:51 — Capul tabelului de trepte: „Disp. · dep.” (cu explicație), pe un rând.
 *   2026-10-22 22:49 — Rândurile „nu e inclus” din lista pachetului (căutarea pe listă la Cuarț).
 *   2026-10-22 22:32 — Nisip (gratuit, în curând): banda de deasupra cardurilor și rândul din calculator.
 *   2026-10-22 20:56 — Carduri compacte (4 pe rând la 1280–1440), definiția scanării cu mini-ierarhia ambalajelor.
 *   2026-10-22 20:54 — Diamant pe trepte: „de la” și tabelul treptelor din card.
 */

/* ── Banda de titlu: definiția scanării ─────────────────────────────────── */
.te-pr-def {
    display: inline-flex; flex-direction: column; gap: .65rem; margin: 1.25rem 0 0; max-width: 78ch;
    padding: .75rem .95rem; border-radius: var(--border-radius);
    background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .14);
    color: var(--te-on-band-2); font-size: .95rem; line-height: 1.5;
}
.te-pr-def p { display: flex; align-items: flex-start; gap: .6rem; margin: 0; color: var(--te-on-band-2); }
.te-pr-def p i { color: var(--te-hot); font-size: 1.15rem; margin-top: .1rem; }
.te-pr-def strong { color: var(--te-on-band); }
/* mini-ierarhia ambalajelor: palet → cutie → cutie în cutie → pungă → bucată */
.te-pr-levels { list-style: none; margin: 0; padding: 0 0 0 1.75rem; display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .3rem; }
.te-pr-levels li { display: inline-flex; align-items: center; gap: .35rem; padding: .22rem .55rem; border-radius: 999px;
    background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .12); color: var(--te-on-band); font-size: .82rem; font-weight: 600; }
.te-pr-levels li i { color: var(--te-hot); font-size: .95rem; }
.te-pr-levels li + li { position: relative; margin-left: .85rem; }
.te-pr-levels li + li::before { content: "›"; position: absolute; left: -.8rem; top: 50%; transform: translateY(-55%); color: var(--te-on-band-2); font-weight: 400; font-size: 1rem; }

/* ── Capul secțiunii + comutatorul Lunar / Anual ────────────────────────── */
.te-pr-main { padding-top: clamp(40px, 6vw, 72px); }
.te-pr-top { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem 2rem; margin-bottom: clamp(1.25rem, 3vw, 2rem); }
.te-pr-top .te-section-head { margin-bottom: 0; }
.te-pr-top .te-h2 { margin-bottom: 0; }

.te-pr-bill {
    display: inline-flex; padding: 4px; gap: 4px; border-radius: 999px;
    background: var(--color-white); border: 1px solid var(--color-border); box-shadow: var(--te-shadow);
}
.te-pr-bill[hidden] { display: none; }
.te-pr-bill-opt { position: relative; margin: 0; cursor: pointer; }
.te-pr-bill-opt input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.te-pr-bill-opt span {
    display: inline-flex; align-items: center; gap: .45rem; min-height: 42px; padding: .45rem 1.15rem;
    border-radius: 999px; font-weight: 650; font-size: .95rem; color: var(--color-text-secondary);
    transition: background .18s ease, color .18s ease, box-shadow .18s ease;
}
.te-pr-bill-opt em {
    font-style: normal; font-family: var(--te-mono); font-size: .75rem; font-weight: 600; padding: .12rem .45rem; border-radius: 999px;
    background: color-mix(in srgb, var(--color-success) 16%, transparent); color: var(--color-success);
}
.te-pr-bill-opt:hover span { color: var(--color-text); }
.te-pr-bill-opt input:checked + span {
    background: linear-gradient(135deg, var(--te-cta-1), var(--te-cta-2)); color: var(--te-on-cta);
    box-shadow: 0 4px 14px var(--te-cta-glow); text-shadow: 0 1px 1px rgba(90, 30, 0, .28);
}
.te-pr-bill-opt input:checked + span em { background: rgba(255, 255, 255, .22); color: var(--te-on-cta); }
.te-pr-bill-opt input:focus-visible + span { outline: 3px solid color-mix(in srgb, var(--color-primary) 70%, transparent); outline-offset: 2px; }

/* ── Calculatorul ───────────────────────────────────────────────────────── */
.te-pr-calc {
    display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
    background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--border-radius-lg);
    box-shadow: var(--te-shadow); overflow: hidden; position: relative;
}
.te-pr-calc::before {
    content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; z-index: 1;
    background: repeating-linear-gradient(-45deg, var(--te-hot) 0 12px, transparent 12px 24px); opacity: .9;
}
.te-pr-calc[hidden] { display: none; }
.te-pr-calc-in { padding: clamp(1.25rem, 3vw, 2rem); padding-top: clamp(1.6rem, 3vw, 2.25rem); }
.te-pr-calc-head { display: flex; gap: .9rem; align-items: center; margin-bottom: 1.5rem; }
.te-pr-calc-head .te-h3 { margin: 0 0 .15rem; }
.te-pr-calc-head p { margin: 0; }
html[data-te-theme="dark"] .te-pr-calc-head .te-card-ico { color: var(--color-primary); }

.te-pr-sliders { display: grid; gap: 1.35rem; }
.te-pr-slider-top { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: .35rem; }
.te-pr-slider label { display: inline-flex; align-items: center; gap: .5rem; margin: 0; font-weight: 650; color: var(--color-text); }
.te-pr-slider label i { color: var(--te-link); font-size: 1.1rem; }
html[data-te-theme="dark"] .te-pr-slider label i { color: var(--color-primary); }
.te-pr-val {
    font-family: var(--te-mono); font-weight: 600; font-size: 1.25rem; color: var(--color-text);
    min-width: 4.5ch; text-align: right; font-variant-numeric: tabular-nums;
}
.te-pr-scale { display: flex; justify-content: space-between; font-family: var(--te-mono); font-size: .74rem; color: var(--color-text-light); margin-top: .1rem; }
.te-pr-scale-log span { flex: 0 0 auto; }
/* pozițiile reale pe scara logaritmică: 1.000 = treapta 9/29, 10.000 = treapta 19/29 */
.te-pr-scale-log { position: relative; height: 1.1em; }
.te-pr-scale-log span { position: absolute; top: 0; transform: translateX(-50%); }
.te-pr-scale-log span:nth-child(1) { left: 0; transform: none; }
.te-pr-scale-log span:nth-child(2) { left: 23.08%; }   /* 100 = treapta 9/39 */
.te-pr-scale-log span:nth-child(3) { left: 48.72%; }   /* 1.000 = treapta 19/39 */
.te-pr-scale-log span:nth-child(4) { left: 74.36%; }   /* 10.000 = treapta 29/39 */
.te-pr-scale-log span:nth-child(5) { right: 0; left: auto; transform: none; }

/* glisorul: pistă umplută cu portocaliul butoanelor, mâner mare (ușor de tras cu degetul) */
.te-pr-slider input[type="range"] {
    --p: 0%;
    -webkit-appearance: none; appearance: none; width: 100%; height: 44px; margin: 0; padding: 0;
    background: transparent; cursor: pointer; touch-action: pan-y;
}
.te-pr-slider input[type="range"]::-webkit-slider-runnable-track {
    height: 10px; border-radius: 999px; border: 1px solid var(--color-border);
    background: linear-gradient(90deg, var(--te-cta-1), var(--te-cta-2)) 0 / var(--p) 100% no-repeat, var(--te-surface-2);
}
.te-pr-slider input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none; appearance: none; width: 30px; height: 30px; margin-top: -11px; border-radius: 50%;
    background: #FFFFFF; border: 3px solid var(--te-cta-2); box-shadow: 0 2px 8px rgba(16, 24, 40, .28), 0 0 0 0 var(--te-cta-glow);
    transition: box-shadow .18s ease, transform .18s ease;
}
.te-pr-slider input[type="range"]::-moz-range-track { height: 10px; border-radius: 999px; border: 1px solid var(--color-border); background: var(--te-surface-2); }
.te-pr-slider input[type="range"]::-moz-range-progress { height: 10px; border-radius: 999px; background: linear-gradient(90deg, var(--te-cta-1), var(--te-cta-2)); }
.te-pr-slider input[type="range"]::-moz-range-thumb {
    width: 24px; height: 24px; border-radius: 50%; background: #FFFFFF; border: 3px solid var(--te-cta-2);
    box-shadow: 0 2px 8px rgba(16, 24, 40, .28);
}
.te-pr-slider input[type="range"]:hover::-webkit-slider-thumb { box-shadow: 0 2px 8px rgba(16, 24, 40, .28), 0 0 0 7px var(--te-cta-glow); }
.te-pr-slider input[type="range"]:active::-webkit-slider-thumb { transform: scale(1.08); }
.te-pr-slider input[type="range"]:focus { outline: none; }
.te-pr-slider input[type="range"]:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 4px var(--color-bg), 0 0 0 7px color-mix(in srgb, var(--color-primary) 75%, transparent); }
.te-pr-slider input[type="range"]:focus-visible::-moz-range-thumb { box-shadow: 0 0 0 4px var(--color-bg), 0 0 0 7px color-mix(in srgb, var(--color-primary) 75%, transparent); }

/* rezultatul: panou grafit (în ambele teme), ca banda de îndemn */
.te-pr-result {
    position: relative; display: flex; flex-direction: column; justify-content: center; gap: .35rem;
    padding: clamp(1.4rem, 3vw, 2rem); background: var(--te-band); color: var(--te-on-band-2); isolation: isolate;
}
.te-pr-result::after {
    content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
    background: radial-gradient(420px 260px at 90% 0%, color-mix(in srgb, var(--te-hot) 20%, transparent), transparent 70%);
}
.te-pr-result-k { margin: 0; font-family: var(--te-mono); font-size: .76rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--te-on-band-2); }
.te-pr-result-name { margin: 0; font-family: var(--font-family-heading); font-size: clamp(1.7rem, 1.3rem + 1.4vw, 2.2rem); font-weight: 700; color: var(--te-on-band); line-height: 1.1; }
.te-pr-result-name::after { content: ""; display: block; width: 44px; height: 3px; margin-top: .55rem; border-radius: 2px; background: var(--te-hot); }
.te-pr-calc[data-match="esential"] .te-pr-result-name::after { background: var(--te-ok); }
.te-pr-result-price { margin: .5rem 0 0; font-size: 1.25rem; font-weight: 700; color: var(--te-hot); font-variant-numeric: tabular-nums; }
.te-pr-result-sub { margin: 0; font-size: .92rem; }
/* oferta curentă în panoul calculatorului */
.te-pr-result .te-pr-result-was { font-family: var(--te-mono); font-size: .95rem; font-weight: 500; color: var(--te-on-band-2); text-decoration: line-through; margin-right: .35rem; }
.te-pr-result .te-pr-result-was[hidden] { display: none; }
.te-pr-result-alt { align-self: flex-start; margin: .35rem 0 0; padding: 0; border: 0; background: none; font: inherit; font-size: .92rem; font-weight: 650;
  color: var(--te-hot); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; text-align: left; }
.te-pr-result-alt:hover { color: var(--te-on-band); }
.te-pr-result-alt:focus-visible { outline: 2px solid var(--te-hot); outline-offset: 3px; border-radius: 2px; }
.te-pr-result-alt[hidden] { display: none; }
.te-pr-result p.te-pr-result-offer { display: flex; align-items: center; gap: .45rem; margin: .7rem 0 0; font-size: .86rem; color: var(--te-on-band-2); }
.te-pr-result-offer i { color: var(--te-hot); }
.te-pr-result-offer strong { color: var(--te-on-band); font-variant-numeric: tabular-nums; }
.te-pr-result-offer[hidden] { display: none; }
/* textul de pe panoul grafit: culoarea benzii, nu culoarea paragrafelor din tema deschisă */
.te-pr-result p.te-pr-result-k, .te-pr-result p.te-pr-result-sub, .te-pr-result p.te-pr-result-why { color: var(--te-on-band-2); }
.te-pr-result p.te-pr-result-name { color: var(--te-on-band); }
.te-pr-result p.te-pr-result-price { color: var(--te-hot); }
.te-pr-result-why { margin: .5rem 0 0; font-size: .92rem; line-height: 1.55; padding-top: .7rem; border-top: 1px dashed rgba(255, 255, 255, .16); }
.te-pr-result-btn { margin-top: 1rem; align-self: flex-start; }

/* ── Pachetele ──────────────────────────────────────────────────────────── */
.te-pr-plans { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 2vw, 22px); align-items: stretch; padding-top: 14px; }
.te-pr-card {
    position: relative; display: flex; flex-direction: column;
    background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--border-radius-lg);
    padding: clamp(1.4rem, 2.6vw, 2rem); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.te-pr-name-row { display: flex; align-items: center; gap: .65rem; margin-bottom: .35rem; }
.te-pr-name { font-size: 1.4rem; font-weight: 700; margin: 0; }
.te-pr-plan-ico {
    flex: 0 0 40px; height: 40px; display: grid; place-items: center; border-radius: var(--border-radius);
    font-size: 1.25rem; background: var(--color-primary-lightest); color: var(--te-link);
}
html[data-te-theme="dark"] .te-pr-plan-ico { color: var(--color-primary); }
.te-pr-card.is-rec .te-pr-plan-ico { background: linear-gradient(135deg, var(--te-cta-1), var(--te-cta-2)); color: var(--te-on-cta); }
.te-pr-lead { margin: 0 0 1.25rem; color: var(--color-text-secondary); line-height: 1.5; }
.te-pr-price { display: flex; flex-direction: column; gap: .2rem; padding-bottom: 1.15rem; margin-bottom: 1.25rem; border-bottom: 1px dashed var(--color-border); min-height: 6.4rem; }
.te-pr-was { font-family: var(--te-mono); font-size: .9rem; color: var(--color-text-light); text-decoration: line-through; }
.te-pr-was[hidden] { display: none; }
.te-pr-amount { font-family: var(--font-family-heading); font-size: clamp(2.1rem, 1.7rem + 1.3vw, 2.7rem); font-weight: 700; line-height: 1; color: var(--color-text); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.te-pr-amount small { font-family: var(--font-family); font-size: 1rem; font-weight: 600; letter-spacing: 0; color: var(--color-text-secondary); }
.te-pr-amount-txt { font-size: clamp(1.7rem, 1.4rem + 1vw, 2.1rem); }
.te-pr-note { font-size: .9rem; color: var(--color-text-secondary); line-height: 1.45; }
.te-pr-note strong { color: var(--color-text); }
.te-pr-feats { margin-bottom: 1.5rem; }
/* Diamant: „de la” + tabelul treptelor */
.te-pr-from { font-size: .8rem; font-weight: 600; color: var(--color-text-light); margin-right: .15rem; }
.te-pr-tiers { width: 100%; border-collapse: collapse; margin: -.4rem 0 1.25rem; font-size: .84rem; font-variant-numeric: tabular-nums; }
.te-pr-tiers th, .te-pr-tiers td { padding: .42rem .3rem; border-bottom: 1px solid var(--color-border); text-align: left; color: var(--color-text-secondary); font-weight: 500; }
.te-pr-tiers thead th { font-family: var(--te-mono); font-size: .68rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--color-text-light); padding-top: 0; }
.te-pr-tiers tbody th { color: var(--color-text); font-weight: 600; white-space: nowrap; }
.te-pr-tiers td:last-child, .te-pr-tiers th:last-child { text-align: right; }
.te-pr-tiers td:last-child span { font-weight: 700; color: var(--color-text); }
.te-pr-tiers tr[data-tier="0"] td { font-style: normal; color: var(--te-link); font-weight: 600; text-align: right; }
html[data-te-theme="dark"] .te-pr-tiers tr[data-tier="0"] td { color: var(--color-primary); }
.te-pr-tiers tbody tr:last-child th, .te-pr-tiers tbody tr:last-child td { border-bottom: 0; }
.te-pr-feats strong { color: var(--color-text); }
.te-pr-feat-all { padding-top: .6rem; border-top: 1px solid var(--color-border); font-size: .92rem; color: var(--color-text-secondary); }
.te-pr-feat-all i { background: color-mix(in srgb, var(--color-primary) 14%, transparent); color: var(--te-link); }
html[data-te-theme="dark"] .te-pr-feat-all i { color: var(--color-primary); }
.te-pr-cta { margin-top: auto; width: 100%; }

/* recomandatul: ramă portocalie, strălucire, ridicat, panglică cu dungi */
.te-pr-card.is-rec {
    border: 2px solid var(--te-cta-1);
    box-shadow: 0 18px 50px color-mix(in srgb, var(--te-cta-1) 22%, transparent), var(--te-shadow);
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--te-cta-1) 7%, var(--color-white)), var(--color-white) 45%);
}
.te-pr-ribbon {
    position: absolute; top: -14px; left: 50%; transform: translateX(-50%); z-index: 2;
    display: inline-flex; align-items: center; gap: .4rem; white-space: nowrap;
    padding: .35rem .9rem; border-radius: 999px; font-family: var(--te-mono); font-size: .76rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
    background: linear-gradient(135deg, var(--te-cta-1), var(--te-cta-2)); color: var(--te-on-cta);
    box-shadow: 0 6px 18px var(--te-cta-glow); text-shadow: 0 1px 1px rgba(90, 30, 0, .28);
}
.te-pr-card.is-rec::before {
    content: ""; position: absolute; left: 16px; right: 16px; top: 0; height: 4px; border-radius: 0 0 4px 4px;
    background: repeating-linear-gradient(-45deg, var(--te-cta-1) 0 10px, transparent 10px 20px); opacity: .55;
}

/* pachetul potrivit din calculator: inel verde + insignă */
.te-pr-match {
    display: none; align-self: flex-start; align-items: center; gap: .35rem; margin: 0 0 .75rem;
    padding: .25rem .6rem; border-radius: 999px; font-size: .78rem; font-weight: 650;
    background: color-mix(in srgb, var(--color-success) 15%, transparent); color: var(--color-success);
}
.te-pr-card.is-match .te-pr-match { display: inline-flex; }
.te-pr-card.is-match { box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-success) 55%, transparent), var(--te-shadow); }
.te-pr-card.is-rec.is-match { box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-success) 55%, transparent), 0 18px 50px color-mix(in srgb, var(--te-cta-1) 22%, transparent); }
.te-pr-card.is-rec .te-pr-match { margin-top: .35rem; }

/* ── Nota: scanările nu se opresc niciodată ─────────────────────────────── */
.te-pr-never {
    display: flex; gap: 1rem; align-items: flex-start; margin-top: clamp(1.5rem, 3vw, 2.25rem);
    padding: 1.15rem 1.35rem 1.15rem 1.6rem; border-radius: var(--border-radius-lg); position: relative; overflow: hidden;
    background: color-mix(in srgb, var(--color-success) 9%, var(--color-white));
    border: 1px solid color-mix(in srgb, var(--color-success) 35%, var(--color-border));
}
.te-pr-never::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: repeating-linear-gradient(-45deg, var(--te-hot) 0 8px, var(--te-band) 8px 16px); }
.te-pr-never-ico { flex: 0 0 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; font-size: 1.45rem;
    background: color-mix(in srgb, var(--color-success) 18%, transparent); color: var(--color-success); }
.te-pr-never p { margin: 0; color: var(--color-text-secondary); line-height: 1.6; }
.te-pr-never .te-pr-never-title { color: var(--color-text); font-weight: 700; font-size: 1.12rem; margin-bottom: .2rem; }

/* ── Inclus la toate pachetele ──────────────────────────────────────────── */
.te-pr-inc { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 2vw, 20px); }
.te-pr-inc li { display: flex; flex-direction: column; gap: .8rem; padding: 1.25rem; background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--border-radius-lg); }
.te-pr-inc h3 { font-size: 1.05rem; font-weight: 700; margin: 0 0 .3rem; }
.te-pr-inc p { margin: 0; color: var(--color-text-secondary); font-size: .93rem; line-height: 1.55; }
.te-pr-inc a { color: var(--te-link); font-weight: 650; white-space: nowrap; }
html[data-te-theme="dark"] .te-pr-inc a { color: var(--color-primary-light); }
.te-pr-terminal {
    display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.1rem; margin-top: clamp(16px, 2.5vw, 24px);
    padding: 1.1rem 1.25rem; border-radius: var(--border-radius-lg); border: 1px dashed color-mix(in srgb, var(--color-primary) 45%, var(--color-border));
    background: color-mix(in srgb, var(--color-primary) 5%, transparent);
}
.te-pr-terminal p { margin: 0; flex: 1 1 320px; color: var(--color-text-secondary); line-height: 1.55; }
.te-pr-terminal strong { color: var(--color-text); }
html[data-te-theme="dark"] .te-pr-terminal .te-card-ico, html[data-te-theme="dark"] .te-pr-inc .te-card-ico { color: var(--color-primary); }
html[data-te-theme="dark"] .te-pr-terminal .te-link-arrow { color: var(--color-primary-light); }

/* ── FAQ ────────────────────────────────────────────────────────────────── */
.te-pr-faq { display: grid; gap: .75rem; max-width: 860px; }
.te-pr-q { background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--border-radius-lg); transition: border-color .18s ease; }
.te-pr-q[open] { border-color: color-mix(in srgb, var(--color-primary) 45%, var(--color-border)); }
.te-pr-q summary {
    display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 56px;
    padding: .9rem 1.2rem; cursor: pointer; list-style: none; font-weight: 650; color: var(--color-text);
}
.te-pr-q summary::-webkit-details-marker { display: none; }
.te-pr-q summary i { flex: 0 0 auto; color: var(--te-link); transition: transform .2s ease; }
html[data-te-theme="dark"] .te-pr-q summary i { color: var(--color-primary); }
.te-pr-q[open] summary i { transform: rotate(180deg); }
.te-pr-q summary:hover { color: var(--te-link); }
html[data-te-theme="dark"] .te-pr-q summary:hover { color: var(--color-primary-light); }
.te-pr-q p { margin: 0; padding: 0 1.2rem 1.1rem; color: var(--color-text-secondary); line-height: 1.65; }

.te-pr-end { padding-top: 0; }

/* ── „Prezentare soft” → oferta: butonul spre prețuri (sql/009) ─────────── */
.te-offer-card .te-offer-foot-cta { display: flex; flex-direction: column; align-items: flex-start; gap: .75rem; }
.te-offer-foot-cta p { margin: 0; }
.te-offer-foot-cta .te-btn { text-decoration: none; }

/* ── Oferta de lansare: banda de pe /preturi + varianta mică de pe prima pagină ── */
.te-offer-band {
    position: relative; overflow: hidden; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center;
    gap: 1rem 1.5rem; margin-bottom: clamp(1.75rem, 3.5vw, 2.5rem); padding: 1.35rem clamp(1.1rem, 2.5vw, 1.75rem) 1.25rem;
    border-radius: var(--border-radius-lg); background: var(--te-band); color: var(--te-on-band-2);
    border: 1px solid color-mix(in srgb, var(--te-hot) 45%, transparent);
    box-shadow: 0 18px 46px color-mix(in srgb, var(--te-cta-1) 18%, transparent), var(--te-shadow);
}
.te-offer-band[hidden] { display: none; }
.te-offer-band::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 5px; background: repeating-linear-gradient(-45deg, var(--te-hot) 0 12px, transparent 12px 24px); }
.te-offer-band::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(520px 220px at 100% 0%, color-mix(in srgb, var(--te-hot) 18%, transparent), transparent 70%); }
.te-offer-band > * { position: relative; z-index: 1; }
.te-offer-band-ico { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; font-size: 1.5rem;
    background: linear-gradient(135deg, var(--te-cta-1), var(--te-cta-2)); color: var(--te-on-cta); box-shadow: 0 6px 18px var(--te-cta-glow); }
.te-offer-band p { margin: 0; }
.te-offer-band .te-offer-band-k { font-family: var(--te-mono); font-size: .76rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--te-hot); margin-bottom: .25rem; }
.te-offer-band .te-offer-band-t { color: var(--te-on-band); line-height: 1.55; font-size: 1rem; }
.te-offer-band-cd { display: flex; flex-direction: column; align-items: flex-end; gap: .5rem; }
.te-offer-band-left { font-size: .82rem; color: var(--te-on-band-2); }
.te-cd { display: inline-flex; gap: .4rem; }
.te-cd-box { display: inline-flex; flex-direction: column; align-items: center; min-width: 54px; padding: .35rem .4rem; border-radius: var(--border-radius);
    background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .14); }
.te-cd-box strong { font-family: var(--te-mono); font-size: 1.35rem; font-weight: 600; line-height: 1.1; color: var(--te-on-band); font-variant-numeric: tabular-nums; }
.te-cd-box small { font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; color: var(--te-on-band-2); }

/* varianta mică (prima pagină, sub butoanele din erou) */
.te-offer-mini {
    display: flex; flex-wrap: wrap; align-items: center; gap: .55rem .9rem; margin: -.5rem 0 1.6rem; padding: .6rem .8rem;
    border-radius: var(--border-radius); background: rgba(255, 255, 255, .06); border: 1px dashed color-mix(in srgb, var(--te-hot) 55%, transparent);
    color: var(--te-on-band-2); font-size: .92rem; max-width: 640px;
}
.te-offer-mini[hidden] { display: none; }
.te-offer-mini > i { color: var(--te-hot); font-size: 1.1rem; }
.te-offer-mini > span:not(.te-cd) { flex: 1 1 200px; min-width: 0; }
.te-offer-mini strong { color: var(--te-on-band); }
.te-offer-mini .te-cd-box { min-width: 42px; padding: .15rem .3rem; }
.te-offer-mini .te-cd-box strong { font-size: 1rem; }
.te-offer-mini .te-cd-box small { font-size: .6rem; }
.te-offer-mini a { color: var(--te-hot); font-weight: 650; text-decoration: none; display: inline-flex; align-items: center; gap: .3rem; }
.te-offer-mini a:hover { color: var(--te-on-band); }

/* ── Responsive ─────────────────────────────────────────────────────────── */
@media (min-width: 992px) {
    .te-pr-card.is-rec { transform: translateY(-10px); }
}
@media (min-width: 1200px) {
    .te-pr-lead { min-height: 3.2em; }   /* prețurile pe aceeași linie în cele 4 carduri */
}
@media (max-width: 1199.98px) {
    .te-pr-inc { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .te-pr-plans { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 30px; }
    .te-pr-card.is-rec { transform: none; }
}
@media (max-width: 991.98px) {
    .te-offer-band { grid-template-columns: auto minmax(0, 1fr); }
    .te-offer-band-cd { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; }
    .te-pr-calc { grid-template-columns: minmax(0, 1fr); }
    .te-pr-plans { grid-template-columns: minmax(0, 1fr); gap: 26px; max-width: 560px; margin-inline: auto; }
    .te-pr-price { min-height: 0; }
}
@media (max-width: 575.98px) {
    .te-pr-scale-log span:nth-child(4) { display: none; }   /* 10.000 se lipea de 100.000 la 375 px */
    .te-pr-top { align-items: stretch; }
    .te-offer-band { grid-template-columns: minmax(0, 1fr); }
    .te-offer-band-ico { width: 44px; height: 44px; font-size: 1.25rem; }
    .te-offer-band-cd .te-btn { width: 100%; }
    .te-pr-bill { width: 100%; }
    .te-pr-bill-opt { flex: 1 1 0; }
    .te-pr-bill-opt span { width: 100%; justify-content: center; padding-inline: .6rem; }
    .te-pr-inc { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .te-pr-inc li { flex-direction: row; align-items: flex-start; gap: .9rem; padding: 1rem; }
    .te-pr-calc-head { align-items: flex-start; }
    .te-pr-result-btn { align-self: stretch; }
    .te-pr-def { font-size: .9rem; }
    .te-pr-never { flex-direction: column; gap: .7rem; }
}
@media (prefers-reduced-motion: reduce) {
    .te-pr-card, .te-pr-q summary i, .te-pr-bill-opt span, .te-pr-slider input[type="range"]::-webkit-slider-thumb { transition: none; }
}

/* ── Carduri compacte (22 oct): 4 pe rând la 1280–1440, prețul ~38–40 px, listele 14 px ───────────── */
.te-pr-card { padding: clamp(1.15rem, 1.6vw, 1.45rem); }
.te-pr-name-row { gap: .55rem; margin-bottom: .3rem; }
.te-pr-name { font-size: 1.18rem; }
.te-pr-plan-ico { flex-basis: 34px; height: 34px; font-size: 1.05rem; }
.te-pr-lead { font-size: .875rem; margin-bottom: 1rem; line-height: 1.45; }
.te-pr-price { gap: .15rem; padding-bottom: .9rem; margin-bottom: 1rem; min-height: 0; }
.te-pr-amount { font-size: clamp(2rem, 1.55rem + .9vw, 2.5rem); }
.te-pr-amount small { font-size: .85rem; }
.te-pr-from { font-size: .74rem; }
.te-pr-was { font-size: .8rem; }
.te-pr-note { font-size: .8rem; line-height: 1.4; }
.te-pr-amount-txt { font-size: clamp(1.5rem, 1.25rem + .7vw, 1.85rem); }
.te-pr-feats { gap: .5rem; margin-bottom: 1.15rem; }
.te-pr-feats li { font-size: .875rem; line-height: 1.45; gap: .55rem; }
.te-pr-feats li i { flex-basis: 19px; height: 19px; font-size: .72rem; }
.te-pr-feat-all { font-size: .82rem; }
.te-pr-tiers { font-size: .78rem; margin: -.2rem 0 1rem; }
.te-pr-tiers th, .te-pr-tiers td { padding: .34rem .2rem; }
.te-pr-tiers thead th { font-size: .62rem; letter-spacing: .04em; }
.te-pr-cta { font-size: .92rem; padding-top: .7rem; padding-bottom: .7rem; }
@media (min-width: 1200px) {
    .te-pr-lead { min-height: 2.9em; }
    .te-pr-price { min-height: 5.6rem; }   /* prețurile și listele pornesc la aceeași înălțime în cele 4 carduri */
}
@media (max-width: 575.98px) {
    .te-pr-levels { padding-left: 0; }
}

/* ── Nisip: pachetul gratuit pe viață, „în curând” (bandă lată deasupra celor 4 carduri) ── */
.te-pr-free {
    display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.55fr) minmax(0, .95fr) minmax(0, .95fr); gap: 1rem 1.5rem; align-items: center;
    margin: 0 0 1.5rem; padding: 1.1rem 1.35rem; border-radius: var(--border-radius-lg);
    background: color-mix(in srgb, var(--color-primary) 5%, var(--color-white)); border: 1.5px dashed color-mix(in srgb, var(--color-primary) 38%, var(--color-border));
    transition: box-shadow .2s ease;
}
.te-pr-free.is-match { box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-success) 55%, transparent); }
.te-pr-free-head { display: flex; gap: .7rem; align-items: flex-start; }
.te-pr-free-head .te-pr-name { font-size: 1.18rem; }
.te-pr-free-head .te-pr-lead { margin: .1rem 0 0; font-size: .85rem; min-height: 0; }
.te-pr-free-tag { white-space: nowrap; display: inline-flex; align-items: center; gap: .35rem; margin: 0 0 .25rem; padding: .15rem .55rem; border-radius: 999px;
    font-family: var(--te-mono); font-size: .66rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
    background: color-mix(in srgb, var(--color-success) 14%, transparent); color: color-mix(in srgb, var(--color-success) 75%, var(--color-text)); }
.te-pr-free-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .3rem; font-size: .84rem; color: var(--color-text-secondary); }
.te-pr-free-list li { position: relative; padding-left: 1.25rem; line-height: 1.4; }
.te-pr-free-list i { position: absolute; left: 0; top: .2em; color: var(--color-success); font-size: .8rem; }
.te-pr-free-list strong { color: var(--color-text); }
.te-pr-free-no i { color: var(--color-text-light); }
.te-pr-free-cta { display: grid; gap: .45rem; justify-items: start; }
.te-pr-free-cta .te-btn { font-size: .9rem; }
.te-pr-free-cta p { margin: 0; font-size: .78rem; line-height: 1.4; color: var(--color-text-light); }
.te-pr-result p.te-pr-result-free { display: flex; gap: .45rem; align-items: flex-start; margin: .35rem 0 .2rem; padding: .45rem .6rem; border-radius: var(--border-radius);
    background: rgba(255, 255, 255, .06); border: 1px dashed rgba(255, 255, 255, .2); font-size: .86rem; color: var(--te-on-band-2); }
.te-pr-result-free[hidden] { display: none !important; }
.te-pr-result-free i { color: var(--te-hot); margin-top: .15rem; }
.te-pr-result-free strong { color: var(--te-on-band); }
.te-pr-result-free a { color: var(--te-hot); font-weight: 650; }
@media (max-width: 1199.98px) {
    .te-pr-free { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
@media (max-width: 991.98px) {
    .te-pr-free { grid-template-columns: minmax(0, 1fr); max-width: 560px; margin-inline: auto; }
}

/* rândurile „nu e inclus” din lista pachetului (feats cu „!” în față) */
.te-pr-feats li.te-pr-no { color: var(--color-text-light); }
.te-pr-feats li.te-pr-no i { background: color-mix(in srgb, var(--color-text) 8%, transparent); color: var(--color-text-light); }
.te-pr-tiers abbr { text-decoration: none; cursor: help; }


/* ══════════════════════════════════════════════════════════════
   61-aplicatie.css
   ══════════════════════════════════════════════════════════════ */
/**
 * Trasabilitate Explozibil — 61 APLICAȚIA: secțiunea „Aplicația pe telefon, tabletă și terminal” (prima pagină),
 * insignele Google Play / App Store cu „În curând” (secțiune + subsol) și telefonul cu ilustrația ecranului de start.
 * Markup: partials/te-aplicatie.php. Bandă grafit în ambele teme; ramele capturilor reale vin din 59-platforma.css.
 *
 * Ultima modificare: 2026-10-25 12:40
 * Modificari:
 *   2026-10-25 12:40 — Pe mobil, ecranele telefonului nu mai iau lățimea de card a galeriei.
 *   2026-10-25 12:38 — Capturile reale ale aplicației: tableta + telefonul cu ecrane care se schimbă (.te-appv).
 *   2026-10-25 12:09 — Insignele cu stilul din nucleu (app-download.css), plus „În curând” și tooltip.
 *   2026-10-25 11:58 — Creat: secțiunea aplicației, insignele, ilustrația cu tabletă și telefon (zoom, fără limita de lățime a nucleului).
 */

/* ── secțiunea ── */
.te-app { position: relative; overflow: hidden; color: var(--te-on-band-2);
    background: radial-gradient(900px 480px at 85% 10%, rgba(255, 122, 61, .16), transparent 62%), var(--te-band); }
.te-app .container { position: relative; }
.te-app .te-h2 { color: var(--te-on-band); }
.te-app .te-lead { color: var(--te-on-band-2); }
.te-app .te-kicker { color: var(--te-hot); }
.te-app-in { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
.te-app-points { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.4rem; }
.te-app-points li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .75rem; align-items: start; }
.te-app-ico { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; font-size: 1.15rem;
    color: var(--te-hot); background: rgba(255, 122, 61, .14); }
.te-app-points h3 { margin: 0 0 .2rem; font-family: 'Saira', 'Barlow', system-ui, sans-serif; font-size: 1rem; font-weight: 700; color: var(--te-on-band); }
.te-app-points p { margin: 0; font-size: .88rem; line-height: 1.5; color: var(--te-on-band-2); }
.te-app-safe { display: flex; gap: .6rem; align-items: flex-start; margin: 1.4rem 0 0; padding: .75rem .9rem; border-radius: 12px;
    background: rgba(255, 196, 61, .08); border: 1px solid rgba(255, 196, 61, .28); font-size: .86rem; line-height: 1.5; color: var(--te-on-band-2); }
.te-app-safe i { color: #FFC43D; font-size: 1.1rem; margin-top: .05rem; }
.te-app .te-stores { margin-top: 1.5rem; }
.te-app-visual { display: flex; justify-content: center; min-width: 0; }
.te-app-visual .te-gal { width: 100%; margin-top: 0; }

/* ── insignele magazinelor, cu „În curând” ──
   Copia stilului din nucleu (site/assets/css/app-download.css, .app-badge*), care nu se încarcă aici (magazinul n-are
   linkuri în grupa mobile_app). Aceleași valori; în plus doar eticheta „În curând”, tooltipul și starea fără link. */
.te-stores { position: relative; display: flex; flex-direction: column; gap: .55rem; }
.te-stores .app-badges-row { display: flex; flex-wrap: nowrap; gap: .6rem; }
.te-stores .app-badges-row .app-badge { flex: 0 1 auto; min-width: 0; }
.te-stores .app-badge { position: relative; display: inline-flex; align-items: center; gap: .55rem; min-height: 44px; padding: .35rem .85rem .35rem .7rem;
    border-radius: 10px; background: #111; color: #fff; border: 1px solid rgba(255, 255, 255, .22); box-shadow: 0 6px 18px rgba(0, 0, 0, .18);
    line-height: 1.05; white-space: nowrap; cursor: default; outline: none; }
.te-stores .app-badge:focus-visible { box-shadow: 0 0 0 3px var(--te-hot); }
.te-stores .app-badge > i { font-size: 1.45rem; width: 1.6rem; text-align: center; color: #fff; }
.te-stores .app-badge-txt { display: flex; flex-direction: column; text-align: left; }
.te-stores .app-badge-txt small { font-size: .6rem; opacity: .82; letter-spacing: .04em; text-transform: uppercase; }
.te-stores .app-badge-txt strong { font-size: 1rem; font-weight: 700; letter-spacing: -.01em; }
.te-stores.app-badges-lg .app-badge { min-height: 54px; padding: .45rem 1.15rem .45rem .9rem; border-radius: 12px; }
.te-stores.app-badges-lg .app-badge > i { font-size: 1.8rem; width: 2rem; }
.te-stores.app-badges-lg .app-badge-txt small { font-size: .66rem; }
.te-stores.app-badges-lg .app-badge-txt strong { font-size: 1.18rem; }
.te-stores.app-badges-sm { margin-top: 1rem; }
.te-store-soon { position: absolute; top: -9px; right: -10px; padding: .18rem .5rem; border-radius: 999px; white-space: nowrap;
    font-family: var(--te-mono); font-size: .62rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
    background: linear-gradient(135deg, #FF8F5C, #E8590C); color: #fff; box-shadow: 0 4px 12px rgba(232, 89, 12, .45); transform: rotate(4deg); }
.te-stores.app-badges-sm .te-store-soon { top: -8px; right: -8px; font-size: .55rem; padding: .12rem .4rem; }
.te-store-tip { position: absolute; left: 0; bottom: calc(100% + 14px); z-index: 5; padding: .45rem .7rem; border-radius: 9px; white-space: nowrap;
    background: #1e1e2d; color: #fff; font-size: .78rem; box-shadow: 0 10px 24px rgba(0, 0, 0, .35);
    opacity: 0; transform: translateY(4px); pointer-events: none; transition: opacity .16s, transform .16s; }
.te-stores:has(.te-store:hover) .te-store-tip, .te-stores:has(.te-store:focus-visible) .te-store-tip { opacity: 1; transform: none; }
@media (max-width: 575.98px) {
    .te-stores .app-badges-row .app-badge { flex: 1 1 0; justify-content: center; padding-left: .55rem; padding-right: .6rem; gap: .4rem; }
    .te-stores .app-badge > i { font-size: 1.25rem; width: 1.35rem; }
    .te-stores .app-badge-txt small { font-size: .56rem; }
    .te-stores .app-badge-txt strong { font-size: .92rem; }
    .te-stores.app-badges-lg .app-badge { min-height: 50px; }
    .te-stores.app-badges-lg .app-badge > i { font-size: 1.5rem; width: 1.6rem; }
    .te-stores.app-badges-lg .app-badge-txt small { font-size: .6rem; }
    .te-stores.app-badges-lg .app-badge-txt strong { font-size: 1.02rem; }
    .te-store-tip { white-space: normal; max-width: 240px; }
}

/* ── telefonul cu ilustrația ecranului de start (până la capturile reale) ── */
.te-app-mock { position: relative; padding: 10px 0 18px; }
.te-am-phone { width: min(290px, 74vw); aspect-ratio: .49; padding: 10px; border-radius: 38px; background: #0B0E13;
    box-shadow: 0 30px 80px rgba(0, 0, 0, .55), 0 0 0 1px rgba(255, 255, 255, .1), inset 0 0 0 2px #2A3240; }
.te-am-screen { height: 100%; border-radius: 30px; overflow: hidden; background: #1F2530; color: #E8EBF0; display: flex; flex-direction: column;
    font-family: 'IBM Plex Sans', system-ui, sans-serif; font-size: 11px; }
.te-am-status { display: flex; justify-content: space-between; padding: 10px 18px 4px; font-size: 10px; color: #B9C0CC; }
.te-am-status i { margin-left: 3px; }
.te-am-head { display: flex; align-items: center; gap: 9px; padding: 8px 14px 10px; background: #161B24; }
.te-am-logo { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; background: #FF7A3D; color: #1C242D;
    font-family: 'Saira', sans-serif; font-weight: 800; font-size: 12px; }
.te-am-head strong { display: block; font-size: 12px; }
.te-am-head small { display: block; color: #B9C0CC; font-size: 10px; }
.te-am-hazard { height: 6px; background: repeating-linear-gradient(-45deg, #FF7A3D 0 8px, #283040 8px 16px); }
.te-am-btns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 12px 12px 8px; }
.te-am-btns span { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; height: 74px; border-radius: 14px;
    font-family: 'Saira', sans-serif; font-weight: 800; font-size: 12px; letter-spacing: .04em; }
.te-am-btns i { font-size: 20px; }
.te-am-in { background: #24733A; color: #fff; }
.te-am-out { background: #FF7A3D; color: #1C242D; }
.te-am-sync { display: flex; gap: 8px; align-items: center; margin: 0 12px; padding: 8px 10px; border-radius: 12px; background: #283040; }
.te-am-sync > i { color: #FFC43D; font-size: 16px; }
.te-am-sync strong { display: block; font-size: 11px; }
.te-am-sync small { display: block; color: #B9C0CC; font-size: 9.5px; }
.te-am-k { margin: 10px 14px 5px; font-family: var(--te-mono); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; color: #A9B1BE; }
.te-am-list { list-style: none; margin: 0 12px; padding: 0; display: grid; gap: 5px; }
.te-am-list li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 6px; align-items: center; padding: 6px 8px; border-radius: 10px;
    background: #283040; font-family: var(--te-mono); font-size: 9.5px; }
.te-am-list span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.te-am-list em { font-style: normal; font-family: 'IBM Plex Sans', system-ui, sans-serif; font-size: 9px; }
.te-am-list .ok i, .te-am-list .ok em { color: #6CC97F; }
.te-am-list .warn i, .te-am-list .warn em { color: #FFC43D; }
.te-am-nav { margin-top: auto; display: flex; justify-content: space-around; padding: 10px 0 12px; background: #161B24; color: #8C96A6; font-size: 16px; }
.te-am-nav i:first-child { color: #FF7A3D; }

/* ── legătura din erou ── */
.te-hero-app { display: inline-flex; align-items: center; gap: .45rem; margin: 1rem 0 .35rem; line-height: 1.35; font-size: .92rem; font-weight: 600; color: var(--te-on-band);
    text-decoration: none; padding: .38rem .8rem; border-radius: 999px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .14); }
.te-hero-app:hover { border-color: var(--te-hot); color: var(--te-on-band); }
.te-hero-app i { color: var(--te-hot); }
.te-hero-app em { font-style: normal; font-family: var(--te-mono); font-size: .66rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
    padding: .1rem .4rem; border-radius: 999px; background: rgba(255, 122, 61, .18); color: var(--te-hot); white-space: nowrap; flex: none; }

@media (max-width: 991.98px) {
    .te-app-in { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 575.98px) {
    .te-app-points { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .te-store-tip { transition: none; } }

/* ── tableta din ilustrație (în spatele telefonului) ──
   Ecranele sunt desenate la mărimea lor „reală” (tabletă 560 px, telefon 290 px) și micșorate cu zoom,
   ca textul din ele să rămână proporționat la orice lățime. */
.te-app-mock { position: relative; width: 100%; max-width: 560px; padding: 0 0 64px; display: flex; justify-content: flex-end; }
.te-am-tablet { flex: none; width: 560px; max-width: none !important; zoom: .7; aspect-ratio: 1.42; padding: 14px; border-radius: 30px; background: #0E1218;
    box-shadow: 0 30px 80px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 255, 255, .08), inset 0 0 0 2px #2A3240; }
.te-am-tscreen { height: 100%; border-radius: 18px; overflow: hidden; background: #1F2530; color: #E8EBF0; display: grid; grid-template-columns: 54px minmax(0, 1fr);
    font-family: 'IBM Plex Sans', system-ui, sans-serif; font-size: 12px; }
.te-am-side { display: flex; flex-direction: column; align-items: center; gap: 18px; padding: 14px 0; background: #161B24; color: #8C96A6; font-size: 18px; }
.te-am-side .te-am-logo { width: 30px; height: 30px; font-size: 11px; border-radius: 9px; }
.te-am-side .is-on { color: #FF7A3D; }
.te-am-tmain { display: flex; flex-direction: column; min-width: 0; }
.te-am-thead { padding: 12px 14px 10px; }
.te-am-thead strong { display: block; font-size: 14px; }
.te-am-thead small { display: block; color: #B9C0CC; font-size: 11px; }
.te-am-panes { flex: 1; display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 10px; padding: 12px 12px 12px 0; min-height: 0; }
.te-am-panes .te-am-list { margin: 0 0 0 12px; align-content: start; }
.te-am-panes .te-am-list li { font-size: 11px; padding: 8px 10px; }
.te-am-panes .te-am-list em { font-size: 10.5px; }
.te-am-tot { padding: 10px 12px; border-radius: 14px; background: #283040; display: flex; flex-direction: column; gap: 6px; }
.te-am-tot .te-am-k { margin: 0 0 2px; }
.te-am-tot p { margin: 0; display: flex; justify-content: space-between; gap: 8px; font-size: 11.5px; }
.te-am-tot b { color: #FF7A3D; white-space: nowrap; }
.te-am-done { margin-top: auto; text-align: center; padding: 8px; border-radius: 10px; background: #24733A; color: #fff; font-weight: 700; font-size: 11.5px; }
.te-app-mock .te-am-phone { position: absolute; left: 0; bottom: 0; width: 290px; max-width: none !important; zoom: .52; }
.te-am-tag { left: auto; right: 0; bottom: 8px; }
/* nucleul limitează pe mobil orice div la lățimea ecranului; în ilustrația micșorată limita ar tăia ecranele */
.te-app-mock div, .te-app-mock ul { max-width: none !important; }
@media (max-width: 991.98px) {
    .te-app-visual { order: 0; margin-top: .5rem; }
}
@media (max-width: 575.98px) {
    .te-app-mock { padding-bottom: 52px; }
    .te-am-tablet { zoom: .47; }
    .te-app-mock .te-am-phone { zoom: .4; }
    .te-am-tag { font-size: .68rem; }
}

/* ── capturile reale: tableta cu tranzacția + telefonul cu 4 ecrane (partials/te-aplicatie.php, teAppDevices) ── */
.te-appv { position: relative; width: 100%; max-width: 560px; margin: 0 auto; }
.te-appv-track { list-style: none; margin: 0; padding: 0 0 18% 0; position: relative; }
.te-appv-track > li { list-style: none; }
.te-appv-tablet { width: 84%; margin-left: auto; padding: 10px; border-radius: 22px; background: #0E1218;
    box-shadow: 0 30px 80px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 255, 255, .08), inset 0 0 0 2px #2A3240; }
.te-appv-tablet-screen { display: block; aspect-ratio: 1.6; border-radius: 12px; overflow: hidden; background: #1F2530; }
.te-appv-phone { position: absolute; left: 0; bottom: 0; width: 31%; padding: 7px; border-radius: 26px; background: #0B0E13;
    box-shadow: 0 26px 60px rgba(0, 0, 0, .55), 0 0 0 1px rgba(255, 255, 255, .1), inset 0 0 0 2px #2A3240; }
.te-appv-screens { list-style: none; margin: 0; padding: 0; position: relative; aspect-ratio: 540 / 1199; border-radius: 19px; overflow: hidden; background: #1F2530; }
.te-appv-screens > li { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .45s ease, visibility 0s linear .45s; }
.te-appv-screens > li.is-on { opacity: 1; visibility: visible; transition: opacity .45s ease, visibility 0s; }
.te-appv .te-gal-open { display: block; width: 100%; height: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; border-radius: inherit; }
.te-appv .te-gal-open img { width: 100%; height: 100% !important; object-fit: cover; object-position: top center; vertical-align: top; }
.te-appv .te-gal-zoom { right: 8px; bottom: 8px; width: 30px; height: 30px; font-size: .85rem; }
.te-appv-dots { display: flex; justify-content: center; gap: 8px; margin-top: 14px; padding-left: 0; }
.te-appv-dot { width: 26px; height: 26px; padding: 0; border: 0; background: none; cursor: pointer; display: grid; place-items: center; }
.te-appv-dot::before { content: ''; width: 9px; height: 9px; border-radius: 50%; background: rgba(255, 255, 255, .28); transition: background .2s, transform .2s; }
.te-appv-dot.is-on::before { background: var(--te-hot); transform: scale(1.25); }
.te-appv-dot:focus-visible { outline: 2px solid var(--te-hot); outline-offset: 2px; border-radius: 50%; }
.te-appv-dot span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.te-appv div, .te-appv ul, .te-appv li { max-width: none !important; }
/* galeria de pe mobil dă .te-gal-item lățimea ecranului; aici lățimea o dă rama */
.te-appv .te-appv-tablet.te-gal-item { width: 84%; }
.te-appv .te-appv-screens > li.te-gal-item { width: 100%; }
@media (prefers-reduced-motion: reduce) { .te-appv-screens > li { transition: none; } }


/* ══════════════════════════════════════════════════════════════
   90-subsol.css
   ══════════════════════════════════════════════════════════════ */
/**
 * Trasabilitate Explozibil — 90 SUBSOL: banda de contact rapid + subsolul grafit.
 * Elementele comune ale nucleului (bannerul de cookie-uri, „Înapoi sus") iau culorile din paleta;
 * aici doar le asezam in tema.
 *
 * Ultima modificare: 2026-10-22 20:29
 * Modificari:
 *   2026-10-22 20:29 — Sigla finală în subsol (48 px, varianta pentru fond închis).
 *   2026-10-22 13:38 — Săgeata de creștere de sub „Startup Delivery” (ca la nucleu) + canvasul artificiului.
 *   2026-10-22 11:28 — Creat.
 */

.te-prefooter { padding: clamp(40px, 6vw, 72px) 0; background: var(--color-bg); }
.te-prefooter-in {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem 2rem;
  padding: clamp(1.5rem, 4vw, 2.75rem); border-radius: var(--border-radius-lg);
  background: var(--color-white); border: 1px solid var(--color-border); box-shadow: var(--te-shadow);
  border-left: 6px solid var(--color-primary);
}
.te-prefooter-title { font-size: clamp(1.3rem, 1rem + 1.3vw, 1.9rem); font-weight: 700; color: var(--color-text); margin: 0; line-height: 1.2; max-width: 30ch; }
.te-prefooter-in .te-kicker { margin-bottom: .5rem; }
.te-prefooter-actions { display: flex; flex-wrap: wrap; gap: .75rem; }

.te-footer.site-footer p { color: var(--te-on-band-2); }
.te-footer.site-footer { background: var(--te-band); color: var(--te-on-band-2); padding: 0; position: relative; margin-top: 0; border-top: 0; }
.te-hazard { height: 6px; background: repeating-linear-gradient(-45deg, var(--te-hot) 0 14px, var(--te-band) 14px 28px); }
.te-footer .container { padding-top: clamp(40px, 6vw, 64px); }
.te-footer-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr) minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(24px, 4vw, 48px); }
/* nucleul: img{height:auto} cu :not() (0,2,1) + max-width:100% !important ⇒ in ancora inline-flex sigla iesea 0×0 pe telefon */
.te-footer .te-brand-footer .te-logo { height: 48px !important; width: auto; max-width: none !important; }
.te-footer-desc { margin: 1rem 0 1.25rem; font-size: .93rem; line-height: 1.65; max-width: 40ch; }
.te-footer-account { display: inline-flex; align-items: center; gap: .5rem; color: var(--te-hot); font-weight: 650; text-decoration: none; }
.te-footer-account:hover { color: var(--te-on-band); }
.te-footer-title { font-family: var(--te-mono); font-size: .78rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--te-on-band); margin: .4rem 0 1rem; }
.te-footer-links, .te-footer-contact { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.te-footer-links a, .te-footer-contact a { color: var(--te-on-band-2); text-decoration: none; font-size: .95rem; }
.te-footer-links a:hover, .te-footer-contact a:hover { color: var(--te-hot); }
.te-footer-contact li { display: flex; gap: .6rem; align-items: baseline; flex-wrap: wrap; font-size: .95rem; }
.te-footer-contact i { color: var(--te-hot); flex: 0 0 auto; transform: translateY(2px); }
.te-footer-contact a { word-break: break-word; }
.te-footer .te-muted { color: var(--te-on-band-2); opacity: .75; font-size: .82rem; }
.te-footer-company { margin: 1.1rem 0 0; font-size: .85rem; line-height: 1.6; }
.te-footer-company strong { color: var(--te-on-band); }
.te-footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1.5rem;
  margin-top: clamp(32px, 5vw, 52px); padding: 1.25rem 0 1.6rem; border-top: 1px solid rgba(255, 255, 255, .1); font-size: .85rem; }
.te-footer-bottom p { margin: 0; }
.te-footer-bottom a { color: var(--te-on-band); text-decoration: none; font-weight: 600; }
.te-footer-bottom a:hover { color: var(--te-hot); }

@media (max-width: 991.98px) {
  .te-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .te-footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 575.98px) {
  .te-footer-grid { grid-template-columns: 1fr; }
  .te-prefooter-actions { width: 100%; }
}

/* ── Creditul „Startup Delivery”: săgeata de creștere (traseul nucleului) + artificiul (te-credit.js) ── */
.te-footer-bottom .te-credit-line { padding-top: .35rem; }
.te-footer-bottom .sd-credit {
  position: relative; display: inline-block; padding-right: 1.55em; white-space: nowrap;
  color: var(--te-on-band); text-decoration: none !important;
}
.te-footer-bottom .sd-credit:hover, .te-footer-bottom .sd-credit:focus-visible { color: var(--te-hot); }
.sd-credit-graph {
  position: absolute; left: 0; bottom: -.42em; width: 100%; height: auto; overflow: visible; pointer-events: none;
  stroke: var(--te-hot); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; fill: none;
  filter: drop-shadow(0 0 3px color-mix(in srgb, var(--te-hot) 55%, transparent));
}
.sd-credit-path { stroke-linecap: butt; }
.te-credit-fx { position: absolute; pointer-events: none; z-index: 2; max-width: none !important; max-height: none !important; }


